본문 바로가기

컴퓨터/cocos2d-x

[cocos2d-x 3.3] 선 그리기

안녕하세요 sdk입니다



이걸로 저번에 고생해놓고 포스팅이나 기록을 안남겨놔서

어떻게하는지 다시 찾아해맸습니다

ㅠㅠ




네 해결했고요


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
 
#ifndef _GL_LAYER_
#define _GL_LAYER_
 
#include "cocos2d.h"
 
class layer_gl : public cocos2d::Layer
{
protected:
    cocos2d::CustomCommand cmd;
public:
    virtual void draw(cocos2d::Renderer *renderer, const cocos2d::Mat4 &transform, uint32_t flags);
    void onDraw(const cocos2d::Mat4 &transform, uint32_t flags);
    CREATE_FUNC(layer_gl);
};
 
#endif
cs




1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
 #include "drawline.h"
 
USING_NS_CC;
 
void layer_gl::draw(Renderer *renderer, const Mat4 &transform, uint32_t flags)
{
    cmd.init(_globalZOrder);
    cmd.func = CC_CALLBACK_0(layer_gl::onDraw,this,transform,flags);
    renderer->addCommand(&cmd);
}
 
 
void layer_gl::onDraw(const Mat4 &transform, uint32_t flags)
{
 
 
    DrawPrimitives::setDrawColor4B(25500255);
    glLineWidth(4.0f);
    DrawPrimitives::drawLine(Point(1000), Point(100, getContentSize().height));
    CHECK_GL_ERROR_DEBUG();
 
}
cs



다신 잊어먹지 않으리라  ㅠㅠ

우선 제가 고생한 이유중하나가 

cocos2d에서 직접 제공하는 펙토리 패턴 함수(?)인 CREATE_FUNC() 함수를 안썻던 잘못이 크네요 ㅠㅠ



(onDraw함수에서 모든 처리를 담당해주면 됩니다 :D)





여러분들의 댓글은 큰 힘이됩니다 :)