0

这些是我的第一个 Cocos2D 项目,我试图在触摸时让精灵在同一个地方跳跃,但我无法让它响应,因为我不知道如何在精灵上设置触摸动作。这是代码:

-(void) spriteEffect
{
    CCSprite *actionEffect = avatar;
    id jump = [CCJumpBy actionWithDuration:1 position: ccp(0, 0) height:50 jumps:2];
    id sequence = [CCSequence actions: jump, nil];
    [actionEffect runAction:sequence];

    return yes
}

我应该使用

- (BOOL) ccTouchBegan:(UITouch *)touch withEvent:(UIEvent *)event

谢谢!

4

1 回答 1

0

您的评论avatar是一组精灵,有助于澄清为什么您看不到任何效果。尝试执行以下操作:

-(void) spriteEffect
{
 CCSprite *actionEffect = <get a sprite from avatar array>;
 id jump = [CCJumpBy actionWithDuration:1 position: ccp(0, 0) height:50 jumps:2];
 [actionEffect runAction:jump];

}

我不知道数组avatar是什么类型的,所以我无法提供访问其元素的语法。如果avatarNSArray,您可以使用以下方法使所有精灵跳跃:

-(void) spriteEffect
{
   foreach (CCSprite* actionEffect in avatar) {
     id jump = [CCJumpBy actionWithDuration:1 position: ccp(0, 0) height:50 jumps:2];
     [actionEffect runAction:jump];
   }

}

于 2013-01-22T18:09:04.983 回答