![]() |
|
||||||||||
|
|
|
|||||
|
Регистрация: Jan 2006
Сообщений: 35
|
Заранее извиняюсь, если вопрос слишком нубский или уже обсуждался (я всего 3-й день этот флэш мучаю).
Имеется мувиклип, к примеру, из 20 кадров, где экземпляр двигается из одной точки в другую, с ключевыми кадрами в 1-м и 20-м кадре. Можно ли как-нить во время исполнения этого (или внешнего) клипа изменить _x и _y в ключевых кадрах, чтоб оно двигалось уже в другое место? Извращения типа gotoAndStop (20); this.S1._x = чему нить; gotoAndPlay (20); не помогают (я и не надеялся, но проверить был обязан , экземпляр встаёт и вобще больше не двигается...Или может я вобще всё усложняю, и есть какая-нить элементарная функция? Вобщем, как проще всего реализовать перемещение экземпляра из точки А в точку Б, которые заранее не известны? Вобще есть идея, но это настолько через задницу, что не охота заморачиваться пока, может ещё что посоветуете... И, по возможности, чтоб это было в методах экземпляра. Сказал ему - топай отсюда сюда, и он пошел (я имею ввиду, чтоб не приходилось извне его постоянно двигать, ибо планируется не один такой экземпляр, а кучка). Но это уже пожелание... Последний раз редактировалось Vlad1917; 17.01.2006 в 05:09. |
|
|||||
|
делай всё в одном кадре используя, к примеру, onClipEvent(Enter Frame){}
Задаешь начальные координаты объекта X и Y, потом в выше озвученной функции делаешь приращение к этим координатам с учётом скорости и траектории. Объкт пополз, как достигнет нужной точки Б. останавливаешь функцию. |
|
|||||
|
Регистрация: Jan 2006
Сообщений: 35
|
Т. е. проще никак? :/
|
|
|||||
|
почему же никак: как посмотреть что проще,
глянь на mx.transitions.Tween (класс, позволяющий программно управлять перемещением, как впрчем и любыми другими свойствами мувика) для примера: import mx.transitions.*;
var targetX=300,targetY=300;
new Tween(mc,'_x',null,mc._x,targetX,20);
new Tween(mc,'_y',null,mc._y,targetY,20);
this.onMouseUp=function(){
targetY=100;
new Tween(mc,'_x',null,mc._x,targetX,20);
new Tween(mc,'_y',null,mc._y,targetY,20);
}
если кликнуть, то поедет уже в 300,100.. |
|
|||||
|
какие параметры у new Tween в скобках.
new Tween(target,...?) |
|
|||||
|
/* constructor for Tween class
obj: reference - the object which the Tween targets prop: string - name of the property (in obj) that will be affected begin: number - the starting value of prop duration: number - the length of time of the motion; set to infinity if negative or omitted useSeconds: boolean - a flag specifying whether to use seconds instead of frames */ function Tween (obj, prop, func, begin, finish, duration, useSeconds) |
|
|||||
|
Регистрация: Jan 2006
Сообщений: 35
|
Спасибо большое всем за советы, но для меня это пока сложно, щас буду разбираться.
Кстати, сделал совсем по другому, на мой взгляд - гораздо проще. Посмотрите, мне кажется идея достаточно забавная. Там всего 15 строчек, и, что интересно, работает. ![]() Впрочем, может это лишь очередной велосипед, и ничего нового я не придумал. |
|
|||||
|
Banned
Регистрация: Dec 2003
Сообщений: 3,925
|
А мне кажется, что ничего проще Tween и его подклассов нет.
Потому что 96% работы сделали за тебя. |
|
|||||
|
Регистрация: Jun 2005
Адрес: Moscow - immigrate from Volgodonsk
Сообщений: 2,534
|
а вот такой вопрос у меня возник....а есть какое-нибудь событие или как-нибудь можно узнать когда завершено движение, ну т.е. объект переместился в заданную точку?
|
![]() |
![]() |
Часовой пояс GMT +4, время: 09:49. |
|
|
« Предыдущая тема | Следующая тема » |
|
|