cocos2dx訊息系統專案實戰(一)

2021-07-02 05:13:03 字數 2669 閱讀 6077

霸氣三國2先說下這麼專案的進度 (進度有點慢 每天晚上寫一點 努力堅持下去吧 )已經完成了訊息系統 每個模組之間都是傳送訊息 來完成 資料通訊的。

現在有 主場景模組、資訊公告模組 、武將模組這三個模組 都是在主場景模組上來 擼的** 流程如下:

進入主場景之前 會請求伺服器傳送scene.main請求

}這樣 c++中就是接受這些資料進行請求了

當客戶端接受到伺服器傳回的資料後 會傳送乙個response->gethttprequest()->gettag() 的訊息 這個訊息是從request->settag(method.c_str());中獲取的 目的就是知道這個訊息是什麼型別的  請求的是什麼型別  伺服器傳送回來的就是什麼型別 這是統一的

將得到的資料 以json字串的格式傳到 控制層 。

if notification then

notification = tolua.cast(notification, "emnotification");

local jsondata = notification:getjsondata()

local cjson = require "cjson"

local data = cjson.decode(jsondata)

if data.rc ~= 0 then

cclog("資料出錯")

else

--初始化主場景

local scenemainproxy = emfacade:getinstance():retrieveproxy("scenemainproxy")

if nil ~= scenemainproxy then

scenemainproxy.uid=data.user.uid;

scenemainproxy.name=data.user.name;

end--初始化武將

local generalproxy = emfacade:getinstance():retrieveproxy("generalproxy")

if nil ~=generalproxy then

--武將資訊

generalproxy.generals_info=data.data.generals.generals_info

--武將列表

generalproxy.gid_list=data.data.generals.gid_list

--武將布陣資訊列表

generalproxy.formations_info=data.data.generals.formations_info

endemfacade:getinstance():sendnotification(qmsg.load_complete,0)

endend

獲取的資料 才進行二次處理 就是我們客戶端要用到的資料了 。其中客戶端用到了 cjson

檔案結構 如圖:

這是訊息系統中檔案結構

lua中乙個模組檔案結構

記錄下為了以後方便回顧。洗洗睡了。。

Python建立cocos2dx專案

二 配置環境變數 在path路徑下新增e python,此處e是安裝python所在盤 四 執行 cmd 定位到解壓的cocos2xd的資料夾下 e cocos2d x 2.2.2 cocos2d x 2.2.2 tools project creator 執行 python create proj...

cocos2d x獲取系統時間

之前使用過cocos2d x獲取系統時間,毫秒級的 long getcurrenttime 或者這樣寫 long getcurrenttime 上面兩種實現應該都是沒有問題的 之前獲取時間的主要作用是給隨機函式做種子,或者計算fps,或者作為自己的定時器使用 這些都沒有問題 後來有專案需要獲取年月日...

cocos2dx 座標系統詳解

1 在cocos2dx中,支援以下座標系 螢幕座標系 原點在左上角,x軸向右,y軸向下。比如處理觸控事件時cctouch物件中的座標就是螢幕座標系 opengl座標系 原點在左下角,x軸向右,y軸向上。比如ccnode類的setposition函式呼叫就是此座標系 世界座標系 指相對於整個螢幕的座標...