【问题标题】:Fill the area with texture cocos2d-x用纹理 cocos2d-x 填充区域
【发布时间】:2015-03-13 14:50:08
【问题描述】:

我一直在尝试制作“障碍”类,它通过点数组构建 box2d 身体并绘制我身体覆盖的区域。至于身体,它完全没问题,我收到点数组,构建 b2PolygonShape 等等。但是,我真的不知道如何用点数组构建的颜色或纹理填充该区域。这是我的 draw() 方法:

void Obstacle::draw(cocos2d::Renderer *renderer, const cocos2d::Mat4 &transform, uint32_t flags)

{ CC_NODE_DRAW_SETUP();

glBlendFunc(CC_BLEND_SRC, CC_BLEND_DST);
GL::bindTexture2D(obstacleTexture->getName());
//DrawPrimitives::setDrawColor4F(1.0, 1.0, 0.0, 1.0);

glVertexAttribPointer(GLProgram::VERTEX_ATTRIB_POSITION, 2, GL_FLOAT, GL_FALSE, 0, vertices);
glDrawArrays(GL_TRIANGLE_STRIP, 0, (GLsizei)shapePoints.size());

}

vertices 是我用来创建 b2body 的点数组。

【问题讨论】:

    标签: arrays opengl textures cocos2d-x texture2d


    【解决方案1】:

    您应该对构建的多边形形状进行三角测量以进行绘制。

    poly2tri 是对形状进行三角剖分的好选择:https://code.google.com/p/poly2tri/

    对形状进行三角测量后,映射纹理坐标或设置顶点颜色。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-06-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-06-11
      • 2021-06-16
      相关资源
      最近更新 更多