javascript - 对象网格居中

标签 javascript canvas processing p5.js

如标题所示,我尝试在 P5 Spot(x, y, size) 中创建一个对象网格,它们之间有 4 个像素的空间,并将其在 Canvas 上居中,而不使用 翻译,这是我得到的:

  gridSize = 7;
  spotSize = 60;
  spots = [];

  for (var y = height / 2 - ((gridSize * spotSize + gridSize * 4) / 2); y < (height / 2 - ((gridSize * spotSize + gridSize * 4) / 2)) + (gridSize * spotSize + gridSize * 4); y += spotSize + 4) {

    for (var x = width / 2 - ((gridSize * spotSize + gridSize * 4) / 2); x < (width / 2 - ((gridSize * spotSize + gridSize * 4) / 2)) + (gridSize * spotSize + gridSize * 4); x += spotSize + 4) {

      spots.push(new Spot(x, y, spotSize));

    }
  }

问题是我的网格看起来不正确,为什么它不居中?可能是一个非常简单和愚蠢的错误,但我找不到它。任何帮助表示赞赏。

我的 Spot 对象只是在给定的 x 和 y 处绘制一个椭圆。完整代码位于http://codepen.io/felipe_mare/pen/GWyMOL

最佳答案

-已解决-

spots.push(new Spot(x + spotSize/2, y + spotSize/2, spotSize));

没有考虑到椭圆是从中心绘制的,所以我必须添加圆的半径spotSize/2

关于javascript - 对象网格居中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42882635/

相关文章:

javascript - 使用 Canvas API 时有哪些典型的设计模式?

html - Canvas 元素未显示

java - Python 代码中的 Java 排序算法

java - boolean 标志与它们所在的开关不对应

javascript - AngularJS 中的 Phonegap ondeviceready 事件

JavaScript OOP Object.create();

javascript - 将鼠标悬停在链接上时显示图像

javascript - 在 HTML 中嵌入外部 SVG 以进行 JavaScript 操作

math - 给定两个点,如何通过它们画一条线?

java - 如何让我的倒计时器显示分钟*和*秒,而不仅仅是秒?