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

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

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

Регистрация: Aug 2011
Адрес: Урал
Сообщений: 43
Question Обращение к контейнеру

Есть класс:

Код AS3:
package { 
	import flash.display.MovieClip;	
	import flash.events.MouseEvent;
 
	public class WantClick extends MovieClip { 
 
		public static var  myMc : myMovie = new myMovie();
 
		public function WantClick() { 
			myMc.addEventListener(MouseEvent.CLICK, function() {
								mainCnt.testTxt.text = 'click'; 
								 });	
 
		}			
 
	} 
}
В главном классе обращаюсь так:
Код AS3:
var want : WantClick = new WantClick();
Суть: mainCnt - это контейнер созданный вручную и в него помещено текстовое поле testTxt. Клип myMovie так же находится в этом контейнере.
Как будет правильно обратиться в содержимому контейнера? Ну вот допустим по клику вывести текст.
Выдается ошибка "Обращение несуществующего свойства mainCnt". Ежели заменить
Код AS3:
mainCnt.testTxt.text = 'click';
на trace() то ошибок нет, но и на клик нет реакции...
Что делать?
(и такой мини вопрос: если я пишу extends MovieClip нужно ли делать импорт MovieClip?)

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

Регистрация: Mar 2011
Сообщений: 101
А это
Код AS3:
mainCnt
у вас где? Из приведенного куска не понятно кого вы зовете.

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

Регистрация: Aug 2011
Адрес: Урал
Сообщений: 43
mainCnt в первом кадре на сцене
З.Ы: мини-вопрос еще без ответа...

Старый 02.09.2011, 11:30
Genzo вне форума Посмотреть профиль Отправить личное сообщение для Genzo Посетить домашнюю страницу Genzo Найти все сообщения от Genzo
  № 4  
Ответить с цитированием
Genzo
 
Аватар для Genzo

блогер
Регистрация: Feb 2010
Адрес: MSK
Сообщений: 859
Записей в блоге: 3
Отправить сообщение для Genzo с помощью ICQ Отправить сообщение для Genzo с помощью Skype™
Код AS3:
myMc : myMovie = new myMovie();
а на сцену вы его добавили?
мини вопрос : ответ да
__________________
Gamedev != Gaming (http://twitter.com/#!/GenzoDev). Don't forget to [+] if it works.

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

Регистрация: Aug 2011
Адрес: Урал
Сообщений: 43
да, myMc на сцене внутри mainCnt. У mainCnt НЕ стоит экспорт в ActionScript. Точнее ставил, обращался к нему, но это не помогло...

Старый 02.09.2011, 11:59
Genzo вне форума Посмотреть профиль Отправить личное сообщение для Genzo Посетить домашнюю страницу Genzo Найти все сообщения от Genzo
  № 6  
Ответить с цитированием
Genzo
 
Аватар для Genzo

блогер
Регистрация: Feb 2010
Адрес: MSK
Сообщений: 859
Записей в блоге: 3
Отправить сообщение для Genzo с помощью ICQ Отправить сообщение для Genzo с помощью Skype™
Код AS3:
да, myMc на сцене внутри mainCnt.
тогда зачем вы создаете еще один экземпляр , не добавляете его на сцену и вешаете на него прослушиватель , если он у вас есть уже.
Скорее всего вам надо делать так :
Код AS3:
public class WantClick extends MovieClip { 
 
 
		public function WantClick() { 
			mainCnt.myMc.addEventListener(MouseEvent.CLICK, function() {
								mainCnt.testTxt.text = 'click'; 
								 });	
 
		}			
 
	}
__________________
Gamedev != Gaming (http://twitter.com/#!/GenzoDev). Don't forget to [+] if it works.

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

Регистрация: Aug 2011
Адрес: Урал
Сообщений: 43
я пробовал обращаться по Instance name, но выдается "Обращение несуществующего свойства mainCnt"
Вы ведь в строке
Код AS3:
mainCnt.myMc.addEventListener...
имели ввиду instance имена?

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

блогер
Регистрация: Feb 2010
Адрес: MSK
Сообщений: 859
Записей в блоге: 3
Отправить сообщение для Genzo с помощью ICQ Отправить сообщение для Genzo с помощью Skype™
Очень тяжело вас понять :
Цитата:
mainCnt - это контейнер созданный вручную и в него помещено текстовое поле testTxt
да, myMc на сцене внутри mainCnt.
соответственно у вас есть 2 объекта , значит можете к ним обращаться mainCnt.myMc. , но структура оочень странная и я бы сказал непонятная
__________________
Gamedev != Gaming (http://twitter.com/#!/GenzoDev). Don't forget to [+] if it works.

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

Регистрация: Aug 2011
Адрес: Урал
Сообщений: 43
В главном классе я так и обращаюсь к другим объектам контейнера (mainCnt.anyClip) и все работает. Но из этого класса ( WantClick() )я не могу так обратиться.
Просто хотел вынести в отдельный класс различные подсветки кнопок (внутри mainCnt) и т.п., чтобы главный не загромождать

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

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

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


 


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


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