我想从图库中选择玩家图像,或者我可以从 cam 中拍照,我需要在玩家移动时为这些图像设置动画。我是 cocos2d 的新手,任何人都可以帮助我吗?
问问题
247 次
2 回答
0
要更改播放器动画,您需要对其运行CCAnimate
操作。
// Add sprite frames to sprite frame cache (if you are using a spritesheet)
[[CCSpriteFrameCache sharedSpriteFrameCache] addSpriteFramesWithFile:@"NinjaPreto.plist"];
// Create animation
CCAnimation* animation = [CCAnimation animation];
// Create sprite frames
CCSpriteFrame *spriteFrame1 = [[CCSpriteFrameCache sharedSpriteFrameCache] spriteFrameByName:@"animation1.png"];
CCSpriteFrame *spriteFrame2 = [[CCSpriteFrameCache sharedSpriteFrameCache] spriteFrameByName:@"animation2.png"];
CCSpriteFrame *spriteFrame3 = [[CCSpriteFrameCache sharedSpriteFrameCache] spriteFrameByName:@"animation3.png"];
// Add sprite frames to animation
[animation addSpriteFrame:spriteFrame1];
[animation addSpriteFrame:spriteFrame2];
[animation addSpriteFrame:spriteFrame3];
animation.delayPerUnit = 0.1;
animation.restoreOriginalFrame = NO;
// Run action
[player runAction:[CCRepeatForever actionWithAction:animation]];
因此,如果您想更改播放器图像,只需使用您想要的新图像创建一个新的动画动作。
PS.:如果您只想更改播放器图像,没有动画,请使用:
[player setTexture:[[CCTextureCache sharedTextureCache] addImage:@"image.png"]];
于 2013-07-16T13:56:37.930 回答
0
在 COCOS2D-X 中,您可以通过以下方式执行此操作
CCTexture2D *tex = CCTextureCache::sharedTextureCache()->addImage("xyz.png");
sprit_name->setTexture(tex);
如果你想改变精灵大小,那么也写这行
sprit_name->setTextureRect(CCRectMake(0,0, tex->getContentSize().width, tex->getContentSize().height));
于 2013-12-12T12:30:59.610 回答