GameLoop检查输入(Android/GlSurfaceView)
如果我在一个线程中有一些基本的游戏循环,比如:GameLoop检查输入(Android/GlSurfaceView),android,input,touch-event,glsurfaceview,game-loop,Android,Input,Touch Event,Glsurfaceview,Game Loop,如果我在一个线程中有一些基本的游戏循环,比如: public void run(){ getInput(); //onTouchEvent method is only available in view class. updateState(); renderScreen(); } 我想知道如何实际检查输入(触摸屏ie)。我知道我可以在视图类中使用onTouchEvent(),但我想从游戏循环中检查它。这是怎么做到的 ps:我正在使用android和GLSU
public void run(){
getInput(); //onTouchEvent method is only available in view class.
updateState();
renderScreen();
}
我想知道如何实际检查输入(触摸屏ie)。我知道我可以在视图类中使用onTouchEvent(),但我想从游戏循环中检查它。这是怎么做到的
ps:我正在使用android和GLSURFACHEVIEW。通常我会复制UI线程中的输入事件,并以线程安全的方式将其提供给游戏线程
您可以使用libgdx的输入实现作为一种好方法。问题是,一旦UI线程从onTouchEvent返回,您收到的事件可能会被下一个事件覆盖。因此,在你的游戏准备好使用数据之前,你需要复制数据。这完全取决于你和你的游戏需要。创建您自己的输入事件并复制原始Android事件的数据。您的意思是将MotionEvent存储为变量,然后使用将其传递给gameloop?由于上述原因,您无法存储MotionEvent,但可以存储其x和y值。