在我的业余时间里,我目前正在阅读Aditya Ravi Shankar撰写的《 Pro HTML5游戏》一书。

目前,我正在努力理解以下代码行:

var deltaX = Math.round((newCenter - game.offsetLeft - game.canvas.width / 4)/ 2);


谁能告诉我下一部分的原因是什么? (... - game.canvas.width / 4) / 2)

在一个循环中,此公式也将270 = Math.round((700 - 0 - 640 / 4) / 2)解析为deltaX的值。谁能看到这个价值与游戏的相关性?

Eventuell将调用以下代码行:

 deltaX = game.maxSpeed * Math.abs(deltaX) / (deltaX);


对应于:

3 = 3 * Math.abs(270) / (270);


显然,deltaX只是为了左右平移才重要。

那么deltaX的增量值也属于什么地方?

以下是一些可能有用的附加值(x轴):

游戏画布:640px

背景图片:1024px

整个项目的代码可以在here中找到:

最佳答案

通常在数学中,增量是指一段时间内某些事物的变化。在这种情况下,您的deltax变量仅用于计算移动到所需声像位置(在这种情况下该位置为x)所需的newCenter更改。

如果您的目标是了解数学的确切应用,那么我建议您尝试一下SO的math sister sites之一。

关于javascript - JavaScript-无限状态循环-平移功能,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28942169/

10-11 14:21