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

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

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

Регистрация: Oct 2012
Сообщений: 63
По умолчанию Обращение к объектам

Всем привет. Изивяюсь за очередной ламерский вопрос... Есть такая ситуация. У меня есть в адобе символ Main у символа настроен класс: MainComponent, базовый класс: flash.display.Sprite. В этом символе есть кнопка b_page, класса у кнопки нет. В самом симоле(кнопки) есть еще текстовое поле(text). Как мне обратиться к этому текстовому полю скажем написать в нем какой либо текст? Буду очень признателен, уже очень долго мучаюсь))

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

Регистрация: Sep 2008
Адрес: Черкассы
Сообщений: 1,167
Записей в блоге: 1
Отправить сообщение для AlexCooper с помощью ICQ Отправить сообщение для AlexCooper с помощью Skype™
примерно так
Код AS3:
package  {
 
	import flash.display.Sprite;
	import flash.events.Event;
	import MainComponent;
 
	public class main extends Sprite {
 
		private var b_page:MainComponent = new MainComponent(); // вариант1 программное добавление
		private var b_page:MainComponent; // вариант2 если объект уже размещен на сцене 
 
		public function main ():void {
			addEventListener(Event.ADDED_TO_STAGE, init);
 
		}
 
		private function init($e:Event):void {
			removeEventListener(Event.ADDED_TO_STAGE, init);
			interface();
		}
 
		private function interface():void {
			addChild(b_page); // только если используем вариант1
 
			b_page.text.text = "Текст";
		}
	}
}
Добавлено через 14 минут
есть конечно еще криворукий вариант
Код AS3:
	var target_mc = this;
	for (var i:uint = 0; i < target_mc.numChildren; i++)
		if (target_mc.getChildAt(i).name =='b_page') target_mc.getChildAt(i).text.text = 'текст';
__________________
return this...


Последний раз редактировалось AlexCooper; 20.11.2012 в 23:14.
Старый 20.11.2012, 23:27
Nickolai вне форума Посмотреть профиль Отправить личное сообщение для Nickolai Найти все сообщения от Nickolai
  № 3  
Ответить с цитированием
Nickolai

Регистрация: Oct 2012
Сообщений: 63
Я так и делал. Выводит: TypeError: Error #1010:
Код AS3:
Термин не определен и не имеет свойств.
	at Main/interfaces()
	at Main/init()
	at flash.display::DisplayObjectContainer/addChild()
	at Preloader/startup()
	at Preloader/checkFrame()
И так всегда...

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

Регистрация: Sep 2008
Адрес: Черкассы
Сообщений: 1,167
Записей в блоге: 1
Отправить сообщение для AlexCooper с помощью ICQ Отправить сообщение для AlexCooper с помощью Skype™
проверьте что б папке где лежит main.as был файл MainComponent.as
Код AS3:
package  {
 
	import flash.display.Sprite;
	import flash.events.Event;
	import MainComponent;
 
	public class main extends Sprite {
 
		private var b_page:MainComponent = new MainComponent(); // вариант1 программное добавление
 
		public function main ():void {
			addEventListener(Event.ADDED_TO_STAGE, init);
 
		}
 
		private function init($e:Event):void {
			removeEventListener(Event.ADDED_TO_STAGE, init);
			interface();
		}
 
		private function interface():void {
			addChild(b_page); 
 
			b_page.text.text = "Текст";
		}
	}
}
Добавлено через 2 минуты
выгрузите исходники
__________________
return this...

Старый 20.11.2012, 23:48
Nickolai вне форума Посмотреть профиль Отправить личное сообщение для Nickolai Найти все сообщения от Nickolai
  № 5  
Ответить с цитированием
Nickolai

Регистрация: Oct 2012
Сообщений: 63
MainComponent.as у меня такого нет, у меня все в swc и добавлено в библиотеку.

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

Регистрация: Sep 2008
Адрес: Черкассы
Сообщений: 1,167
Записей в блоге: 1
Отправить сообщение для AlexCooper с помощью ICQ Отправить сообщение для AlexCooper с помощью Skype™
тогда у вас очевидно проблема с импортом
__________________
return this...

Старый 21.11.2012, 00:04
Nickolai вне форума Посмотреть профиль Отправить личное сообщение для Nickolai Найти все сообщения от Nickolai
  № 7  
Ответить с цитированием
Nickolai

Регистрация: Oct 2012
Сообщений: 63






Посмотрите фото качество плоховато, но тут все понятно и так.

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

Регистрация: Sep 2008
Адрес: Черкассы
Сообщений: 1,167
Записей в блоге: 1
Отправить сообщение для AlexCooper с помощью ICQ Отправить сообщение для AlexCooper с помощью Skype™
не мудрено что у вас не работает.
__________________
return this...

Старый 21.11.2012, 00:13
Nickolai вне форума Посмотреть профиль Отправить личное сообщение для Nickolai Найти все сообщения от Nickolai
  № 9  
Ответить с цитированием
Nickolai

Регистрация: Oct 2012
Сообщений: 63
Почему?

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

Регистрация: Sep 2008
Адрес: Черкассы
Сообщений: 1,167
Записей в блоге: 1
Отправить сообщение для AlexCooper с помощью ICQ Отправить сообщение для AlexCooper с помощью Skype™
давайте разберемся. В Main'e мы объявляем переменную b_page как экземпляр класса MainComponent, в MainComponent мы объявляем переменную b_page1 как экземпляр класса b_page. Теперь у нас есть вся цепочка. b_page.b_page1.text1.text = 'text';

Добавлено через 2 минуты
плюс то что вы вызываете у себя в скрине конструктор класса. Добавьте функцию my_func в класс b_page и в мейне вызывайте её.

Добавлено через 5 минут
плюс не используйте переменные с именами классов.
__________________
return this...

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

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

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


 


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


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