Flashvar делает мою swf ошибку анимации

В галерее изображений я использую, я посылаю flashvar, чтобы установить "текущую" показанную картину. Та галерея изображений подобна coverflow эффекту в iTunes и вещах другой Apple.

В моем коде сценария действия у меня есть этот вар вар current:Number = 1; Когда я изменяю это, чтобы установить мой flashvar как стоимость как это: вар current:Number = currentPicture; вещь, которая является странной, состоит в том, что он работает так, я получаю требуемую картину как ток, но когда я завиваюсь, чтобы показать следующую картину, (которые не прослушивают, когда я прокручиваю вниз к предыдущему), вся следующая картина исчезает..

Я приклеиваю вас код здесь (урезанный, как спросили в комментарии, здесь у вас есть init() и затем() и предыдущий() функция.. Я предполагаю, что проблема находится где-нибудь в init() функция, но я не уверен):

/*/
iTunes Album Art Viewer
/*/
import flash.display.*;
import flash.geom.*;
import flash.filters.*;
//Change these values below to customize the viewer functionality
var root:MovieClip = this;
var myMO:Object;
var myKO:Object;
var maxSlide:Number = 100;
var current:Number = currentPicture;

var scrollBarStart:Number = 0;
var scrollerDelay:Number = 150;
var scrollBarStop:Number = scrollBar.scroller._width + 49;

function init(Void):Void {
    myMO = {};
    myKO = {};
    Mouse.addListener(myMO);
    Key.addListener(myKO);
    for (var i in infostruc) {
        loader.clear();
        loader.gradient_mc.removeMovieClip();
        loader.attachMovie("default","art",1);
        loader._width = frontCDWidth;
        loader._height = frontCDHeight;
        this["_bmd" + i] = new BitmapData(loader._width, loader._height);
        this["_ref" + i] = new BitmapData(loader._width, loader._height);
        this["_bmd" + i].draw(loader);
        var mc:MovieClip = loader.createEmptyMovieClip("gradient_mc", loader.getNextHighestDepth());
        matrix = new Matrix();
        matrix.createGradientBox(loader._width,loader._height,reflectionRotation/180 * Math.PI,0,0);
        mc.beginGradientFill(reflectionFillType,reflectionColors,reflectionAlphas,reflectionRatios,matrix,reflectionSpreadMethod,reflectionInterpolationMethod,reflectionFocalPointRatio);
        mc.moveTo(0,0);
        mc.lineTo(0,loader._height);
        mc.lineTo(loader._width,loader._height);
        mc.lineTo(loader._width,0);
        mc.lineTo(0,0);
        mc.endFill();
        loader.art._alpha = reflectionAlpha;
        loader.beginFill(reflectionBackgroundColour);
        loader.moveTo(0,0);
        loader.lineTo(0,loader._height);
        loader.lineTo(loader._width,loader._height);
        loader.lineTo(loader._width,0);
        loader.lineTo(0,0);
        loader.endFill();
        this["_ref" + i].draw(loader);
    }
   //Edit by Matth, Alhadef
   //"The Elevator Door 2"
    for (var i :Number; i <= infostruc.length;i++){
        var cArt:MovieClip = this.createEmptyMovieClip("art" + this.getNextHighestDepth(), this.getNextHighestDepth());
        var rArt:MovieClip = this.createEmptyMovieClip("reflection" + (this.getNextHighestDepth() - 1), this.getNextHighestDepth());
        rArt.id = cArt.id = rArt.cid = cArt.cid = Number(i) + 1;
        cArt.DistortImage(this["_bmd" + cArt.id]);
        controlTheObject(cArt);
        rArt.DistortImage(this["_ref" + cArt.id]);
        controlTheObject(rArt);
        var tmpFilter:BlurFilter = new BlurFilter(reflectionBlurX, reflectionBlurY, reflectionQuality);
        rArt.filterArray = [];
        rArt.filterArray.push(tmpFilter);
        rArt.filters = rArt.filterArray;
    }
    myMO.onMouseWheel = function(delta:Number):Void  {
        if (delta > 0) {
            next();
        } else if (delta <= 0) {
            previous();
        }
    };
    myKO.onKeyDown = function():Void  {
        if (Selection.getFocus() != "_level0.goto") {
            if (Key.isDown(Key.RIGHT)) {
                next();
            } else if (Key.isDown(Key.LEFT)) {
                previous();
            }
        }
    };
    scrollBar.scroller.onPress = function():Void  {
        dist = this._parent._xmouse - this._x;
        this.onMouseMove = function():Void  {
            tmp = 1 + Math.ceil(((this._parent._xmouse - dist) - scrollBarStart)/(scrollBar._width - scrollBarStop) * (infostruc.length - 1));
            if (tmp > infostruc.length) {
                tmp = infostruc.length;
            }
            if (tmp < 1) {
                tmp = 1;
            }
            current = tmp;
            updateInfo();
        };
    };
    scrollBar.scroller.onRelease = scrollBar.scroller.onReleaseOutside = function ():Void {
        stopDrag();
        delete this.onMouseMove;
    };
    scrollBar.left.onPress = function():Void  {
        previous();
        shifter = setInterval(previous, scrollerDelay);
    };
    scrollBar.right.onPress = function():Void  {
        next();
        shifter = setInterval(next, scrollerDelay);
    };
    scrollBar.onMouseUp = function():Void  {
        clearInterval(shifter);
    };
    scrollBar.onMouseDown = function():Void  {
        if (this.hitTest(_xmouse, _ymouse, true) && !this.left.hitTest(_xmouse, _ymouse, true) && !this.right.hitTest(_xmouse, _ymouse, true)) {
            if (this._xmouse < this.scroller._x) {
                previous();
                shifter = setInterval(previous, clickDelay);
            }
            if (this._xmouse > this.scroller._x + this.scroller._width) {
                next();
                shifter = setInterval(next, clickDelay);
            }
        }
    };
    goto.onChanged = function():Void  {
        if (!isNaN(Number(this.text) + 1)) {
            this.text = Math.round(Number(this.text));
            if (this.text > infostruc.length) {
                this.text = infostruc.length;
            }
            if (this.text < 1) {
                this.text = 1;
            }
            current = this.text;
        } else {
            this.text = current;
        }
        updateInfo();
    };
    distance = Number(i);
    mask.removeMovieClip();
    loader.removeMovieClip();
    scrollBar.swapDepths(1101);
    loadNext();
    updateInfo();
}
function next():Void {
    if (current < infostruc.length) {
        current += 1;
    }
    if (current eq infostruc.length) {
       //Set our autodirect switch to go back now.
        autoDirect = 0;
    }
    updateInfo();
}
function previous():Void {
    if (current > 1) {
        current -= 1;
    } 
    if (current == 1) {
       //Set our autodirect switch to go forward now
        autoDirect = 1;
    }
    updateInfo();
}

С этим кодом вы видите линию вар current:Number = currentPicture; , который делает ошибку... Но, снова, ошибка появляется только, когда мы переключаемся на следующую картину, если движение к предыдущему, то два раза к следующему, это не прослушивает. Я не знаком с КАК, и как вы видите, я не кодер этой вещи, я прилагаю все усилия, чтобы понять, я уже успешно изменил некоторую стоимость, чтобы увеличить картину и т.д., но для этой ошибки, я не понимаю...

0
nl ja de
Это смотрит больше как код AS2 с объявлениями функции. Где currentPicture вар установлен? Если вы don' t объявляют его где угодно, это не будет действительным
добавлено автор Gone3d, источник
я предлагаю, чтобы вы урезали вниз код к существенным элементам - вы включали много несоответствующего материала
добавлено автор user1901867, источник
Я посылаю этот вар, используя параметры фильма в моем AC_FL_RunContent, как этот ' movie' ' iTunesAlbumArt? currentPicture=X' , где X число, произведенное кодом php. Это работает как этот, потому что я получаю изображение, которое я хочу как текущий..
добавлено автор Math, источник