昨天我們完成了道具系統以及受傷閃白的效果,今天我們要來實作整個遊戲最高潮的部分:Boss! ▸ 事前優化 由於 Boss 肯定會有許多不同於一般敵人的邏輯,因此...
經過昨天的升級系統實作,我們的小女巫終於能夠在戰鬥中成長了!今天,我們要來做點比較簡單的東西: 道具掉落系統:讓敵人死亡後有機會掉落各種有用的道具。 受傷...
昨天我們建立了升級介面的基礎框架,今天我們要來實作升級系統的核心邏輯部分。 首先,從今天開始我就不再重複過多舊有的程式碼了,只稍微修改的那種,我也改成統一在文章...
經過昨天實作血條 UI 後,我們已經具備了 ProgressBar 這個可重用元件。今天我們的目標是將這個元件用於經驗值(EXP),並實現 Roguelike...
昨天我們為小女巫加入了自動攻擊能力,但正如我們在總結中預見的,start() 函數已經開始變得過於臃腫:它既要負責初始化背景,又要管理女巫的事件,甚至還要管理圖...
昨天我們完成了小女巫對敵人的傷害處理,但作為一個 Roguelike 遊戲,不能讓玩家輕鬆地站在原地不動。今天的核心目標是完成防禦機制,實作敵人對女巫的傷害,並...
昨天我們為專案打下了穩固的架構,並成功讓敵人有規律地從畫面上出現。然而,目前小女巫的魔法彈就像穿過空氣一樣,對敵人毫無作用。 今天的核心目標就是讓我們的遊戲進入...
昨天我們完成了專案的架構重構,實作了中央控制器 Game 類別。有了這個穩固的基礎,今天的核心目標是實作一個敵人生成系統,讓敵人能夠有規律、有波次地從畫面右側出...
昨天,我們成功讓小女巫學會了自由飛行。但一位優秀的巫師在戰鬥中只會閃躲可不行!今天我們要為她裝備火力,實作她的核心戰鬥機制——自動攻擊,發射她的第一顆魔法彈!...
原本我們只打算讓小女巫上下移動,但身為一位優秀的巫師,偶爾後退拉開距離,或是加速向前衝刺都是戰鬥必備的技巧! 因此,今天我們將為小女巫加入更完整的操控:上下移動...
昨天我們告別了基礎教學,正式啟動了《小女巫・啟程》的專案。根據我們的企劃,今天要完成遊戲的第一個視覺目標:讓小女巫登場,並讓她身後的背景動起來,營造出飛行的感覺...
前 14 天我們一路從 Sprite、Container 一路走到互動、音效,最後還拼湊出一個「幸運餅乾」的小 Demo。老實說,PixiJS 的基礎差不多都打...
今天是第二週的最後一天,前陣子我們已經把使用 PixiJS 製作遊戲時,最基本會使用到的各種物件都介紹過了,還有其他像是 CG 的更新循環系統、補間動畫(Twe...
前兩天,我們介紹了如何用循環更新來處理持續性的物件移動,以及如何用補間動畫(Tween)來實現一次性的平滑移動。而今天,我們要來介紹另一種截然不同的技術——Sp...
在前面幾天,我們已經不知不覺地使用了 CG.Base2.addUpdateFunction 這個功能好幾次。無論是讓 Sprite 像螢幕保護程式一樣在畫面中彈...
昨天,介紹完與滑鼠、觸控相關的輸入互動後,今天就要來介紹怎麼在 CG 上偵測玩家的鍵盤輸入啦~ 首先,PixiJS 做為一個 2D 繪圖引擎,並不包含偵測鍵盤輸...
前陣子,我們介紹了許多跟畫面顯示有關的功能,而今天,我們要來介紹遊戲中除了畫面以外,另外一個同等重要的元素——聲音。 PixiJS 雖然作為一個 2D 繪圖引擎...
在 Day 04 的時候,我們曾介紹過如何讓 Sprite 移動,並利用循環更新使其產生動畫效果,但一天所展示的都是持續性動畫,就是會一直做,直到我說停,或是不...
在昨天介紹完 Text 後,到目前為們已經過了一個禮拜,我們把 PixiJS 中最基本的顯示物件都介紹過了一次,Sprite、Text、Graphics、Con...
昨天,我們介紹了 Graphics 類別,學會了如何用程式碼畫出各種形狀,甚至還挑戰了一個會動的紅綠燈。今天,我們將介紹另一個遊戲中不可或缺的元素:文字。 Te...
昨天,我們介紹了如何使用 Container 將多個顯示物件放在一起,輕鬆地控制它們的整體動作,而且我們還偷偷用到了 Graphics 來繪製血條,今天我們就要...
昨天,我們成功讓第一個 Sprite 動了起來。有了控制單一物件動態的經驗後,今天我們將面臨一個更實際的問題:當一個遊戲角色由多個物件組成時,要怎麼一起控制它們...
昨天,我們成功創建了第一個 Sprite,並將它顯示在畫面的正中央。有了這個靜態的物件後,今天,我們就要讓它活起來,學習如何控制它的位置、縮放與旋轉。 在開始之...
昨天,我們成功的在 CG 上創建了一個 PixiJS 的專案,並寫出了第一個測試程式。今天,就讓我們正式踏入 PixiJS 的世界,來認識最核心的顯示物件——S...
我們這個系列將會使用 PixiJS v8 來進行介紹,不過在正式開始寫 PixiJS 之前,我得先來介紹這次的秘密武器:Code.Gamelet(簡稱 CG),...
為什麼選擇 PixiJS? 這個問題的答案其實很簡單,沒有什麼華麗的技術分析,也沒有複雜的效能評比。最老實的回答是:它是我程式旅程的起點。 剛踏入程式領域時,我...
轉眼間 30 天就到了,我們先來聊聊這段時間所學到的各種東西吧。 回顧 一開始我跟各位介紹了 code.gamelet.com(簡稱 CG)這個網站,不需要安裝...
今天我們放輕鬆一點,來分享一下我之前提到自己寫的一個模組,可以讓我們利用 CG 的事件表功能,輕鬆的在網頁上做出一款簡單的視覺小說遊戲。 什麼是視覺小說 視覺小...
繼昨天我們完成了計時、計分系統以後,整個遊戲大致上算是完成了,但我們最後還必須建立一個排行榜,將玩家得到的分數上傳上去才行。 設置分數組、上傳分數 詳細的過程我...
繼昨天我們完成了遊戲的主畫面,以及開場的倒數動畫之後,今天要來製作遊戲中的計時、計分功能,以及時間到後,會跳回主畫面的功能。 遊戲計時器 在遊戲中計時器究竟該怎...