Tim*_*mbo 2 objective-c cocos2d-iphone
我需要一只手将变量传递给CCMenuItemImage中配置的选择器,如果可能的话.好像它应该是,我只是无法解决它!
这是我想要实现的目标:
无论如何,使用(为清晰起见)代码:
这是for/loop中用于创建菜单项的命令
CCMenuItemImage *image = [CCMenuItemImage itemFromNormalImage:@"Normal.png" selectedImage:@"Selected.png" target:self selector:@selector(onSelect:)];
Run Code Online (Sandbox Code Playgroud)
现在正如您在上面的代码片段中看到的那样,没有空间可以说'userinfo',就像NSTimer类为此目的提供的那样.
理想情况下,我不是将每个CCMenuItemImage指向我无法传递变量的同一个选择器,而是实际上更愿意调用下面这样的方法.int表示在点击CCMenuItemImage时应加载的游戏关卡:
- (void)onSelectWithStage:(int)selectedStage {
// write the selected stage to the GameData.xml
[SceneManager goLevelSelect];
}
Run Code Online (Sandbox Code Playgroud)
无论如何,我认为这几乎总结了这个问题.希望我错过了一些明显的东西:)
在此先感谢您的时间
使用标签!
for(int i = 0;i<MAX_LEVELS;i++)
{
CCMenuItemImage *image = [CCMenuItemImage
itemFromNormalImage:@"Normal.png"
selectedImage:@"Selected.png"
target:self
selector:@selector(onSelect:)];
image.tag = i;
}
Run Code Online (Sandbox Code Playgroud)
并相应地调整onSelect方法.
-(void)onSelect:(CCMenuItemImage*)item{
int lvl = item.tag;
[self onSelectWithStage:lvl];
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1637 次 |
| 最近记录: |