Android遊戲開發之Tween動畫的實現

2021-09-01 01:17:03 字數 3212 閱讀 3407

今天和大夥討論一下

android開發

中的tween動畫的實現。首先它和上一章我們討論的frame動畫同屬於系統提供的繪製動畫的方法。tween動畫主要的功能是在繪製動畫前設定動畫繪製的軌跡,包括時間, 位置 ,等等。但是tween動畫的缺點是它只能設定起始點與結束點的兩幀,中間過程全部由系統幫我們完成。所以在幀數比較多的遊戲開發中是不太會用到它的。

tween一共提供了4中動畫的效果

scale:縮放動畫

rotate:旋轉動畫

translate:移動動畫

alpha::透明漸變動畫

tween與frame動畫類似都需要在res\anim路徑下建立動畫的 布局檔案

1.scale縮放動畫

標籤為縮放節點

android

:fromxscale="1.0" 表示開始時x軸縮放比例為 1.0 (原圖大小 * 1.0 為原圖大小)

android:toxscale="0.0"表示結束時x軸縮放比例為0.0(原圖大小 *0.0 為縮小到看不見)

android:fromyscale="1.0" 表示開始時y軸縮放比例為 1.0 (原圖大小 * 1.0 為原圖大小)

android:toyscale="0.0"表示結束時y軸縮放比例為0.0(原圖大小 *0.0 為縮小的看不到了)

android:pivotx="50%" x軸縮放的位置為中心點

android:pivoty="50%" y軸縮放的位置為中心點

這個動畫布局設定動畫從大到小進行縮小。

複製**

**如下

import android.os.bundle;

import android.view.view;

import android.view.view.onclicklistener;

import android.view.animation.animation;

import android.view.animation.animationutils;

import android.widget.button;

import android.widget.imageview;

public class scaleactivity extends activity

});mbutton1 = (button)findviewbyid(r.id.button1);

mbutton1.setonclicklistener(new onclicklistener()

});}}

複製**

2.rotate旋轉動畫

標籤為旋轉節點

tween一共為我們提供了3種動畫渲染模式。

android:interpolator="@android:anim/accelerate_decelerate_interpolator" 設定動畫渲染器為先加速在減速(開始速度最快 逐漸減慢)

如果不寫的話 預設為勻速運動

android:fromdegrees="+360"設定動畫開始的角度

android:todegrees="0"設定動畫結束的角度

這個動畫布局設定動畫將向左做360度旋轉加速運動。

複製**

**實現

import android.os.bundle;

import android.view.view;

import android.view.view.onclicklistener;

import android.view.animation.animation;

import android.view.animation.animationutils;

import android.widget.button;

import android.widget.imageview;

public class rotateactivity extends activity

});mbutton1 = (button)findviewbyid(r.id.button1);

mbutton1.setonclicklistener(new onclicklistener()

});}}

複製**

3.translate移動動畫

標籤為移動節點

剩下的幾個標籤上面已經介紹過了。

這個動畫布局設定動畫從左到右(0.0),從上到下(320,480)做勻速移動。

複製**

**實現

import android.os.bundle;

import android.view.animation.animation;

import android.view.animation.animationutils;

import android.widget.imageview;

public class translateactivity extends activity }

複製**

4 .alpha:透明漸變動畫

標籤為alpha透明度節點

android:fromalpha="1.0" 設定動畫起始透明度為1.0 表示完全不透明

android:toalpha="0.0"設定動畫結束透明度為0.0 表示完全透明

也就是說alpha的取值範圍為0.0 - 1.0 之間

這個動畫布局設定動畫從完全不透明漸變到完全透明。

複製**

**實現

import android.os.bundle;

import android.view.animation.animation;

import android.view.animation.animationutils;

import android.widget.imageview;

public class alphaactivity extends activity }

複製**

5.綜合動畫

複製**

**實現

import android.os.bundle;

import android.view.animation.animation;

import android.view.animation.animationutils;

import android.widget.imageview;

public class allactivity extends activity }

android遊戲開發

1 容器我們準備自定義viewgroup 叫做game2048layout 裡面的塊塊自定義view 叫做game2048item 接下來從簡單的開始 2 game2048item game2048item是個view,並且需要哪些屬性呢?首先得有個number,顯示數字嘛,然後繪製的時候根據num...

Android遊戲開發之View切換閃動解決

我在開發android遊戲是一般是通過view切換的,activity中有乙個handler 命名為handler 來處理view的切換,而且activity儲存有gamemainview和gameview的例項 命名為gamemainview和gameview 從主選單gamemainview切換...

android遊戲開發之螢幕相容模式

android基礎知識之螢幕相容模式 注意 如果你在低於安卓3.0的版本上進行應用開發,但其在更大螢幕的裝置 比如平板電腦 上顯示正常時,你就需要禁用螢幕兼任模式來保持最佳使用者體驗。要學習如何快速禁用使用者選項,請跳轉至禁用螢幕兼任模式。螢幕兼任模式是一種改善方法,用於不能正常適配大屏裝置 如平板...