更改CCMenuItem图像?

时间:2012-08-26 19:20:01

标签: cocos2d-iphone

我有一些复杂的菜单,每次根据一个州建立不同的菜单。

我有这段代码:

CCMenuItemSprite  *sign =  [CCMenuItemSprite itemWithNormalSprite:[CCSprite spriteWithFile:[NSString stringWithFormat:@"image%d.png",[memoryInstnace getCellImageNumber:i]]] selectedSprite:[CCSprite spriteWithFile:[NSString stringWithFormat:@"image%d.png",[memoryInstnace getCellImageNumber:i]]]];
CCMenuItemSprite  *playing =  [CCMenuItemSprite itemWithNormalSprite:[CCSprite spriteWithFile:@"playing.png"]
                                                              selectedSprite:[CCSprite spriteWithFile:@"playing.png"]];
            item2=[CCMenuItemToggle itemWithTarget:self selector:@selector(play:)items:sign,playing,nil];
            item2.position=pixels[i];
            item2.tag=i;


            Menu= [CCMenu menuWithItems: item2, nil];

这是一个切换按钮,所以当它在A上并且它被击中时它来到B,但我想在应用程序中的某个代表(不是当有人点击它时)将它的图像从B改变为A.

我不能setNormalImage到第2项。

我该怎么做? 谢谢。

1 个答案:

答案 0 :(得分:1)

更改CCMenuItemToggle项的selectedIndex应该可以解决问题。这将通过否定当前selectedIndex来切换所选状态(即0变为YES,因此1和1变为NO,因此为0):

item.selectedIndex = !item.selectedIndex;