cocos2dx用DrawNode代替DrawPrimitives畫粗線、畫不會被精靈擋
來源:懂視網
責編:小采
時間:2020-11-09 07:56:47
cocos2dx用DrawNode代替DrawPrimitives畫粗線、畫不會被精靈擋
cocos2dx用DrawNode代替DrawPrimitives畫粗線、畫不會被精靈擋:工作需要,畫一條線,連接屏幕中點和觸摸點,這條線要很粗,要能靈活的調整zOrder。 在這個要求下,我先用了 glLineWidth(10)和DrawPrimitives::drawLine(……)重寫了draw方法實現了這個功能。 但是后來卻發現殺千刀的glLineWidth,10-200沒
導讀cocos2dx用DrawNode代替DrawPrimitives畫粗線、畫不會被精靈擋:工作需要,畫一條線,連接屏幕中點和觸摸點,這條線要很粗,要能靈活的調整zOrder。 在這個要求下,我先用了 glLineWidth(10)和DrawPrimitives::drawLine(……)重寫了draw方法實現了這個功能。 但是后來卻發現殺千刀的glLineWidth,10-200沒
glLineWidth(10)和DrawPrimitives::drawLine(……)重寫了draw方法實現了這個功能。
但是后來卻發現殺千刀的glLineWidth,10-200沒有任何變化,再后來又發現,畫出的線會被精靈華麗的擋
住,就算是把精靈的zOrder設為負數也無濟于事。

無奈開始了百度之旅,論壇上發現了DrawNode這個東西,下手一試,果然有效。
DrawNode是將畫出的圖形作為Node存在于程序中的,可以和其他的Node一樣隨意的調整zOrder,而且也沒有OpenGL 10點寬度的限制。但是DrawNode不會擦除上一幀留下的圖形,所以我們需要一個全局指針,手動刷新。
下面是使用代碼:



OK,經過這樣的處理,總算達到了要求,線的寬度是可以隨意調整的。

讓我們看看超級粗的線!!

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com
cocos2dx用DrawNode代替DrawPrimitives畫粗線、畫不會被精靈擋
cocos2dx用DrawNode代替DrawPrimitives畫粗線、畫不會被精靈擋:工作需要,畫一條線,連接屏幕中點和觸摸點,這條線要很粗,要能靈活的調整zOrder。 在這個要求下,我先用了 glLineWidth(10)和DrawPrimitives::drawLine(……)重寫了draw方法實現了這個功能。 但是后來卻發現殺千刀的glLineWidth,10-200沒