我需要帮助来形成这段代码,被困了几个小时,似乎无法弄清楚。任何帮助将不胜感激。
我有多个具有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; **
谢谢大家。