2016-05-11 7 views
0

Позвольте мне рассказать вам сценарий, с которым сейчас сталкиваюсь, у меня есть мувиклип, который будет двигаться вдоль кривой Безье и кнопку, которая начнет воспроизведение (фрагмент фильма будет двигаться по кривой) и безье, я использую greensock, у которого есть опция autorotate, где вы будете вращать клип по пути.greensock tween find end вращение кривой Безье

, так что мне нужно знать, какая ротация будет в конце игры, потому что когда автоповорот включен, мое вращение во время начала будет 0, но к концу времени игры, что это будет? ?? Мне нужно знать эту ценность до того, как произойдет твин, пожалуйста, помогите!

ответ

3

Существует, конечно же, математика, которую вы могли бы сделать, чтобы понять все это, но, вероятно, проще просто позволить движению манипулировать ею и просто перейти к концу , прочитайте значение и перемотайте назад. Нет необходимости создавать отдельную анимацию, которая длится 0,0001 секунды и ждать OnComplete или что-нибудь подобное - просто использовать оригинальную анимацию:

var tween:TweenMax = TweenMax.to(...); //your bezier tween 
tween.progress(1); //jump to the end 
var endRotation:Number = mc.rotation; //read the final rotation 
tween.progress(0); //rewind back to the beginning 
+0

Сладкий! Не знаю о методе прогресса, спасибо за это! – Philarmon

+0

пробовал этот код и получил эту ошибку '1061: вызов возможно неопределенного прогресса метода через ссылку со статическим типом com.greensock: TweenLite.' – Jeffin

+1

Простите, я забыл, что в версии ActionScript progress() есть TweenMax-only , Используйте это или используйте метод time(), например tween.time (tween.duration()); пропустить до конца и tween.time (0); для перемотки назад. – Jack

1

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

Быстро и грязно, чтобы сначала установить ваш movieclip alpha в 0 (или создать новый пустой спрайт), и пусть такое же движение безье работает внутри, скажем, 0,0001 секунд. В onComplete проверьте окончательное вращение мувиклипа и начните фактическую анимацию. Я немного взломан, но это сработает :)

+0

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