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

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

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

Регистрация: Jun 2009
Сообщений: 461
Question Как обращаться к root, из детей поколения >2ого?

У меня есть основной класс, в котором есть функция Func():
Код AS3:
package Scr{
	import flash.display.*;
	public class Main extends MovieClip {
 
		var Layer01_Provider:Layer01;
 
		function Main():void {
			Layer01_Provider=new Layer01();
			addChild(Layer01_Provider);
		}
		function Func():void {
                }
	}//class
}//package
Есть слой Layer01, который добавляется в главном слое:
Код AS3:
package Scr{
	import flash.display.*;
	public class Layer01 extends MovieClip {
 
		var Layer02_Provider:Layer02;
 
		function Layer01():void {
			Layer02_Provider=new Layer02();
			addChild(Layer02_Provider);
		}
	}//class
}//package
Есть слой Layer02, который добавляется в Layer01:
Код AS3:
package Scr{
	import flash.display.*;
	public class Layer02 extends MovieClip {
 
		function Layer02():void {
 
		}
	}//class
}//package
Как мне из слоя Layer02 обратиться к Func(), который находиться в главном слое?

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

Регистрация: Oct 2006
Адрес: Волгодонск
Сообщений: 182
проще в Layer02 сгенерировать событие, слушать его в Main и по этому событию запускать Func().

Старый 02.10.2009, 09:43
Котяра вне форума Посмотреть профиль Отправить личное сообщение для Котяра Посетить домашнюю страницу Котяра Найти все сообщения от Котяра
  № 3  
Ответить с цитированием
Котяра
буду краток
 
Аватар для Котяра

модератор форума
Регистрация: Sep 2003
Адрес: Ближайшее Замкадье
Сообщений: 3,110
Записей в блоге: 28
Отправить сообщение для Котяра с помощью ICQ Отправить сообщение для Котяра с помощью Skype™
правильнее:
Цитата:
Сообщение от GFreemen Посмотреть сообщение
проще в Layer02 сгенерировать событие, слушать его в Main и по этому событию запускать Func().
__________________
Отряд Котовскага

Старый 02.10.2009, 01:07
switcher! вне форума Посмотреть профиль Отправить личное сообщение для switcher! Найти все сообщения от switcher!
  № 4  
Ответить с цитированием
switcher!

Регистрация: May 2009
Сообщений: 220
+ сделать Func static и обращаться через Main.Func()

+ передавать в конструкторы this (основной класс) параметром из одного в другой по цепочке. А в нужном - уже работать или с аргументом конструктора или присвоить переменной экземпляра.
Правда, этот способ, слишком вычурный ))

Старый 02.10.2009, 11:26
random13 вне форума Посмотреть профиль Отправить личное сообщение для random13 Найти все сообщения от random13
  № 5  
Ответить с цитированием
random13
 
Аватар для random13

Регистрация: Oct 2006
Адрес: Москва
Сообщений: 889
а еще лучше уйти от мысли что вы работаете со слоями

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

Регистрация: Jun 2009
Сообщений: 461
Цитата:
Сообщение от random13 Посмотреть сообщение
а еще лучше уйти от мысли что вы работаете со слоями
Почему, это очень удобно.

Старый 05.10.2009, 01:41
AL.exe вне форума Посмотреть профиль Отправить личное сообщение для AL.exe Посетить домашнюю страницу AL.exe Найти все сообщения от AL.exe
  № 7  
Ответить с цитированием
AL.exe
 
Аватар для AL.exe

Регистрация: Jan 2004
Адрес: Net
Сообщений: 1,049
Отправить сообщение для AL.exe с помощью ICQ
Ну, хотя бы потому, что их не существует для программиста
__________________
Дело не в тебе

Старый 05.10.2009, 10:32
dimarik вне форума Посмотреть профиль Отправить личное сообщение для dimarik Найти все сообщения от dimarik
  № 8  
Ответить с цитированием
dimarik
.
 
Аватар для dimarik

модератор форума
Регистрация: Sep 2003
Адрес: Москва
Сообщений: 4,630
Записей в блоге: 20
(super.root as Layer01_Provider).Func();
__________________
Воспитан в TimeZero. Работаю в Mail.ru.

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

Регистрация: Sep 2002
Сообщений: 30,787
Цитата:
Сообщение от dimarik Посмотреть сообщение
(super.root as Layer01_Provider).Func();
Ух, Димка, быдлокодеров разводишь?

Старый 05.10.2009, 22:58
dimarik вне форума Посмотреть профиль Отправить личное сообщение для dimarik Найти все сообщения от dimarik
  № 10  
Ответить с цитированием
dimarik
.
 
Аватар для dimarik

модератор форума
Регистрация: Sep 2003
Адрес: Москва
Сообщений: 4,630
Записей в блоге: 20
Аха, на понт развожу.
__________________
Воспитан в TimeZero. Работаю в Mail.ru.

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

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

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


 


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


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