Передать функцию ослабления как переменную в AS3 - PullRequest
0 голосов
/ 31 мая 2010

Я искал некоторое время сейчас .. Возможно ли передать функцию ослабления как переменную в AS3?

например.

TweenLite.to(mcDelimiter, resizeTween, { x:(stageWidthHalf-(initStageWidthHalf-mcDelimiteri_X)), ease:Elastic.easeOut } );  

TweenLite.to(mcBody, resizeTween, { x:(stageWidthHalf-(initStageWidthHalf-mcBody_X)), ease:Elastic.easeOut } );

... теперь, если я в какой-то момент захочу изменить «Elastic.easeOut» на что-то другое, мне придется изменить его в нескольких частях кода .. Можно ли это сделать, чтобы я просто передал ее как переменную, а затем, если я хочу ее изменить, сделать это только в одном месте?

РЕДАКТИРОВАТЬ: ... также, может, например. if(currentFrame == "FrameLabel") как-нибудь быть сделано? ..значение, я могу передать имя метки currentFrame как переменную?

Заранее спасибо за ответы,

Андрей

Ответы [ 2 ]

0 голосов
/ 01 июня 2010

спасибо !! Кстати: если у кого-то еще есть такая же проблема, использование «currentLabel» вместо currentFrame возвращает имя текущего кадра ... :)

0 голосов
/ 31 мая 2010

Вы можете передавать ссылку на функцию в ActionScript, как и в случае с любым другим объектом. Например (псевдокод):

var equation:Function;
equation = Elastic.easeInOutSine;

TweenLite.to(mcDelimiter, resizeTween, { x:(stageWidthHalf-(initStageWidthHalf-mcDelimiteri_X)), ease: equation } );  

Все, что вам нужно сделать, это создать переменную, которая будет служить ссылкой на функцию замедления. Вы можете заключить вызов TweenLite в другую функцию и передать ей переменную замедления следующим образом:

public function doTween( equation:Function ):void 
{
     TweenLite.to(mcDelimiter, resizeTween, { x:(stageWidthHalf-(initStageWidthHalf-mcDelimiteri_X)), ease: equation } );  
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...