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

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

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

Регистрация: May 2010
Сообщений: 43
По умолчанию Как обратиться из простого класса к переменной главного

Есть главный класс (main.as):
Код AS3:
package {
	import flash.display.Sprite;
	import com.ter;
 
	public class main extends Sprite {
		public var tr:uint=1;
		function main() {
			var ttt=new ter();
		}
	}
}
и есть в папке com другой файл (ter.as) с классом (ter):
Код AS3:
package com {
 
	public class ter {
		function ter() {
			trace(tr);
		}
	}
}
1120: Access of undefined property tr.

не получается обратиться к переменной tr. Подскажите, пожалуйста, каким образом это можно сделать.

Старый 27.07.2010, 16:07
Хемуль вне форума Посмотреть профиль Отправить личное сообщение для Хемуль Найти все сообщения от Хемуль
  № 2  
Ответить с цитированием
Хемуль
Квач
 
Аватар для Хемуль

Регистрация: Sep 2006
Адрес: Украина, Киев
Сообщений: 1,526
Код AS3:
import main;
...
trace(this.parent as main).tr
__________________
Да не нужно тебе читать документацию по Flash и AS от Adobe - ты слишком умён для этого

Старый 27.07.2010, 16:35
flyberok вне форума Посмотреть профиль Отправить личное сообщение для flyberok Найти все сообщения от flyberok
  № 3  
Ответить с цитированием
flyberok

Регистрация: May 2010
Сообщений: 43
спасибо, примерно понял как надо, только для этого случая, не подходит так как класс ter не расширяет никакого класса и тем более не является потомком DisplayObjectContainer для которого работает свойство parent.

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

Регистрация: Dec 2007
Адрес: Россия, Москва
Сообщений: 541
Отправить сообщение для TWETTI с помощью Skype™
Можно вот так сделать.
Main.as
Код AS1/AS2:
package
{
	import flash.display.Sprite;
	import com.Sub;
 
	public class Main extends Sprite
	{
		public static var variable:int = 1;
 
		public function Main()
		{
			var sub:Sub = new Sub();
		}
 
	}
 
}
Sub.as
Код AS3:
package com
{
	public class Sub
	{
		public function Sub()
		{
			trace(Main.variable);
		}
 
	}
 
}

Старый 27.07.2010, 16:57
flyberok вне форума Посмотреть профиль Отправить личное сообщение для flyberok Найти все сообщения от flyberok
  № 5  
Ответить с цитированием
flyberok

Регистрация: May 2010
Сообщений: 43
О, спасибо, а всего то static добавить.
Я еще вариант придумал
Main.as
Код AS3:
package {
	import flash.display.Sprite;
	import com.ter;
 
	public class main extends Sprite {
		public var tr:uint=1;
		function main() {
			var ttt=new ter(this.stage);
		}
	}
}
ter.as
Код AS3:
package com {
 
	public class ter {
		function ter(D:Object) {
			trace(D.getChildAt(0).tr);
		}
	}
}
Добавлено через 2 минуты
тока вот не понял почему когда пишу
Код AS3:
 function ter(D:DisplayObjectContainer)
почему то не фурычит, хотя Stage является прямым потомком DisplayObjectContainer, а Object все работает ок.


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

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

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


 


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


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