Phaser學習之路 飛機星戰

2022-01-15 18:46:45 字數 3030 閱讀 1495

一直想嘗試html5遊戲的製作,閒來無事,發現了phaser這個html5的遊戲開發框架,嘗試完成乙個小遊戲,此博文就作為自己的開發和學習的記錄。

1 什麼是phaser

2  環境搭建

3  建立專案

建立乙個專案檔案starcrash,檔案層級如下:

index.html : 遊戲頁面html

4  開始搬磚

phaser**的基本結構

var game = new phaser.game(320, 568, phaser.auto, 'starcrash', );

//載入資源

function

preload()

//建立場景

function

create()

//更新場景

function

update()

載入遊戲資源

function

preload()

使用的遊戲資源都為phaser demo內的,聲音暫未新增。 

建立遊戲場景

使用之前載入的遊戲資源對遊戲物件飛機子彈,敵人子彈,**動畫,敵人都是以組(池)的方式進行建立,減少記憶體的建立和**。監控鍵盤輸入對飛機物件進行操作。

function

create());

scoretext.anchor.setto(0.5,0.5);

//提示資訊

infotext = game.add.text(game.world.centerx,game.world.centery,' ', );

infotext.anchor.setto(0.5, 0.5);

infotext.visible = false

;

//控制

cursors =game.input.keyboard.createcursorkeys();

firebutton =game.input.keyboard.addkey(phaser.keyboard.spacebar);

}

建立敵人建立敵人方法

//

敵人function

enemy()

//建立敵人

this.create =function

() }

= function

(player,enemy)

this.shootplayer = function

(player,ebullet)

this.fire = function

() );

//獲取敵人子彈

ebullet = ebullets.getfirstexists(false

);

if(ebullet && liveenemies.length > 0)}}

更新場景實現背景頁面的滾動,玩家的操作反饋

function

update()

//右else

if(cursors.right.isdown)

//上else

if(cursors.up.isdown)

//下else

if(cursors.down.isdown)

//發射子彈

if(firebutton.isdown)

//敵人發射子彈

if (game.time.now >efiretimer)

//飛機碰撞敵人

game.physics.arcade.overlap(enemy.enemies ,player, enemy.crashplayer, null, this

);

//子彈碰撞敵人

game.physics.arcade.overlap(bullets,enemy.enemies , hitenemy, null, this

);

//敵人子彈碰撞飛機

game.physics.arcade.overlap(ebullets,player,enemy.shootplayer,null,this

); }

玩家發射子彈

function

firebullet()}}

擊中敵人

//

擊中敵人

function

hitenemy(bullet,enemy)

敵人**

//

敵人**

function

enemyexplosion(obj)

飛機**

//

飛機**

function

playerdead()

重新開始

//

重新開始

function

restartgame()

至此,簡單的飛機遊戲就完成了,有幾點不足之處:

(1)沒有載入聲音資源

(2)未實現不同型別敵人,後續可以擴充套件敵人方法,增加不同敵人型別

**比較醜陋,也是抱著學習phaser的態度,未對**進行優化,也算是phaser的基本入門吧,遊戲比較簡單,後期擴充套件的點還是挺多的,有時間可以繼續優化。

phaser小遊戲框架學習(二)

今天繼續學習phaser.js。上週寫的學習教程主要內容是建立遊戲場景,遊戲中的顯示物件,按鈕物件的使用以及如何在不同螢幕大小中完美適配。這篇部落格以介紹遊戲榜單的渲染更新為主。這個學習過程是以乙個類似於頭腦風暴的遊戲為例項,來學習phaser的框架,會有很多api講不到,可自己去查,去學習。由於考...

深入學習Phaser補間動畫

tweens通常被稱為補間動畫。補間動畫是指在確定好兩個關鍵幀之後,由計算機自動生成這兩幀之間插補幀,從而實現動畫的過程。例如,物體從當前位置在兩秒內向右移動200個畫素,只要設定好目標位置 當前位置的右邊200畫素 和時長 兩秒 則計算機會自動生成補間動畫,在兩秒內使物體從當前位置移到目標位置。最...

httpRunner學習之路 問題之路

成長過程中,都會遇到問題,就看如何解決!今天想再次研究該框架。因為前面又碰到了一些問題。而技能有限,又需要再次學習js的各項技能。實在耗不起精力。轉而繼續對自己擅長的python入手。按照教程說,先來嘗試一番。建立工程進行開始第一步吧。用相關命令直接生成對應的專案資料夾。hrun startproj...