cocos2d-x v3.x 运行 触摸屏按下不释放的具体代码

coco2d-x v3.x run specific code when touch screen is pressed is not released

我正在使用coco2d-x 框架和C++ 语言开发手机游戏。我的目标平台是 IOS 和 Android.

我想 运行 在用户按下 sprite 时编写一些代码,只要他在不移动手指的情况下不松开按钮即可。我浏览了文档并查看了不同的回调(onTouchBegan、onTouchMoved、onTouchEnded),但找不到解决我的问题的方法。

事实上,我在屏幕上绘制了精灵来模拟方向控制器。只要用户按下方向精灵,我就想移动角色。

有没有办法 运行 只要按下精灵就可以编写一些代码?

我会尝试这样的事情

onTouchBegan(...){
    //let player move
    //e.g. set some flag moving=true;
}
onTouchMoved(...){
   //query x and y distance of finger movement
   //cancel player movement if finger moved above a certain treshold
   //or alternatively check if the finger is now 
   //outside of the bounding box of your sprite
   //if so then
      //moving=false;
}
onTouchEnded(...){
    //stop movement if not already stopped before
    //moving=false;
}

在您的更新函数中,只要移动为真,您就可以简单地检查移动并执行您的代码。你是这个意思吗?