日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 运维知识 > Android >内容正文

Android

Android_(游戏)打飞机04:绘画敌机、添加子弹

發(fā)布時(shí)間:2023/12/1 Android 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Android_(游戏)打飞机04:绘画敌机、添加子弹 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

?

?

?

(游戲)打飛機(jī)01:前言  傳送門(mén)

(游戲)打飛機(jī)02:游戲背景滾動(dòng)  傳送門(mén)

(游戲)打飛機(jī)03:控制玩家飛機(jī)   傳送門(mén)?

(游戲)打飛機(jī)04:繪畫(huà)敵機(jī)、添加子彈  ??傳送門(mén)

(游戲)打飛機(jī)05:處理子彈,擊中敵機(jī),添加計(jì)分板   傳送門(mén)

(游戲)打飛機(jī)06:后續(xù)  傳送門(mén)

?

?

?

繪畫(huà)敵機(jī)、添加子彈效果

?

?

package com.example.administrator.myapplication;import android.content.Context; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.graphics.Canvas; import android.graphics.Paint; import android.graphics.Rect; import android.view.MotionEvent; import android.view.SurfaceHolder; import android.view.SurfaceView; import android.view.View; import android.view.WindowManager;import java.util.ArrayList; import java.util.List; import java.util.Random;/*** Created by Administrator on 2018/8/9.*/public class dafeijiGameView extends SurfaceView implementsSurfaceHolder.Callback,Runnable,android.view.View.OnTouchListener{private Bitmap my;//自己private Bitmap baozha;//爆炸private Bitmap bg;//背景private Bitmap diren;//敵人private Bitmap zidan;//子彈private Bitmap erjihuancun;//二級(jí)緩存private WindowManager windowManager;//獲得界面長(zhǎng)寬高private int display_w; //界面的寬private int display_h; //界面的高private ArrayList<GameImage> gameImage = new ArrayList();private ArrayList<Zidan> zidans = new ArrayList<Zidan>();public dafeijiGameView(Context context) {super(context);getHolder().addCallback(this);//事件注冊(cè)this.setOnTouchListener(this);}private void init(){//加載照片my= BitmapFactory.decodeResource(getResources(),R.drawable.my);baozha= BitmapFactory.decodeResource(getResources(),R.drawable.baozha);bg= BitmapFactory.decodeResource(getResources(),R.drawable.bg);diren= BitmapFactory.decodeResource(getResources(),R.drawable.diren);zidan= BitmapFactory.decodeResource(getResources(),R.drawable.zidan);erjihuancun=Bitmap.createBitmap(display_w,display_h, Bitmap.Config.ARGB_8888);gameImage.add(new BeijingImage(bg)); //先加入背景照片gameImage.add(new FeijiImage(my));gameImage.add(new DijiImage(diren));}FeijiImage selectfeiji;@Overridepublic boolean onTouch(View v, MotionEvent event) {//手接近屏幕產(chǎn)生的事件if(event.getAction()==MotionEvent.ACTION_DOWN){for(GameImage game: gameImage){if(game instanceof FeijiImage){FeijiImage feiji = (FeijiImage)game;//判斷條件為真時(shí)選中飛機(jī)if(feiji.getX()<event.getX()&&feiji.getY()<event.getY()&&feiji.getX()+feiji.getWidth()>event.getX() &&feiji.getY()+feiji.getHeigth()>event.getY()){selectfeiji=feiji;}else{selectfeiji=null;}break;}}}else if(event.getAction()==MotionEvent.ACTION_MOVE){//移動(dòng)鼠標(biāo)if( selectfeiji!=null){selectfeiji.setX((int)event.getX()-selectfeiji.getWidth()/2);selectfeiji.setY((int)event.getY()-selectfeiji.getHeigth()/2);}}else if(event.getAction()==MotionEvent.ACTION_UP){//松開(kāi)鼠標(biāo)selectfeiji=null;}return true;}private interface GameImage{public Bitmap getBitmap();public int getX();public int getY();}private class Zidan implements GameImage{Bitmap zidan;private FeijiImage feiji;private int x;private int y;public Zidan(FeijiImage feiji,Bitmap zidan){this.feiji=feiji;this.zidan=zidan;x=(feiji.getX()+feiji.getWidth()/2)-25;//居中位置y=feiji.getY()-zidan.getHeight();}public Bitmap getBitmap() {y-=19;if(y<=-10){zidans.remove(this);}return zidan;}@Overridepublic int getX() {return x;}@Overridepublic int getY() {return y;}}private class DijiImage implements GameImage{private Bitmap diren = null;private List<Bitmap> bitmaps = new ArrayList<Bitmap>();private int x;private int y;public DijiImage(Bitmap diren){this.diren=diren;bitmaps.add(Bitmap.createBitmap(diren,0,0,diren.getWidth()/4,diren.getHeight()));bitmaps.add(Bitmap.createBitmap(diren,(diren.getWidth()/4)*1,0,diren.getWidth()/4,diren.getHeight()));bitmaps.add(Bitmap.createBitmap(diren,(diren.getWidth()/4)*2,0,diren.getWidth()/4,diren.getHeight()));bitmaps.add(Bitmap.createBitmap(diren,(diren.getWidth()/4)*3,0,diren.getWidth()/4,diren.getHeight()));y=-diren.getHeight();Random ran = new Random();x=ran.nextInt(display_w-(diren.getWidth()/4));}private int index=0;private int num =0;@Overridepublic Bitmap getBitmap() {Bitmap bitmap = bitmaps.get(index);//控制切換四個(gè)飛機(jī)的頻率if(num == 7){index++;if(index == bitmaps.size()){index=0;}num=0;}y+=3;num++;if(y>display_h){gameImage.remove(this);}return bitmap;}@Overridepublic int getX() {return x;}@Overridepublic int getY() {return y;}}private class FeijiImage implements GameImage{private Bitmap my;private int x;private int y;private int width;private int heigth;private int getWidth(){return width;}private int getHeigth(){return heigth;}private List<Bitmap> bitmaps = new ArrayList<Bitmap>();private FeijiImage(Bitmap my){this.my=my;bitmaps.add(Bitmap.createBitmap(my,0,0,my.getWidth()/4,my.getHeight()));bitmaps.add(Bitmap.createBitmap(my,(my.getWidth()/4),0,my.getWidth()/4,my.getHeight()));bitmaps.add(Bitmap.createBitmap(my,(my.getWidth()/4)*2,0,my.getWidth()/4,my.getHeight()));bitmaps.add(Bitmap.createBitmap(my,(my.getWidth()/4)*3,0,my.getWidth()/4,my.getHeight()));//得到戰(zhàn)機(jī)的高和寬width=my.getWidth()/4;heigth=my.getHeight();x=(display_w - my.getWidth()/4)/2;y=display_h-my.getHeight()-30;}private int index=0;private int num =0;@Overridepublic Bitmap getBitmap() {Bitmap bitmap = bitmaps.get(index);//控制切換四個(gè)飛機(jī)的頻率if(num == 7){index++;if(index == bitmaps.size()){index=0;}num=0;}num++;return bitmap;}@Overridepublic int getX() {return x;}@Overridepublic int getY() {return y;}public void setY(int y){this.y=y;}public void setX(int x){this.x=x;}}//負(fù)責(zé)背景照片的處理private class BeijingImage implements GameImage{private Bitmap bg;private BeijingImage(Bitmap bg){this.bg=bg;newBitmap = Bitmap.createBitmap(display_w,display_h, Bitmap.Config.ARGB_8888);}private Bitmap newBitmap = null;private int height = 0;public Bitmap getBitmap(){Paint p = new Paint();Canvas canvas = new Canvas(newBitmap);canvas.drawBitmap(bg,new Rect(0,0,bg.getWidth(),bg.getHeight()),new Rect(0,height,display_w,display_h+height),p);canvas.drawBitmap(bg,new Rect(0,0,bg.getWidth(),bg.getHeight()),new Rect(0,-display_h+height,display_w,height),p);height++;if(height==display_h){height=0;}return newBitmap;}public int getX(){return 0;}public int getY(){return 0;}}private boolean state = false;private SurfaceHolder holder;//繪畫(huà)中心public void run() {Paint p1 = new Paint();int diren_num=0;// int zidan_num=0;try{while(state){if(selectfeiji!=null){if(zidan_num==10){zidans.add(new Zidan(selectfeiji,zidan));zidan_num=0;}zidan_num++;}Canvas newCanvas = new Canvas(erjihuancun);for(GameImage image:(List<GameImage>)gameImage.clone()){newCanvas.drawBitmap(image.getBitmap(),image.getX(),image.getY(),p1);}for(GameImage image:(List<GameImage>)zidans.clone()){newCanvas.drawBitmap(image.getBitmap(),image.getX(),image.getY(),p1);}if(diren_num==150){diren_num=0;gameImage.add(new DijiImage(diren));}diren_num++;Canvas canvas = holder.lockCanvas();canvas.drawBitmap(erjihuancun,0,0,p1);holder.unlockCanvasAndPost(canvas);Thread.sleep(10);}}catch(Exception e){}}@Overridepublic void surfaceCreated(SurfaceHolder holder) {}@Overridepublic void surfaceDestroyed(SurfaceHolder holder) {state = false;}@Overridepublic void surfaceChanged(SurfaceHolder holder, int format, int width, int height) {//得到屏幕的寬和高display_w=width;display_h=height;init();this.holder=holder;state = true;new Thread(this).start();}} dafeijiGameView.java

?

package com.example.administrator.myapplication;import android.support.v7.app.AppCompatActivity; import android.os.Bundle;public class MainActivity extends AppCompatActivity{@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);//去掉標(biāo)題// requestWindowFeature(Window.FEATURE_NO_TITLE);dafeijiGameView view = new dafeijiGameView(this);setContentView(view);}} MainActivity.java

?

實(shí)現(xiàn)過(guò)程

?

  繪制敵機(jī)

?

private class DijiImage implements GameImage{private Bitmap diren = null;private List<Bitmap> bitmaps = new ArrayList<Bitmap>();private int x;private int y;public DijiImage(Bitmap diren){this.diren=diren;bitmaps.add(Bitmap.createBitmap(diren,0,0,diren.getWidth()/4,diren.getHeight()));bitmaps.add(Bitmap.createBitmap(diren,(diren.getWidth()/4)*1,0,diren.getWidth()/4,diren.getHeight()));bitmaps.add(Bitmap.createBitmap(diren,(diren.getWidth()/4)*2,0,diren.getWidth()/4,diren.getHeight()));bitmaps.add(Bitmap.createBitmap(diren,(diren.getWidth()/4)*3,0,diren.getWidth()/4,diren.getHeight()));y=-diren.getHeight();Random ran = new Random();x=ran.nextInt(display_w-(diren.getWidth()/4));}private int index=0;private int num =0;@Overridepublic Bitmap getBitmap() {Bitmap bitmap = bitmaps.get(index);//控制切換四個(gè)飛機(jī)的頻率if(num == 7){index++;if(index == bitmaps.size()){index=0;}num=0;}y+=3;num++;if(y>display_h){gameImage.remove(this);}return bitmap;}@Overridepublic int getX() {return x;}@Overridepublic int getY() {return y;}} DijiImage.java

?

  初始化游戲時(shí)候加載敵機(jī)類

private void init(){//加載照片my= BitmapFactory.decodeResource(getResources(),R.drawable.my);baozha= BitmapFactory.decodeResource(getResources(),R.drawable.baozha);bg= BitmapFactory.decodeResource(getResources(),R.drawable.bg);diren= BitmapFactory.decodeResource(getResources(),R.drawable.diren);zidan= BitmapFactory.decodeResource(getResources(),R.drawable.zidan);erjihuancun=Bitmap.createBitmap(display_w,display_h, Bitmap.Config.ARGB_8888);gameImage.add(new BeijingImage(bg)); //先加入背景照片gameImage.add(new FeijiImage(my));gameImage.add(new DijiImage(diren));}

?

  繪制敵機(jī)飛行動(dòng)畫(huà)

private List<Bitmap> bitmaps = new ArrayList<Bitmap>();

?

  將四張敵機(jī)加入鏈表

       bitmaps.add(Bitmap.createBitmap(diren,0,0,diren.getWidth()/4,diren.getHeight()));bitmaps.add(Bitmap.createBitmap(diren,(diren.getWidth()/4)*1,0,diren.getWidth()/4,diren.getHeight()));bitmaps.add(Bitmap.createBitmap(diren,(diren.getWidth()/4)*2,0,diren.getWidth()/4,diren.getHeight()));bitmaps.add(Bitmap.createBitmap(diren,(diren.getWidth()/4)*3,0,diren.getWidth()/4,diren.getHeight()));

?

?public?static?Bitmap?createBitmap(Bitmap?source,?int?x,?int?y,?int?width,?int?height,?Matrix?m,?boolean?filter)
  從原始位圖剪切圖像,這是一種高級(jí)的方式??梢杂肕atrix(矩陣)來(lái)實(shí)現(xiàn)旋轉(zhuǎn)等高級(jí)方式截圖
  

參數(shù)說(shuō)明:  傳送門(mén)
    Bitmap?source:要從中截圖的原始位圖
    int?x:起始x坐標(biāo)
    int?y:起始y坐標(biāo)
    int?width:要截的圖的寬度
    int?height:要截的圖的寬度
    Bitmap.Config??config:一個(gè)枚舉類型的配置,可以定義截到的新位圖的質(zhì)量
  返回值:返回一個(gè)剪切好的Bitmap?   繪制飛機(jī)飛行動(dòng)畫(huà)(不斷切換四張圖片,看起來(lái)像飛機(jī)飛) private int index=0;private int num =0;@Overridepublic Bitmap getBitmap() {Bitmap bitmap = bitmaps.get(index);//控制切換四個(gè)飛機(jī)的頻率if(num == 7){index++;if(index == bitmaps.size()){index=0;}num=0;}//y+=3控制敵機(jī)下降速度y+=3;

?

  隨機(jī)位置生成敵機(jī)

y=-diren.getHeight();Random ran = new Random();x=ran.nextInt(display_w-(diren.getWidth()/4));

?

  在游戲繪畫(huà)中心中添加敵機(jī)出現(xiàn)

//繪畫(huà)中心public void run() {Paint p1 = new Paint();int diren_num=0;// try{while(true){Canvas newCanvas = new Canvas(erjihuancun);for(GameImage image:(List<GameImage>)gameImage.clone()){newCanvas.drawBitmap(image.getBitmap(),image.getX(),image.getY(),p1);}if(diren_num==150){diren_num=0;gameImage.add(new DijiImage(diren));}diren_num++;Canvas canvas = holder.lockCanvas();canvas.drawBitmap(erjihuancun,0,0,p1);holder.unlockCanvasAndPost(canvas);Thread.sleep(10);}}catch(Exception e){}}

?

  敵機(jī)出現(xiàn)頻率

if(diren_num==150){diren_num=0;gameImage.add(new DijiImage(diren));}diren_num++;

?

?

?

package com.example.administrator.myapplication;import android.content.Context; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.graphics.Canvas; import android.graphics.Paint; import android.graphics.Rect; import android.view.MotionEvent; import android.view.SurfaceHolder; import android.view.SurfaceView; import android.view.View; import android.view.WindowManager;import java.util.ArrayList; import java.util.List; import java.util.Random;/*** Created by Administrator on 2018/8/9.*/public class dafeijiGameView extends SurfaceView implementsSurfaceHolder.Callback,Runnable,android.view.View.OnTouchListener{private Bitmap my;//自己private Bitmap baozha;//爆炸private Bitmap bg;//背景private Bitmap diren;//敵人private Bitmap zidan;//子彈private Bitmap erjihuancun;//二級(jí)緩存private WindowManager windowManager;//獲得界面長(zhǎng)寬高private int display_w; //界面的寬private int display_h; //界面的高private ArrayList<GameImage> gameImage = new ArrayList();public dafeijiGameView(Context context) {super(context);getHolder().addCallback(this);//事件注冊(cè)this.setOnTouchListener(this);}private void init(){//加載照片my= BitmapFactory.decodeResource(getResources(),R.drawable.my);baozha= BitmapFactory.decodeResource(getResources(),R.drawable.baozha);bg= BitmapFactory.decodeResource(getResources(),R.drawable.bg);diren= BitmapFactory.decodeResource(getResources(),R.drawable.diren);zidan= BitmapFactory.decodeResource(getResources(),R.drawable.zidan);erjihuancun=Bitmap.createBitmap(display_w,display_h, Bitmap.Config.ARGB_8888);gameImage.add(new BeijingImage(bg)); //先加入背景照片gameImage.add(new FeijiImage(my));gameImage.add(new DijiImage(diren));}FeijiImage selectfeiji;@Overridepublic boolean onTouch(View v, MotionEvent event) {//手接近屏幕產(chǎn)生的事件if(event.getAction()==MotionEvent.ACTION_DOWN){for(GameImage game: gameImage){if(game instanceof FeijiImage){FeijiImage feiji = (FeijiImage)game;//判斷條件為真時(shí)選中飛機(jī)if(feiji.getX()<event.getX()&&feiji.getY()<event.getY()&&feiji.getX()+feiji.getWidth()>event.getX() &&feiji.getY()+feiji.getHeigth()>event.getY()){selectfeiji=feiji;}else{selectfeiji=null;}break;}}}else if(event.getAction()==MotionEvent.ACTION_MOVE){//移動(dòng)鼠標(biāo)if( selectfeiji!=null){selectfeiji.setX((int)event.getX()-selectfeiji.getWidth()/2);selectfeiji.setY((int)event.getY()-selectfeiji.getHeigth()/2);}}else if(event.getAction()==MotionEvent.ACTION_UP){//松開(kāi)鼠標(biāo)selectfeiji=null;}return true;}private interface GameImage{public Bitmap getBitmap();public int getX();public int getY();}private class DijiImage implements GameImage{private Bitmap diren = null;private List<Bitmap> bitmaps = new ArrayList<Bitmap>();private int x;private int y;public DijiImage(Bitmap diren){this.diren=diren;bitmaps.add(Bitmap.createBitmap(diren,0,0,diren.getWidth()/4,diren.getHeight()));bitmaps.add(Bitmap.createBitmap(diren,(diren.getWidth()/4)*1,0,diren.getWidth()/4,diren.getHeight()));bitmaps.add(Bitmap.createBitmap(diren,(diren.getWidth()/4)*2,0,diren.getWidth()/4,diren.getHeight()));bitmaps.add(Bitmap.createBitmap(diren,(diren.getWidth()/4)*3,0,diren.getWidth()/4,diren.getHeight()));y=-diren.getHeight();Random ran = new Random();x=ran.nextInt(display_w-(diren.getWidth()/4));}private int index=0;private int num =0;@Overridepublic Bitmap getBitmap() {Bitmap bitmap = bitmaps.get(index);//控制切換四個(gè)飛機(jī)的頻率if(num == 7){index++;if(index == bitmaps.size()){index=0;}num=0;}y+=3;num++;if(y>display_h){gameImage.remove(this);}return bitmap;}@Overridepublic int getX() {return x;}@Overridepublic int getY() {return y;}}private class FeijiImage implements GameImage{private Bitmap my;private int x;private int y;private int width;private int heigth;private int getWidth(){return width;}private int getHeigth(){return heigth;}private List<Bitmap> bitmaps = new ArrayList<Bitmap>();private FeijiImage(Bitmap my){this.my=my;bitmaps.add(Bitmap.createBitmap(my,0,0,my.getWidth()/4,my.getHeight()));bitmaps.add(Bitmap.createBitmap(my,(my.getWidth()/4),0,my.getWidth()/4,my.getHeight()));bitmaps.add(Bitmap.createBitmap(my,(my.getWidth()/4)*2,0,my.getWidth()/4,my.getHeight()));bitmaps.add(Bitmap.createBitmap(my,(my.getWidth()/4)*3,0,my.getWidth()/4,my.getHeight()));//得到戰(zhàn)機(jī)的高和寬width=my.getWidth()/4;heigth=my.getHeight();x=(display_w - my.getWidth()/4)/2;y=display_h-my.getHeight()-30;}private int index=0;private int num =0;@Overridepublic Bitmap getBitmap() {Bitmap bitmap = bitmaps.get(index);//控制切換四個(gè)飛機(jī)的頻率if(num == 7){index++;if(index == bitmaps.size()){index=0;}num=0;}num++;return bitmap;}@Overridepublic int getX() {return x;}@Overridepublic int getY() {return y;}public void setY(int y){this.y=y;}public void setX(int x){this.x=x;}}//負(fù)責(zé)背景照片的處理private class BeijingImage implements GameImage{private Bitmap bg;private BeijingImage(Bitmap bg){this.bg=bg;newBitmap = Bitmap.createBitmap(display_w,display_h, Bitmap.Config.ARGB_8888);}private Bitmap newBitmap = null;private int height = 0;public Bitmap getBitmap(){Paint p = new Paint();Canvas canvas = new Canvas(newBitmap);canvas.drawBitmap(bg,new Rect(0,0,bg.getWidth(),bg.getHeight()),new Rect(0,height,display_w,display_h+height),p);canvas.drawBitmap(bg,new Rect(0,0,bg.getWidth(),bg.getHeight()),new Rect(0,-display_h+height,display_w,height),p);height++;if(height==display_h){height=0;}return newBitmap;}public int getX(){return 0;}public int getY(){return 0;}}private boolean state = false;private SurfaceHolder holder;//繪畫(huà)中心public void run() {Paint p1 = new Paint();int diren_num=0;// try{while(true){Canvas newCanvas = new Canvas(erjihuancun);for(GameImage image:(List<GameImage>)gameImage.clone()){newCanvas.drawBitmap(image.getBitmap(),image.getX(),image.getY(),p1);}if(diren_num==150){diren_num=0;gameImage.add(new DijiImage(diren));}diren_num++;Canvas canvas = holder.lockCanvas();canvas.drawBitmap(erjihuancun,0,0,p1);holder.unlockCanvasAndPost(canvas);Thread.sleep(10);}}catch(Exception e){}}@Overridepublic void surfaceCreated(SurfaceHolder holder) {}@Overridepublic void surfaceDestroyed(SurfaceHolder holder) {state = false;}@Overridepublic void surfaceChanged(SurfaceHolder holder, int format, int width, int height) {//得到屏幕的寬和高display_w=width;display_h=height;init();this.holder=holder;state = true;new Thread(this).start();}} dafeijiGameView

?

?

游戲中添加子彈

?

private class Zidan implements GameImage{Bitmap zidan;private FeijiImage feiji;private int x;private int y;public Zidan(FeijiImage feiji,Bitmap zidan){this.feiji=feiji;this.zidan=zidan;x=(feiji.getX()+feiji.getWidth()/2)-25;//居中位置y=feiji.getY()-zidan.getHeight();}public Bitmap getBitmap() {y-=19;if(y<=-10){zidans.remove(this);}return zidan;}@Overridepublic int getX() {return x;}@Overridepublic int getY() {return y;}} zidan.class

?

  判斷子彈出現(xiàn)飛機(jī)位置

public Zidan(FeijiImage feiji,Bitmap zidan){this.feiji=feiji;this.zidan=zidan;x=(feiji.getX()+feiji.getWidth()/2)-25;//居中位置y=feiji.getY()-zidan.getHeight();}

  (-25是自己微調(diào))

?

  子彈超出邊界的時(shí)候釋放子彈內(nèi)存,減少手機(jī)開(kāi)銷

public Bitmap getBitmap() {y-=19;if(y<=-10){zidans.remove(this);}return zidan;}

?

  不斷的出現(xiàn)新的子彈

if(selectfeiji!=null){if(zidan_num==10){zidans.add(new Zidan(selectfeiji,zidan));zidan_num=0;}zidan_num++;}

?

  便利所有的子彈

for(GameImage image:(List<GameImage>)zidans.clone()){newCanvas.drawBitmap(image.getBitmap(),image.getX(),image.getY(),p1);}

?

轉(zhuǎn)載于:https://www.cnblogs.com/1138720556Gary/p/9457052.html

總結(jié)

以上是生活随笔為你收集整理的Android_(游戏)打飞机04:绘画敌机、添加子弹的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。