Ich habe eine CCMenu
mit 5 CCMenuItem
s. Wenn der Benutzer einen Menüpunkt berührt, möchte ich, dass der Menüpunkt um 10 Pixel nach rechts verschoben wird, um ihn von den anderen zu unterscheiden. Ich habe versucht, jedes Menüelement eine globale Variable, so dass ich sagen könnte: if (item.isSelected) { [item runAction:blah]; }
Aber das hat nichts gebracht. Dies ist mein bisheriger Code:
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)]];
}
Meine Frage ist: Wie kann ich den oben erwähnten Effekt erzielen? Ich möchte die ausgewählten CCMenuItem
um 10 Pixel nach rechts zu rücken, wenn der Benutzer es berührt, aber nicht loslässt, und dann in seine normale Position zurückzukehren, wenn die Berührung dieses Menüelements beendet wird. Auch, wo sollte ich diese Animation Code setzen? In meinem init
Funktion? Danke für die Hilfe