cocos2dx用DrawNode代替DrawPrimitives畫粗線、畫不會(huì)被精靈擋
來源:懂視網(wǎng)
責(zé)編:小采
時(shí)間:2020-11-09 07:56:47
cocos2dx用DrawNode代替DrawPrimitives畫粗線、畫不會(huì)被精靈擋
cocos2dx用DrawNode代替DrawPrimitives畫粗線、畫不會(huì)被精靈擋:工作需要,畫一條線,連接屏幕中點(diǎn)和觸摸點(diǎn),這條線要很粗,要能靈活的調(diào)整zOrder。 在這個(gè)要求下,我先用了 glLineWidth(10)和DrawPrimitives::drawLine(……)重寫了draw方法實(shí)現(xiàn)了這個(gè)功能。 但是后來卻發(fā)現(xiàn)殺千刀的glLineWidth,10-200沒
導(dǎo)讀cocos2dx用DrawNode代替DrawPrimitives畫粗線、畫不會(huì)被精靈擋:工作需要,畫一條線,連接屏幕中點(diǎn)和觸摸點(diǎn),這條線要很粗,要能靈活的調(diào)整zOrder。 在這個(gè)要求下,我先用了 glLineWidth(10)和DrawPrimitives::drawLine(……)重寫了draw方法實(shí)現(xiàn)了這個(gè)功能。 但是后來卻發(fā)現(xiàn)殺千刀的glLineWidth,10-200沒
glLineWidth(10)和DrawPrimitives::drawLine(……)重寫了draw方法實(shí)現(xiàn)了這個(gè)功能。
但是后來卻發(fā)現(xiàn)殺千刀的glLineWidth,10-200沒有任何變化,再后來又發(fā)現(xiàn),畫出的線會(huì)被精靈華麗的擋
住,就算是把精靈的zOrder設(shè)為負(fù)數(shù)也無濟(jì)于事。
無奈開始了百度之旅,論壇上發(fā)現(xiàn)了DrawNode這個(gè)東西,下手一試,果然有效。
DrawNode是將畫出的圖形作為Node存在于程序中的,可以和其他的Node一樣隨意的調(diào)整zOrder,而且也沒有OpenGL 10點(diǎn)寬度的限制。但是DrawNode不會(huì)擦除上一幀留下的圖形,所以我們需要一個(gè)全局指針,手動(dòng)刷新。
下面是使用代碼:
OK,經(jīng)過這樣的處理,總算達(dá)到了要求,線的寬度是可以隨意調(diào)整的。
讓我們看看超級(jí)粗的線!!
聲明:本網(wǎng)頁內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com
cocos2dx用DrawNode代替DrawPrimitives畫粗線、畫不會(huì)被精靈擋
cocos2dx用DrawNode代替DrawPrimitives畫粗線、畫不會(huì)被精靈擋:工作需要,畫一條線,連接屏幕中點(diǎn)和觸摸點(diǎn),這條線要很粗,要能靈活的調(diào)整zOrder。 在這個(gè)要求下,我先用了 glLineWidth(10)和DrawPrimitives::drawLine(……)重寫了draw方法實(shí)現(xiàn)了這個(gè)功能。 但是后來卻發(fā)現(xiàn)殺千刀的glLineWidth,10-200沒