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 一切正常!
添加回答
舉報