4

我想在精灵被触摸时对其进行操作,这是操作方法:

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

现在,我的问题是,我不知道如何使触摸动作与精灵连接;我应该用这个吗?

- (void)ccTouchesBegan:(NSSet*)touches withEvent:(UIEvent*)event

Msp 位于分配了 .plist 的 .png 图像中。

4

3 回答 3

2
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event 
{

    UITouch *touch = [touches anyObject];

    if ([touch tapCount] == 1) 
    {
        // Add Your Action
    }

}

或者

UITapGestureRecognizer *gr = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(SpriteThouch)];
[[[CCDirector sharedDirector] openGLView] addGestureRecognizer:gr];

并调用方法SpriteThouch

-(void)SpriteThouch
{
  // code here 

}
于 2013-01-23T12:02:55.320 回答
0

我使用 CCNode+SFGestureRecognizers.h (https://github.com/krzysztofzablocki/CCNode-SFGestureRecognizers) 为我的精灵添加手势。

所以你需要做的就是:

  • 导入 CCNode+SFGestureRecognizers.h

  • 添加精灵:CCSprite *button = [CCSprite spriteWithCGImage:....

  • 为精灵添加代码

    button.isTouchEnabled = YES;

    UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:target action:selector];

    [按钮添加手势识别器:点击];

于 2013-01-23T12:24:09.500 回答
0

当我想处理简单的精灵触摸时,我通常使用CCMenuItemImage :

使用以下方法创建菜单项:

itemFromNormalImage:selectedImage:target:selector:

如您所见,您可以传递菜单项的图像(即精灵图像),传递目标(通常是实现动作的self),当然还有方法(选择器),当菜单项被触摸时将被调用。

如果您需要更多帮助,请告诉我...

于 2013-01-23T12:28:38.093 回答