我有 s。當用戶觸摸菜單項時,我希望菜單項移動到右側10個像素,以區別於其他菜單項。我試着讓每個菜單項變成一個全局變量,所以我可以說:if (item.isSelected) { [item runAction:blah]; }
但是這沒有做任何事情。這是我的代碼到目前爲止:選擇後的Cocos2d CCMenuItem動畫
CCLabelTTF *sin = [CCLabelTTF labelWithString:@"Single Player" dimensions:labelSize alignment:UITextAlignmentLeft fontName:font fontSize:20];
item1 = [CCMenuItemLabel itemWithLabel:sin target:self selector:@selector(goToSinglePlayer:)];
CCLabelTTF *spl = [CCLabelTTF labelWithString:@"Splitscreen" dimensions:labelSize alignment:UITextAlignmentLeft fontName:font fontSize:20];
item2 = [CCMenuItemLabel itemWithLabel:spl target:self selector:@selector(goToSplitscreen:)];
CCLabelTTF *ach = [CCLabelTTF labelWithString:@"Achievements" dimensions:labelSize alignment:UITextAlignmentLeft fontName:font fontSize:20];
item3 = [CCMenuItemLabel itemWithLabel:ach target:self selector:@selector(goToAchievements:)];
CCLabelTTF *str = [CCLabelTTF labelWithString:@"Store" dimensions:labelSize alignment:UITextAlignmentLeft fontName:font fontSize:20];
item4 = [CCMenuItemLabel itemWithLabel:str target:self selector:@selector(goToStore:)];
CCLabelTTF *set = [CCLabelTTF labelWithString:@"Settings" dimensions:labelSize alignment:UITextAlignmentLeft fontName:font fontSize:20];
item5 = [CCMenuItemLabel itemWithLabel:set target:self selector:@selector(goToSettings:)];
CCMenu * mainMenu = [CCMenu menuWithItems:item1, item2, item3, item4, item5, nil];
[mainMenu setColor:ccBLACK];
[mainMenu alignItemsVerticallyWithPadding:10];
mainMenu.position = ccp(90, 90);
[self addChild:mainMenu];
if (item1.isSelected) {
[item1 runAction:[CCMoveTo actionWithDuration:1.0f position:ccp(120, 90)]];
}
我的問題是:我怎麼能達到我前面提到的效果?我希望選定的CCMenuItem
在用戶觸摸它但未釋放時向右移動10個像素,然後在觸摸離開該菜單項時返回到其正常位置。另外,我應該在哪裏放這個動畫代碼?在我的init
功能?感謝您的幫助
我有同樣的這一點,我正在使用一個代碼,你可以嘗試代碼,我相信這將是你的工作。 – vishiphone
我可以看到它嗎? – Seany242