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

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

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

блогер
Регистрация: Sep 2007
Адрес: Гамбург
Сообщений: 1,648
Записей в блоге: 12
По умолчанию Некорректная работа Tween

Привет. Вот код перемещения клипа при клике мышкой на рабочем поле в точку клика. Проблема в следующем: при столкновении с объектом клип иногда ведет себе как должен - т.е. останавливается - а иногда как будто отскакивает - т.е. резко появляется в случайном месте экрана далеко от препятствия.
Код:
_root.onMouseDown = function (){
	c = this._xmouse;
	d = this._ymouse;
	import mx.transitions.Tween;
	var a:Tween = new Tween(ball, "_x", mx.transitions.easing.None.easeNone, ball._x, c, 1, true);
	var b:Tween = new Tween(ball, "_y", mx.transitions.easing.None.easeNone, ball._y, d, 1, true);
	ball.onEnterFrame = function (){
		if (this.hitTest(square)){
			q = this._x;
			w = this._y;
			//trace (this._x);
			//trace (this._y);
			a.stop ();
			b.stop ();
			delete this.onEnterFrame;
			if (this._x <= 300){
				this._x = q - 2;
				this._y = w - 2;
			}
			if (this._x >= 300){
				this._x = q + 2;
				this._y = w + 2;
			}
		}
	}
}
В чем проблема? Или это кривые руки?
P.S.: может кто-то подскажет другой вариант поведения клипа при столкновении.

Вот исходник:
Вложения
Тип файла: rar Tween.rar (5.4 Кб, 49 просмотров)


Последний раз редактировалось Волгоградец; 10.12.2007 в 12:36.
Старый 10.12.2007, 12:42
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 2  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
Лучше не в onEnterFrame проверять а в onMotionChanged того твина, который работает с клипом, который нужно хиттестить. Да и объекты лучше одним твином двигать, а не двумя...
__________________
Hell is the possibility of sanity

Старый 10.12.2007, 12:45
CrazyFlasher вне форума Посмотреть профиль Отправить личное сообщение для CrazyFlasher Найти все сообщения от CrazyFlasher
  № 3  
Ответить с цитированием
CrazyFlasher
 
Аватар для CrazyFlasher

Регистрация: May 2003
Адрес: Tallinn
Сообщений: 3,182
по мне так лучше вообще этот твин не использовать!
__________________
Flash Developer
Папа TDP4 Team Battle

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

блогер
Регистрация: Sep 2007
Адрес: Гамбург
Сообщений: 1,648
Записей в блоге: 12
wvxvw, научи пжлста, как в один твин запихнуть изменение по _x и _y...
СумашедшийФлэшер, почему его лучше не использовать? На форуме ему (Твину) дифирамбы поют...


Последний раз редактировалось Волгоградец; 10.12.2007 в 13:55.
Старый 10.12.2007, 13:58
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 5  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Поищите TweenExtended.

Старый 10.12.2007, 14:41
Волгоградец вне форума Посмотреть профиль Отправить личное сообщение для Волгоградец Найти все сообщения от Волгоградец
  № 6  
Ответить с цитированием
Волгоградец
 
Аватар для Волгоградец

блогер
Регистрация: Sep 2007
Адрес: Гамбург
Сообщений: 1,648
Записей в блоге: 12
__etc, поискал. Нашел. А как теперь использовать? Я с ООП как-то не очень... Как вообще добавлять сторонние классы? Import'ом? Или в специальную папку нужно положить? Сори за ламерский вопрос...

Добавлено: файл .mxp.


Последний раз редактировалось Волгоградец; 10.12.2007 в 15:14.
Старый 10.12.2007, 14:48
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 7  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
В каком виде? В mxp?

Старый 10.12.2007, 16:05
Волгоградец вне форума Посмотреть профиль Отправить личное сообщение для Волгоградец Найти все сообщения от Волгоградец
  № 8  
Ответить с цитированием
Волгоградец
 
Аватар для Волгоградец

блогер
Регистрация: Sep 2007
Адрес: Гамбург
Сообщений: 1,648
Записей в блоге: 12
Файл в .mxp.

Старый 10.12.2007, 16:10
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 9  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Ну тогда надо просто запустить его (если не запускается, то установить через Extension Manager). Документация по классу появится потом в панели хелпа.

Старый 10.12.2007, 16:14
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 10  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
Да ну, нормально он работает (Твин в смысле)...
Код:
import mx.transitions.Tween;
import mx.transitions.easing.*;
//
var tw:Tween = new Tween(mc,"_x",Regular.easeInOut,0,300,3,true);
tw.onMotionChanged = function():Void {
	trace(this.time); // Время, сколько проигрывается анимация
	trace(this.position); // 1..0, значение изменения параметра, который анимируется (0-изначальное положение, 1-конечное).
	trace(this.obj); // Ссылка на объект, который анимируется.
	this.obj._y = this.obj._x;
}
а класс Tween ничем особенным от других кем угодно написаных классов не отличается. Можно и самому его аналог написать, и пользоваться другими, вот, еще есть MCTween - я спокойно живу с тем, что пришло вместе с Флешем и мне хватает %)
__________________
Hell is the possibility of sanity

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

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

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


 


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


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