2

我正在查看许多 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,我是否需要确保仅在更新线程中添加主体?我想要的是对那个引擎特性有一个很好的理解,什么时候使用它,什么时候不应该使用它。

4

1 回答 1

0

据我所知,这条线意味着触摸输入只会在更新线程上处理,所以如果你在触摸时做任何事情......它通常会在更新线程上,如果你正在使用可以使用的东西同时由另一个线程,在 updateThread 上运行它[绘制精灵是在并行线程上完成的,这就是为什么你需要在更新线程上删除实体]

这同样适用于修改列表

于 2012-11-05T20:55:57.923 回答