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

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

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

Регистрация: Aug 2011
Сообщений: 49
По умолчанию Использование переменной главного класса в дочернем

Всем привет. Перерыл форум с похожими вопросами, но ничего полезного к сожалению не нашел... И так.
Есть главный класс:
Код AS3:
package  {
 
	import flash.display.MovieClip;
	import rus_farWest;
 
	public class map extends MovieClip 
	{
 
		public var citiesShown:Boolean = false;		
 
 
		public function map() 
		{
			//код бла бла бла
		}
 
 
		//код бла бла бла
	}
 
}
и

Код AS3:
package  
{
	import flash.display.MovieClip;
	import flash.events.MouseEvent;
 
 
	public class rus_farWest extends MovieClip
	{
		//переменные тратата
 
		public function rus_farWest() 
		{
			this.x = Xp;
			this.y = Yp;
			this.addEventListener(MouseEvent.CLICK, clickEvent);
			this.addEventListener(MouseEvent.MOUSE_OVER, overEvent);
			this.addEventListener(MouseEvent.MOUSE_OUT, outEvent);
		}		
 
		private function clickEvent(event:MouseEvent):void
		{			
		};
 
		public function overEvent(event:MouseEvent):void
		{			
		};
 
		private function outEvent(event:MouseEvent):void
		{						 
		};		
	}
}
собственно мне нужно использовать переменную citiesShown в rus_farWest. и не смотря на то, что она паблик, почему-то выдает ошибку, я думал этого достаточно. Что нужно сделать?

Старый 06.09.2011, 21:59
2Sun вне форума Посмотреть профиль Отправить личное сообщение для 2Sun Найти все сообщения от 2Sun
  № 2  
Ответить с цитированием
2Sun
[+1 24.05.11]
[+1 09.08.11]
 
Аватар для 2Sun

Регистрация: Mar 2011
Сообщений: 101
в главном класе пишем:
Код AS3:
private static var _instance:Main = null;
public static function getInstance():Main { return _instance; }
public static function getStage():Stage { return getInstance().stage; }
вызываем соответственно вот так:
Код AS3:
Main.getInstance().// тут переменные или функции

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

Регистрация: Jan 2009
Сообщений: 3,067
Записей в блоге: 3
Отправить сообщение для GBee с помощью Skype™
http://www.flasher.ru/forum/showthread.php?t=166727 соседняя тема

2Sun ой ой ой.
__________________
Чтобы доказать, что вы не робот, причините вред другому человеку.

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

блогер
Регистрация: Mar 2008
Адрес: РФ, Санкт-Петербург
Сообщений: 2,272
Записей в блоге: 5
Отправить сообщение для gloomyBrain с помощью ICQ Отправить сообщение для gloomyBrain с помощью Skype™
@fantomasdnb - я могу ответить Вам на Ваш вопрос. Но скажите сначала, что Вы хотите сделать? Потому как ответ зависит от контекста
__________________
...вселенская грусть

Старый 06.09.2011, 22:24
fantomasdnb вне форума Посмотреть профиль Отправить личное сообщение для fantomasdnb Найти все сообщения от fantomasdnb
  № 5  
Ответить с цитированием
fantomasdnb

Регистрация: Aug 2011
Сообщений: 49
GBee, я видел эту тему, но не увидел там ни единого куска кода или чего-то внятного или полезного.

gloomyBrain, на сцене лежит штук 20 разных мувиклипов, которые по нажатию на них, ведут себя по-разному, в зависимости от citiesShown. И чтобы не создавать в каждом отдельном классе свою переменную, хочу обращаться к одной общей.

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

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

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

блогер
Регистрация: Oct 2010
Адрес: Киев
Сообщений: 1,678
Записей в блоге: 12
Отправить сообщение для Dukobpa3 с помощью Skype™
Этот вопрос скорее всего можно решить другим методом.

1. В дочерних мувиках сделать публичные методы вкл/выкл слушатели, и потом в главном когда меняется значение этой булевой переменной, то пробежаться по всем дочерним и подписаться/описаться. (ну или там какие-то геттеры/сеттеры в дочерних сделать, и установить). Если сеттер, то получится дублирование. Правильное дублирование Вместо неправильного обращения к родителю

2. Если надо чтоб слушатели срабатывали или не срабатывали то в главном мувике можно что-то типа такого заюзать:
Код AS3:
this.mouseChildren = false;
Правда сработает абсолютно на всех детей главного мувика.

З.Ы.
Цитата:
GBee, я видел эту тему, но не увидел там ни единого куска кода или чего-то внятного или полезного.
Стоит разделять не видел и не было
__________________
Кто к нам с чем для чего - тот у нас того от того.

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

Регистрация: May 2010
Адрес: Киев, Украина
Сообщений: 140
Записей в блоге: 2
Код AS3:
public static var citiesShown:Boolean = false;
вызываем в нужном классе
Код AS3:
map.citiesShown // false

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

Регистрация: Jan 2009
Сообщений: 3,067
Записей в блоге: 3
Отправить сообщение для GBee с помощью Skype™
Цитата:
Сообщение от Newred Посмотреть сообщение
Код AS3:
public static var citiesShown:Boolean = false;
вызываем в нужном классе
Код AS3:
map.citiesShown // false
А если она изменится?
__________________
Чтобы доказать, что вы не робот, причините вред другому человеку.

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

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

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


 


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


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