limeJS中的基本編程元件

 作爲一個框架,limeJS由一些基本的編程元件所組成,在閱讀基於limeJS的代碼之前,有必要搞清楚這些元件的含義和作用。

1. Director

在limeJS中,所有的一切都始於Director。Director是每個遊戲所需要的基本對象,它將lime的所有邏輯連接在一個單獨的網頁中。如果你從事過flash編程的話,你可以把它看成是一個舞臺。對於其它環境下的用戶,可以把它當作一個前端控制器。

每個遊戲只有一個Driector實例。它可以處理遊戲的全局視口,並控制哪些場景可見。請在程序的開始處創建一個Director的實例。Director構造函數的參數是容器類型的DOM元素,以及以像素爲單位的舞臺的寬度和高度。

2. Scene

場景是一個獨立的部分,它包含了所有視口的可見元素。這意味着在某一特定時間只有一個場景是激活的。例如,在共同的遊戲邏輯中,你有菜單場景、玩的場景和遊戲結束場景。爲使一個場景可見,你可以調用director.replaceScene(scene)或者director.pushScene(scene). 二者的區別在於,pushScene沒有刪除先前的場景,而只是將它保存到一個隱藏的棧中,這樣就可以通過調用director.popScene()使它再次可見。

3.  Layers

屏幕上有各種各樣的顯示對象,爲了更好地管理這些對象,可以使用lime.Layer對象。它和Photoshop中的圖層類似。Layer對象和其它可見對象基本相同,只不過它沒有形狀和大小的概念。Layer的唯一內容是它的孩子對象。

需要明白一點兒,Layer的使用不是必須的。可以往場景中加入任何顯示對象,Layer只是讓編程工作更加地簡單。

4.  Events

Closure庫提供了偵聽和解偵聽對象的事件的功能。添加一個事件監聽器的方法爲:goog.events.listen(src, type, listener, opt_capture, opt_handler)。 其中src是調度事件的目標對象,type是事件的名稱(例如mousedown)。listener是事件觸發時調用的回調函數。後兩個參數爲可選的。移除事件監聽器的函數爲:goog.events.unlisten(…),它與listen有着相同類型的參數。

如果想從自定義對象中調度事件,你必須讓他們從goog.events.EventTarget類派生,然後調用對象的dispatchEvent()方法。

5. Animation

動畫所支持的不同類型有移動、縮放、旋轉、改變顏色和淡入淡出。

一個動畫可以利用序列、繁殖和循環這三種方式與其它動畫結合以形成新的效果。在序列方式下,可以有無數個動畫數量,它們在一個隊列中挨個運行;繁殖可以使所有的子動畫同時運行;而循環可以使一個動畫在結束的時候重新啓動。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章