绘制图形,就drawCircle,drawRect,drawLine之类的….Cocos2dlua里面有两种绘制图形的方法,如下。
---
--代码补全油景系 = =
---
local function mDraw()
local glNode = gl.glNodeCreate()
local origi = cc.Director:getInstance():getVisibleOrigin()
local size = cc.Director:getInstance():getWinSize()
glNode:setContentSize(cc.size(size.width, size.height))
glNode:setAnchorPoint(cc.p(0, 0))
local function primitivesDraw(transform, transformUpdated)
kmGLPushMatrix()
kmGLLoadMatrix(transform)
-- cc.DrawPrimitives.setPointSize(4)
cc.DrawPrimitives.drawColor4B(0,255,255,255)
cc.DrawPrimitives.setPointSize(5)
cc.DrawPrimitives.drawRect()
-- cc.DrawPrimitives.drawPoints(location,4) --画点
-- cc.DrawPrimitives.drawLine(prePoint, curPoint ) --画线
-- for i=1,#m_ptOrbit - 1 do
-- r = math.random(1,255)
-- g = math.random(1,255)
-- b = math.random(1,255)
-- r = r + 1
-- if r == 255 then
-- r = 0
-- end
-- cc.DrawPrimitives.drawLine(m_ptOrbit[i], m_ptOrbit[i+1] )
-- cc.DrawPrimitives.drawColor4B(r,r+50,r+100,255)
-- cc.DrawPrimitives.drawPoint(cc.p(m_ptOrbit[i].x,m_ptOrbit[i].y)) --画点
-- cc.DrawPrimitives.drawColor4B(0,255,255,255)
--
-- -- print(i.." "..m_ptOrbit[i].x.." "..m_ptOrbit[i].y)
-- end
-- print("长度:"..#m_ptOrbit)
kmGLPopMatrix()
end
glNode:registerScriptDrawHandler(primitivesDraw)
return glNode -- 把这个node加到想显示图形的地方 加一次就够了。。。
end
local function createRect(layer)
local rect = cc.rect(100,100,50,50)
local draw = cc.DrawNode:create()
-- draw:drawPoint(point,pointSize,color)
-- draw:drawCircle(vec2_table,float,float,unsigned int,bool,color4f_table)
-- draw:drawTriangle(p1,p2,p3,color)
draw:drawRect(cc.p(rect.x+rect.width,rect.y+rect.height), cc.p(rect.x,rect.y), cc.c4f(1,1,0,1))
layer:addChild(draw)
end
不用管你看不懂的句子,会用这个来画画就行了。