Невозможно добавить дочернюю сцену, используя pixijs и pixi-animate - PullRequest
0 голосов
/ 23 июня 2018

Я использую PixiJs 4.4.2 и Pixi-animate для загрузки этапов, созданных Adobe animate. в моем проекте

Я разделил свой проект на компоненты и сгенерировал код pixijs этапа Adobe для каждого компонента. Теперь хочу объединить их в один проект. Мне удалось загрузить один компонент в качестве основного этапа, но я не могу загрузить другие компоненты как дочерний.

Вот мой код, в который я загрузил свой основной этап:

var waterfall = lib.Waterfall_PixiAnimate;
var bear = lib.reference_BearLevel_PixiAnimate;

var salmon = new PIXI.animate.Scene(3840, 2160, {}, true)
document.body.appendChild(salmon.view);
salmon.load(waterfall)

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

Как добавить дочернюю сцену?

1 Ответ

0 голосов
/ 13 февраля 2019

Один из способов - опубликовать ваши проекты в одной и той же папке, задав им разные сценические имена и пространства имен в настройках публикации .... (извините, я не могу публиковать изображения, недостаточно репов!)

... и затем объединить их, используя одну сцену, но вызвать load для каждого экспортированного файла js.

<canvas id="stage" width="550" height="400"></canvas>
<script src="libs/pixi.js"></script>
<script src="libs/pixi-animate.js"></script>
<script src="square.js"></script>
<script src="circle.js"></script>
<script>
    var scene = new PIXI.animate.Scene(550, 400, {
        view: document.getElementById("stage"),
        backgroundColor: 0xffffff,
        antialias: true
    });
    scene.load(lib1.circle);
    scene.load(lib2.square);
</script>

В качестве альтернативы, если у вас уже есть свое собственное приложение или сценарий pixi, вы можете обойти сцену и просто использоватьpixi-animate load функция в отдельности (в ES6 для краткости):

import { Application } from 'pixi.js';
import { load } from 'pixi-animate';

const square = require('./square'),
 circle = require('./circle'),
 app = new Application();

document.body.appendChild(app.view); 

load(square.stage, app.stage);
load(circle.stage, app.stage);
...