PDA

Просмотр полной версии : Движение объекта за мышью


Ylik
01.06.2011, 01:19
Здравствуйте! Помогите, пожалуйста разобраться!
Пытаюсь сделать перемещение мувиклипа за мышкой, но кое-что не получается понять.
Я хотела сделать так:
Чем дальше мышка от объекта, тем быстрее объект к мышке приближается. Соответственно, чем ближе к мышке, тем меньше скорость движения.
И задумала так:
Если скорость большая, то показывается мувиклип с быстрым движением (например, бегущий человек).
Если скорость небольшая, то показывается мувиклип с медленным движением (например, просто идущий человек).
У меня пока получилось только чтоб человек бежал за мышью, а чтоб он начинал идти - не получается. Не понимаю, как скорость задать в условии.
Очень-очень буду благодарна за помощь!!!
Вот мой код для наглядности:
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
попробуй так
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
Уже понятнее. Спасибо большое!