RPG遊戲心得

firedragonpzy發表於2012-08-15
[i][b]本文為firedragonpzy原創,轉載務必在明顯處註明:
轉載自【Softeware MyZone】原文連結: http://www.firedragonpzy.com.cn/index.php/archives/1073[/b][/i]



這文章寫了好久了,也一直沒有空發表……
(一)有關遊戲進度系統,設定兩個標識
1、static const char gcCURPROGRESSMARK[] ="cur_progress_mark";
2、static const char gcPROGRESSMAKE[] ="progress_mark";
1)先來說一下gcCURPROGRESSMARK,它存取當前進度值,而gcPROGRESSMAKE用來存取總進度。就拿打怪來說,怪是你自己封裝的精靈,不同的關卡有不同的怪,所以需要設定gcCURPROGRESSMARK,來區分在本場景中應該出現什麼怪。當然,你也可以不用這個標識,另外設定一個標識。但這個標識可以在多個地方使用,我們本著儘量少使用靜態變數,少佔用記憶體,提高遊戲執行速率為原則,所以,使用此標識。
2)再來說一下gcPROGRESSMAKE 。因為RPG遊戲的關卡或者是某些場景你可以多次進入,當你首次進入和以後進入部分道具什麼的使用是不同的 ,例如寶箱,第一次進入有,再此進入就沒有了。第一次獲得的是金幣, 再次進入獲取的及有可能是各種符。另外,有些場景或者任務不是一開始就開啟的,所以設定了gcPROGRESSMAKE。
3)有關進度,也有像如憤怒的小鳥那種,也可以將每一小關設定標識,三個標識即可,未開啟,開啟,玩過。如果有購買,還要設計是否購買的標識。
(二)有關資料的載入
一般,遊戲的開始都會有載入動畫,這時候可以設定部分初始值,一般是音樂音效和遊戲的進度值,這個也可以在之後設定,但是進度可以區分是否首次進入,以便初始化音樂,所以在此設定,有關音樂音效的設定,可以參考此文http://www.firedragonpzy.com.cn/index.php/archives/905。動畫後會是選單,這時候載入主要資料,讀取人物屬性、任務等資料。選單後進入遊戲場景。
(三)有關效率及記憶體問題
注意點:1)CCMutableArray 記得removeAllObjects並且release
(四)所思所得即總結梳理:
1)定義一個標頭檔案,集合共用的標頭檔案,進行一次性引入。
2)定義ISDEBUG一個常量(bool型別),供除錯使用,例如:

if (ISDEBUG)
{
CCLOG("MainGameScene release");
}
開發期間你使用ture,釋出時可以改為false。當然有人可能會考慮到效率問題,這是你可以ctrl+H,將查詢內容改為:ISDEBUG,查詢範圍改為:當前專案,進行刪除。這樣不僅便於除錯,而且更利於你對cocos2d-x/c++語言的理解與掌握。

相關文章