【问题标题】:Modulus between positive and negative number正负数之间的模数
【发布时间】:2016-01-31 16:33:20
【问题描述】:

我正在使用 EaselJS/CreateJS 开发一个简单的游戏,其中一部分需要以选取框的方式在屏幕上为精灵设置动画。

http://jsfiddle.net/gRoberts/af6xr8u4/

从上面可以看出,下面的代码计算了从0到舞台宽度+图标宽度的x位置。

icon.x = ((icon.x + w)-deltaS*50) % w;

这使它从屏幕开始,出现,然后一旦达到 0,重新开始。

有没有办法将此计算调整为超过 0 到图标的宽度,所以它会是 -128(图标宽度)到 448(舞台 + 图标宽度)?

谢谢:)

【问题讨论】:

    标签: javascript math easeljs createjs


    【解决方案1】:

    我已经尝试过这个值,

    icon.x = -icon.tileW + ((icon.x + w + 2 * icon.tileW) - deltaS * 50) % (w + icon.tileW);
    

    因为负偏移量将其移动到正确的位置,并且作为模数的附加值提供了移动空间。此外,您需要两倍的宽度,因为值在开始和结束时都需要。

    http://jsfiddle.net/eckacdta/

    【讨论】:

    • 看准了!谢谢 :) 现在我需要弄清楚如何对其应用偏移量;)
    【解决方案2】:

    icon.x = -icon.width + (((icon.x + icon.width + w) - deltaS * 50) % w)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-05-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多