我正在使用 cocos2d 创建一个程序,其中我有 2 个 ccMenuItems 每个链接到一个图像:在这种情况下,一个是左箭头,另一个是右箭头。我的视图中心还有一个图像,它将根据按下的箭头旋转。
当我将手指放在左侧或右侧的两个菜单项之一上时,只要我的手指放在按钮上,我就希望中心图像旋转。那是我迷路的地方。我尝试使用以下代码:
- (BOOL)ccTouchBegan:(UITouch *)touch withEvent:(UIEvent *)event {
CGPoint p = [touch locationInView:[touch view]];
if (CGRectContainsPoint(leftArrow, p) || CGRectContainsPoint(rightArrow, p)) {
return YES;
}
return NO;
}
- (void)ccTouchMoved:(UITouch *)touch withEvent:(UIEvent *)event {
CGPoint p = [touch locationInView:[touch view]];
if (CGRectContainsPoint(leftArrow, p)) {
[gun runAction:[CCRepeatForever actionWithAction:[CCRotateTo actionWithDuration:0.2 angle:180]]];
}
if (CGRectContainsPoint(rightArrow, p)) {
[gun runAction:[CCRepeatForever actionWithAction:[CCRotateTo actionWithDuration:0.2 angle:0]]];
}
}
使用此代码,当我按下两个菜单项之一时,甚至不会调用 ccTouchBegan 方法。仅当我触摸其他地方时才调用该方法。
按住 ccMenuItem 时如何处理连续动作。
感谢您的帮助!