Форум 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=111949)

Federation 13.05.2008 16:58

Движение объекта самостоятельно и взаимодействие с мышью. Вопрос!
 
Ребят.. подскажите пжасто!
Я хочу сделать такой ролик
Мыльный Пузырик(mp) летает плавно по полю в рандомном движении а когда наводишь мышь он от тебя убегает..
как убегает я сделал..к обьекту привезал код:

Код:

this.createEmptyMovieClip ("mp", 0);
this.dist = function () {
        return Math.sqrt (Math.pow (this._xmouse - this.mp._x, 2) + Math.pow (this._ymouse - this.mp._y, 2));
};
this.move = function () {
        var r = this.dist ();
        if (r < 100) {
                trace (r);
                var dr = (100 - r) / 2;
                var u = Math.atan2 (this._ymouse - this.mp._y, this._xmouse - this.mp._x);
                this.mp._x -= dr * Math.cos (u);
                this.mp._y -= dr * Math.sin (u);
        } else {
                delete this.onEnterFrame;
        }
};
this.onMouseMove = function () {
        if (this.dist () < 100) {
                this.onEnterFrame = this.move;
        }
};

сюда же вшить его плавное движение рандомное я у меня не получилось...((

iNils 13.05.2008 17:05

Для оформления своего кода надо использовать теги [code][/code].

gloomyBrain 13.05.2008 17:59

Нууу....

По-моему можно поступить следующим образом:
-Привязатьося не к событию onEnterFrame, а к _root.onMouseMove=function()
-В этой функции и прописывать зависимость от расстояния и т.д.
-А вот если расстояние меньше предельного, тогданужно 1) выбрать рандомную точку в поле координат 2) setInterval() для функции движения до заданной точки пол прямой - для этого надо вычислить угол наклона этой самой прямой и прибавлять во время движения мувиклипа по Х - скорость*косинус этого угла, по У - соответственно на синус...

вот как то так...


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

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