1 回答

TA贡献1934条经验 获得超2个赞
在思考我该怎么做之后,我有了一个主意。
根据矢量数学,子弹在接触到有问题的材料后可以采用这些值进行反弹......
如图所示:
经过这次分析,我已经适应了一个简单的代码。
vectorPart = shoot.getLinearVelocity();
if ((vectorPart.x > 0 && vectorPart.y < 0) || (vectorPart.x > 0 && vectorPart.y > 0)
|| (vectorPart.x < 0 && vectorPart.y < 0) || (vectorPart.x < 0 && vectorPart.y > 0)) {
vectorPart = new Vector2(vectorPart.x, vectorPart.y * -1);
} else {
vectorPart = new Vector2(vectorPart.x * -1, vectorPart.y * -1);
}
shoot.setLinearVelocity(vectorPart.x, vectorPart.y);
我评估了 linearVelocity 向量,然后修改了它的符号。
使用此代码和 anylisis 一切正常!
添加回答
举报