2013-11-22 77 views
1

当我想我的程序分为模型和视图闪烁occures。起初,我根据输入控制摄像头,一切正常。现在,我决定建立一个CameraModel类和更新的基础上CameraModel性质真正的相机。当我创建一个新的Box2D Body时出现问题 - 然后屏幕闪烁。也许这是不是相机的问题,但只有当我使用这个代码发生:LibGDX - 设置相机

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());。每个其他属性设置没有问题。 什么可能导致闪烁?

+0

你使用任何类型的转化率从像素米(Box2D的单位)?那价值200从哪里来?为什么在位置计算中有相机的向上向量? – noone

+0

@noone向上的矢量在那里,因为我不需要将相机居中在一个物体上,而是在屏幕的下半部分显示该物体。感谢您的关注:)但我已经解决了它 - 我传递的是实际的向量,而不是在代码中的其他地方复制。我只是等待20:20,所以我可以发布我的答案:D ..我的名誉太低了:/ – chriemmy

回答

0

问题是我有一个凌乱的代码,并通过实际载体,而不是副本......所以视图跳得非常快。