Ho un CCMenu
con 5 CCMenuItem
s. Quando l'utente tocca una voce di menu, voglio che la voce del menu si sposti sui 10 pixel corretti, per distinguerla dagli altri. Ho provato a rendere ogni voce di menu una variabile globale in modo da poter dire: if (item.isSelected) { [item runAction:blah]; }
Ma questo non ha fatto nulla. Questo è il mio codice finora:Cocos2d CCMenuItem animazione su selezione
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)]];
}
La mia domanda è: come posso ottenere l'effetto che ho menzionato prima? Voglio che lo CCMenuItem
selezionato si sposti verso i 10 pixel corretti quando l'utente lo tocca ma non lo rilascia, quindi torna alla sua posizione normale quando il tocco lascia quella voce di menu. Inoltre, dove dovrei inserire questo codice di animazione? Nella mia funzione init
? Grazie per l'aiuto
Ho lo stesso questo e sto usando un codice per quello puoi provare quel codice sono sicuro che sarà lavoro per te. – vishiphone
Posso vederlo? – Seany242