![]() |
|
||||||||||
|
|
|
|||||
|
Регистрация: Jun 2005
Сообщений: 74
|
Помогите создать метод движения точки в определенные координаты.
Метод должен принимать координаты X,Y, имя объекта который надо двигать и скорость. Сложность в том, что надо двигать объект с определенной скоростью, при этом прийти в четко указанные координаты. Еще сложность в том, что двигать, объект надо не зависимо от EnterFrame, для этого надо использовать setIntrval который надо будет остановить по прибытии в указанные координаты, а флаг о прибытии получить неоткуда. В общем, выглядеть все должно так: Я щелкаю куда угодно, и точка начинает ехать туда, куда я кликнул с указанной заранее скоростью. Если в то время когда точка едет в указанные ранее координаты, я кликну в другом месте, она должна начать ехать к новым координатам. pl_move_to_coord(player:String, coordX:Number, coordY:Number, speed:Number):Void { } Может быть, у кого нибудь есть готовая функция движения, выложите пожалуйста ![]() |
|
|||||
|
4AM Games
|
И че вам все выдумывать да выдумывать, создавать...сделано уже все
//Создаем Мувик
_root.createEmptyMovieClip("ball_mc",3);
//рисуем кружок
ball_mc.lineStyle(35,0xff6600,100);
ball_mc.moveTo(0,0);
ball_mc.lineTo(0.5,0);
//Двигаем
import mx.transitions.*;
import mx.transitions.easing.*;
var moving = new mx.transitions.Tween(ball_mc, "_x", None.easeOut, 0,50,20);
|
|
|||||
|
общая схема
var v=10,id=0;
mc.onMouseDown=function(){
clearInterval(id);
var x=this._parent._xmouse-this._x,y=this._parent._ymouse-this._y;
var r=Math.sqrt(x*x+y*y),a=Math.atan2(y,x);
x=v*Math.cos(a),y=v*Math.sin(a);
var n=int(r/v),m=this;
if(n)id=setInterval(function(){if(!--n)clearInterval(id);m._x+=x,m._y+=y;updateAfterEvent()},10);
}
|
|
|||||
|
4AM Games
|
Кстати вот по этой ссылке есть очень клевый тутор по системе easing'ов
http://www.actionscript.org/tutorial...ng/index.shtml
__________________
Я перестал переписывать, начал редактировать, еще лет 15 и я стану писателем ^_^ |
|
|||||
|
Регистрация: Jun 2005
Сообщений: 74
|
ого, как все не сложно :d
спасибо всем.. |
|
|||||
|
Регистрация: Jun 2005
Сообщений: 74
|
Цитата:
А вот с примером silinа покопаюсь - это похоже то что я хотел, мне главное чтоб ресурсы компа меньше всего тратились... |
|
|||||
|
4AM Games
|
Разбор полетов
//Импортируем нужные нам библиотеки, дабы не писать путь полностью, //да и читабильность возрастает import mx.transitions.*; import mx.transitions.easing.*; //переходим к делу, /* ball_mc - цель над которой будем извращаеться None.easeOut - None это класс, для линейного движения, easeOut это просто метод(в данном классе они все одинаковые) 0 - ноль это начальная координата 50- дистанция на которую будем двигаться 20 - продолжительность(в нашем случае в кадрах) */ var moving = new Tween(ball_mc, "_x", None.easeOut, 0,50,20);
__________________
Я перестал переписывать, начал редактировать, еще лет 15 и я стану писателем ^_^ |
|
|||||
|
Регистрация: Dec 2002
Адрес: Сочи
Сообщений: 2,819
|
Цитата:
ответа на вопрос: "Если в то время когда точка едет в указанные ранее координаты, кликну в другом месте, она должна начать ехать к новым координатам." У Сила есть..... |
|
|||||
|
4AM Games
|
Ну так ведь нам никто и не мешает поизвращаться =)
__________________
Я перестал переписывать, начал редактировать, еще лет 15 и я стану писателем ^_^ |
![]() |
![]() |
Часовой пояс GMT +4, время: 01:27. |
|
|
« Предыдущая тема | Следующая тема » |
|
|