私はCCMenu
5 CCMenuItem
s を持っています。ユーザーがメニュー項目に触れると、メニュー項目が右に 10 ピクセル移動して、他の項目と区別できるようにします。各メニュー項目をグローバル変数にしようとしたので、次のように言えますif (item.isSelected) { [item runAction:blah]; }
。これまでの私のコードは次のとおりです。
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
機能では?助けてくれてありがとう