cocos2dx用DrawNode代替DrawPrimitives 画粗线、画不会被精灵挡
Jun 07, 2016 pm 03:32 PM工作需要,画一条线,连接屏幕中点和触摸点,这条线要很粗,要能灵活的调整zOrder。 在这个要求下,我先用了 glLineWidth(10)和DrawPrimitives::drawLine(……)重写了draw方法实现了这个功能。 但是后来却发现杀千刀的glLineWidth,10-200没有任何变化,再后
工作需要,画一条线,连接屏幕中点和触摸点,这条线要很粗,要能灵活的调整zOrder。
在这个要求下,我先用了
glLineWidth(10)和DrawPrimitives::drawLine(……)重写了draw方法实现了这个功能。
但是后来却发现杀千刀的glLineWidth,10-200没有任何变化,再后来又发现,画出的线会被精灵华丽的挡
住,就算是把精灵的zOrder设为负数也无济于事。
无奈开始了百度之旅,论坛上发现了DrawNode这个东西,下手一试,果然有效。
DrawNode是将画出的图形作为Node存在于程序中的,可以和其他的Node一样随意的调整zOrder,而且也没有OpenGL 10点宽度的限制。但是DrawNode不会擦除上一帧留下的图形,所以我们需要一个全局指针,手动刷新。
下面是使用代码:
OK,经过这样的处理,总算达到了要求,线的宽度是可以随意调整的。
让我们看看超级粗的线!!

Hot Article

Hot tools Tags

Hot Article

Hot Article Tags

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics

Reduce the use of MySQL memory in Docker

How do you alter a table in MySQL using the ALTER TABLE statement?

How to solve the problem of mysql cannot open shared library

Run MySQl in Linux (with/without podman container with phpmyadmin)

What is SQLite? Comprehensive overview

Running multiple MySQL versions on MacOS: A step-by-step guide

How do I configure SSL/TLS encryption for MySQL connections?

How do I secure MySQL against common vulnerabilities (SQL injection, brute-force attacks)?
