以下是:框架:
飛機大戰專案結構
按照思路先把root**寫出來:
package com.pm_road.fireair.bean;
/***
* @classname: root
* @description: 所有實體類的父類
* @author lipeng
* @date 2014-11-5 上午10:20:19**/
public class root
public void setx(float x)
public float gety()
public void sety(float y)
public int getsrcpic()
public void setsrcpic(int srcpic) }
然後把飛機的實體類**寫出來:
package com.pm_road.fireair.bean;
/*** * @classname: plane
* @description: 飛機
* @author lipeng
* @date 2014-11-5 上午10:03:50
* */
public class plane extends root
public void setlife(int life)
public boolean isshot()
public void setshot(boolean shot) }
接下來是你控制的飛機(實體類裡沒有任何**,主要原因是繼承的原因,寫這樣乙個實體類,主要原因是用於區別敵機):
package com.pm_road.fireair.bean;
/*** 控制的戰機
* @classname: yourplane
* @description: 你的戰機,繼承飛機
* @author lipeng
* @date 2014-11-5 上午10:21:02**/
public class yourplane extends plane
敵機實體類**:(裡面也沒有任何**,主要原因是繼承了plane,區別你控制的飛機)
package com.pm_road.fireair.bean;
/***
* @classname: enemyplane
* @description: 敵機
* @author lipeng
* @date 2014-11-5 上午10:22:57**/
public class enemyplane extends plane
飛機的子彈實體類:
package com.pm_road.fireair.bean;
/***
* @classname: bullet
* @description: 子彈
* @author lipeng
* @date 2014-11-5 上午10:24:48**/
public class bullet extends root
public void setfly(boolean fly) }
實體類寫完之後:我們開始寫相應的執行緒**:首先是planerunnable 執行緒,而在此執行緒中:飛機會發射子彈,在發射子彈的時候,會再起乙個子彈執行緒bulletrunnable
package com.pm_road.fireair.thread;
import android.content.context;
import android.graphics.canvas;
import android.graphics.color;
import android.graphics.paint;
import android.graphics.porterduff.mode;
import android.util.log;
import android.view.su***ceholder;
import android.widget.imagebutton;
import com.pm_road.fireair.bean.bullet;
import com.pm_road.fireair.bean.plane;
import com.pm_road.fireair.common.commonutil;
/*** 飛機執行緒
* * @classname: planethread
* @description: 飛機執行緒
* @author lipeng
* @date 2014-11-5 上午10:27:40
* */
public class planerunnable implements runnable
@override
public void run() catch (interruptedexception e)
}log.i(commonutil.thread_tag, 「plane停止射擊」);
}/**
* 發射一枚子彈
*/private void shotonebullet()
public plane getplane()
public void setplane(plane plane)
public imagebutton getplaneimg()
public void setplaneimg(imagebutton planeimg) }
下面是bulletrunnable 的**:,為了美化乙個效果,所以當子彈沒有碰到任何東西,飛出螢幕邊界的時候,在螢幕邊緣要進行**,**執行緒:boomrunnable
package com.pm_road.fireair.thread;
import android.content.context;
import android.graphics.canvas;
import android.graphics.color;
import android.graphics.paint;
import android.graphics.porterduff.mode;
import android.util.log;
import android.view.su***ceholder;
import com.pm_road.fireair.bean.bullet;
import com.pm_road.fireair.common.commonutil;
/*** 子彈執行緒
* * @classname: bulletrunnable
* @description: 子彈執行緒
* @author lipeng
* @date 2014-11-5 上午10:33:19
* */
public class bulletrunnable implements runnable
@override
public void run() catch (interruptedexception e)
bullet.sety(bullet.gety() -70);
if(bullet.gety() <= 0)
try catch (interruptedexception e)
log.i(commonutil.thread_tag, 「子彈飛行中」);
}log.i(commonutil.thread_tag, 「子彈執行緒結束」);
}/**
* **效果
*/private void boom()
public bullet getbullet()
public void setbullet(bullet bullet) }
package com.pm_road.fireair.thread;
import android.content.context;
import android.graphics.canvas;
import android.graphics.color;
import android.graphics.paint;
import android.graphics.porterduff.mode;
import android.view.su***ceholder;
import com.pm_road.fireair.bean.bullet;
/*** **執行緒
* * @classname: boomrunnable
* @description: **執行緒
* @author lipeng
* @date 2014-11-5 下午02:43:39
* */
public class boomrunnable implements runnable
@override
public void run()
public bullet getbullet()
public void setbullet(bullet bullet) }
寫完實體類和執行緒之後,就應該把他和安卓的xml 進行結合。結合**:
C C 專案原始碼 飛機大戰
這是我自己寫的乙個飛機大戰的原始碼,目前還沒有完善,只寫了我方飛機和敵方飛機,通過上下左右四個箭頭控制我方飛機行動,按空格鍵,飛機發射子彈。可自行加入其它功能,比如子彈敵機碰撞之後 下面是我寫了的專案原始碼。plane.cpp include plane.h plane plane plane pl...
安卓原始碼閱讀 原始碼編譯
mkdir bin path bin path curl bin repo chmod a x bin repowget tsinghua edu cn aosp monthly aosp latest.tar tar xf aosp latest.tar cd aosp 解壓得到的 aosp 工程...
Android開發 原始碼資源彙總
全網最全的android遊戲原始碼彙總 androidui設計之高仿系列 全網最全的android原始碼彙總 幾百個android原始碼 不斷更新中 contentprovider專題 android多執行緒開發專題 github開源專案總結 匯集的幾十個android原始碼 android開源專案...