【问题标题】:Making a point follow another point使一个点跟随另一个点
【发布时间】:2012-05-29 06:29:49
【问题描述】:

我正在写一个非常快的小游戏,我没有任何矢量实现。这就是我所拥有的:

local qx = manx
        local qy = many
        local px = bigenemyx
        local py = bigenemyy
        local vx = qx - px
        local vy = qy - py
        local mag = math.sqrt(vx^2 + vy^2)
        bigenemyx = bigenemyx + mag * speed * dt
        bigenemyy = bigenemyy + mag * speed * dt

bigenemy 需要关注manbigenemy 就从屏幕上消失了。我已经为此编写了代码,并且(显然)在这方面的数学方面没有经验,感谢您的帮助-如果我没有想清楚,我深表歉意,我并没有真正坚持“速度更快,速度更快”!

【问题讨论】:

    标签: vector lua love2d


    【解决方案1】:

    您的问题出在最后两行。无论如何,您都在将敌人朝 的方向移动。试试:

    bigenemyx = bigenemyx + vx/mag*speed*dt
    bigenemyy = bigenemyy + vy/mag*speed*dt
    

    所以你从 v 那里得到了方向。

    【讨论】:

      【解决方案2】:

      嗯,你在各个方向都使用了“mag”值——这不好。试试

          if(mag < 0.0001): mag = 1
          bigenemyx = bigenemyx + (vx/mag) * speed * dt
          bigenemyy = bigenemyy + (vy/mag) * speed * dt
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2014-05-22
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-11-21
        相关资源
        最近更新 更多