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

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

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

Регистрация: May 2006
Сообщений: 29
По умолчанию Перемещение

подскажите плз как сделать плавное перемещение на разницу координат клика и центра окна.
было бы здорово если был какой-нибудь пример )


Последний раз редактировалось aciton; 30.08.2007 в 01:16.
Старый 28.08.2007, 21:01
udaaff вне форума Посмотреть профиль Отправить личное сообщение для udaaff Найти все сообщения от udaaff
  № 2  
Ответить с цитированием
udaaff
...

модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
На сцене должен быть мувик с именем "mc"
Код:
var mouseListener:Object = new Object();
mouseListener.onMouseDown = function() {
	
	moving(_xmouse, _ymouse);
};
Mouse.addListener(mouseListener);
function moving(x:Number, y:Number) {
	mc.onEnterFrame = function() {
		if (Math.abs(this._x-x)<1 && Math.abs(this._y-y)<1) {
			trace("deleted");
			this._x = x;
			this._y = y;
			delete this.onEnterFrame;
		}
		this._x += (x-this._x)*.4;
		this._y += (y-this._y)*.4;
	};
}


Последний раз редактировалось udaaff; 28.08.2007 в 21:08.
Старый 28.08.2007, 21:10
aciton вне форума Посмотреть профиль Отправить личное сообщение для aciton Найти все сообщения от aciton
  № 3  
Ответить с цитированием
aciton

Регистрация: May 2006
Сообщений: 29
спасибо огромное. этот ваш код я уже видел. но хочется по другому, чтобы мувик двигался не в сторону клика, а чтобы место клика двигалось к центру экрана

Старый 28.08.2007, 21:10
Aziz Zaynutdinoff вне форума Посмотреть профиль Отправить личное сообщение для Aziz Zaynutdinoff Посетить домашнюю страницу Aziz Zaynutdinoff Найти все сообщения от Aziz Zaynutdinoff
  № 4  
Ответить с цитированием
Aziz Zaynutdinoff
 
Аватар для Aziz Zaynutdinoff

Регистрация: Feb 2006
Адрес: Moscow
Сообщений: 552
или так
Код:
function slideThis(mc:MovieClip, __x:Number, __y:Number, __speed:Number):Void
{
    mc.onEnterFrame = function()
    {
      var dx:Number = (__x - this._x) / __speed;
      var dy:Number = (__y - this._y) / __speed;
      if(Math.abs(dx) < .1 && Math.abs(dy) < .1)
      {
         this._x = __x;
         this._y = __y;
         delete this.onEnterFrame;
       } else {
         this._x += dx;
         this._y += dy;
       }
     }
}
var mouseListener:Object = new Object();
mouseListener.onMouseMove = function()
{
   slideThis(mc, _xmouse, _ymouse, 3);
}
Mouse.addListener(mouseListener);
На сцене должен содержаться MovieClip с прописанным instance name "mc"

PS
чтобы дивгалась сцена (или возникала такая иллюзия, перемещайте все объекты по дивжению мыши, либо перемещайте MovieClip, внутри которого находяться необходимые к перемещению клипы.

Старый 28.08.2007, 21:28
aciton вне форума Посмотреть профиль Отправить личное сообщение для aciton Найти все сообщения от aciton
  № 5  
Ответить с цитированием
aciton

Регистрация: May 2006
Сообщений: 29
спасибо, насчет того что все объкеты находились в 1 клипе и двигались - понятно, не понятны 2 вещи,
1 как сделать чтобы точка клика двигалась к центру
2 на сайте видно, что есть несколько слоев (клипов), которе при перемещении двигаются с разным расстоянием, и возникает иллюзия перспективы, где мувики, находящиеся на переднем плане двигаются на большее расстояние, чем задние..

Старый 28.08.2007, 21:32
udaaff вне форума Посмотреть профиль Отправить личное сообщение для udaaff Найти все сообщения от udaaff
  № 6  
Ответить с цитированием
udaaff
...

модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
В общем то, практически тоже самое
Код:
my_mc.onRelease = function() {
	moving(this,Stage.width/2-this._xmouse, Stage.height/2-this._ymouse);
};
//
function moving(mc:MovieClip, x:Number, y:Number) {
	mc.onEnterFrame = function() {
		if (Math.abs(this._x-x)<1 && Math.abs(this._y-y)<1) {
			trace("deleted");
			this._x = x;
			this._y = y;
			delete this.onEnterFrame;
		}
		this._x += (x-this._x)*.4;
		this._y += (y-this._y)*.4;
	};
}


Последний раз редактировалось udaaff; 28.08.2007 в 21:38.
Старый 28.08.2007, 21:41
aciton вне форума Посмотреть профиль Отправить личное сообщение для aciton Найти все сообщения от aciton
  № 7  
Ответить с цитированием
aciton

Регистрация: May 2006
Сообщений: 29
спасибо вам огромное товарищи!!!
а про вопрос 2 не подскажите для кучи ))) ?

Старый 28.08.2007, 21:49
udaaff вне форума Посмотреть профиль Отправить личное сообщение для udaaff Найти все сообщения от udaaff
  № 8  
Ответить с цитированием
udaaff
...

модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
Параметр dl отвечает за "замедление" в данной функции
Код:
my_mc.onRelease = function() {
	moving(this,Stage.width/2-this._xmouse, Stage.height/2-this._ymouse,.2);
};
//
function moving(mc:MovieClip, x:Number, y:Number,dl:Number) {
	mc.onEnterFrame = function() {
		if (Math.abs(this._x-x)<1 && Math.abs(this._y-y)<1) {
			trace("deleted");
			this._x = x;
			this._y = y;
			delete this.onEnterFrame;
		}
		this._x += (x-this._x)*dl;
		this._y += (y-this._y)*dl;
	};
}
или ты про что? я не могу до конца въехать


Последний раз редактировалось udaaff; 28.08.2007 в 21:51.
Старый 28.08.2007, 21:59
aciton вне форума Посмотреть профиль Отправить личное сообщение для aciton Найти все сообщения от aciton
  № 9  
Ответить с цитированием
aciton

Регистрация: May 2006
Сообщений: 29
это всего лишь замедление, в итоге 2 мувика остаются после перемещения на одинаковой позиции по отношению друг к другу
а на сайте видна перспектива отчетливо. т.е. для заднего мувика расстояние движения меньше чем у мувика на переднем плане
в твоем случае координаты 1 и 2 мувика до и после перемещения по отношению друг к другу остаются неизменными


Последний раз редактировалось aciton; 28.08.2007 в 22:08.
Старый 28.08.2007, 22:15
udaaff вне форума Посмотреть профиль Отправить личное сообщение для udaaff Найти все сообщения от udaaff
  № 10  
Ответить с цитированием
udaaff
...

модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
aciton, вы ввели новое понятие в физику -- "расстояние движения", осталось единицу измерения только придумать. В "моем случае" присутствует только один мувик.

Что мешает два мувика, переместить на две разные позиции?

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

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

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


 


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


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