Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript (http://www.flasher.ru/forum/forumdisplay.php?f=5)
-   -   новая жизнь Motion Tween (http://www.flasher.ru/forum/showthread.php?t=62065)

llllllllll 19.08.2004 16:53

Ну уж прости, наизусть не заучивал :)

http://www.senocular.com , а там уж ищи :) или на layer51 ;) у него был Path class.

Про Ahab'a не знаю ничего ...

Вообще можно поискать по 2002 году, что-то вроде "Animation Math in Action Script", народ много чего делал ... Jared Tarbell, Lifaros, всех не помню :)

Iv 19.08.2004 17:29

senocular не умеет ходить по безье. только по прямым и по окружностям. в детский сад.

- народ действительно много делал. и я вроде как стараюсь не оставаться в стороне от процесса...
но, к сожалению, я ничего такого не встречал.

llllllllll 19.08.2004 18:12

Да вообще то все умеют ;) ...

http://www.senocular.com/pub/layer51/drawpath.swf


Код:

       
       
        var i = 0;
        var k = 1;
        var sx = 100;
        var sy = 100;
        var cx = 200;
        var cy = 100;
        var ax = 200;
        var ay = 200;
       
       
        createEmptyMovieClip("point_mc",1);
        point_mc.lineStyle(20,0);
        point_mc.moveTo(0,0)
        point_mc.lineTo(0,.15)
       
        createEmptyMovieClip("ancor1_mc",2);
        ancor1_mc.lineStyle(10,0xFF0000);
        ancor1_mc.moveTo(0,0)
        ancor1_mc.lineTo(0,.15)
        ancor1_mc._x = sx;
        ancor1_mc._y = sy;
       
        createEmptyMovieClip("ancor2_mc",3);
        ancor2_mc.lineStyle(10,0xFF0000);
        ancor2_mc.moveTo(0,0)
        ancor2_mc.lineTo(0,.15)
        ancor2_mc._x = ax;
        ancor2_mc._y = ay;

        createEmptyMovieClip("control_mc",4)
        control_mc.lineStyle(10,0xFF);
        control_mc.moveTo(0,0)
        control_mc.lineTo(0,.15)
        control_mc._x = cx;
        control_mc._y = cy;

        ancor1_mc.onPress = ancor1_mc.startDrag;
        ancor2_mc.onPress = ancor2_mc.startDrag;
        control_mc.onPress = control_mc.startDrag;
       
        ancor1_mc.onRelease = ancor1_mc.onReleaseOutside = ancor1_mc.stopDrag;
        ancor2_mc.onRelease = ancor2_mc.onReleaseOutside = ancor2_mc.stopDrag;
        control_mc.onRelease = control_mc.onReleaseOutside = control_mc.stopDrag;
       
        bezierQuadratic = function(t, a, b, c)
        {
                return (1 - t) * (1 - t) * a + 2 * (1 - t) * t * b + t * t * c;
        }
       
        onEnterFrame = function()
        {       
                i += k;
               
                if(i > 99 || i < 1) k *= -1;

                var t = i * .01;

               
                clear();
                lineStyle(1,0xCCCCCC);
                moveTo(ancor1_mc._x, ancor1_mc._y);
                curveTo(control_mc._x, control_mc._y, ancor2_mc._x, ancor2_mc._y);
       
                point_mc._x = bezierQuadratic( t, ancor1_mc._x, control_mc._x, ancor2_mc._x);
                point_mc._y = bezierQuadratic( t, ancor1_mc._y, control_mc._y, ancor2_mc._y);
               
        }

Сделать из этого путь из нескольких кривых - дело получаса :)

llllllllll 19.08.2004 18:26

Path от Ahab'a я не нашел, это вроде на were-here было старом, где он модером был в мат. разделе :)

Но вот на все случаи жизни ..
http://members.shaw.ca/flashprogramm...wis/index.html

Iv 19.08.2004 18:29

сорри, но по-моему ты не в теме.
представленный скрипт далеко задолго до senocular был известен и неоднократно реализован.
но есть маленькая разница между тем, что сделал я и что показываешь ты.
разница заключается в том, что в этом коде нет обсчета позиции по длине кривой. есть только обсчет позиции по коэффициенту t. хехе. в детский сад.
- просто утащи один якорь подальше, а контрол поставь к одному из якорей. Скорость будет варьироваться на длине кривой.
хм... даже объяснять разницу не хочется...

Iv 19.08.2004 18:39

а линк хороший, пасиба

llllllllll 19.08.2004 21:57

Вложений: 1
Да да, я не в теме :) да ты прав разница очень маленькая, но есть, и девидить безье , считать длину, и т д у меня нет желания, но чтобы не высчитывать это пол годы, мы бы с Sencular'ом сделали бы как в аттаче, а далее удалимся в детский сад :)

А то что линк хороший, мне уже сообщили, пажалуста :)

llllllllll 19.08.2004 22:14

Да, загляну сюда еще на минутку :)

Вот недавно видел, http://www.alex-uhlmann.de/flash/animationpackage/ , там вроде тоже было, пускай не в цельном виде класс "Светлый Путь" :), но много чего по безье шагающего ...

Iv 19.08.2004 23:53

хехе отличный линк ты последний прислал. у нас как раз разговор идет о том, чтобы включить мой Path в его проект :).... нет пророка в своем отечестве :)

ладно.. заспорились тут.. до хрипоты.. до драки :)
спасибо за помощь. многое оказалось весьма любопытным.

Iv 26.08.2004 16:28

вот что примерно получается.


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

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