在Silverlight中制作物理动画的最佳方法?
我是Silverlight的新手,我想制作一个从大炮中射出的球的动画,然后根据物理定律在空中移动(如此粗略地说,在椭圆路径上) 我倾向于使用回调计时器,通过更改小球的Canvas.LeftProperty和Canvas.TopProperty值,每50毫秒移动一次小球。这是正确的方法还是应该使用双重动画?我在这里使用动画的阻力是,我必须连续创建许多不同的动画在Silverlight中制作物理动画的最佳方法?,silverlight,animation,Silverlight,Animation,我是Silverlight的新手,我想制作一个从大炮中射出的球的动画,然后根据物理定律在空中移动(如此粗略地说,在椭圆路径上) 我倾向于使用回调计时器,通过更改小球的Canvas.LeftProperty和Canvas.TopProperty值,每50毫秒移动一次小球。这是正确的方法还是应该使用双重动画?我在这里使用动画的阻力是,我必须连续创建许多不同的动画 Silverlight大师会选择哪条道路?我认为您不必连续创建多个动画。球只改变方向一次 Y值先下降(使球看起来像是在上升),然后上升(使
Silverlight大师会选择哪条道路?我认为您不必连续创建多个动画。球只改变方向一次 Y值先下降(使球看起来像是在上升),然后上升(使球看起来像是在下降)。下降时的减速度应该是恒定的(代表9.8 m/s/s),Y值上升时的加速度(炮弹下降)是恒定的,直到它击中代表地面的点为止 X值应保持恒定,否则应考虑空气阻力,稍微减速 因此,您将得出以下结论:
- 它从哪里开始(大炮, (显然)
- 球打在哪里?它是垂直的顶点
- 球在哪里落地
当然,这将涉及非平凡的数学来确定输入加速比、减速比、速比、持续时间、起始和结束参数的确切数字。但是不管你用什么方法,你都必须解决这个问题。可能有点过火了你知道libraray吗?看一看我不久前问的一个问题,公认的答案给出了在silverlight链接到的游戏中制作动画的五种不同方法的比较。本文的结论是,您选择的方法将取决于许多因素 为了回答您的问题,我个人会使用在每次屏幕重新绘制和设置属性时触发的,然后移动X和Y
我还发现了一个非常好的资源。这就是我要做的-看起来最简单。路径是抛物线,而不是椭圆