我正在使用Electron和Two.js构建桌面应用程序。该应用程序基本上是2D级别的编辑器。有notifications = request.user.notification_set.all()
个对象代表游戏中的Tile
个图块。有一系列Tile对象,我尝试使用32x32
绘制它们,但事实证明,Two.JS
无法找到与two
不在同一个范围内的可渲染内容/ p>
我尝试使用two.update()
创建一个组,然后在循环平铺对象时,尝试使用two.makeGroup()
将它们添加到该组中。没有运气。
以这种方式执行根本不起作用。 (超出范围?)
two.add(newRect)
但是由于某种原因,这种方式可以很好地工作
for (let i = 0; i < tiles.length-1; i++) {
let rect = two.makeRectangle(tiles[i].getX(), tiles[i].getY(), size, size);
rect.fill = 'rgb('+tiles[i].color[0]+', '+tiles[i].color[1]+', '+tiles[i].color[2]+')';
rect.noStroke();
}
two.update();
我的问题是:如何渲染来自不同范围的多个对象?
(未绘制的位置)此函数是我试图从以下位置绘制的位置:https://github.com/idontreallywolf/gyarb_mapper/blob/750eddc6cbb179d359c47b4fc6711c9e79a0472d/renderer.js#L73
编辑:(可以绘制的地方) 我尝试添加一个随机函数,它可以与此一起工作。由于某些原因,以前的范围未(未检测到?)
let rect = two.makeRectangle(tiles[i].getX(), tiles[i].getY(), size, size);
rect.fill = 'rgb('+tiles[i].color[0]+', '+tiles[i].color[1]+', '+tiles[i].color[2]+')';
rect.noStroke();
two.update();
Two.js无法绘制它们,因为在该范围内无法访问用作参数的变量,因此在进行一些调试后,我解决了该问题。