Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   вопрос о траекториях-)) (http://www.flasher.ru/forum/showthread.php?t=65978)

Kukoba 24.06.2005 00:44

вопрос о траекториях-))
 
скажите уважаемые товарисчи;-))
я флешем занимаюсь всего то пару месяцев. и хотел бы спросить.

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

заранее спасибо;-)))

silin 24.06.2005 00:57

глянь вот

Kukoba 24.06.2005 01:03

спасибо.., хоть я в английском не силен.., попробую разобраться.;-)))

Nirth 24.06.2005 01:03

Path - http://www.dembicki.org/Path.as
Penner Easing - http://www.robertpenner.com/easing/

Kukoba 24.06.2005 01:20

Ой спасибо за последнее, это как раз тошо мне надо...
А абисните ламеру..., шо такойе классы.
Я так понимаю их надо как то подключать к флешу
У меня Flash MX 2004 7.2
$-)))

Nirth 24.06.2005 01:24

http://www.novemberain.com/livedocs/.../00001048.html
(Кодировка UTF-8) быстро объяснить не получиться лучше купи книжку, или читай документацию

Штрек 24.06.2005 03:00

Можешь никуда не ходить, а использовать вот этот
вот прототип /очень даже/..... Естест. мой.....
Код:

MovieClip.prototype.tween = function(prop, n_funct, izm, n_kadr, cycle,fll) {
        var beg = this[prop];
       
        arr_func = [mx.transitions.easing.Strong.easeIn, mx.transitions.easing.Strong.easeOut, mx.transitions.easing.Strong.easeInOut, mx.transitions.easing.Back.easeIn, mx.transitions.easing.Back.easeOut, mx.transitions.easing.Back.easeInOut, mx.transitions.easing.Elastic.easeIn, mx.transitions.easing.Elastic.easeOut, mx.transitions.easing.Elastic.easeInOut, mx.transitions.easing.Regular.easeIn, mx.transitions.easing.Regular.easeOut, mx.transitions.easing.Regular.easeInOut, mx.transitions.easing.Bounce.easeInOut, mx.transitions.easing.Bounce.easeInOut, mx.transitions.easing.Bounce.easeInOut];
        easeType = arr_func[n_funct-1];
        if (this.fl == undefined) {
                this.fl = true;
        }
        if (this.fl) {
                tw = new mx.transitions.Tween(this, prop, easeType, beg, beg+izm, n_kadr);
                if(fll==1){
                this.fl = false;
                }
                this.createEmptyMovieClip("kont", this.getNextHighestDepth());
                this.kont.n = 0;
                this.kont.onEnterFrame = function() {
                       

                        this.n++;
                        if (this.n == n_kadr*cycle+1) {
                                this._parent.fl = true;
                                delete this.kont.onEnterFrame;
                                this.removeMovieClip();
                        }
                };
        }
        tw.onMotionFinished = function() {
                if (this.m == undefined) {
                        this.m = 0;
                }
                this.m++;
                if (this.m == cycle) {
                        this.m = undefined;
                }
                if (cycle != undefined && this.m<cycle) {
                        this.yoyo();
                }
        };
};
//Использование
mc.tween("_x",1,300,24,1)
mc.tween("_y",1,100,24,1)
// перемещает мувик mc на 300 пикс. по X и 100 по Y
//за 24 кадра, без возвратого движ/5й параметр/
// и с опущенным флвгом, который не разрешает
//вызов метода до окончания движения...


Штрек 24.06.2005 03:04

зы. изменяя второй параметр от 1 до 15 -
меняем стиль движения.......

Nirth 24.06.2005 12:32

интересно почему я так ненавижу мешать AS1 и AS2 вместе...
тему перенесу в ActionScript

Kukoba 24.06.2005 13:03

2Штрек:
Я конечно прошу прощения, но мой ламерский мозг так и не вкурил в этот код, к чему его привязать к кадру или к символу или писать его прямо в первом кадре сцены. Я так в принципе догадался, что вместо mc и MovieClip в первой строчке, нада вписать имя своего мувика, а насчет всего остального, я ушел на кухню курить;-)))
Дело в том что я когда то работал на делфи и писал достаточно простые приложения.
И мне совершенно неясно, можно ли создавать, например, новые объекты на базе мувиков, а к ним новые методы или что-то типа этого.

Например простейший код

this.myBtn_btn.onRelease = function(){
prevFrame();
};

который можно вставить где угодно как я понял, я обычно пишу следующее

On (Release) {
prevFrame();
}
и привязываю его к myBtn_btn

мне и вголову ни пришло бы никогда к методу приравнять функцию;-)))
Нада еще учиццо и учиццо;-)))
Вам - мастерам все это смешно читать конечно, но вы наверно один из немногих ресурсов, которые реально монут помочь таким как я..;-))
Простите за многотекст;-)))


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

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