正数和负数之间的模数

时间:2015-10-31 08:47:13

标签: javascript math easeljs createjs

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

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

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

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

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

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

谢谢:)

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:1)

我尝试过这个值,

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

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

http://jsfiddle.net/eckacdta/