初始化后无法获取pixi js元素

时间:2019-07-01 06:20:05

标签: javascript function pixi.js

我需要帮助来形成这段代码,被困了几个小时,似乎无法弄清楚。任何帮助将不胜感激。

我有多个具有pixi.js应用程序的部分。启动以下功能。

var pixiFunctions = [
    function(type) {

    var pixi, sectionContainer, stage, texture, sprite, bars;

    sectionContainer = $('section[data-media="established"]');

    var established = {
        init: function() {

            pixi = new PIXI.Application({
                width: getViewport().width,
                height: getViewport().height,
                transparent: true,
                resolution: window.devicePixelRatio || 1,
                antialias: true
            });

            sectionContainer.append(pixi.view);
            stage = new PIXI.Container();
            texture = new PIXI.Texture.from(loadedMedia[1].src);
            texture.baseTexture.resource.autoplay = false;
            texture.baseTexture.resource.source.loop = 'loop';

            sprite = new PIXI.Sprite(texture);

            texture.baseTexture.on('loaded', function() {

                sprite.height = pixi.renderer.screen.height;
                sprite.width = pixi.renderer.screen.width;

                pixi.stage.addChild(sprite);
                established.start();
            });


        },

        start: function() {
            pixi.render(stage);
            requestAnimationFrame(established.start);
        },

        animateIn: function() {
            console.log('animateIN');
            **console.log(pixi)**
            sectionContainer.addClass('active');
        },

        animateOut: function() {
            console.log('animateOut');

            sectionContainer.removeClass('active');
        }
    }

    if (type === 'animateIn') established.animateIn();
    if (type === 'animateOut') established.animateOut();
    if (type === 'init') established.init();
}
]

我每个人都有一套这样的功能, 在DOM加载中,我以这种方式调用这些函数,

for (var i = 0; i < pixiFunctions.length; i++) {

    pixiFunctions[i]('init');

}

问题来了,当我滚动时,我已经设置了以这种方式启动的功能;

 pixiFunctions[currentPosition]('animateIn');

[currentPosition]-指的是随着滚动滚动而增加的计数,以便我可以在各节中制作动画。

问题是每当我使用调用此函数时,控制台会以未定义的PIXI记录日志。我不知道如何解决。我需要这个,因为我需要保留一个pixi才能使蒙版动画。

** pixiFunctionscurrentPosition; **

谢谢大家。

0 个答案:

没有答案