Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 1.0/2.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 22.06.2005, 19:59
Hanzo вне форума Посмотреть профиль Отправить личное сообщение для Hanzo Найти все сообщения от Hanzo
  № 1  
Ответить с цитированием
Hanzo

Регистрация: Jun 2005
Сообщений: 74
По умолчанию метод движения

Помогите создать метод движения точки в определенные координаты.
Метод должен принимать координаты X,Y, имя объекта который надо двигать и скорость. Сложность в том, что надо двигать объект с определенной скоростью, при этом прийти в четко указанные координаты.
Еще сложность в том, что двигать, объект надо не зависимо от EnterFrame, для этого надо использовать setIntrval который надо будет остановить по прибытии в указанные координаты, а флаг о прибытии получить неоткуда.
В общем, выглядеть все должно так:
Я щелкаю куда угодно, и точка начинает ехать туда, куда я кликнул с указанной заранее скоростью.
Если в то время когда точка едет в указанные ранее координаты, я кликну в другом месте, она должна начать ехать к новым координатам.
pl_move_to_coord(player:String, coordX:Number, coordY:Number, speed:Number):Void {
}

Может быть, у кого нибудь есть готовая функция движения, выложите пожалуйста

Старый 22.06.2005, 20:09
Nirth вне форума Посмотреть профиль Отправить личное сообщение для Nirth Посетить домашнюю страницу Nirth Найти все сообщения от Nirth
  № 2  
Ответить с цитированием
Nirth
4AM Games
 
Аватар для Nirth

блогер
Регистрация: Nov 2002
Адрес: Sofia
Сообщений: 6,264
Записей в блоге: 1
Отправить сообщение для Nirth с помощью ICQ Отправить сообщение для Nirth с помощью AIM Отправить сообщение для Nirth с помощью MSN Отправить сообщение для Nirth с помощью Yahoo Отправить сообщение для Nirth с помощью Skype™
И че вам все выдумывать да выдумывать, создавать...сделано уже все
Код:
//Создаем Мувик
_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);

Старый 22.06.2005, 20:29
silin вне форума Посмотреть профиль Посетить домашнюю страницу silin Найти все сообщения от silin
  № 3  
Ответить с цитированием
silin
 
Аватар для silin

блогер
Регистрация: Mar 2003
Адрес: Моск. обл.
Сообщений: 5,269
Записей в блоге: 6
общая схема
Код:
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);
}

Старый 22.06.2005, 20:32
Nirth вне форума Посмотреть профиль Отправить личное сообщение для Nirth Посетить домашнюю страницу Nirth Найти все сообщения от Nirth
  № 4  
Ответить с цитированием
Nirth
4AM Games
 
Аватар для Nirth

блогер
Регистрация: Nov 2002
Адрес: Sofia
Сообщений: 6,264
Записей в блоге: 1
Отправить сообщение для Nirth с помощью ICQ Отправить сообщение для Nirth с помощью AIM Отправить сообщение для Nirth с помощью MSN Отправить сообщение для Nirth с помощью Yahoo Отправить сообщение для Nirth с помощью Skype™
Кстати вот по этой ссылке есть очень клевый тутор по системе easing'ов
http://www.actionscript.org/tutorial...ng/index.shtml
__________________
Я перестал переписывать, начал редактировать, еще лет 15 и я стану писателем ^_^

Старый 22.06.2005, 20:47
Hanzo вне форума Посмотреть профиль Отправить личное сообщение для Hanzo Найти все сообщения от Hanzo
  № 5  
Ответить с цитированием
Hanzo

Регистрация: Jun 2005
Сообщений: 74
ого, как все не сложно :d
спасибо всем..

Старый 22.06.2005, 21:08
Nirth вне форума Посмотреть профиль Отправить личное сообщение для Nirth Посетить домашнюю страницу Nirth Найти все сообщения от Nirth
  № 6  
Ответить с цитированием
Nirth
4AM Games
 
Аватар для Nirth

блогер
Регистрация: Nov 2002
Адрес: Sofia
Сообщений: 6,264
Записей в блоге: 1
Отправить сообщение для Nirth с помощью ICQ Отправить сообщение для Nirth с помощью AIM Отправить сообщение для Nirth с помощью MSN Отправить сообщение для Nirth с помощью Yahoo Отправить сообщение для Nirth с помощью Skype™
Код:
var moving = new mx.transitions.Tween(ball_mc, "_x", None.easeOut, 0,50,20);
где сложно? одна строчка всего...это ведь классы, в них не нужно копаться просто нужно юзать

Старый 23.06.2005, 01:40
Hanzo вне форума Посмотреть профиль Отправить личное сообщение для Hanzo Найти все сообщения от Hanzo
  № 7  
Ответить с цитированием
Hanzo

Регистрация: Jun 2005
Сообщений: 74
Цитата:
Сообщение от Nirth
Код:
var moving = new mx.transitions.Tween(ball_mc, "_x", None.easeOut, 0,50,20);
где сложно? одна строчка всего...это ведь классы, в них не нужно копаться просто нужно юзать
Я постараюсь разобратся, только я еще не знаю как я буду это делать, ты мне показал так как тебе понятно, мне не понятно

А вот с примером silinа покопаюсь - это похоже то что я хотел, мне главное чтоб ресурсы компа меньше всего тратились...

Старый 23.06.2005, 01:56
Nirth вне форума Посмотреть профиль Отправить личное сообщение для Nirth Посетить домашнюю страницу Nirth Найти все сообщения от Nirth
  № 8  
Ответить с цитированием
Nirth
4AM Games
 
Аватар для Nirth

блогер
Регистрация: Nov 2002
Адрес: Sofia
Сообщений: 6,264
Записей в блоге: 1
Отправить сообщение для Nirth с помощью ICQ Отправить сообщение для Nirth с помощью AIM Отправить сообщение для Nirth с помощью MSN Отправить сообщение для Nirth с помощью Yahoo Отправить сообщение для Nirth с помощью Skype™
Разбор полетов
Код:
//Импортируем нужные нам библиотеки, дабы не писать путь полностью,
//да и читабильность возрастает
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 и я стану писателем ^_^

Старый 23.06.2005, 02:35
Штрек вне форума Посмотреть профиль Отправить личное сообщение для Штрек Найти все сообщения от Штрек
  № 9  
Ответить с цитированием
Штрек

Регистрация: Dec 2002
Адрес: Сочи
Сообщений: 2,819
Цитата:
Сообщение от Nirth
Разбор полетов
Код:
//Импортируем нужные нам библиотеки, дабы не писать путь полностью,
//да и читабильность возрастает
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);
Всё это радостно, однак нет самого главного -
ответа на вопрос:
"Если в то время когда точка едет в указанные ранее координаты, кликну в другом месте, она должна начать ехать к новым координатам."
У Сила есть.....

Старый 23.06.2005, 02:40
Штрек вне форума Посмотреть профиль Отправить личное сообщение для Штрек Найти все сообщения от Штрек
  № 10  
Ответить с цитированием
Штрек

Регистрация: Dec 2002
Адрес: Сочи
Сообщений: 2,819
Просто доработать....
Код:
import mx.transitions.*;
import mx.transitions.easing.*;
var v = 10, id = 0;
mc.onMouseDown = function() {
	var x = this._parent._xmouse, y = this._parent._ymouse;
	moving = new Tween(this, "_x", None.easeOut, this._x, x, 20);
	moving = new Tween(this, "_y", None.easeOut, this._y, y, 20);
};

Создать новую тему Ответ Часовой пояс GMT +4, время: 00:01.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 00:01.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.