如果它要像《愤怒的小鸟》那样逼真,那么对于被炸弹炸开的每个物体,它都会遵循二次路径。
我不知道andengine 或box2d。但我在游戏中做过简单的 2d 爆炸和弹丸建模。
我希望你能从以下内容中得到一些东西:
你会想要找出物体与炸弹的 (x,y) 坐标距离。由此计算角度。 (例如,炸弹上方的物体爆炸时的角度为 90 或 pi/2。
由此计算出角度的 sin 和 cos。将它乘以某个力因子 F。(取决于炸弹的强度和物体与炸弹的距离。)由此你有你的初始运动向量 {F*Math.cos(angle),F*Math.sin(angle )};
从这里开始,它只是平面运动学。对象应遵循通过空气的二次路径。方程式可能类似于:
object.setXCoord(object.getXCoord()+time_constant); //after initial explosion, no force is
//acting horizontally on object.
object.setYCoord(object.getYCoord()-some_constant*time_constant+another_constant*time_constant*time_constant);// note Y's path
//relative to time is quardatic.
您可能需要在其中添加一些演员表,具体取决于您将使用的类型。所有常量都取决于您的游戏。 time_constant 很可能是 1,但我发现做 1 的倍数会使爆炸在视觉上更具吸引力。即随着时间计数器 t 的增加,对象的移动可能使用 time_constant 0.5。我进行了大量的试验和错误,以了解哪些常量值最有效。