飞机大战-MyPlane自己飞机的实现
来源:互联网 发布:java面向对象的优点 编辑:程序博客网 时间:2024/05/01 09:12
自己的飞机类,先判断他的isAlive为true和isExplosion为false如果满足再把他进行绘制,以及帧动画,游戏过程中两张图片不停的切换形成动画效果,当死亡是也有一个动
画。
package com.example.qgns;import android.content.res.Resources;import android.graphics.Bitmap;import android.graphics.BitmapFactory;import android.graphics.Canvas;public class MyPlane extends GameObject {private Bitmap myPlane[]=new Bitmap[2];//定义数组图片private Bitmap myPlaneExplosion[]=new Bitmap[4]; //爆炸数组图片private float middle_x;//因为子弹的位置与飞机位置有关private float middle_y;//这两个参数传给子弹的public MyPlane(Resources res) {super(res);isAlive=true;//设为存活状态initBitmap();}@Overridepublic void initScreen(float screen_width, float screen_height) {//初始化开始位置super.initScreen(screen_width, screen_height);object_x=screen_width/2-object_width/2;object_y=screen_height-object_height*2;middle_x=object_x+object_width/2;middle_y=object_y;}@Overridepublic void initBitmap() {//初始化图片for(int i=0;i<myPlane.length;i++){myPlane[i]=BitmapFactory.decodeResource(res, R.drawable.hero1+i);}for(int j=0;j<myPlaneExplosion.length;j++){myPlaneExplosion[j]=BitmapFactory.decodeResource(res, R.drawable.hero_blowup_n1+j);}object_width=myPlane[1].getWidth();object_height=myPlane[1].getHeight();}@Overridepublic void myDraw(Canvas canvas) {if(isAlive){if(!isExplosion){canvas.drawBitmap(myPlane[currentFrome], object_x, object_y, paint);currentFrome++;//通过改变帧数从而改变动画效果if(currentFrome>=myPlane.length){currentFrome=0;}}else{canvas.drawBitmap(myPlaneExplosion[currentFrome], object_x, object_y, paint);currentFrome++;if(currentFrome>=myPlaneExplosion.length){currentFrome=0;isAlive = false;}}}}public void initObject_xy(float x,float y){//到时候触摸屏幕时调用的方法,随手指移动而移动this.middle_x=x;this.object_x=x-object_width/2;this.middle_y=y-object_height;this.object_y=y-object_height;}public float getMiddle_x(){return middle_x;}public float getMiddle_y(){return middle_y;}@Overridepublic void release() {//图片回收操作for(int i=0;i<myPlane.length;i++){if(!myPlane[i].isRecycled()){myPlane[i].recycle();}}for(int j=0;j<myPlaneExplosion.length;j++){if(!myPlaneExplosion[j].isRecycled()){myPlaneExplosion[j].recycle();}}}}
0 0
- 飞机大战-MyPlane自己飞机的实现
- cocos2d中分步实现飞机大战----自己飞机的实现
- 飞机大战-子弹的实现
- js实现的飞机大战
- 初学Android之飞机大战(三)——myPlane
- Phaser实现飞机大战
- JavaSwing实现飞机大战
- 飞机大战游戏实现
- 飞机大战-StartView 开始界面的实现
- 飞机大战-GameGoods商品的实现
- cocos2dx飞机大战Cocos2d-x飞机实现
- 飞机大战
- 飞机大战
- 飞机大战
- 飞机大战
- 飞机大战
- 飞机大战
- 飞机大战
- 使用行为树(Behavior Tree)实现游戏AI
- 数据库事务
- 关于在linux下用java程序执行linux命令的权限问题
- 专家解析云部署时应避免的20个错误
- Solving "Vietnam snake" puzzle with constraint logic programming
- 飞机大战-MyPlane自己飞机的实现
- PLSQL设置显示中文的字符集
- javase 小知识2
- android中通过JNI读取Bitmap文件,并调用opencv进行处理
- Project facet Java version 1.7 is not supported.
- project facet java version 1.7 is not supported
- 划分树模板
- openwrt network bridge 与 port 配置关系
- leetcode Add and Search Word - Data structure design