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

Ylik 01.06.2011 01:19

Движение объекта за мышью
 
Здравствуйте! Помогите, пожалуйста разобраться!
Пытаюсь сделать перемещение мувиклипа за мышкой, но кое-что не получается понять.
Я хотела сделать так:
Чем дальше мышка от объекта, тем быстрее объект к мышке приближается. Соответственно, чем ближе к мышке, тем меньше скорость движения.
И задумала так:
Если скорость большая, то показывается мувиклип с быстрым движением (например, бегущий человек).
Если скорость небольшая, то показывается мувиклип с медленным движением (например, просто идущий человек).
У меня пока получилось только чтоб человек бежал за мышью, а чтоб он начинал идти - не получается. Не понимаю, как скорость задать в условии.
Очень-очень буду благодарна за помощь!!!
Вот мой код для наглядности:
Код AS1/AS2:

var speedX:Number = 0;
_root.gl.mc1._visible=false;
_root.gl.mc2._visible=false;
 
_root.gl.onEnterFrame = function() {
        var mdx:Number = _xmouse-this._x;
 
        this._x += mdx/5;
        this._x += speedX;
 
        if (_xmouse > this._x) {
                _root.gl.mc1._visible=false;
                _root.gl.mc2._visible=true;
                _root.gl._xscale=-100;
        }
 
        if (_xmouse < this._x) {
                _root.gl.mc1._visible=false;
                _root.gl.mc2._visible=true;
                _root.kot._xscale=100;
        }
 
        if (_xmouse = this._x) {
                _root.gl.mc1._visible=true;
                _root.gl.mc2._visible=false;
        }
};

mc1 - мувиклип с ходьбой
mc2 - мувиклип с бегом

max_oil 01.06.2011 01:26

попробуй так
Код AS1/AS2:

if (Math.abs(_xmouse - this._x) < 100) {
 ходьба
} else {
 бег
}


Ylik 01.06.2011 01:27

Спасибо, сейчас попробую. :)

Добавлено через 5 минут
Ой, наконец-то!!! Спасибо огромное!!!
А то всё ищу-ищу, а понять не могу. :yahoo:

Добавлено через 6 минут
А можете какую-то информацию дать (может ссылку) про Math.abs а то так не очень ясно, что это такое?
Большое спасибо!

max_oil 01.06.2011 01:37

Math.abs(_xmouse - this._x) - вычисляет расстояние между точками
Math.abs - возвращает всегда положительное число, тоесть если (_xmouse - this._x) равно -50, вернется все равно 50.. т.к. расстояния отрицательными не бывают :)

Ylik 01.06.2011 01:38

Уже понятнее. Спасибо большое!


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

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