Вызвать переменную внутри функции AS3.0 - PullRequest
0 голосов
/ 25 сентября 2011

Я пытаюсь передать переменную через функцию, но я получаю ее значение 0

Вот мой код:

thumbLoader.addEventListener(MouseEvent.CLICK, goToCategory);

function goToCategory(e:MouseEvent) {
    trace(c);
    gotoAndStop(2);
    doSMTH(0);
}

этот след дает мне значение 0.

Обычно я делал бы goToCategory (c) и внутри этой категории я получал бы его значение, но в этом случае я вызываю эту функцию с событием, как это можно сделать?

var c объявлен глобально, поэтому я использую его над этим кодом в другом месте ...

есть что-то вроде глобального $ c, как в PHP ... или есть другой способ сделать это?

Заранее спасибо !!!

Ответы [ 2 ]

3 голосов
/ 25 сентября 2011

Вы можете попытаться не использовать глобальные переменные, но если вы действительно не знаете, как это сделать, то одним из решений является использование статического класса и добавление к нему глобальных классов:

package {

    public class Globals {

        static public var c:String = "";

    }

}

Затем получите доступ к глобальному с:

trace(Global::c);

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

2 голосов
/ 25 сентября 2011

Я предполагаю, что переменная c доступна, когда вы добавляете прослушиватель щелчка мыши. В этом случае это должно делать то, что вы хотите.

thumbLoader.addEventListener(MouseEvent.CLICK, function(e:MouseEvent)
                                               {
                                                   goToCategory(c);
                                               }
);

function goToCategory(c:*)
{
    trace(c);
    gotoAndStop(2);
    doSMTH(0);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...