Функции статической остановки / воспроизведения - PullRequest
0 голосов
/ 26 января 2012

Допустим, я бы хотел использовать метод frameScript для добавления некоторых методов остановки и воспроизведения к некоторым кадрам.

Обычно я бы объявил функцию остановки:

private function $FUN_FrameStop():void {
            stop();
            return;
        }

и затем использовал быэто так:

addFrameScript(47, $FUN_FrameStop, 122, $FUN_FrameStop);

Мой вопрос: как я могу создать тот же $ FUN_FrameStop, что и статическая функция?

Статические функции не позволяют использоватьthis поскольку статические члены связаны с классом и не наследуются экземплярами этого класса.

Итак, есть ли способ создать функцию, аналогичную $ FUN_FrameStop, но статическую?

Ответы [ 3 ]

0 голосов
/ 26 января 2012

Вы можете объявить функцию вне класса, но в пакете

package
{
    public function Func(): void
    {
         trace( "Func" );
    }
}

тогда вы можете вызывать его каждый раз с Func () после включения пакета (если необходимо)

0 голосов
/ 29 января 2012

Ответ в том, что нет пути, если у меня нет статической ссылки на экземпляр класса, но это не то, что я хочу.

public static var staticClassRef:MovieClip;
function $FUN_FrameStop():void {
staticClassRef.stop();
return;
}
0 голосов
/ 26 января 2012

Я никогда не добавлял ни одного сценария фрейма динамически, но .. вы пытались использовать экземпляр в качестве параметра?

    private static function $FrameStop($inst:MovieClip):void {
        $inst.stop();
    }
...