2014-12-20 72 views
0

我正在使用Scene2D並且我有一個球。這個球是一個演員,當球擊中矩形時它會做出動作,當動作完成時球繼續在屏幕上移動。在libgdx中刪除動作

但我希望當球再次擊中矩形後再次做動作,但我不知道它是如何做到的。

代碼:`私人無效老爹(){

if(choque){ 
     System.out.println("choque"); 

     velocidadbolax=0; 
     velocidadbolay=0; 

     //bola.addAction(a1); 

     bola.addAction(Actions.sequence(a1, Actions.run(new Runnable() { 
       public void run() { 
       velocidadbolax=95; 
       velocidadbolay=30; 
      } 
     }))); 





     } 

     } 

Choque是colision的一個布爾值。當碰撞發生時,球停住了,動作開始,然後當動作完成時,球移動。

+0

你能告訴你定義velocidadbolax velocidadbolay和y?我不知道你可以在這樣的匿名類中設置字段。通常我不得不調用類的方法。 – Barodapride

+0

對不起,我在我複製的代碼中有錯誤。 y是一個數字,30 –

+0

Velocidadbolax和velocidadbolay是簡單的int –

回答

0

您可以使用與檢測第一次碰撞時相同的方式向actor中添加動作。

actor.addAction(sequence(fadeIn(2), run(new Runnable() { 
     public void run() { 
     System.out.println("Action complete!"); 
    } 
}))); 

THRE你可以找到更多的信息:https://github.com/libgdx/libgdx/wiki/Scene2d

+0

是的,但是當我第一次嘗試這個動作的時候,但是然後程序崩潰並且它說這個問題是在球的方法行爲中 –

+0

你能顯示你的代碼嗎? – peterSweter

+0

是的,我編輯帖子 –