![]() |
ну ты не кипятись. просто нужно прощитывать расстояние оставшиеся до достижения точки по обеим осям, и если оно меньше "шага",то добавлять его, а не "шаг", андэстэндэбл?
|
2Usnul: чем дальше, тем больше я сомневаюсь в твоем возрасте :) ну или ты вундеркинд :) ЧТо в переводе с немецкого: удивительный ребенок.
Ну хорошо, это понятно, ну а если траектория не просто прямо или по-диагонали. а скажем объект движется по петле. а доходя до конца петли по ней же возвращается назад? |
Задавай уравнение движения параметрически и не парься. Параметром может являться время, может шаг (скажем 1/100 пути).
В общем виде это выглядит так: _x=f1(t) _y=f2(t) t={0...1} - параметр f1, f2 - функции Тогда можно извращаться, как угодно (в смысле двигаться по любой кривой) и всегда при t=1 окажешся точно в конце пути. А "параметрические уравнения" можно нарыть поиском в том же yandex. |
о, да, параметрические... осталось еще выяснить что это и пройти курс программирования и высшей математики... :(
|
Vrefr, я уже,честно говоря, забыл, что те нужно - как-то отошли от темы. Напомни, а? :)
А то что я советы вредные даю - так это не со зла. Обещаю, постараюсь помочь. |
по петле? это запросто :)
_root.massx=[10,20,30,40,50,40,30,20,10] _root.massy=[100,90,80,90,100,110,120,110,100] _root.speed=30 _root.nextposition=0 _root.thisx=0 _root.thisy=90 _root.mc._x=_root.thisx _root.mc._y=_root.thisy mc.onEnterFrame=function(){ if(_root.mc._x!=_root.massx[_root.NextPosition] and _root.mc._y!=_root.massy[_root.NextPosition]){ _root.mc._x+=(_root.massx[_root.NextPosition]-_root.thisx)/_root.speed _root.mc._y+=(_root.massy[_root.NextPosition]-_root.thisy)/_root.speed } else{ if(_root.nextposition<_root.massx.length and _root.nextposition<_root.massy.length){ _root.thisx=_root.mc._x _root.thisy=_root.mc._y _root.nextposition+=1 } else{ trace("end of coordinats Array") } } } вот написал, не обижайся что не пашет, но зато дает представление :) я его почти полчаса писал :( и вдабавок спать хочется, короче не серчай :) завтра будет время, разберусь :) |
| Часовой пояс GMT +4, время: 09:05. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.