我需要创建一个以弧线形式在屏幕上跳跃的 pogo 棒。我在想最好的办法是把它移到一个罪波上。如果波的顶部是 1,地面是 0,波的底部是 -1,那么每次它达到 0 时,我都会重置这些值以再次启动正弦波。因此,它不会跟随典型的正弦波(0、1、0、-1、0 等),而是会走 0、1、0、1、0 等。
不幸的是,我的数学很糟糕,我已经尝试了几个小时来开发一个公式。目前,我只是在尝试制作一个正常的罪波,上半部分模拟弹簧棒的跳跃,似乎无法达到那么远。我最接近的是:
m_vel.x++;
float f = PI / 30 / 2;
m_vel.y = 200 * sin(f * m_vel.x);
m_vel.y = -m_vel.y;
我需要波浪非常窄,高点非常高。上面的公式在第一次迭代开始时没问题,但随后波浪变宽,高点和低点相互靠近。任何人都可以帮助一个数学菜鸟吗?