我試圖做一個基本的遊戲,它需要嚴重的按鈕來控制玩家的移動。請記住我正在使用cocos-2d。我的目標是按住按鈕並在按住時移動精靈。我現在使用的代碼看起來像這樣。按鈕崩潰的應用程序與(發件人)發件人
CCMenuItemHoldable.h
@interface CCMenuItemSpriteHoldable : CCMenuItemSprite {
bool buttonHeld;
}
@property (readonly, nonatomic) bool buttonHeld;
CCMenuItemHoldable.m
@implementation CCMenuItemSpriteHoldable
@synthesize buttonHeld;
-(void) selected
{
[super selected];
buttonHeld = true;
[self setOpacity:128];
}
-(void) unselected
{
[super unselected];
buttonHeld = false;
[self setOpacity:64];
}
@end
以及按鈕
rightBtn = [CCMenuItemSpriteHoldable itemFromNormalSprite:[CCSprite spriteWithFile:@"art/hud/right.png"] selectedSprite:[CCSprite spriteWithFile:@"art/hud/right.png"] target:self selector:@selector(rightButtonPressed)];
CCMenu *directionalMenu = [CCMenu menuWithItems:leftBtn, rightBtn, nil];
[directionalMenu alignItemsHorizontallyWithPadding:0];
[directionalMenu setPosition:ccp(110,48)];
[self addChild:directionalMenu];
的建立這一切似乎很好地工作,但是當我做
-(void)rightButtonPressed:(id) sender
{
if([sender buttonHeld])
targetX = 10;
else{
targetX = 0;
}
}
崩潰已被修復,但我試圖讓我的精靈移動。在我的遊戲滴答功能中,我將targetX的值添加到定時器上精靈的位置,仍然沒有移動。
錯誤信息?在Xcode中啓用全局異常斷點以獲取更多詳細信息。 – LearnCocos2D