我正在查看许多andengine示例,我正在尝试了解何时需要使用“getTouchOptions()。setRunOnUpdateThread(true)”。我知道当触摸事件触发精灵或实体的移除时,这可能会有所帮助。但为什么会出现在“PhysicsExample”中
public Engine onLoadEngine() {
Toast.makeText(this, "Touch the screen to add objects.", Toast.LENGTH_LONG).show();
final Camera camera = new Camera(0, 0, CAMERA_WIDTH, CAMERA_HEIGHT);
final EngineOptions engineOptions = new EngineOptions(true, ScreenOrientation.LANDSCAPE, new RatioResolutionPolicy(CAMERA_WIDTH, CAMERA_HEIGHT), camera);
engineOptions.getTouchOptions().setRunOnUpdateThread(true);
return new Engine(engineOptions);
}
我是否需要确保因为Box2D而仅在更新线程中添加实体?我最不希望的是对该引擎功能有一个很好的理解,何时使用它,什么时候不应该。
答案 0 :(得分:0)
据我所知,这一行意味着触摸输入只会在更新线程上处理,所以如果你在触摸时做任何事情......它将在更新线程上 一般来说,如果你正在使用其他线程可以同时使用的东西,可以在updateThread上运行[绘制sprite是在并行线程上完成的,这就是你需要删除更新线程上的实体的原因]
同样适用于修改列表