通過上一篇, 我們已有個基本的畫圖功能, 這次讓我們弄一個簡單的遊戲框架吧!
其實一般的遊戲, 大至有兩個主要的函數就可以了: update 和 render!
我們在 update 里更新遊戲數據, 然後在render 里把遊戲的畫面畫出來。我們來定議一個叫 CCGameApp 的 class 吧:
|
大家看到我們的 update 函數, 有一個 dt 參數, 在這里我約為解說一下: 遊戲的更新率, 最理想是我們把它設成固定的,比如每秒60幀,但有時可能某些原因,遊戲沒法達到這個更新率,那怎麼辦呢?總不能讓角色忽快忽慢的移動吧!而這個 dt 參數是從上一幀到現在這幀,共用去了多少時間(秒),我們可以利用它調整遊戲里的數據,比如說,主角一秒移動1個像素,現在過了dt 這麼多秒,那主角應該移動 (1*dt) 個像素了!
這次,我們也把 CCSprite 一分為二,弄多了一個 CCTexture,目的是讓不同的 CCSprite 可以共享一個貼圖,一般來說,為了節省空間和速度考慮,我們會把數個小圖,放在一個大的貼圖里,像上面第一個圖,里面就有兩個角色的圖,那我們建立兩個不同的sprites時,可以用同一個貼圖!
而建立 CCSprite的參數,就是小圖在大貼圖里的起始位置和大小:
|
CCSprite 的 render 也多加了一個角度的參數,我們可以用它把角色轉來轉去了!
|
因為時間關係不寫太多了,大家有興趣,可以看一下代碼作為參考。