整个游戏大致要几乎都可以算一个精灵,我们每次设置一个角色或者说背景都可以算是一个Sprite,用教学中的话叫做众生相,皆精灵。
精灵创建方法总共有3种(再次提示:所有内容存放位置在A::init()这里面)
第一种
CCTexture2D * texture2 = CCTextureCache::sharedTextureCache()->addImage("sprite/bullet.png");
CCSprite * bullet = CCSprite::createWithTexture(texture2);
bullet->setPosition(ccp(200, winSize.height / 2 + 10));
addChild(bullet);
第二种
CCImage * image = new CCImage();
image->initWithImageFile("sprite/plant.png");
CCTexture2D * texture = new CCTexture2D();
texture->autorelease();
texture->initWithImage(image);
CCSprite * plant = CCSprite::createWithTexture(texture); //纹理:优化内存(面试常问到)
plant->setPosition(ccp(100, winSize.height / 2));
addChild(plant);
第三种
CCSpriteFrameCache::sharedSpriteFrameCache()->addSpriteFramesWithFile("sprite/zombie.plist");
//CCSpriteFrame *sf = CCSpriteFrameCache::sharedSpriteFrameCache()->spriteFrameByName("z_1_attack_01.png");
//CCSprite *zombie = CCSprite::createWithSpriteFrame(sf);
CCSprite *zombie = CCSprite::createWithSpriteFrameName("z_1_attack_01.png");
zombie->setPosition(ccp(400, winSize.height / 2 - 50));
addChild(zombie);
3种添加精灵的方法,大致也就这3种跟图对上就能找着
我自己添加一些之后成图如下
这里我们看到向日葵把僵尸头部有点遮盖,这里就扯到了分层的概念
Zorder是就是这么个理念
大致就是先addchild的精灵在最下面依次分层如果重叠在一起就能清楚看清。