我正在cocos2d v3中编写一个游戏,其中的平台的形状可以由用户操纵。我知道平台边缘的每个点,并且想要在平台的形状内渲染纹理,使其看起来很坚固。 我知道我需要使用OpenGl或CCrender纹理,但我是一个完全的初学者,只能用文字表达我的想法,而不是代码。我不知道这些是否有效。请举一个我应该做的例子来帮助我。 以下是我的想法:
[1] - 要将形状着色为白色,并在其下面放置一个ccrednertexture并将纹理渲染到渲染纹理 - 然后使用混合函数仅允许渲染纹理上的白色下方显示的内容。
[2]使用形状周围的顶点做这样的事情:
CCRenderBuffer buffer = [renderer enqueueTriangles:2 andVertexes:4 withState:_lightRenderState globalSortOrder:0];
CCRenderBufferSetVertex(buffer, 0, LightVertex(projection, GLKVector2Make(pos.x - radius, pos.y - radius), GLKVector2Make(0, 0), color4));
CCRenderBufferSetVertex(buffer, 1, LightVertex(projection, GLKVector2Make(pos.x - radius, pos.y + radius), GLKVector2Make(0, 1), color4));
CCRenderBufferSetVertex(buffer, 2, LightVertex(projection, GLKVector2Make(pos.x + radius, pos.y + radius), GLKVector2Make(1, 1), color4));
CCRenderBufferSetVertex(buffer, 3, LightVertex(projection, GLKVector2Make(pos.x + radius, pos.y - radius), GLKVector2Make(1, 0), color4));
CCRenderBufferSetTriangle(buffer, 0, 0, 1, 2);
CCRenderBufferSetTriangle(buffer, 1, 0, 2, 3);