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

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

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

Регистрация: Feb 2006
Сообщений: 588
iNils, ты кому отвечал?

Повторю вопрос. На пальцах пример, есть class в котором реализованна функция, в этой функции еще функция, которая нуждается в свойствах переменных определенных в классе... вот до них достучаться нельзя. Или я просто не умею. Delegate тут не поможет, потому как он обращается к функциям, а мне надо к объектам.

Короче, iNils, дай мне свою асю или мыло в личку. Я тебе скину исходник, в котором в Fla все работает, а в классе не хочет. Спасибо

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

Регистрация: Dec 2006
Сообщений: 230
2 __etc ::

Наезд таки несправедлив. Хотя, скорее всего, непонятка происходит..

1) Код рабочий. О чем в посте и подписано.
2) trace(this) в моем коде отсутствует.
3) Целью публикации моего примера была простая реализация перегрузки события onPress. Для решения этой задачи Делегат не нужен.

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

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

1) Рабочий в пределах трейса;
2) Лишь только по этому работает;
3) Плохой пример, абсолютно. В дальнейшем возникнут основательные проблемы, за которые спасибо не скажут.

Спорить будем?

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

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

2 __etc ::

Любой код должен решать поставленную перед ним задачу. Функционал обработчика события onPress определен не был. Да и спорить с Вами, уважаемый, себе дороже.. Еще плюсов навешаете или забаните под горячую руку.. Скажем, за неуважение к корифеям.. Вообще, создается впечатление, что за увлекательным занятием наказывания юзер0в Вы проводите довольно значительную часть жизни. Народ вылетает с форума только так!

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

Регистрация: Sep 2002
Сообщений: 30,787
Цитата:
Сообщение от Ariel
2 __etc ::

Любой код должен решать поставленную перед ним задачу. Функционал обработчика события onPress определен не был.
Догадаться, что человеку нужен будет не только трейс, не так уж и сложно.
Надо немножко думать вперед, совсем чуть-чуть.

з.Ы. Всё остальное твое написанное — флейм, тянущий на +4 и +5, к сведению. Если уж на то пошло, то бан получают либо совсем безбашенные товарищи, либо рекламщики, коих не так уж и много (я-то знаю). Так что, во избежании лишних квадратных скобочек под никами, сие обсуждение закрыто. Причем тут кривой код приведенного «решения» и какая связь между моей деятельностью, вообще непонятно. Если это аргумент «протев», то смахивает на какую-то совершенно левую отмазку от собственной некомпетентности (ну или просто ляпа, кои возможны у любого человека).


Последний раз редактировалось etc; 06.03.2007 в 03:27.
Старый 06.03.2007, 03:23
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 16  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
Цитата:
Сообщение от Ariel
Да и спорить с Вами, уважаемый, себе дороже.. Еще плюсов навешаете или забаните под горячую руку..
Не стоит путать административный спор с предметным спором.
__________________
(и)Нильс.ru | Плагины для FlashDevelop

Старый 06.03.2007, 15:57
TbIKBA вне форума Посмотреть профиль Отправить личное сообщение для TbIKBA Найти все сообщения от TbIKBA
  № 17  
Ответить с цитированием
TbIKBA
[+1.6 19.12.06]

Регистрация: Nov 2000
Сообщений: 135
Да уж.. развели дисскуссию... я всетки вернусь к своим баранам.
Непонимание работы класса Делигейт (не смог я передать ни обьект ни его свойства с помощью этого класса) и поиск по этой теме навели меня на простой пример со ссылкой на обьект. Есть ли какие-то приемущесва/недостатки этого способа по сравнению с использованием класса Делигейт в данном конкретном случае. Или забегая вперёд может что-то возникнет в будущем чего я пока не предусмотрел.

вот пример моего исправленного кода:
Код:
class MyClass {
	private var container:MovieClip;
	public function MyClass(target:MovieClip) {
		container = target.attachMovie("mc", "mc", target.getNextHighestDepth());
                var ref:Object = this; //  простая ссылка на мой класс 
		container.btn.onPress = function() {
			ref.update(this); 
		};
	}
	public function update(obj:Object) {
		trace(obj._x);
	}
}

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

Регистрация: Sep 2002
Сообщений: 30,787
Методы в методе объявляют в AS1, но никак не в AS2/AS3. Почему? Потому что появляются паразитные ссылки, которые приведут к тому, что экземпляр класса не получится удалить. Более того, подобная конструкция очень хрупкая, нарушить области видимости и прийти к полному хаосу можно ещё быстрее. Кроме того, сбивает с толку this, который ссылается не на экземпляр класса, а на кнопку. Ну и в конце-концов, такой код типизировать проблематично.
iNils привел рабочий код.

Старый 07.03.2007, 13:46
TbIKBA вне форума Посмотреть профиль Отправить личное сообщение для TbIKBA Найти все сообщения от TbIKBA
  № 19  
Ответить с цитированием
TbIKBA
[+1.6 19.12.06]

Регистрация: Nov 2000
Сообщений: 135
Ок, спасибо за разъяснение. У меня наверно последний вопрос, как мне из функции "update" обратится к вызвовшему её клипу, в данном случае "container.btn" ???
Спасибо.

Старый 07.03.2007, 13:52
TbIKBA вне форума Посмотреть профиль Отправить личное сообщение для TbIKBA Найти все сообщения от TbIKBA
  № 20  
Ответить с цитированием
TbIKBA
[+1.6 19.12.06]

Регистрация: Nov 2000
Сообщений: 135
Правильно ли будет просто сохранить ссылку на етот клип?
Код:
import mx.utils.Delegate;
class MyClass {
	private var container:MovieClip;
        private var btnContainer:MovieClip;
	public function MyClass(target:MovieClip) {
		container = target.attachMovie("mc", "mc", target.getNextHighestDepth());
                btnContainer = container.btn;
		btnContainer.onPress = Delegate.create(this, update);
		};
	}
	public function update() {
		trace(btnContainer);
	}
}


Последний раз редактировалось TbIKBA; 07.03.2007 в 13:58.
Создать новую тему Ответ Часовой пояс GMT +4, время: 21:06.
Быстрый переход
  « Предыдущая тема | Следующая тема »  
Опции темы
Опции просмотра

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

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


 


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


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