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

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

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

Регистрация: Jul 2006
Адрес: Земля>Россия>Вологда
Сообщений: 3,056
Отправить сообщение для CorC с помощью ICQ Отправить сообщение для CorC с помощью MSN Отправить сообщение для CorC с помощью Skype™
По умолчанию onPress+Delegate

Здавствуйте, многоуважаемые.
Есть такая проблемма, часа 2 уже бьюсь. Есть класс, его прилепляю к мувику в котором есть другой мувик, и на вложенный мувик на onPress надо создавать Delegate. Создается отлично и переменные класса видит, но почему то не видит тот объект от которого вызывался.
Код:
import mx.utils.Delegate;
class TTT extends MovieClip {
	var button1:MovieClip;//есть такая кнопка в мувике
	public function TTT(){
		this.button1.onPress=Delegate.create(this,Button1Press);//delegate собственно
	}
	function Button1Press(ThisO:Object){
		this.button1._x=0;//видит, понятно почему, и двигает в 0
		ThisO.gotoAndStop(2);//очень надо с ним пообщаться :)
		trace(ThisO);//undefined, просто, а не [object]
	}
}
Помогите, пожалуйста, чем можете Что я не так пишу?
__________________
"We Are The Champions My Friends!" Queen

Старый 19.04.2007, 16:41
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 2  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,879
Записей в блоге: 7
Код:
/**
 * Класс ru.inils.util.Delegate, модифицированный mx.utils.Delegate. Выполнение функции в заданной области видимости с передачей параметров.
 * 
 * @author	iNils
 * @version	1.0
 * @see		mx.utils.Delegate
 */
class ru.inils.util.Delegate extends Object {
	/**
	 * Передача событий от любого объекта к любому объекту.
	 * 
	 * @usage			public static create (obj:Object, func:Function, arg:Array) : Function
	 * @param	obj		Object - Объект, целевая область видимости.
	 * @param	func	Function - Метод, обработчик данного объекта.
	 * @param	arg		Array [дополнительный параметр] - Массив передаваемых аргументов.
	 * @return  Function	- Функция обработчик.
	 */
	public static function create (obj:Object, func:Function, arg:Array):Function {
		var f = function () {
			var targetTemp = arguments.callee.target;
			var funcTemp = arguments.callee.func;
			var argTemp = arguments.callee.arg;
			return funcTemp.apply (targetTemp, argTemp);
		};
		f.target = obj;
		f.func = func;
		f.arg = arg;
		return f;
	}
}
Код:
import ru.inils.util.Delegate;
class TTT extends MovieClip {
	var button1:MovieClip;
	//есть такая кнопка в мувике
	public function TTT () {
		this.button1.onPress = Delegate.create (this, Button1Press, [{x:5, y:6}]);
		//delegate собственно
	}
	function Button1Press (ThisO:Object) {
		this.button1._x = 0;
		//видит, понятно почему, и двигает в 0
		ThisO.gotoAndStop (2);
		//очень надо с ним пообщаться :)
		trace (ThisO.x);
		//undefined, просто, а не [object]
	}
}
__________________
(и)Нильс.ru | Плагины для FlashDevelop

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

Регистрация: Sep 2002
Сообщений: 30,784
Ужыс.

iNils, по-моему, это не совсем то.

CorC, в onRelease никаких параметров не передается. Ты же можешь обратиться к button1, так ведь? Что ещё нужно?

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

Регистрация: Jul 2006
Адрес: Земля>Россия>Вологда
Сообщений: 3,056
Отправить сообщение для CorC с помощью ICQ Отправить сообщение для CorC с помощью MSN Отправить сообщение для CorC с помощью Skype™
Как ни странно, работает Спасибо, а я велосипед изобретал 2 часа...
__________________
"We Are The Champions My Friends!" Queen

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

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

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


 


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


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