Home Database Mysql Tutorial cocos2dx用DrawNode代替DrawPrimitives 画粗线、画不会被精灵挡

cocos2dx用DrawNode代替DrawPrimitives 画粗线、画不会被精灵挡

Jun 07, 2016 pm 03:32 PM
replace

工作需要,画一条线,连接屏幕中点和触摸点,这条线要很粗,要能灵活的调整zOrder。 在这个要求下,我先用了 glLineWidth(10)和DrawPrimitives::drawLine(……)重写了draw方法实现了这个功能。 但是后来却发现杀千刀的glLineWidth,10-200没有任何变化,再后

工作需要,画一条线,连接屏幕中点和触摸点,这条线要很粗,要能灵活的调整zOrder。

在这个要求下,我先用了

glLineWidth(10)和DrawPrimitives::drawLine(……)重写了draw方法实现了这个功能。

但是后来却发现杀千刀的glLineWidth,10-200没有任何变化,再后来又发现,画出的线会被精灵华丽的挡

住,就算是把精灵的zOrder设为负数也无济于事。

cocos2dx用DrawNode代替DrawPrimitives 画粗线、画不会被精灵挡

无奈开始了百度之旅,论坛上发现了DrawNode这个东西,下手一试,果然有效。

DrawNode是将画出的图形作为Node存在于程序中的,可以和其他的Node一样随意的调整zOrder,而且也没有OpenGL 10点宽度的限制。但是DrawNode不会擦除上一帧留下的图形,所以我们需要一个全局指针,手动刷新。

下面是使用代码:

cocos2dx用DrawNode代替DrawPrimitives 画粗线、画不会被精灵挡

 

cocos2dx用DrawNode代替DrawPrimitives 画粗线、画不会被精灵挡

 

cocos2dx用DrawNode代替DrawPrimitives 画粗线、画不会被精灵挡

 

OK,经过这样的处理,总算达到了要求,线的宽度是可以随意调整的。

cocos2dx用DrawNode代替DrawPrimitives 画粗线、画不会被精灵挡

 

 

 

让我们看看超级粗的线!!

 

cocos2dx用DrawNode代替DrawPrimitives 画粗线、画不会被精灵挡

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot Article

Hot Article

Hot Article Tags

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

Reduce the use of MySQL memory in Docker Reduce the use of MySQL memory in Docker Mar 04, 2025 pm 03:52 PM

Reduce the use of MySQL memory in Docker

How do you alter a table in MySQL using the ALTER TABLE statement? How do you alter a table in MySQL using the ALTER TABLE statement? Mar 19, 2025 pm 03:51 PM

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

How to solve the problem of mysql cannot open shared library How to solve the problem of mysql cannot open shared library Mar 04, 2025 pm 04:01 PM

How to solve the problem of mysql cannot open shared library

Run MySQl in Linux (with/without podman container with phpmyadmin) Run MySQl in Linux (with/without podman container with phpmyadmin) Mar 04, 2025 pm 03:54 PM

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

What is SQLite? Comprehensive overview What is SQLite? Comprehensive overview Mar 04, 2025 pm 03:55 PM

What is SQLite? Comprehensive overview

Running multiple MySQL versions on MacOS: A step-by-step guide Running multiple MySQL versions on MacOS: A step-by-step guide Mar 04, 2025 pm 03:49 PM

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

How do I configure SSL/TLS encryption for MySQL connections? How do I configure SSL/TLS encryption for MySQL connections? Mar 18, 2025 pm 12:01 PM

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

How do I secure MySQL against common vulnerabilities (SQL injection, brute-force attacks)? How do I secure MySQL against common vulnerabilities (SQL injection, brute-force attacks)? Mar 18, 2025 pm 12:00 PM

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

See all articles