3

块引用

我有一个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
4

2 回答 2

1

调查

[CCMenu ccTouchBegan:(UITouch *)touch withEvent:(UIEvent *)event]

你可以继承 CCMenu 而不是调用

[selectedItem_ selected];

在上述方法中,您可以在 CCMenuItemImageAdvanced 中创建一个新方法

- (void)selectedWithTouch:(UITouch*)touch;

然后使用该触摸移动精灵。

于 2013-01-30T21:44:11.800 回答
1

也许您可以在加载时创建隐藏的 CCSprite,并在触摸移动时检查 CCSprite 是否可见以及是否使其跟随手指。CCButton 只需取消隐藏 CCSprite,使其可用于移动。

于 2013-01-30T21:54:20.500 回答