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

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

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

Регистрация: Jun 2007
Сообщений: 25
По умолчанию область видимости функций

столкнулся с следующей проблемой
мне нужно вызвать функцию по событию нажатия кнопочки
вот код (всё это происходит в классе):

Код:
private function createBG() {
	trace(‘ТУТ’);
}

private function createTitle(){
	container_mc.attachMovie("Pro", "title_mc", 2);
	container_mc. title_mc.onPress = function(){
		createBG();
}
}
Проблема в том, что функция createBG не вызывается! что подскажите?

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

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
Использовать класс Delegate
__________________
(и)Нильс.ru | Плагины для FlashDevelop

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

Регистрация: May 2003
Адрес: Tallinn
Сообщений: 3,182
Код:
import mx.utils.Delegate;
......

container_mc.title_mc.onPress = Delegate.create(this, function(){createBG()});
ну да =) на скорую руку сморозил мальца =)
__________________
Flash Developer
Папа TDP4 Team Battle


Последний раз редактировалось CrazyFlasher; 11.06.2007 в 00:52.
Старый 09.06.2007, 18:59
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 4  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

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

Код:
import mx.utils.Delegate;
......

container_mc.title_mc.onPress = Delegate.create(this, createBG);

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

Регистрация: Oct 2006
Сообщений: 60
Вообще так не принято писать ( обработчик внутри обработчика, из-за этого и начинаются проблемы с областью видимости) , и Delegate по-моему не лучшее решение, завел бы класс для своего клипа, в нем бы описал обработчики для аттача и он пресс, мое личное мнение, оч скромное

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

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

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

Регистрация: Jun 2007
Сообщений: 25
Спасибо за ответ очень помогли

Старый 12.08.2007, 11:53
ElLamok вне форума Посмотреть профиль Отправить личное сообщение для ElLamok Найти все сообщения от ElLamok
  № 8  
Ответить с цитированием
ElLamok

Регистрация: Oct 2006
Сообщений: 60
Цитата:
Сообщение от iNils
И далеко вы уйдете? С мувиклипами ладно, можно через _parent. А что с XML делать?
А в чем проблема с XML ? и зачем парент для мувиклипа?
Пишется классик ToolTip, у него методы create, onPress.

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

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
Мне интересно, что вы будете делать без Delegate внутри onLoad от XML?
Если в AS1 прокатывал вариант с созданием в самом xml ссылки на какой-то объект, то в AS2 класс XML не является динамическим и поэтому вы будует обречены на ссылки внутри onLoad только на сам xml.
Что касается мувиклипов... Я фактически всегда использую Delegate, так как кнопки у меня отделены от управляющего класса, которому должны бли передаваться события от этих кнопок.
__________________
(и)Нильс.ru | Плагины для FlashDevelop

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

Регистрация: Nov 2000
Сообщений: 135
iNils, подскажи как быть с переменной "success" при использовании Делегате? ведь тогда получается что ее нельзя проверить?!

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

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

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


 


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


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