#flash #actionscript-3 #flash-cs5 #tween #gsap
#flash #actionscript-3 #flash-cs5 #анимация #gsap
Вопрос:
Это довольно просто, чего я пытаюсь достичь. У меня есть MC на сцене, который я пытаюсь настроить по разным координатам X.
Я настроил четыре TweenLite.to последовательности, однако по какой-то странной причине запускается только одна — что я делаю не так?
TweenLite.to(slider.mc_slider,1,{x:_returnXPos(95), ease:menuEasing});
TweenLite.to(slider.mc_slider,1,{delay: 1, x:_returnXPos(35), ease:menuEasing});
TweenLite.to(slider.mc_slider,1,{delay: 2, x:_returnXPos(50), ease:menuEasing});
//Function which returns x coordinate of Sliderbar - related to defined percentage
function _returnXPos(definedPercentage:Number):Number {
var defineWidth:Number = slider.mc_background.width * (definedPercentage/100);
return defineWidth;
}
Ответ №1:
Проблема может заключаться в том, что вам нужно убедиться, что вы используете OverwriteManager
с правильными настройками, иначе это может просто перезаписать ваши файлы для подростков, независимо от задержек, см.: http://www.greensock.com/overwritemanager
Ответ №2:
В дополнение к тому, что предложил дейн, вы также можете захотеть проверить TimelineLight.
Комментарии:
1. Спасибо, Генча, я обязательно рассмотрю это — не знал, что у greensock было так много доступных вещей.
Ответ №3:
Просматривая код (не на машине, на которой я могу это протестировать), выполняется только последняя анимация. Если вы хотите, чтобы они запускались последовательно, вам нужно указать функцию обратного вызова. К сожалению, вы не можете использовать анонимные функции.
TweenLite.to(slider.mc_slider,1,{x:_returnXPos(95),ease:menuEasing,onComplete:nextTween,onCompleteParams:[35]});
function nextTween(newPos:int)
{
TweenLite.to(slider.mc_slider,1,{x:_returnXPos(newPos),ease:menuEasing,onComplete:finalTween,onCompleteParams:[50]});
}
function finalTween(newPos:int)
{
TweenLite.to(slider.mc_slider,1,{x:_returnXPos(newPos),ease:menuEasing,onComplete:finalTween,onCompleteParams:[50]});
}
Не лучший ответ, поскольку вы повторяете код ТРИ раза. Когда я доберусь до ПК, на котором смогу это протестировать, я преобразоваю код в единственную функцию.
Комментарии:
1. Привет, Дики, спасибо за ответ. Я также думал о функции onComplete, но мне просто показалось раздражающим, что это нужно делать. К счастью, OverwriteManager сделал это за меня — greensock.com/overwritemanager . Спасибо за вклад