Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   API приложений и сред (http://www.flasher.ru/forum/forumdisplay.php?f=61)
-   -   [...] Как изменить время приблежения в зависимости от растояния (TweenLite) (http://www.flasher.ru/forum/showthread.php?t=194798)

XMON 22.02.2013 15:51

Как изменить время приблежения в зависимости от растояния (TweenLite)
 
вот код:
Код AS3:

import com.greensock.*;
TweenLite.to(mc, 0.5, {x:mc1.x, y:mc1.y})

как сделать так чтобы чем дальше объект mc стоит от объекта mc1, тем дольше он будет идти и наоборот?

vorodis2 22.02.2013 15:55

Код AS3:

TweenLite.to(mc, getDistance (new Point(mc1.x, mc1.y), new Point(mc.x, mc.y))*0.15, {x:mc1.x, y:mc1.y})
 
///Дистанция между двумя точками
public function getDistance (a:Point, b:Point):Number {
        return Math.sqrt((b.x - a.x)*(b.x - a.x) + (b.y - a.y)*(b.y - a.y));
}


iflamberg 22.02.2013 15:57

Код AS3:

import com.greensock.*;
TweenLite.to(mc, baseDelay*Math.sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2)), {x:mc1.x, y:mc1.y})


XMON 23.02.2013 14:24

можно по подробней объяснить что такое baseDelay и y1, y2, x1, x2.

iflamberg 23.02.2013 15:59

Тебе я и vorodis2 прислали два практически идентичных решения. Math.sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2)) - формула расчета расстояния между двумя точками. Это значение умножается на некую константу - базовое время твина. У vorodis2 - это 0.15, у меня - переменная baseDelay. Подтягивай математику, автор, программист без математики - как художник без кистей.


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

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