块引用
我有一个CCMenuItem
按钮,我希望能够在按下时按下,然后创建一个新的CCSprite
,可以在使用相同的印刷机时拖走。基本上你按下按钮并拖动一个可以在屏幕上移动的新精灵。
我已经将CCMenuItemImage
子类化为按下时创建新精灵,但新精灵在没有抬起并开始新触摸的情况下不会检测到任何触摸。我是否可以通过按下按钮来查看或使用我现有的触摸,以便在不抬起手指的情况下拖动它?
任何想法都会非常感激。
我的CCMenuItemImage
的子类可以正常工作:
@interface CCMenuItemImageAdvanced : CCMenuItemImage {
}
-(void) selected;
-(void) unselected;
@end
@implementation CCMenuItemImageAdvanced
-(void) selected {
[super selected];
// Method that creates the ccsprite
[_sharedGameHud createSprite:self];
}
-(void) unselected {
[super unselected];
}
@end
答案 0 :(得分:1)
了解
[CCMenu ccTouchBegan:(UITouch *)touch withEvent:(UIEvent *)event]
您可以继承CCMenu而不是调用
[selectedItem_ selected];
在上面的方法中,您可以在CCMenuItemImageAdvanced中创建一个新方法
- (void)selectedWithTouch:(UITouch*)touch;
然后使用该触摸来移动精灵。
答案 1 :(得分:1)
也许你可以在加载时隐藏CCSprite并触摸移动检查CCSprite是否可见以及它是否跟随手指。 CCButton必须取消隐藏CCSprite,使其可用于移动。