1、精灵创建的3种方式
</pre><p><pre name="code" class="cpp">#include "T02LayerSprite.h" CCScene * T02LayerSprite::scene() { CCScene * scene = CCScene::create(); T02LayerSprite * layer = T02LayerSprite::create(); scene->addChild(layer); return scene; } bool T02LayerSprite::init() { if (!CCLayer::init()) { return false; } //系统默认的图片路径是工程下Resource, //截图功能:至左上角开始截图,向右下,,CCRectMake(0,480,320) CCSprite * backGround = CCSprite::create("sprite/background.jpg",CCRectMake(0,320)); backGround->setAnchorPoint(ccp(0,0)); //backGround->setScaleX(0.8); backGround->setPosition(ccp(0,0)); addChild(backGround); CCImage * image = new CCImage; image->initWithImageFile("sprite/plant.png"); image->autorelease(); //纹理,本质就是图片,OpenGL术语,加载进内存 CCTexture2D * texture = new CCTexture2D; texture->initWithImage(image); texture->autorelease(); CCSprite * plant = CCSprite::createWithTexture(texture); plant->setPosition(ccp(100,160)); addChild(plant); CCTexture2D * texture2 = CCTextureCache::sharedTextureCache()->addImage("sprite/bullet.png"); CCSprite *bullet = CCSprite::createWithTexture(texture2); bullet->setPosition(ccp(250,180)); addChild(bullet); //本质是,截帧动画当中的一帧,一帧的本质其实就是一张图片,来创建精灵 CCSpriteFrameCache::sharedSpriteFrameCache()->addSpriteFramesWithFile("sprite/framecache/zombie.plist"); CCSpriteFrame * sprFrame = CCSpriteFrameCache::sharedSpriteFrameCache()->spriteFrameByName("z_1_attack_05.png"); CCSprite * zombie = CCSprite::createWithSpriteFrame(sprFrame); zombie->setPosition(ccp(420,180)); addChild(zombie); CCMoveBy * by = CCMoveBy::create(3,ccp(300,0)); bullet->runAction(by); return true; }
#ifndef __T02LayerSprite_H__ #define __T02LayerSprite_H__ #include "cocos2d.h" USING_NS_CC; class T02LayerSprite : public CCLayer { public: static CCScene * scene(); CREATE_FUNC(T02LayerSprite); bool init(); }; #endif