1

我正在尝试将我的程序划分为模型和视图。起初,我根据输入控制了一台相机,一切正常。现在我决定创建一个CameraModel类并根据CameraModel. 当我创建一个新的 Box2D Body 时出现问题 - 然后屏幕闪烁。也许这不是相机问题,但仅在我使用此代码时才会发生:

CameraModel model = level01.getCameraModel();
camera.up.set(model.getUp());
camera.position.set(model.getPosition());
camera.zoom = model.getZoom();

...而不是这个:

Body playerModel = level01.getPlayer().getBody();
Vector2 Pos = playerModel.getPosition();
Vector3 wv = new Vector3(Pos.x,Pos.y,0.0f);
camera.up.x = (float) Math.cos(playerModel.getAngle());
camera.up.y = (float) Math.sin(playerModel.getAngle());
camera.position.x = wv.x + camera.up.x * 200f;
camera.position.y = wv.y + camera.up.y * 200f;

确切地说,只有当我使用这条线时camera.position.set(model.getPosition());。所有其他属性都设置好了。什么可能导致闪烁?

4

1 回答 1

0

问题是我的代码很乱,并且传递的是实际的向量,而不是副本……所以视图跳跃得非常快。

于 2013-11-22T20:49:46.993 回答