建議:在寫**時需要有乙個硬性規範,即每乙個函式都有注釋表明函式功能和引數型別功能。每建乙個資料型別table or struct 都有注釋其代表的意義
bug在處理遮蔽字的時候不能用指令碼語言lua;應該用c++處理,
在這個版本的cocos2dx中
要在lua中呼叫c++裡自己寫的方法,需要先在c++中寫好方法,再在相應的pkg檔案中寫上方法的宣告,最後執行tolua批命令
在資料庫的表中新增字段,在c++管理類中,需要全域性搜尋所有用到的地方,做出相應的修改。否則在後期會浪費大量的時間調bug;
有次在結構體中新增了乙個vector型別資料;結果程式崩潰了,原因是在初始化這個結構體時,使用了memcpy這個只能對基本資料型別初始化的函式。
對於日常的工作而已,第一件事是更新服務端和客戶端,然後執行刷庫工具。
對於客戶端聊天的介面顯示問題:因為要根據聊天內容的長度確定控制項的長度和寬度,這個特性用textbox控制項難於實現。只好使用lable加textbox兩者混合使用來確定控制項的大小了。源**如下:
function addonemsg( name,content ) --這個函式要設定成全域性的,因為即時聊天時用到
local msglistbox = sctypecast:castnodetolistbox(get_node_by_list("2-4-5-11",wnd))--聊天記錄控制項
local namelabel = sclabel:labelwithstringfont("", default_font_name, f(14)) --名字
local pcontentlabel = sclabel:labelwithstringfont("", default_font_name, f(13)) --名字
if namelabel and pcontentlabel then
tolua.cast(namelabel, "scnode"):setanchorpoint(anchor_center)
tolua.cast(pcontentlabel, "scnode"):setanchorpoint(anchor_center)
namelabel:settext(name)
namelabel:setcolor(ccc4(96,56,19,255))
pcontentlabel:settext(content)
pcontentlabel:setcolor(ccc4(255,255,255,255))
endlocal pdragnode = scdragnode:node()
if pdragnode and namelabel and pcontentlabel then
pdragnode:setanchorpoint(anchor_center)
pdragnode:setframevisibled(true)
pdragnode:setdragenabled(false)
local textbox = nil
local plbabelw = pcontentlabel:getcontentsize().width
local pmark = nil
if plbabelw > auto_w(176) then
textbox = sctext:textwithwidthfont(auto_w(176.0), default_font_name, f(13))
--tolua.cast(textbox, "scnode"):setanchorpoint(anchor_center)
textbox:addnormaltext(content,ccc4(255,255,255,255))
else
textbox = pcontentlabel
pmark = true
endlocal prow = (plbabelw - plbabelw%auto_w(176))/auto_w(176)+1
pdragnode:setcontentsize(ccsizemake(textbox:getcontentsize().width + auto_w(8),
pcontentlabel:getcontentsize().height*prow + auto_h(6)))
textbox:setcontentsize(ccsizemake(textbox:getcontentsize().width + auto_w(8),
pcontentlabel:getcontentsize().height*prow + auto_h(6)))
if pmark then
textbox:setposition(ccpointmake(pdragnode:getcontentsize().width/2 + auto_w(4),
pdragnode:getcontentsize().height/2 + auto_h(3)))
else
textbox:setposition(ccpointmake(auto_w(4),
pdragnode:getcontentsize().height - auto_h(3)))
endpdragnode:setposition(ccpointmake(pdragnode:getcontentsize().width/2,0))
pdragnode:addchild(textbox)
if name == bommainscene.objuserinfoattribute.name then
pdragnode:setframe9atlastype(enumtype9atlas106)
msglistbox:additem(namelabel,1) --這裡第二個引數為在列表框中顯示為向右靠齊
msglistbox:additem(pdragnode,1)
else
pdragnode:setframe9atlastype(enumtype9atlas114)
msglistbox:additem(namelabel)
msglistbox:additem(pdragnode)
endmovedownward_friendmail = movedownward_friendmail + namelabel:getcontentsize().height + pdragnode:getcontentsize().height + 1
end--msglistbox:setselectitem(msglistbox:itemcount() - 1)
if movedownward_friendmail > 0 then
msglistbox:setoffset(auto_pos(0,movedownward_friendmail)) --這個函式是設定向下偏移量
end--msglistbox:setselectitem(-1)
end
乙個關於DropDownList的小bug
發現乙個奇怪的毛病 設定dropdownlist的item時我加了三個屬性值 工人 農民 知識份子 頁面瀏覽時下拉列表裡的三個變成了 農民 知識份子 農民 後來發現乙個規律,把哪個屬性值放到最上面的時候,瀏覽頁面時哪個屬性值就會消失,最後乙個反而會重複出現。除錯了好多次一直沒有解決。為什麼呢.sol...
乙個新手程式設計師的專案經驗
剛開始進入公司是在3 月份,做的乙份工作是 directfb 的移植,前後花了乙個月的時間。就是做這個專案的時候我知道了在學校和社會的不同了,很簡單的乙個例子。移植成功後,在跑測試用例的時候發現有幾個測試用例執行不成功。這要是在學校誰還會管他呢,但是在公司的做法是去看 找出為什麼會出現這個錯誤。di...
乙個新手程式設計師的專案經驗
剛開始進入公司是在3月份,做的乙份工作是directfb的移植,前後花了乙個月的時間。就是做這個專案的時候我知道了在學校和社會的不同了,很簡單的乙個例子。移植成功後,在跑測試用例的時候發現有幾個測試用例執行不成功。這要是在學校誰還會管他呢,但是在公司的做法是去看 找出為什麼會出現這個錯誤。direc...