Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Реализация движения одного объекта за другим (http://www.flasher.ru/forum/showthread.php?t=153147)

k0syak 29.03.2011 15:22

Реализация движения одного объекта за другим
 
Необходимо сделать чтобы один MovieClip двигался за другим. Пример - паровозы. Едет сам паровоз, а за ним тянутся вагоны. Есть ли идеи, может что-то готовое?

Заранее спасибо.

Tails 29.03.2011 15:24

Код AS3:

vagon2.x = vagon1.x;
vagon2.y = vagon1.y;


goodguy 29.03.2011 15:31

Tails, и что это будет? Один объект поверх другого? :D

нужно что-то типа:
Код AS3:

var angle:Number = Math.atan2(secondObject.y - firstObject.y,  secondObject.x - firstObject.x);
secondObject.x = firstObject.x - Math.sin(angle) * distance; // расстоние на которое второй объект будет отставать от первого
secondObject.y = firstObject.y + Math.cos(angle) * distance;


k0syak 29.03.2011 15:44

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

Idon 29.03.2011 15:55

Если нужно более ли менее реалистично, то почитайте про инверсную кинематику. Там всё просто.
Вот вторая ссылка из гугла:
http://www.gamedev.ru/code/articles/?id=4182

Вот в этой книжке очень доступно всё:
http://www.friendsofed.com/book.html?isbn=1590597915

t4arty 29.03.2011 15:57

посмотри тут, и разберитесь.

Tails 29.03.2011 16:05

goodguy
Зато у меня вагон будет точно следовать за другим, а у тебя вертеться вокруг паравоза :D

k0syak 29.03.2011 17:01

Спасибо за советы, буду смотреть.

goodguy 29.03.2011 19:56

Цитата:

Зато у меня вагон будет точно следовать за другим, а у тебя вертеться вокруг паравоза
Чушь. Я привел код, по которому у меня солдаты в игре ходят строем. И ни один не крутится вокруг другого

k0syak 01.04.2011 14:02

Вроде разобрался с инверсной кинематикой и понял что мне она не подходит. Если вернуться опять к примеру с паровозами. Нужно чтобы каждый элемент этой цепочки двигался по одинаковому, заранее заданному маршруту, но двигался только тогда, когда двигается первый и на такое же растояние как и первый.


Часовой пояс GMT +4, время: 03:25.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.