//获取图片多边形区域
PolygonInfo polygon = AutoPolygon::generatePolygon("DragonBoy_texture_1.png");
//polygon创建精灵
Sprite *sprite = Sprite::create(polygon);
sprite->setPosition(Vec2(200, 200));
addChild(sprite);
const auto& polygoninfo = sprite->getPolygonInfo();
const auto count = polygoninfo.triangles.indexCount/3;
const auto indices = polygoninfo.triangles.indices;
const auto verts = polygoninfo.triangles.verts;
DrawNode *draw = DrawNode::create();
sprite->addChild(draw);
for(ssize_t i = 0; i < count; i++)
{
//draw 3 lines
Vec3 from = verts[indices[i]].vertices;
Vec3 to = verts[indices[i+1]].vertices;
//此处绘制多边形也可以绘制不规则碰撞区域
draw->drawLine(Vec2(from.x, from.y), Vec2(to.x,to.y), Color4F::RED);
}
【cocos2dx】Sprite增加多边形(增加不规则碰撞)
最新推荐文章于 2023-10-12 17:03:08 发布
本文介绍如何使用Cocos2d-x通过多边形区域生成精灵,并利用DrawNode进行绘制,实现自定义形状的碰撞检测区域。
3765

被折叠的 条评论
为什么被折叠?



