phaser.js游戲入門篇

最近在看phaser.js制作游戲,發(fā)現(xiàn)比較簡單,容易上手,但是官網(wǎng)的api,看起來不是特別看的懂。在這里我總結(jié)下,給想學(xué)習(xí)的同學(xué)們,寫下教程。方便以后學(xué)習(xí)。這里不對phaser.js做介紹,主要講解代碼的使用。

1.概念理解。

很多人感覺做做游戲比較難,這里我先給大家梳理下做游戲的概念。以便大家不迷茫知道自己在做什么。
一個游戲畫面就是一個場景,每個場景切換就可以換不同的畫面。然后每個場景都是一個對象,叫做State。在切換到這個場景時(shí),會自動執(zhí)行一些方法,其方法如下。

image.png

注意:preload、create、update、render 這四個方法至少要存在一個

image.png

這個一個場景的生命周期。當(dāng)切換到這個場景時(shí)候,會重上到下執(zhí)行這些函數(shù),至于updata,render這兩個函數(shù)會循環(huán)執(zhí)行。

init()           一些場景的初始化代碼可以寫在這個方法里
preload()         用來加載游戲資源
create()             創(chuàng)建游戲顯示對象或注冊事件等
update()   在游戲的每一幀都會調(diào)用,用來書寫需要在每一幀都執(zhí)行的代碼
render()    在游戲的每一個渲染周期都會調(diào)用,用來做一些自定義的渲染工作

接下來我們,我們寫一點(diǎn)基本入門的代碼。

var game = new Phaser.Game(300, 400, Phaser.AUTO, 'container');
    
    function state(){
        this.init = function(){};
        this.preload = function(){};
        this.create = function(){};
        this.update = function(){};
        this.render = function(){};
    }

    game.state.add('state', state); //添加場景
    game.state.start('state'); //啟動場景

上面的state.add是添加場景,我們寫好的每個場景都要添加到game中,否者講無法使用。state.start是啟動場景。

接下來我們講解三個概念,分辨是舞臺(state),世界(world)和攝像機(jī)(camera)。我們上面所說的一個個場景就是舞臺的意思。世界是什么呢?世界是承載游戲?qū)ο蟮娜萜?,我們所有的游戲?qū)ο蠖家诺绞澜缰校瑪z像機(jī)是我們看到的地方。

image.png

上面是設(shè)置場景背景顏色,還有很多api可以查看官網(wǎng)。

image.png

設(shè)置世界的大?。?/p>

image.png

相機(jī)的基本操作;

image.png

相機(jī)的縮放模式,主要縮放模式如下:

image.png

基本概念差不多講完了,接下來我們邊操作實(shí)際案例邊演示api的使用;

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容