2012-02-28 28 views
1

我使用libgdx我的要求做遊戲的Android是,當角色玩遊戲normaly那麼我們作爲如何管理攝像頭以便順利移動到遊戲角色?

  if velocity == normal(==25) 
     cam.position.y = character.position.y; 

但如果得到一些動力工作,那麼需要的是我們順利increese字符 的y位置我指定爲

   if when velocity >25(means get power) 
      cam.position.y = character.position.y-screenHieght/3; 

它是工作,但性格不平滑移動與移動挺舉和沒有真正的影響正在添加時。 請任何人幫我我如何解決這個問題?

+0

有用我不知道我理解你的問題,你是否說你的相機在使用電源時劇烈移動,而不是平穩移動到目的地? – 2012-02-28 18:08:29

回答

1

在給你的問題再次閱讀之後,我想你應該問如何平穩地更新你的相機,而不管玩家的移動速度如何。

這是我如何更新我的相機:

 protected void updateCamera() { 
     float tX = cameraObjective.pos.x - cam.position.x; 
     float tY = cameraObjective.pos.y - cam.position.y; 
     float newX = cam.position.x + tX; 
     float newY = cam.position.y + tY; 
     if (newX < camBounds.x || newX > camBounds.x + camBounds.width){ 
      tX = 0; 
     } 
     if (newY < camBounds.y - camBounds.height || newY > camBounds.y ){ 
      tY = 0; 
     } 
     cam.translate(tX, tY, 0); 
    } 

cambounds是一個巨大的矩形,它定義了攝像機的運動極限,所以你可能忽略的那部分,如果它不是你的情況

相關問題