javascript - 正数和负数之间的模数

标签 javascript math easeljs createjs

我正在使用 EaselJS/CreateJS 开发一个简单的游戏,其中一部分需要以字幕方式在屏幕上制作 Sprite 动画。

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

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

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

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

有没有办法调整这个计算,使其超出 0,即图标的宽度,即 -128(图标宽度)到 448(舞台 + 图标宽度)?

谢谢:)

最佳答案

我尝试过这个值,

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

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

http://jsfiddle.net/eckacdta/

关于javascript - 正数和负数之间的模数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33449724/

相关文章:

javascript - polymer 中的简单冲压 IF 不起作用

javascript - Javascript 中没有重复项的随机数生成器?

javascript - 使用 Javascript 的表格内容的正则表达式

javascript - 脚高(厘米)与鞋码欧盟之间的函数

javascript - 如何设置 <html :optionsCollection> element? 的默认值

math - 变量的最大和最小约束

javascript - 调整旋转对象的大小保留左上角(亚像素渲染问题)

javascript - Easeljs 中的位图无法与事件监听器一起使用?

createjs - 如何在 CreateJS/TweenJS 中停止元素的补间

javascript - easelJS - 创建带有图像的按钮