Cocos2d x 我想用剑或敌人的棍子来攻击

Cocos2d x 我想用剑或敌人的棍子来攻击,cocos2d-x,box2d,Cocos2d X,Box2d,我正在使用cocos2dx和box2d制作一个2D平台游戏 我刚才正在制作一个玩家与敌人的攻击发生碰撞 敌人的攻击是一把剑或一根棍子,所以我想当一个玩家接触到敌人的剑(或棍子)边缘时进行碰撞 到目前为止,我使用box2d制作了一个玩家与子弹碰撞的场景,但我不知道如何将边界框制作到敌人的剑(或棍棒)边缘,如下图所示 你是如何制造这样的碰撞的?我相信你想要的不是一个边界框,而是一组身体、固定装置和形状,以足够逼真地模拟敌人和玩家之间的交互 要做到这一点,你需要将粉色线条形状(敌人及其武器)分割成一组

我正在使用cocos2dx和box2d制作一个2D平台游戏

我刚才正在制作一个玩家与敌人的攻击发生碰撞

敌人的攻击是一把剑或一根棍子,所以我想当一个玩家接触到敌人的剑(或棍子)边缘时进行碰撞

到目前为止,我使用box2d制作了一个玩家与子弹碰撞的场景,但我不知道如何将边界框制作到敌人的剑(或棍棒)边缘,如下图所示


你是如何制造这样的碰撞的?

我相信你想要的不是一个边界框,而是一组身体、固定装置和形状,以足够逼真地模拟敌人和玩家之间的交互

要做到这一点,你需要将粉色线条形状(敌人及其武器)分割成一组凸多边形,就像你需要为玩家做的那样

请注意,从数学上讲,任何凹形都可以表示为凸多边形的组合。发件人:

总是可以将凹多边形划分为一组凸多边形

如果需要处理的实体足够少,我只需要手动进行分区

首先,看起来您无论如何都需要手动分区,以便将理想的不可变部分彼此分区。如狼牙棒(或棍棒)、前臂、上臂等部件,其中金属、木材或骨骼等结构使部件具有足够的刚性,以满足您想要实现的模拟细节

然后,需要再次分割这些刚性零件,以匹配所需模拟的详细程度。所以狼牙棒的头部,可能是用接近五边形的多边形来表示的。狼牙棒的轴,由一个矩形多边形构成。将这两个凸面形状连接到一个mace主体上。等等


如果愿意,您可以使用算法(或使用这些算法的实现)来计算组成凹面部分的凸面多边形集。但是,除非您打算对任意形状执行此操作,否则我不确定这是否值得。

谢谢您的回答,您的解释很容易理解!我需要在武器上有一个多边形来互相碰撞。我尝试使用box2d的fixture来表示这一点。