![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Регистрация: May 2008
Сообщений: 4
|
Ребят.. подскажите пжасто!
Я хочу сделать такой ролик Мыльный Пузырик(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:03. |
|
|||||
|
Нууу....
По-моему можно поступить следующим образом: -Привязатьося не к событию onEnterFrame, а к _root.onMouseMove=function() -В этой функции и прописывать зависимость от расстояния и т.д. -А вот если расстояние меньше предельного, тогданужно 1) выбрать рандомную точку в поле координат 2) setInterval() для функции движения до заданной точки пол прямой - для этого надо вычислить угол наклона этой самой прямой и прибавлять во время движения мувиклипа по Х - скорость*косинус этого угла, по У - соответственно на синус... вот как то так... |
![]() |
![]() |
Часовой пояс GMT +4, время: 17:23. |
|
|
« Предыдущая тема | Следующая тема » |
|
|