魔兽地图编辑器吧 关注:65,970贴子:3,849,017

抛物线/跳跃/模拟投射物/多次弹跳 算法原理 无演示

只看楼主收藏回复

变量
高度(实数) Z 
垂直方向速度(实数 取上为正方向) v
重力加速度(实数) g
原理
在做抛物线运动时
根据受力分析` 物体始终受到向下的重力的作用,重力的作用使物体在垂直方向的速度每秒都会变化一个固定值 g
物体在碰到地面时,会以相反的方向(向上)弹起
算法
首先设置g = g * 每次运动间隔时间 
(比如每0.02秒执行运动的 就乘0.02)
-------
每间隔时间运行
设置 v = v - g //重力影响速度
设置 Z = Z + v //速度改变位移
如果 Z < 0 //单位到达地面时
   设置 v = v * -1 //设置速度反向(碰到地面则反弹)
   设置 Z = Z * -1 //设置高度为反弹后的应有高度
设置单位的飞行高度为 Z
-------
效果如图~~


1楼2009-09-24 11:07回复
    求视频


    IP属地:四川2楼2009-09-24 11:13
    回复
      2026-09-27 07:37:07
      广告
      不感兴趣
      开通SVIP免广告
      或GIF


      IP属地:四川3楼2009-09-24 11:13
      回复
        我对无规则运动比较感兴趣…


        IP属地:浙江5楼2009-09-24 12:34
        回复
          我对活塞运动和俯卧撑运动比较感性趣


          IP属地:四川6楼2009-09-24 23:17
          回复
            设飞行高度,对地面单位无效,不知道怎么变。。。。


            7楼2009-09-26 20:34
            回复
              额,支持吧


              9楼2009-09-27 20:52
              回复
                乌鸦技能?拜托,能说清楚点吗?不会是风德的乌鸦吧,总不能给所有单位都设个飞行状态的吧。。。。


                11楼2009-10-06 12:09
                回复
                  2026-09-27 07:31:07
                  广告
                  不感兴趣
                  开通SVIP免广告
                  就是风德的乌鸦
                  只需要添加删除就能设置高度了


                  12楼2009-10-06 14:58
                  回复
                    • 122.77.43.*
                    一个单位升空 然后俯冲下来 落地并给 地面造成一道纵向裂痕 怎么做


                    13楼2009-10-06 15:05
                    回复
                      ls如果看懂了原理的话
                      升空跟俯冲应该是很简单的
                      裂缝可能是多个马甲雷霆一击出来的


                      14楼2009-10-06 15:13
                      回复
                        • 121.10.92.*
                        啊- - -
                        晕了


                        15楼2009-10-07 12:17
                        回复
                          • 211.138.5.*
                          留名794863588


                          16楼2009-10-10 23:01
                          回复
                            留号365870883  教我编跃击技能


                            17楼2009-10-18 17:03
                            回复