PDA

Просмотр полной версии : Движение нескольких мувиков от курсора


Rot pfeffer
06.04.2009, 21:31
Добрый день.
Пните меня в нужную сторону, вторые сутки мучаюсь...
Задача - программно создать несколько мувиков в нужных координатах.

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

Прочитал кучу страниц, нашел много примеров, состряпал свое но не могу получить конечный результат.

С одним мувиком я справился, а вот вывести 2 не могу, что бы они бегали одновременно от курсора и возращались на свои места.

Если вывожу 2, то все действия закрепляются за последним мувиком.

Подскажите как сделать?

this.attachMovie("circle", "mmm",0);

//начальные координаты
var _startX:Number = 199;
var _startY:Number = 199;

//конечные координаты
var _finishX:Number = 200;
var _finishY:Number = 200;
//скорость
var _speed:Number = 5;
//
mmm._x = _startX;
mmm._y = _startY;
mmm.onEnterFrame = function() {
if (this._x<_finishX) {
this._x +=_speed;
}
if (this._x>_finishX) {
this._x -=_speed;
}

if (this._y<_finishY) {
this._y +=_speed;
}
if (this._y>_finishY) {
this._y -=_speed;
}

};
// уходим от курсора
this.dist = function () {
return Math.sqrt (Math.pow (this._xmouse - this.mmm._x, 2) + Math.pow (this._ymouse - this.mmm._y, 2));

};



this.move = function ()
{
var r = this.dist ();
if (r < 50) {

var dr = (50 - r) / 2;
var u = Math.atan2 (this._ymouse - this.mmm._y, this._xmouse - this.mmm._x);
this.mmm._x -= dr * Math.cos (u);
this.mmm._y -= dr * Math.sin (u);
}
else {
delete this.onEnterFrame;
}
};

this.onMouseMove = function () {
if (this.dist () < 10) {

this.onEnterFrame = this.move;
}
};

Vektor
07.04.2009, 00:25
Старался по максимуму сохранить оригинал, поэтому получилось немного коряво.

Rot pfeffer
07.04.2009, 11:28
Старался по максимуму сохранить оригинал, поэтому получилось немного коряво.

Спасибо преогромное. Не ожидал что все сделают за меня =)