我正在制作一个游戏,其中玩家发射波浪(如潮汐波而不是谐波),并且我有一个系统,我实现它移动一段距离然后消失。它也会从实体中反弹(我可能不太好补充)。我想知道是否有一种方法可以使这更加现实和可分离,而不是完全改变。这是曲线(我使用的是 slick2d)。
one = new Vector2f((float)referenceX, (float) referenceY);
two = new Vector2f((float) (referenceX + ((width * amplitude) / Math.PI)), (float)(referenceY - (height * amplitude)));
three = new Vector2f((float) ((referenceX + width) - ((width * amplitude) / Math.PI)), (float)(referenceY - (height * amplitude)));
four = new Vector2f((float)(referenceX + width),(float)(referenceY));`
new Curve(one, two, three, four);
它通过移动参考点和扩展宽度来移动。
这是碰撞代码
if ((s.player.getBounds().getWidth() / 2) + s.player.getBounds().getX() >
(e.getBounds().getX() + e.getBounds().getWidth()) )
{
this.referenceX = e.getBounds().getX() + (e.getBounds().getWidth() / 4);
this.referenceY = e.getBounds().getY();
}
else if ((s.player.getBounds().getWidth() / 2) + s.player.getBounds().getX() <
e.getBounds().getX())
{
this.referenceX = e.getBounds().getX();
this.referenceY = e.getBounds().getY();
}
else
{
this.referenceX = s.player.getBounds().getX() + 4;
this.referenceY = e.getBounds().getY();
}
我应该如何解决这个问题以使波浪看起来更逼真?