我以为我可以在互联网上找到一些搜索,但我发现的一切只是球从pong或其他任意问题之类的东西跳起来。我正在制作一个二维地牢爬行游戏,当我杀死敌人并且他们放下战利品时,我希望物品飞出去,就好像它刚刚被抛在空中并在单位上的随机点上着陆。C#反弹/丢弃物品物理丢弃
我一直在试图弄清楚自己,但我不明白,这可能会问很多,我会很感激,如果有人能帮助我。
编辑的要求:
玉以及当怪物就会被破坏,我会选择它在砖内的随机位置,我们称之为位置endLoc和怪物的位置startLoc。然后我会觉得这两个位置之间的中心x点和由20减少Y(因为这是我多少像素所需的项目由去了),让我们称这个变量launchLoc:
launchLoc = new Vector2(startLoc.X + ((endLoc.X - startLoc.X)/2), startLoc.Y - 20)
我想产生正确的Vector。
所以现在我需要从startLoc启动项目到launchLoc,然后让它回到endLoc。这是令人困惑的地方,我不确定如何为此创建一个真实的弧线。最终的结果是物品会沿着高斯移动,就好像它被扔到空中一样。
我试图在每个时间间隔内使速度增加120倍,startLoc和launchLoc之间的X差,增加倍数,但是我无法让它工作得很好。我不确定这是否是最好的方法。我使用第120个,因为y值是20,并且该项目每隔一个间隔向上移动1个像素,所以1至20加起来为120,这将使得x运动不断增加,就像它被抛出一样。
这是在二维btw,我希望有所帮助。
是否存在您遇到麻烦的特定位代码?如果是的话,你可以在这里发布?你是在追求像这样的逻辑如何工作?你能否提供更多细节?没有更多的信息就很难回答这样的问题。 – 2011-12-19 14:32:37
更新了我的文章。 – user1009573 2011-12-19 15:13:23
这是2d,所以你需要模拟它在屏幕上弹出的第三个维度? – scottheckel 2011-12-19 15:23:56