gpt4 book ai didi

cocos2d-iphone - CCMenuItemImage 未显示选定状态

转载 作者:行者123 更新时间:2023-12-04 05:50:45 28 4
gpt4 key购买 nike

documentation for CCMenuItemImage实际上并没有说明它的作用。

CCMenuItem 有不少子类。
我继承了一个将它用作按钮的项目。

CCMenuItem *start;
start = [CCMenuItemImage itemFromNormalImage:[self prefixedImage:@"start button.png"]
selectedImage:[self prefixedImage:@"start button selected.png"]
target:myTarget
selector:@selector(start:)];

它在两种状态下都使用相同的按钮。
我将其修改为具有所选状态的不同图像。

我期待/希望当我触摸该项目时它会被突出显示,当我释放按钮时它会发送我的目标操作(它确实如此)。

(旁白:在 iOS 中,我知道 highlightedselected 是两个不同的东西。但这个库似乎没有那种区别。)

所以:
  • 是否打算将此“菜单项”用作按钮?
  • 该菜单项的选定图像何时显示?
  • 我应该如何让它显示为选定的?
  • 最佳答案

    CCMenuItem 是一个抽象类,所有其他菜单项都继承自该类,因此您在代码中所做的在技术上是错误的。

    另一方面,您可以将 CCMenuItem 子类化以创建您自己的自定义类(例如:您不能使用按钮和其上的标签作为菜单项,您必须使用按钮本身并且标签位于顶部。 .just for show, or use the label and the button 下面是...没有意义)

    子类化 CCMenuItem 并创建自己的类将解决该问题(我的意思是您可以创建一个方法来获取图像和字符串并返回一个按钮)

    你想在那里做的是:

     CCMenuItemImage *button= [CCMenuItemImage itemFromNormalImage:@"start button.png"
    selectedImage:@"start button selected.png"
    target:self
    selector:@selector(start:)];

    CCMenu *start=[CCMenu menuWithItems:button,nil];
    start.position=ccp(200,200);
    [self addChild:start];

    当您将手指放在菜单上时,它将用选定的图像替换普通图像,但只会激活您在按钮的边界框中释放它(也就是..您可以按下按钮,将手指移离按钮,它不会激活)。
    因此,在某种意义上,按钮会突出显示,直到您松开手指,然后才被选中。

    那回答了你的问题吗?

    关于cocos2d-iphone - CCMenuItemImage 未显示选定状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10079794/

    28 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com