【发布时间】:2012-06-14 10:02:21
【问题描述】:
我想根据计时器重生敌人的精灵,任何建议都将不胜感激。 如果你给我看一些代码示例就好了。
-(void)addEnemyAtX:(int)x y:(int)y {
CCSprite *enemy = [CCSprite spriteWithFile:@"enemy1.png"];
enemy.position = ccp(x, y);
[self addChild:enemy];
[self animateEnemy: enemy];}
- (void) enemyMoveFinished:(id)sender {
CCSprite *enemy = (CCSprite *)sender;
[self animateEnemy: enemy];
}// a method to move the enemy 10 pixels toward the player
- (void) animateEnemy:(CCSprite*)enemy
{
// speed of the enemy
ccTime actualDuration = 0.3;
// Create the actions
id actionMove = [CCMoveBy actionWithDuration:actualDuration
position:ccpMult(ccpNormalize(ccpSub(player.position,enemy.position)), 10)];
id actionMoveDone = [CCCallFuncN actionWithTarget:self
selector:@selector(enemyMoveFinished:)];
[enemy runAction:
[CCSequence actions:actionMove, actionMoveDone, nil]];
}
【问题讨论】:
-
[自我计划:@selector(spawn:) 间隔:1.0f];其他所有内容都过于特定于实现,您没有提供任何您希望如何生成精灵的细节(规则、条件等)。
-
我希望它生成在与敌人开始时完全相同的位置。我希望有多达无限数量的精灵,并且我希望每 15 秒就可以制作一个新的精灵。我会贴出敌人的代码。
-
有很多精灵。确保使用批处理节点并删除您不经常使用的节点,否则您将遇到严重的性能问题。
标签: iphone xcode ios5 cocos2d-iphone sprite