Two.JS рендеринг из разных областей - PullRequest
0 голосов
/ 17 октября 2018

Я создаю настольное приложение, используя Electron и Two.js .Приложение представляет собой редактор уровня 2D.В игре есть Tile объектов, которые представляют 32x32 плиток.Есть массив объектов Tile, и я попытался нарисовать их, используя Two.JS, но, как оказалось, two не может найти рендеринг, который не находится в той же области, что и two.update()

IЯ пытался создать группу, используя two.makeGroup(), а затем, зацикливая объекты Tile, я пытался добавить их в группу, используя 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();

, но по какой-то причине этот способ работает вполне нормально

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

EDIT: (там, где она может рисовать) Я попытался добавитьслучайная функция, она работала с этим.По какой-то причине предыдущая область не (обнаружена?)

function troll(){
    let rect = two.makeRectangle(100, 100, 100, 100);
    rect.fill = "rgb(255,255,255)";
    rect.stroke = "#f00";
}

troll();
two.update();

ОБНОВЛЕНИЕ:

Two.js не смог нарисовать их, потому что переменные, которые яв этой области параметры были недоступны, поэтому после некоторой отладки я решил проблему.

...