Как получить доступ к переменной Movieclip через отдельную функцию AS3 - PullRequest
0 голосов
/ 22 февраля 2019

Привет всем, как показано ниже. Я пытаюсь изменить свойство этой переменной мувиклипа currentHex, когда она вызывается с использованием этой строки кода.

TweenMax.to(currentHex, 0.5, {scaleX:1.2, scaleY:1.2, ease:Back.easeInOut, repeat:1, yoyo:true, onComplete:resetGreyOut}); // tween animation

Когда onComplete активирован ион вызывает функцию resetGreyOut Я получаю «Ошибка доступа к неопределенному свойству». Я понимаю, что это потому, что это отдельная функция, и она не может найти эту переменную, поэтому мне интересно, как найти или лучше получить доступ к этой переменной, чтобыизмените его в функции resetGreyOut:

private function resetHitTestHandler():void 
    {
        for (var i:int = 0; i < aMainHexArray.length; i++)
        {

            var currentHex = aMainHexArray[i]; // All Hexs

            if (resetHex.hit.hitTestObject(currentHex.hitBox) && bDragging) 
            {
                if (currentHex.sColor == "BLUE")
                {
                    currentHex.gotoAndStop("BLUE");
                }else
                if (currentHex.sColor == "RED")
                {
                    currentHex.gotoAndStop("RED");
                }else
                if (currentHex.sColor == "YELLOW")
                {
                    currentHex.gotoAndStop("YELLOW");
                }else
                if (currentHex.sColor == "PURPLE")
                {
                    currentHex.gotoAndStop("PURPLE");
                }else
                if (currentHex.sColor == "GREEN")
                {
                    currentHex.gotoAndStop("GREEN");
                }else
                if (currentHex.sColor == "WHITE")
                {
                    currentHex.gotoAndStop("WHITE");
                }else
                if (currentHex.sColor == "ORANGE")
                {
                    currentHex.gotoAndStop("ORANGE");
                }

                TweenMax.to(currentHex, 0.5, {scaleX:1.2, scaleY:1.2, ease:Back.easeInOut, repeat:1, yoyo:true, onComplete:resetGreyOut}); // tween animation
                bDragging = false; // So doesnt loop
                //Sound effect 
                if (bSoundIsOn)
                {
                    // Play finish sound 
                    matchSoundChannel = resetSound.play();
                }
                //Remove Sparks
                nSparks -= nReset;
                updateSparksCounter();
                //Remove reset hex
                resetHex.destroy();
            }
        }
    }

Вот функция resetGreyOut:

private function resetGreyOut():void 
    {
        currentHex.gotoAndStop("GREY");
        trace("GREEEEEY");
    }

Буду признателен за любую помощь.Заранее спасибо!

...