gpt4 book ai didi

android - 为什么在调用 onAreaTouched 之后,会调用 onSceneTouchEvent() 事件?

转载 作者:搜寻专家 更新时间:2023-11-01 08:49:31 24 4
gpt4 key购买 nike

在 AndEngine 游戏中,我实现了 onAreaTouched(),这样当 Sprite 被点击时,我会检测并做出相应的响应。此外,我还实现了 onSceneTouchEvent(),这样当用户点击屏幕时,我会移动角色。但我有一个问题。当用户点击某个 sprite 时,onAreaTouched() 会被调用,但之后 onSceneTouchEvent() 也会被调用,导致一次点击产生两个 Action 。我希望当 Sprite 被点击时,只有 onAreaTouched() 应该被调用,反之亦然。我还尝试从 onAreaTouched() 返回 true/false,但没有成功。知道我缺少什么吗?

最佳答案

如果 onAreaTouched() 函数在 onSceneTouchEvent() 函数之前被调用,您可以只使用一个成员 bool 值来控制是否要在 onSceneTouchEvent() 中运行代码

OnAreaTouched()
{
mIsSpriteTouched = true;
// then run all relevant code when the sprite is touched
}

onSceneTouchEvent()
{
if (!mIsSpriteTouched)
{
//execute code that should run when the sprite isn't touched
}

mIsSpriteTouched = false; //reset for next event;
}

关于android - 为什么在调用 onAreaTouched 之后,会调用 onSceneTouchEvent() 事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24955733/

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