gpt4 book ai didi

iphone - CCTouchDispatcher 优先级问题?

转载 作者:行者123 更新时间:2023-11-28 22:58:53 26 4
gpt4 key购买 nike

使用我在主程序中初始化的 CCTouchDispatcher...

[[CCTouchDispatcher sharedDispatcher] addTargetedDelegate:self priority:0 swallowsTouches:YES];

我认为到目前为止这是正确的——我有拖放工作和我触摸的所有东西,但是当我将一个 Sprite 拖到 CCMenu 上方时,触摸优先级在菜单上而不是在 Sprite 上——有没有解决这个问题的方法?

gameBoard = [CCMenu menuWithItems:nil];
[self addChild:gameBoard z:-1];

(我稍后填充游戏板)

我在不使用 CCTouchDispatcher 和手势识别器的情况下工作,但无论出于何种原因它都没有触发 ccTouchEnded,所以我想我会试一试!

感谢任何帮助!

最佳答案

这是一个聪明的解决方案。但我认为更好的解决方案是您自己实现 CCMenu。据我所知,许多人在按钮或您可以按下的东西上使用 CCMenu。但它有许多你无法克服的限制。例如,CCMenu 上的回调函数不能超过一个。所以我建议你有自己的类来实现它。

下面是一些C++代码,希望对你有帮助(但是你还是要实现所有的方法,哈哈):

class ownButton : public CCNode
{
public:
ownButton();

void init(const char* normalPicPath, const char* pressedPicPath, const char* disabledPicPath, const char* basePicPath);
bool isContainpoint(CCTouch *touch);
void pressed();
void disabled();
void normalized();
int getStatus();
virtual CCSize getSize();
protected:
CCSprite* normalPicSprite_;
CCSprite* pressedPicSprite_;
CCSprite* disabledPicSprite_;
CCSprite* basePicSprite_;
int stat_;
};

关于iphone - CCTouchDispatcher 优先级问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10326469/

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