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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 28.11.2006, 20:00
Dorin123 вне форума Посмотреть профиль Отправить личное сообщение для Dorin123 Найти все сообщения от Dorin123
  № 11  
Ответить с цитированием
Dorin123
 
Аватар для Dorin123

Регистрация: Nov 2006
Сообщений: 16
спасибо попробую применить..

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

Регистрация: Nov 2006
Сообщений: 16
как можно поюзать класс Proxy в моем случае?

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

Регистрация: Sep 2002
Сообщений: 30,787
Точно также, как и Delegate — по функциональности они одинаковы.

Старый 28.11.2006, 21:49
artcraft вне форума Посмотреть профиль Отправить личное сообщение для artcraft Посетить домашнюю страницу artcraft Найти все сообщения от artcraft
  № 14  
Ответить с цитированием
artcraft
 
Аватар для artcraft

блогер
Регистрация: Aug 2005
Адрес: www.artcraft.cz
Сообщений: 1,967
Записей в блоге: 6
Отправить сообщение для artcraft с помощью ICQ
так же, за исключением способа передачи аргументов:

Класс от iNils-а:
Код:
import ru.inils.Delegate;
var mc:MovieClip = this.createEmptyMovieClip('mc', 1);
with(mc){beginFill(0xFF3366); lineTo(100,0);  lineTo(100,100); lineTo(0, 100); lineTo(0,0); endFill();}
var doItOnPress:Function = function(myMc:MovieClip, pram2:Number){
	trace(this+'    myMc:'+myMc+'    pram2:'+pram2);
}
mc.onPress = Delegate.create(this, doItOnPress, [mc, 123]);
Класс от __etc:
Код:
import ascb.util.Proxy;
var mc:MovieClip = this.createEmptyMovieClip('mc', 1);
with(mc){beginFill(0xFF3366); lineTo(100,0);  lineTo(100,100); lineTo(0, 100); lineTo(0,0); endFill();}
var doItOnPress:Function = function(myMc:MovieClip, pram2:Number){
	trace(this+'    myMc:'+myMc+'    pram2:'+pram2);
}
mc.onPress = Proxy.create(this, doItOnPress, mc, 123);
и там и там в оутпуте будет:
Код:
_level0    myMc:_level0.mc    pram2:123
разница только в наличии квадратных скобок
мне больше нравится без :~)
__________________
Хороший отдых - половина работы.


Последний раз редактировалось artcraft; 28.11.2006 в 22:27.
Старый 28.11.2006, 22:14
artcraft вне форума Посмотреть профиль Отправить личное сообщение для artcraft Посетить домашнюю страницу artcraft Найти все сообщения от artcraft
  № 15  
Ответить с цитированием
artcraft
 
Аватар для artcraft

блогер
Регистрация: Aug 2005
Адрес: www.artcraft.cz
Сообщений: 1,967
Записей в блоге: 6
Отправить сообщение для artcraft с помощью ICQ
точно такого результат можно добиться не импортируя никаких классов,
однако, не смотря на то что кода не стало больше, а от импорта удалось избавиться,
этот способ считается менее правильным:
Код:
var mc:MovieClip = this.createEmptyMovieClip('mc', 1);
with(mc){beginFill(0xFF3366); lineTo(100,0);  lineTo(100,100); lineTo(0, 100); lineTo(0,0); endFill();}
var doItOnPress:Function = function(myMc:MovieClip, pram2:Number){
	trace(this+'    myMc:'+myMc+'    pram2:'+pram2);
}
var self:Object=this;
mc.onPress = function(){self.doItOnPress(this, 123);}
__________________
Хороший отдых - половина работы.


Последний раз редактировалось artcraft; 28.11.2006 в 22:25.
Старый 28.11.2006, 23:56
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 16  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
artcraft, это костылки в виде дополнительной ссылки, которая, тем не менее, не решает проблем с областью видимостью.

з.Ы. Proxy не мой, автор неизвестен, тем не менее, ему большое спасибо.

Старый 29.11.2006, 00:37
artcraft вне форума Посмотреть профиль Отправить личное сообщение для artcraft Посетить домашнюю страницу artcraft Найти все сообщения от artcraft
  № 17  
Ответить с цитированием
artcraft
 
Аватар для artcraft

блогер
Регистрация: Aug 2005
Адрес: www.artcraft.cz
Сообщений: 1,967
Записей в блоге: 6
Отправить сообщение для artcraft с помощью ICQ
автора зовут Joey Lott
вот его сайт http://www.person13.com/
а тут вся ascb библиотека http://www.person13.com/ascblibrary/
__________________
Хороший отдых - половина работы.

Старый 29.11.2006, 01:25
artcraft вне форума Посмотреть профиль Отправить личное сообщение для artcraft Посетить домашнюю страницу artcraft Найти все сообщения от artcraft
  № 18  
Ответить с цитированием
artcraft
 
Аватар для artcraft

блогер
Регистрация: Aug 2005
Адрес: www.artcraft.cz
Сообщений: 1,967
Записей в блоге: 6
Отправить сообщение для artcraft с помощью ICQ
Цитата:
Сообщение от __etc
не решает проблем с областью видимостьи.
можно немного подробнее,
мне казалось, что в результате и так и так функция doItOnPress вызывается таким образом что this указывает на _level0 ...
в чём конкретно проблема области видимостьи? можно пример?
__________________
Хороший отдых - половина работы.


Последний раз редактировалось artcraft; 29.11.2006 в 01:27.
Старый 29.11.2006, 01:59
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 19  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
artcraft, ммм, я про твой неправильный способ говорил

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

блогер
Регистрация: Aug 2005
Адрес: www.artcraft.cz
Сообщений: 1,967
Записей в блоге: 6
Отправить сообщение для artcraft с помощью ICQ
И я про него - он точно так функцию вызывает
__________________
Хороший отдых - половина работы.

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

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

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


 


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


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