FlashDevelop: AS3 Tweening Stop на крутом склоне - PullRequest
0 голосов
/ 04 октября 2011

Я использую caurina.transitions.Tweener;класс с AS3 для анимации трехмерного объекта через мою трехмерную среду (созданную на платформе alternativa3D) из точки А в точку Б. И все отлично работает, они движутся, как и предполагалось, от того места, куда я сказал им идти.

Мне было интересно, был ли способ заставить объект перестать двигаться (или поворачиваться), если склон, по которому они пытались пройти, был слишком крутым (как гигантский холм или гора в реальной жизни)?

Это в основном код, который я использую для этого:

var playerDistance: Number = Vector3D.distance(
new Vector3D( _escapeeManager.activeEscapee.x,
_escapeeManager.activeEscapee.y,
_escapeeManager.activeEscapee.z ),
intersectData.point );

Tweener.addTween( _escapeeManager.activeEscapee, { x:intersectData.point.x, y:intersectData.point.y, time:(playerDistance/_escapeeManager.activeEscapee.speed), transition:"linear" } );

И если вы хотите увидеть пример в игре, которую я разрабатываю, его можно найти здесь: http://redmenmusic.ca/godsend.html

Спасибо за вашу помощь, ребята!

Ответы [ 2 ]

0 голосов
/ 04 октября 2011

У caurina.transitions.Tweener есть некоторые свойства, которые могут пригодиться для вашей проблемы.Я не говорю, что Tweener - лучший способ, но, скорее всего, он доставит вас туда, куда вы хотите:).

Официальный сайт документации Tweener можно найти здесь: http://hosted.zeh.com.br/tweener/docs/en-us/. Раздел«Параметры анимации» были бы интересны для вас.

Итак, для вашей проблемы я бы посоветовал подойти к этому так: есть событие onUpdate , которое выполняется при каждом обновленииТвинер.На каждом обновлении вы можете проверить, крутой склон или нет.Пример: Tweener.addTween (myMovieClip, {x: 100, time: 1, onUpdate: function () {/ * проверьте здесь, является ли наклон крутым - если это так, вы можете удалить Tweener на объекте и продолжитьс другой функцией * /}});

Надеюсь, все понятно :) Удачи!

0 голосов
/ 04 октября 2011

Кажется немного странным использовать Tweener для чего-то кроме поверхностной анимации - вам, вероятно, нужно реализовать более сложную систему для обработки движения объекта, обнаружения столкновений, уклонов и т. Д.

...