LayaAir飛機大戰 6

2021-08-21 13:14:16 字數 1882 閱讀 3913

增加難度條件,實現積分達到條件後進入新關卡的邏輯

onloop():void{

//檢測碰撞

for(var i:number = this.rolebox.numchildren-1;i>-1;i--){

//獲取角色物件1

var role1:role = this.rolebox.getchildat(i) as role;

if(role1.hp<1)continue;

for(var j:number = i-1;j>-1;j--){

//如果角色已經死亡,則忽略

if(!role1.visible)continue;

//獲取角色物件2

var role2:role = this.rolebox.getchildat(j) as role;

//如果角色未死亡,並且陣營不同才能進行碰撞

if(role2.hp>0 && role1.camp != role2.camp){

//計算碰撞區域

var hitradius:number = role1.hitradius + role2.hitradius;

//根據距離判斷是否碰撞

if(math.abs(role1.x - role2.x) < hitradius && math.abs(role1.y - role2.y) < hitradius){

//碰撞之後掉血

this.losthp(role1,1);

this.losthp(role2,1);

//每掉一滴血,積分+1

this.score ++;

//在ui上顯示積分

this.gameinfo.score(this.score);

//積分大於公升級積分,則公升級

if(this.score > this.levelupscore){

//公升級關卡

this.level ++;

//在ui上顯示等級

this.gameinfo.level(this.level);

//提高下一級的公升級難度

this.levelupscore+=this.level * 5;

關卡難度提公升後,實現敵方血量,數量,速度提公升的邏輯

//關卡越高,建立敵機間隔越短

var cuttime:number = this.level < 30 ? this.level * 2 : 60;

//關卡越高,敵機飛行速度越快

var speedup:number = math.floor(this.level / 6);

//關卡越高,敵機血量越高

var hpup:number = math.floor(this.level / 8);

//關卡越高,敵機數量越多

var numup:number = math.floor(this.level / 10);

//生成小飛機

if(laya.timer.currframe % (80 - cuttime ) === 0){

this.createenemy(0,2+numup,3+speedup,1);

//生成中型飛機

if(laya.timer.currframe % (150 - cuttime * 4) === 0){

this.createenemy(1,1+numup,2+speedup,2+hpup*2);

//生成boss

if(laya.timer.currframe % (900 - cuttime * 4) === 0){

this.createenemy(2,1,1+speedup,10+hpup *6);

laya.soundmanager.playsound("res/sound/enemy3_out.***");

LayaAir飛機大戰 4

新增遊戲資源並快取動畫.快取子彈動畫 laya.animation.createframes war bullet1.png bullet1 fly 增加子彈射擊的基礎屬性.射擊型別 public shoottype number 0 射擊間隔 public shootinterval number...

飛機大戰6 遊戲框架

目標 使用面相物件設計飛機大戰遊戲類 根據明確的職責,設計planegame類如下 提示根據職責封裝私有方法,可以避免某乙個方法的 寫得太過冗長 如果某乙個方法編寫的太長,既不好閱讀,也不好維護!方法 職責 create sprites self 建立所有精靈和精靈組 方法 職責 event han...

飛機大戰製作筆記6

1.我方飛機生命 1 在main檔案中增加乙個變數 life num 用來繼續當前生命數 2 在lift num 0 時 顯示遊戲退出畫面,同時關閉所有聲音和補給發放 3 繪製,繪製文字 2.無敵時間 1 在myplane類中增加乙個變數 self.invincible false 飛機一開始並不是...