【问题标题】:CCMenuItemImage change runtime cocos2dCCMenuItemImage 更改运行时 cocos2d
【发布时间】:2012-07-03 09:12:26
【问题描述】:
我创建了一个菜单项使用
menuItemImage=[CCMenuItemImage itemFromNormalImage:@"image_old.png" selectedImage:@"image_old.png" target:self selector:@selector(play)];
我正在使用下面的代码来更改 CCMenuItemImage,但它不起作用。它说不兼容的指针类型将“CCTextured2D”发送到 normalimage 的参数。
[menuItemImage setNormalImage:[[CCTextureCache sharedTextureCache]addImage:@"image_new.png"]];
如何更改 menuItemImage 运行时?
【问题讨论】:
标签:
ios5
cocos2d-iphone
ccmenuitem
【解决方案1】:
您可以使用以下代码更改 normalImage。 我知道这不是好的做法,但暂时可以正常工作。
[menuItemImage setNormalImage:[CCSprite spriteWithFile:@"image_new.png"]];
我希望它对你有用。
【解决方案2】:
解决这个问题的方法是多做一个同名的菜单项
通过将 visible 属性从 false 切换为 true 来更改 menuItems 的状态,反之亦然
例子:
CCMenuItem *menuItemOn;
CCMenuItem *menuItemOff;
-(void)ChangeMenuItem{
menuItemOff = [CCMenuItemImage itemWithNormalImage:@"buttonOff.png" selectedImage: @"buttonOff.png" target:self selector:@selector(Method_off)];
itemJoinOff = [CCMenuItemImage itemWithNormalImage:@"buttonOn.png.png" selectedImage: @"buttonOn.png" target:self selector:@selector(Method_On)];
menuItemOff.visible = false;
menuITemOn.visible = true;
menuItemOff position ..... etc
}
每当菜单开/关状态必须改变时,使 MenuItemOn 可见,而 menuItemOff 不可见。