0

我让字母表在屏幕上打开和关闭。我正在使用数组 SHIFT 来执行此操作以转到下一个字母。当我到达数组的最后一个元素,字母 Z 时,我怎样才能回到开头?

另一个例子是,如果您有一组图片,并且在您查看完最后一张图片后,代码将带您重新开始并从那里开始查看。

这是我需要将班次设置回零的代码。

var Letter:MovieClip;
function fl_MouseClickHandler_2(event:MouseEvent):void
{
    if(Letter) 
    {
        var gone:MovieClip = Letter as MovieClip;
        TweenMax.to(Letter, 1, { x:0 ,  ease:Back.easeOut, onComplete:removeLetter});
        function removeLetter(){

            removeChild(gone);
        }

    }
    if(Alphabet.length!=0)
    { 

        Letter = new alphabetLetter();
        addChild(Letter);
        /// THIS KEY CODE LINE THAT USES SHIFT

        Letter.letter.text = Alphabet.shift();  

        TweenMax.fromTo(Letter, 2, {x:stage.stageWidth}, {x:stage.stageWidth/2-Letter.width, ease:Expo.easeOut});
    }
    else
    {
           //// TRIED THIS BUT DOES NOT WORK            
          Alphabet.unshift(27);
    }

    /// WHAT CODE DO I USE HERE TO SET THE ARRAY BACK TO THE BEGINNING?



    if(Alphabet.length==0)
    { 
           Alphabet.shift = 0; /// ???
    }
4

1 回答 1

0

shift()从数组中删除一个元素,因此您无法将其取回,除非您将其保存在其他地方以便在您再次需要它时将其放回数组中。

您最好只使用索引变量在数组中找到正确的元素而不实际修改它:然后如果您的索引值大于 26,则再次从 0 开始。

或者,用于push()在移位后立即将字母放回数组的末尾。这样你的数组永远不会变空。

于 2013-05-13T19:11:31.023 回答