OGEngine使用Modifier修改動畫

來源:互聯網
上載者:User

標籤:手遊   安卓   開發引擎   手遊開發   程式   電腦   

動畫修改器(modifier)有很多種,常用的有一下幾種:
1.AlphaModifier:透明度修改器,有以下幾種構造:

  1. <font color="#000"><font face="Arial">public AlphaModifier(final float pDuration, final float pFromAlpha, final float pToAlpha) {

  2.                 this(pDuration, pFromAlpha, pToAlpha, null, EaseLinear.getInstance());

  3.         }


  4.         public AlphaModifier(final float pDuration, final float pFromAlpha, final float pToAlpha, final IEaseFunction pEaseFunction) {

  5.                 this(pDuration, pFromAlpha, pToAlpha, null, pEaseFunction);

  6.         }


  7.         public AlphaMod</font></font>ifier(final float pDu<font color="#000"><font face="Arial">ration, final float pFromAlpha, final float pToAlpha, final IEntityModifierListener pEntityModifierListener) {

  8.                 super(pDuration, pFromAlpha, pToAlpha, pEntityModifierListener, EaseLinear.getInstance());

  9.         }


  10.         public AlphaModifier(final float pDuration, final float pFromAlpha, final float pToAlpha, final IEntityModifierListener pEntityModifierListener, final IEaseFunction pEaseFunction) {

  11.                 super(pDuration, pFromAlpha, pToAlpha, pEntityModifierListener, pEaseFunction);

  12.         }


  13.         protected AlphaModifier(final AlphaModifier pAlphaModifier) {

  14.                 super(pAlphaModifier);

  15.         }</font></font>

複製代碼

pDuration代表動畫修改周期,就是就是完成整個透明度變化所要的時間,單位為秒.
pFromAlpha代表起始透明度
pToAlpha代表目標透明度


2.ScaleModifier,比例修改器.主要是對動畫的大小比例進行修改:

  1. public ScaleModifier(final float pDuration, final float pFromScale, final float pToScale) {

  2.                 this(pDuration, pFromScale, pToScale, null, EaseLinear.getInstance());

  3.         }


  4.         public ScaleModifier(final float pDuration, final float pFromScale, final float pToScale, final IEaseFunction pEaseFunction) {

  5.                 this(pDuration, pFromScale, pToScale, null, pEaseFunction);

  6.         }


  7.         public ScaleModifier(final float pDuration, final float pFromScale, final float pToScale, final IEntityModifierListener pEntityModifierListener) {

  8.                 this(pDuration, pFromScale, pToScale, pFromScale, pToScale, pEntityModifierListener, EaseLinear.getInstance());

  9.         }


  10.         public ScaleModifier(final float pDuration, final float pFromScale, final float pToScale, final IEntityModifierListener pEntityModifierListener, final IEaseFunction pEaseFunction) {

  11.                 this(pDuration, pFromScale, pToScale, pFromScale, pToScale, pEntityModifierListener, pEaseFunction);

  12.         }


  13.         public ScaleModifier(final float pDuration, final float pFromScaleX, final float pToScaleX, final float pFromScaleY, final float pToScaleY) {

  14.                 this(pDuration, pFromScaleX, pToScaleX, pFromScaleY, pToScaleY, null, EaseLinear.getInstance());

  15.         }


  16.         public ScaleModifier(final float pDuration, final float pFromScaleX, final float pToScaleX, final float pFromScaleY, final float pToScaleY, final IEaseFunction pEaseFunction) {

  17.                 this(pDuration, pFromScaleX, pToScaleX, pFromScaleY, pToScaleY, null, pEaseFunction);

  18.         }


  19.         public ScaleModifier(final float pDuration, final float pFromScaleX, final float pToScaleX, final float pFromScaleY, final float pToScaleY, final IEntityModifierListener pEntityModifierListener) {

  20.                 super(pDuration, pFromScaleX, pToScaleX, pFromScaleY, pToScaleY, pEntityModifierListener, EaseLinear.getInstance());

  21.         }


  22.         public ScaleModifier(final float pDuration, final float pFromScaleX, final float pToScaleX, final float pFromScaleY, final float pToScaleY, final IEntityModifierListener pEntityModifierListener, final IEaseFunction pEaseFunction) {

  23.                 super(pDuration, pFromScaleX, pToScaleX, pFromScaleY, pToScaleY, pEntityModifierListener, pEaseFunction);

  24.         }


  25.         protected ScaleModifier(final ScaleModifier pScaleModifier) {

  26.                 super(pScaleModifier);

  27.         }

複製代碼

pDuration代表動畫修改周期,就是就是完成整個變化所要的時間,單位為秒.
pFromScale代表起始透大小比例
pToScale代表目標大小比例

3.位置相關的Modifier:
    MoveModifier(final float pDuration ,final float pFromX,final float pToX,final float pFromY,final float pToY,final IEntityModifierListener pEntityModifierListener,final IEaseFunction pEaseFunction)
紅色為選擇性參數,表示修改器的完成時的監聽回調和easing 函式

    pDuration為移動所持續的秒數。

    除此之外,還有MoveXModifier(...),及MoveYModifier(...),顧名思義,當實體只要在一個正交方向上移動時可以使用。

4.延遲相關的Modifier:
    DelayModifier(final float pDurationfinal IEntityModifierListener pEntityModifierListener)
    pDuration為延遲的時間, pEntityModifierListener會在延遲動作完成時回調。


5.旋轉相關的Modifier:
    RotationModifier(float pDuration, float pFromRotation, float pToRotation)
    R otationAtModifie(...)

6.透明度相關的Modifier:
    AlphaModifier(float pDuration, float pFromAlpha, float pToAlpha)

7.顏色相關的Modifier:
    ColorModofier(....)

8.Modifier的組合
    有時候,僅僅一種效果是不夠用的。此時,就需要構建一系列的Modifier組合來改變。

    ParallelEntityModifier:當需要對某個Entity同時應用兩個以上Modifier時使用
    ParallelEntityModifier(IEntityModifier... pEntityModifiers) 

    SequenceEntityModifier:當需要對某個Entity順序地應用兩個以上Modfier時使用
    SequenceEntityModifier(IEntityModifier... pEntityModifiers)

http://www.eoeandroid.com/forum-863-1.html

www.ogengine.com



聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.