摘要:
返回目錄
1.什么是精靈對象(sprite)?
所謂的精靈對象,就是游戲中的一個具有行為的元素,以超級瑪麗為例,瑪麗,敵人都算是一個精靈對象。在cnGameJS框架中,精靈對象如下幾個特點:
1.添加動畫:在之前的動畫篇中,我們介紹過cnGameJS如何實現幀動畫。而作為精靈對象,就是動畫的使用者。例如我們控制瑪麗向不同方向的行走,瑪麗會產生行走的動畫。
2.包含圖像:對于另外一些精靈對象,它可能不需要運動動畫,這時我們就可以只讓它使用圖像。
3.能進行不同類型的運動:可以讓精靈對象向不同方向,以不同加速度進行移動。
閱讀全文
摘要:
返回目錄
由于整個游戲都在一個游戲循環中進行,所以游戲循環可以說是游戲的核心部分。每次循環時,更新游戲對象的屬性,以及繪制游戲元素。
閱讀全文
摘要:
返回目錄
1.什么場合需要用到游戲地圖對象?
游戲地圖對象適用于類似坦克大戰,推箱子之類的游戲。這些游戲的地圖都由一個個小格子組成,使用游戲地圖對象,可以很方便地生成這種地圖。
閱讀全文
摘要:
返回目錄
1.功能
該模塊也很簡單,主要包括三個基礎圖形的繪制:矩形 圓形 文字。我們把一個個圖像以構造函數的模式封裝,例如當我們需要繪制一個矩形對象,我們首先new出一個矩形對象,再調用對象的draw方法進行繪制。例如:
閱讀全文
摘要:
返回目錄
1.為什么我們需要外部輸入模塊?
在游戲中我們常常用到類似這樣的操作:鼠標點擊某位置,玩家對象移動到該位置,或者按鼠標方向鍵,玩家向不同方向移動,等等。這些操作無一不用與外部輸入設備打交道。作為游戲的設計者,我們很需要在任何時候知道鼠標目前的位置,鍵盤的點擊狀況等,從而方便我們對游戲元素加以控制。因此作為一個游戲框架,外部輸入模塊也是必不可少的。
閱讀全文
摘要:
返回目錄
本模塊的碰撞檢查只局限于點與矩形,(平行的)矩形與矩形,點與圓形,圓形與圓形之間的檢測,因此該模塊也很簡單,直接結合代碼來看看:
閱讀全文
摘要:
返回目錄
在游戲中,游戲角色的動畫效果是一個游戲必不可少的一部分。這節我們以構造超級馬里奧的角色為例,講解cnGameJS里動畫的實現。
1.原理:
一個動畫如果要實現一連串動作,我們可以把每個動作的快照保留起來,并放在一個大圖上面,然后每次幀更新的時候,就在每個動作的快照之間循環顯示,最終得出一個動畫。
閱讀全文
摘要:
返回目錄
1.什么時候需要場景對象?
場景對象有區別于上一篇介紹的地圖對象,它們分別應用于不同類型的游戲。之前的地圖對象應用于格子類的游戲,例如推箱子,坦克大戰。而本節介紹的場景對象,則適用于擁有特定場景的游戲,例如超級瑪麗,恐龍快打等。這類游戲通常在2d場景內控制一個玩家對象,隨著玩家的移動,場景跟著移動。
閱讀全文
摘要:
返回目錄
1.cnGameJs框架的代碼組織
核心函數模塊,主要的作用是為之后的框架開發和用戶對游戲的開發提供方便,整個框架在一個閉包之中,避免對全局作用域的污染。之后每個不同的模塊分別在自己的閉包內,使不同模塊的分割更清晰。
閱讀全文