一直想嘗試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使用的遊戲資源都為phaser demo內的,聲音暫未新增。preload()
建立遊戲場景
使用之前載入的遊戲資源對遊戲物件飛機子彈,敵人子彈,**動畫,敵人都是以組(池)的方式進行建立,減少記憶體的建立和**。監控鍵盤輸入對飛機物件進行操作。
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...