cocos2d之教你画一条直线

我们画一条直线用到的是CCDrawLine,代码如下:

void MyLineLayerBase::initLayer() {
	CCSize size = CCDirector::sharedDirector()->getWinSize();

	CCSprite *sprite = CCSprite::create("BG.jpg");
	sprite->setPosition(ccp(size.width / 2.0f, size.height / 2.0f));
	this->addChild(sprite,-1);

}

void MyLineLayerBase::draw() {
	glLineWidth( 5.0f );
	ccDrawColor4F(255,0,0,255);
	ccDrawLine(ccp(0, 0), ccp(480, 320));
}


注意几点:

这个是如果我再addChild的时候,设置zOrder的为1时,会遮住直线,那么我们改怎么办呢?

有两种办法:

1,讲zOrder设置为-1,让它在最底层。

2.,将它设置为透明即可,不过达不到方法1的效果。没有那么好

 

还有个重点,差点忘了说了,就是在画线的时候,我们需要重写CCNode中的draw方法,这个时候,它是virtual函数,自动会去调用该方法,让它显示在你的屏幕上!!

还有以下其他的,比如画圆等,这些方法都在头文件

#include "CCDrawingPrimitives.h"


中。

你可能感兴趣的:(cocos2d之教你画一条直线)