|
- cc.GridLine = class("GridLine")
- cc.GridLine.ClassName = "GridLine"
-
- function cc.GridLine:saveToXmlNode(xmlNode)
- cc.Layout.saveToXmlNode(self , xmlNode);
- end
-
- function cc.GridLine:loadFromXmlNode(xmlNode)
- cc.Layout.loadFromXmlNode(self , xmlNode);
- end
-
- function cc.GridLine:extend(layout)
- cc.Layout:extend(layout);
- layout:setName("GridLine")
- -- 把lua的类函数扩展给node(C++对象)
- layout:extendClass(cc.GridLine);
-
- local vertexFormat = {};
- table.insert(vertexFormat , {size = 3 , usage = cc.VertexFormatUsage.POSITION});
- table.insert(vertexFormat , {size = 4 , usage = cc.VertexFormatUsage.COLOR});
- local vertices = ManualVertices:new(vertexFormat);
- vertices:setColor(cc.c4f(1,1,1,1));
-
- -- 画轴
- vertices:drawLine(cc.vec3(-100000 , 0 , 0) , cc.vec3(100000 , 0 , 0))
- vertices:drawLine(cc.vec3(0 , -100000 , 0) , cc.vec3(0 , 100000 , 0))
-
- local mesh = cc.Mesh:createMesh(vertexFormat , vertices:getVertexCount());
- mesh:setPrimitiveType(cc.PrimitiveType.LINES);
- mesh:setVertexData(vertices:getVertices() , 0 , vertices:getVertexCount());
- mesh:setBoundingBox(vertices:getBoundingBox());
-
- local model = cc.Model:create(mesh);
- local material = cc.Material:create("preload/shaders/ccDefault.material#ShaderPositionColor3D");
- material:setParameterAutoBinding("CC_MVPMatrix" , "WORLD_VIEW_PROJECTION_MATRIX");
- model:setMaterialPointer(material);
-
- local node = cc.Node3D:create();
- node:addComponent(model);
-
- layout:addProtectedChild(node);
- end
-
-
- function cc.GridLine:createNode()
- local layer = cc.Layout:create();
- cc.GridLine:extend(layer);
- return layer;
- end
-
- -- 设置默认值
- function cc.GridLine:setDefaults()
- self:setSize(cc.size(100,100));
- self:setBackGroundColorType(cc.LayoutBackGroundColorType.none);
- end
|