libgdx-action

Parallel.$(Action action1, Action action2...)
action1 與 action2 ...同時進行
例子:
Parallel.$( RotateTo.$(360, 1),FadeIn.$(1),ScaleTo.$(1, 1, 1))

RotateTo.$(float rotation, float duration) 變化相對於錨點actor 中的(originX,originY)
rotation --------旋轉絕對的度數
duration --------盡力的時間 

RotateBy.$(float rotation, float duration)
rotation --------旋轉相對的度數 原來基礎上+
duration --------盡力的時間 

MoveTo.$(float x, float y, float duration) x,y爲左下點座標  actor 中的(x,y)
 x  ------高變爲原來的幾倍
 y ------寬變爲原來的幾倍
duration ------變化經歷多長時間
MoveTo.$(30, 30, 0.5f)

FadeOut.$(float duration) //幾秒內消失
例子:FadeOut.$(5)

FadeIn.$(float duration) //幾秒內出現
例子:FadeIn.$(1)

FadeTo.$(float alpha, float duration) //幾秒內變模糊 alpha:0 消失 1 出現
 
Delay.$(Action action, float duration) //把一個action 延遲幾秒
例子:
ction actionMoveBy = MoveBy.$(50, 50, 0.5f)
Delay.$(actionMoveBy, 10)

Repeat.$(Action action, int times) //把一個action 重複幾次
例子:
Repeat.$(Sequence.$(MoveBy.$(50, 0, 1), MoveBy.$(0, 50, 1), MoveBy.$(-50, 0, 1), MoveBy.$(0, -50, 1)), 3)

Remove.$() 刪除所有action

//複製一個action例子:
Action action = MoveBy.$(0, 50, 1);
Action action2 = action.copy();

//action完成後的監聽處理
1.創建一個監聽
OnActionCompleted listener = new OnActionCompleted() {   
   @Override public void completed (Action action) {
    System.out.println("complete...");}
                         };

2.設置監聽 MoveBy.$(50, 50, 0.5f).setCompletionListener(listener );


// actor -- img,  action----- action1 , stage ----- stage1
img.action(action1);
stage.addActor(img);
stage.act(Math.min(Gdx.graphics.getDeltaTime(), 1 / 30f));
stage.draw()

發佈了19 篇原創文章 · 獲贊 1 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章