二。不同范围的JS渲染

时间:2018-10-17 07:45:03

标签: javascript electron two.js

我正在使用ElectronTwo.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无法绘制它们,因为在该范围内无法访问用作参数的变量,因此在进行一些调试后,我解决了该问题。

0 个答案:

没有答案