2014-12-03 46 views
0

如何使Actions3d.sequence(..)返回一個新對象?LibGDX池不會創建新對象

我需要做一個動作:

Action3d action = Actions3d.sequence(
          Actions3d.moveTo(-20, 0, 0, 5), 
          Actions3d.moveTo(-20, 0, -20, 5), 
          Actions3d.moveTo(0, 0, -20, 5), 
          Actions3d.moveTo(0, 0, 0, 5) 
         ); 

,因此這個動作設置爲很多演員。

第一個演員的作品,但當我添加下一個第一個停止移動,第二個從開始位置開始,他是兩倍更快。

如何解決這個問題呢?

+0

可能重複[Java池actions3d(翻拍libGDX行動)如何使action3d的副本(http://stackoverflow.com/questions/27233685/java-pool- actions3d-remake-libgdx-actions-how-to-make-a-copy-of-action3d) – Tenfour04 2014-12-04 00:52:09

+0

編輯你現有的問題會讓它變得更糟,所以不需要創建一個新的問題。在這兩種情況下,如果您沒有向我們展示「序列」方法,我們無法幫助您。 – Tenfour04 2014-12-04 00:53:07

回答

0

問題解決了:

public Action3d getAction(){ 
     SequenceAction action = new SequenceAction(); 

     for(Vector3 pos : playerStation.getPath()){ 
      action.addAction(Actions3d.moveTo(pos.x, pos.y, pos.z, 5)); 
     } 
     return action; 
    }