我正在使用Android SurfaceView构建2D游戏.当我触摸屏幕时,游戏动画运行缓慢.为什么,我该如何避免这种情况?
触摸事件就像存根一样onTouchEvents(MotionEvents ev){ empty };.所有游戏逻辑和图形绘制代码都run()在一个extends Thread类中.
小智 6
将UI线程休眠16-20ms将使触摸事件处理代码每秒被调用太多次.
例:
@Override
public boolean onTouchEvent(MotionEvent event) {
//Event handling logic
try {
Thread.sleep(16);
} catch (InterruptedException e) {
e.printStackTrace();
}
return true;
}
Run Code Online (Sandbox Code Playgroud)
触摸事件的发送速度与UI线程可以读取的速度一样快,通过休眠线程可以跳过多个事件发送.(虽然你的游戏逻辑或用户没有明显的数量)
| 归档时间: |
|
| 查看次数: |
4660 次 |
| 最近记录: |