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

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

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

Регистрация: Feb 2010
Сообщений: 29
Question Плавное перемещение MovieClip на место клика мыши, с поворотом в направлении цели

Очень нужна ваша помощь!!

Ситуация такая:
При клике мыши в какой-то точке, из точки с определенными координатами должен вылететь MovieClip в точку клика. Долетев до точки, клип должен исчезнуть (ну это понятно HitTest).

Главных проблем две:

1. Клип должен быть повернут в сторону клика мыши.
2. И как попроще реализовать плавность?

Старый 27.05.2010, 17:55
rainbowrussia вне форума Посмотреть профиль Отправить личное сообщение для rainbowrussia Найти все сообщения от rainbowrussia
  № 2  
Ответить с цитированием
rainbowrussia
 
Аватар для rainbowrussia

Регистрация: Feb 2008
Сообщений: 560
0) HitTest вроде тут не в тему
1) mc._rotation, Math.atan или atan2
2) Tween

Если нужны подробности - начните делать, не видя ничего невозможно подсказать как именно и в какую сторону нужно вращать ваш мувик.

Старый 27.05.2010, 20:00
TaNda вне форума Посмотреть профиль Отправить личное сообщение для TaNda Найти все сообщения от TaNda
  № 3  
Ответить с цитированием
TaNda

Регистрация: Feb 2010
Сообщений: 29
делала я Tween, не работает он так как нужно - он вообще для этого ли создан?

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

Регистрация: Feb 2008
Сообщений: 560
Вот код, во вложении исходник:

Код AS1/AS2:
import mx.transitions.Tween;
import mx.transitions.easing.*;
 
 
back.onRelease = function () {
 
	if (this.tw1) { this.tw1.stop(); }
	if (this.tw2) { this.tw2.stop(); }
	if (this.tw3) { this.tw3.stop(); }
 
	obj._visible = true;
 
	var len = 30;
 
	var angle = 180 * Math.atan2(this._ymouse - obj._y, this._xmouse - obj._x) / Math.PI;
 
	if (Math.abs(angle + 360 - obj._rotation) < Math.abs(angle - obj._rotation)) {
		angle += 360;
	}
	if (Math.abs(angle - 360 - obj._rotation) < Math.abs(angle - obj._rotation)) {
		angle -= 360;
	}
 
	this.tw1 = new mx.transitions.Tween(obj, "_rotation", Strong.easeOut, obj._rotation, angle, len);	
	this.tw2 = new mx.transitions.Tween(obj, "_x", Strong.easeOut, obj._x, this._xmouse, len);	
	this.tw3 = new mx.transitions.Tween(obj, "_y", Strong.easeOut, obj._y, this._ymouse, len);	
	this.tw1.onMotionFinished = function() {
		obj._visible = false;
		delete(back.tw1);
		delete(back.tw2);
		delete(back.tw3);
	};
 
}
back - фон, по которому кликаем, obj - объект, повернут вправо, точка привязки на "конце".
Вложения
Тип файла: rar obj.rar (7.4 Кб, 60 просмотров)

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

Регистрация: Feb 2010
Сообщений: 29
rainbowrussia, спасибо огромнейшее!! Я даже не надеялась на такую помощь, век не забуду! =)

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

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

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


 


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


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