教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 建筑文档 >

Android手机游戏开发知识点总结(8)

来源:网络收集 时间:2026-04-01
导读: * toXDelta,toYDelta 分别为终点时x,y坐标 */ case KeyEvent.KEYCODE_DPAD_LEFT: animationTranslate = new TranslateAnimation(10, 100, 10, 100);//创建Translate动画 animationTranslate.setDuration(1000);//动

* toXDelta,toYDelta 分别为终点时x,y坐标 */

case KeyEvent.KEYCODE_DPAD_LEFT:

animationTranslate = new TranslateAnimation(10, 100, 10, 100);//创建Translate动画

animationTranslate.setDuration(1000);//动画持续时间 this.startAnimation(animationTranslate);//开始播放动画 break; /*

* Rotate旋转动画效果

* RotateAnimation(fromDegrees, toDegrees, pivotXType, pivotXValue, pivotYType, pivotYValue) * fromDegrees 开始角度 * toDegrees 结束角度

* pivotXValue , pivotYValue 伸缩动画相对于x,y的坐标坐标开始位置 * pivotXType,pivotYType 分别为x,y的伸缩模式 */

case KeyEvent.KEYCODE_DPAD_RIGHT: animationRotate = new RotateAnimation(0.0f, 360f, Animation.RELATIVE_TO_SELF,

0.5f, Animation.RELATIVE_TO_SELF, 0.5f);//创建Rotate动画 animationRotate.setDuration(1000);//动画持续时间 this.startAnimation(animationRotate);//动画播放 }

return true; }

} 需在Activity种实例化

------------------------------------------------------------------------------------------------------- 第二种方法 xml设计 aipha.xml

android:fromAlpha=\

android:toAlpha=\android:duration=\/>

rotate.xml

android:interpolator=\ android:fromDegrees=\ android:toDegrees=\ android:pivotX=\ android:pivotY=\ android:duration=\ scale.xml

android:interpolator=\ android:fromXScale=\android:toXScale=\ android:fromYScale=\android:toYScale=\ android:pivotX=\android:pivotY=\ android:fillAfter=\android:duration=\ translate.xml

android:fromXDelta=\android:toXDelta=\android:fromYDelta=\android:toYDelta=\android:duration=\/>

public class GameView extends View{

private Animation mAnimationAlpha = null;//定义Alpha动画 private Animation mAnimationScale = null;//定义Scale动画 private Animation mAnimationTranslate = null;//定义Translate动画 private Animation mAnimationRotate = null;//定义Rotate动画

Bitmap mBitQQ = null;//定义Bitmap对象 Context mContext = null;

public GameView(Context context){ super(context); mContext = context;

mBitQQ = ((BitmapDrawable)

getResources().getDrawable(R.drawable.qq)).getBitmap();//装载资源 }

public void onDraw(Canvas canvas){ super.onDraw(canvas);

canvas.drawBitmap(mBitQQ, 0, 0, null);//绘制图片 }

public boolean onKeyUp(int keyCode, KeyEvent event){ switch ( keyCode ){

case KeyEvent.KEYCODE_DPAD_UP:

mAnimationAlpha = AnimationUtils.loadAnimation(mContext,R.layout.alpha);//装载动画布局

this.startAnimation(mAnimationAlpha);//开始播放动画 break;

case KeyEvent.KEYCODE_DPAD_DOWN:

mAnimationScale = AnimationUtils.loadAnimation(mContext,R.layout.scale);//装载动画布局

this.startAnimation(mAnimationScale);//开始播放动画 break;

case KeyEvent.KEYCODE_DPAD_LEFT: mAnimationTranslate =

AnimationUtils.loadAnimation(mContext,R.layout.translate);//装载动画布局 this.startAnimation(mAnimationTranslate);//开始播放动画 break;

case KeyEvent.KEYCODE_DPAD_RIGHT: mAnimationRotate =

AnimationUtils.loadAnimation(mContext,R.layout.rotate);//装载动画布局 this.startAnimation(mAnimationRotate);//开始播放动画 break; }

return true; } }

=================================================================================================================================== Framed动画

第一种方法 在代码中设计

public class GameView extends View{

private AnimationDrawable animationDrawable = null;//定义AnimationDrawable装载动画 Context mContext = null;

Drawable mBitAnimation = null;//定义一个Drawable对象 public GameView(Context context){ super(context); mContext = context;

animationDrawable = new AnimationDrawable();//实例化AnimationDrawable对象

for (int i = 1; i <= 15; i++){//利用循环装载所有名字类似的资源(图片命名时是有规律的 所以才能用此循环)

int id = getResources().getIdentifier(\mContext.getPackageName());------------------------需要深入 mBitAnimation = getResources().getDrawable(id);

animationDrawable.addFrame(mBitAnimation, 500);//通过addFrame方法把每一帧添加进去,每一帧显示的时间为500毫秒 }

animationDrawable.setOneShot( false );//利用setOneShot方法设置播放模式是否循环false表示循环而true表示不循环

this.setBackgroundDrawable(animationDrawable);// 加载本类将要显示这个动画 }

public void onDraw(Canvas canvas){ super.onDraw(canvas); }

public boolean onKeyUp(int keyCode, KeyEvent event){ switch ( keyCode ){

case KeyEvent.KEYCODE_DPAD_UP:

animationDrawable.start();//最后通过start方法播放动画 break; }

return true; }

} 要想显示Frame动画,还要在Activity中添加GameView对象 ------------------------------------------------------------------------------ 第二种方法:在XML文件中的设计 frameanimation.xml

…… 此处隐藏:2003字,全部文档内容请下载后查看。喜欢就下载吧 ……
Android手机游戏开发知识点总结(8).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/438798.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)