Android游戏开发之使用AnimationDrable实现Frame动画


Android开发中在制作2D帧动画中提供了使用XML配置动画文件的方式绘制,也就是说Android底层提供了动画播放的接口,那么我们分析一下如何调用它的接口来绘制动画。首先在工程res资源文件夹下创建anim动画文件夹,在这个文件夹中建立一个animation.xml文件, 这样它的路径就为re/anim/animation.xml。

看看内容应该是很好理解的,<animation-list>为动画的总标签,这里面放着帧动画 <item>标签,也就是说若干<item>标签的帧 组合在一起就是帧动画了。<animation-list > 标签中android:oneshot="false" 这是一个非常重要的属性,默认为false 表示 动画循环播放, 如果这里写true 则表示动画只播发一次。 <item>标签中记录着每一帧的信息android:drawable="@drawable/a"表示这一帧用的图片为"a",下面以此类推。  android:duration="100" 表示这一帧持续100毫秒,可以根据这个值来调节动画播放的速度。

 
  1. <animation-list xmlns:android="http://schemas.android.com/apk/res/android" android:oneshot="false">  
  2.  <item android:drawable="@drawable/a" android:duration="100" />   
  3.  <item android:drawable="@drawable/b" android:duration="100" />   
  4.  <item android:drawable="@drawable/c" android:duration="100" />   
  5.  <item android:drawable="@drawable/d" android:duration="100" />   
  6.  <item android:drawable="@drawable/e" android:duration="100" />   
  7.  <item android:drawable="@drawable/f" android:duration="100" />   
  8.  <item android:drawable="@drawable/g" android:duration="100" />   
  9.  <item android:drawable="@drawable/h" android:duration="100" />   
  10.  <item android:drawable="@drawable/i" android:duration="100" />   
  11.  <item android:drawable="@drawable/j" android:duration="100" />   
  12.  </animation-list>  
下面这个例子的内容为 播放动画 与关闭动画 、设置播放类型 单次还是循环、拖动进度条修改动画的透明度,废话不多说直接进正题~~


 
  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"  
  3.     android:orientation="vertical"  
  4.     android:layout_width="fill_parent"  
  5.     android:layout_height="fill_parent"  
  6.     >  
  7. <LinearLayout   
  8.     android:orientation="horizontal"  
  9.     android:layout_width="wrap_content"  
  10.     android:layout_height="wrap_content"  
  11.     >  
  12.  <Button  
  13.    android:id="@+id/button0"  
  14.    android:layout_width="wrap_content"  
  15.    android:layout_height="wrap_content"  
  16.    android:text="播放动画"  
  17.  />  
  18.    
  19.   <Button  
  20.    android:id="@+id/button1"  
  21.    android:layout_width="wrap_content"  
  22.    android:layout_height="wrap_content"  
  23.    android:text="停止动画"  
  24.  />  
  25.  </LinearLayout>  
  26.      
  27.  <RadioGroup android:id="@+id/radiogroup"  
  28.      android:layout_width="wrap_content"  
  29.      android:layout_height="wrap_content"  
  30.      android:orientation="horizontal">  
  31.    <RadioButton  
  32.      android:id="@+id/checkbox0"  
  33.      android:layout_width="wrap_content"  
  34.      android:layout_height="wrap_content"  
  35.      android:checked="true"  
  36.      android:text="单次播放"  
  37.    />  
  38.   <RadioButton  
  39.     android:id="@+id/checkbox1"  
  40.     android:layout_width="wrap_content"  
  41.     android:layout_height="wrap_content"  
  42.     android:text="循环播放"  
  43.    />  
  44.    </RadioGroup>  
  45.      
  46.     <TextView  
  47.     android:layout_width="wrap_content"  
  48.     android:layout_height="wrap_content"  
  49.     android:text="拖动进度条修改透明度(0 - 255)之间"  
  50.     />   
  51.   <SeekBar  
  52.     android:id="@+id/seekBar"  
  53.     android:layout_width="fill_parent"  
  54.     android:layout_height="wrap_content"  
  55.     android:max="256"  
  56.     android:progress="256"/>  
  57.   <ImageView  
  58.    android:id="@+id/imageView"  
  59.    android:background="@anim/animation"  
  60.    android:layout_width="wrap_content"  
  61.    android:layout_height="wrap_content"  
  62.  />  
  63. </LinearLayout>  
  • 1
  • 2
  • 下一页

相关内容