2014-12-03 44 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; 
    }