PDA

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


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
Для оформления своего кода надо использовать теги .

gloomyBrain
13.05.2008, 17:59
Нууу....

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

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