Canvas 2D小遊戲開發總結 1

2022-09-10 15:24:16 字數 947 閱讀 7866

由於需要快速開發

在拿到需求時,並沒有時間去學習cocos2d-js\egret\lufy legend這樣的h5遊戲引擎

於是硬著頭皮直接用js建模、響應使用者、渲染畫面

在此要感謝這篇文章給我的啟發

然後我羅列一下開發過程中遇到的問題,以便更好地完善自己的遊戲框架

1.按鈕問題dom vs canvas

有時候有**潔癖,會覺得用canvas做**看起來乾淨

實際上直接用常規dom裡的按鈕會比在canvas裡寫按鈕快得多

也有缺點就是要繫結場景...這個概念

但是因為自帶了onclick這樣的事情,省去了你建模,寫碰撞檢測**的時間

2.思路總結

按照之前matthackett的思路

小遊戲開發簡而言之就是對於每一幀,處理輸入,處理,輸出的過程

然後這只是對應乙個場景

當需要頻繁變化場景的時候,這個思路就需要擴充了

兩個思路:

a.用乙個flag來標記各場景,分別在input update render函式裡根據這個flag路由

b.我們抽象出場景物件的概念

每個場景都有它的input/update/render的方法

new乙個場景,就重寫它的三種方法

就像演舞台劇一樣,你是導演,可以隨時喊cut or move on

並且做好各個場景之間銜接工作

強a幹不過掛bt.t我選b

於是我們因此需要抽象出「舞台」這個概念,也就是我們定義全域性變數的地方

3.場景的開發思路

b.儲存使用者輸入:這個有待商榷,其實可以在「舞台」儲存所有劇本可能用到的使用者操作,然後由導演來決定在哪些場景,演員要與觀眾互動,哪些場景可以「耍大牌」

c.更新模型:處理事件更新模型,分為模型固有事件(比如人的生老病死)和使用者事件(比如被人ooxx)

d.繪圖

to be countinued...

html 虛線 canvas2D繪製虛線

要想在canvas 2d中繪製虛線有很多種方法,可以自己使用演算法實現,也可以使用原生的api。大概思路是 這裡只使用了勾股定理這乙個數學公式。效果 如果能將上面自己實現的虛線繪製功能繫結到canvas 2d的繪圖環境物件中那不是更好嗎?可以使用元程式設計來完成!由於虛線的起始點是通過呼叫movet...

微信小遊戲開發教程 2D遊戲原理講解

背景a.首先,我們看到背景好像是一張無限長的在向下移動。實際則不然,這是一張頂部和底部剛好重疊的。這是一種節省資源討巧的做法,然後繪製的時候同時繪製兩張剛好拼接在一起,下面我們畫一張圖來形象的說明。c.下面紅色的框代表螢幕顯示的區域,就飛機大戰的情況我們將背景圖的初始狀態設定如下 e.最後移動到最頂...

2D遊戲開發(2)

每次給遊戲新增新功能時,通常也會引入一些新設定。為了讓所有的設定進行統一管理,我們可以配置乙個名為 setting的模組,這個模組中包含乙個setting的類,用來儲存所有的設定。usr bin env python3.5 filename setting 儲存所有的設定 class setting...