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

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

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

Регистрация: Nov 2009
Сообщений: 16
По умолчанию Обращение к обьектам библиотеки из класса

Добрый день.

Начал изучать ActionScript 3.0 (с 2-м не знаком), для более лучшего усваивания информации вместе с теорий сразу же занимаюсь практикой. Столкнулся с проблемой, которую самостоятельно пока решить не могу.

Есть "сцена", у неё есть основной класс, допустим:

Код AS3:
package blahPlayer {
	import flash.display.Sprite;
	import flash.display.MovieClip;
	import flash.display.SimpleButton;
	import flash.media.Video;
 
	public class Main extends Sprite {
		private var Player:Object;
 
		public function Main():void {
			this.Player = new VPlayer();
		}
	}
}
так вот мне надо из класса Vplayer, объект которого создается в классе Main, обратиться к обьекту из библиотеки, пусть это будет "movie clip" или же "button" не важно. Как это сделать? Подскажите пожалуйтса.

Старый 22.11.2009, 20:47
DarkLight вне форума Посмотреть профиль Отправить личное сообщение для DarkLight Посетить домашнюю страницу DarkLight Найти все сообщения от DarkLight
  № 2  
Ответить с цитированием
DarkLight
ветеран форума
 
Аватар для DarkLight

Регистрация: May 2006
Адрес: Москва
Сообщений: 2,978
Отправить сообщение для DarkLight с помощью ICQ Отправить сообщение для DarkLight с помощью Skype™
То, что лежит в библиотеке, не существует в виде экземпляров. Чтобы достучаться до них, прописываем в Linkage у символа Class, затем создаем новый экземпляр класса через new, как обычно. Ну и при необходимости добавляем на сцену через addChild, чтобы его было видно)
__________________
4am is time to rock

Старый 22.11.2009, 21:01
VirRaa вне форума Посмотреть профиль Отправить личное сообщение для VirRaa Найти все сообщения от VirRaa
  № 3  
Ответить с цитированием
VirRaa

Регистрация: Nov 2009
Сообщений: 16
Сделал так, как сказал DarkLight. В библиотеке есть "movie clip" - allTime. В нем лежит dynamic text. Ситуация следующая:

Код AS3:
this.allTime = new AllTime();
addChild(this.allTime);
На экране ничего не появляется, хотя там по умолчанию уже есть текст. Пытаюсь его изменить:

Код AS3:
this.allTime.text = 'test';
Получаю следующую ошибку:

.elements.time.AllTime.
at buPlayer::VPlayer/initPlayer()
at buPlayer::VPlayer$iinit()
at buPlayer::Main$iinit()

Помогите разобраться пожалуйста.

Добавлено через 4 часа 37 минут
Вопрос, что должно быть внутри класса allTime? Сейчас там примерно так:

Код AS3:
package blahPlayer.elements.time {
	import flash.display.MovieClip
 
	public class AllTime extends MovieClip {
		public function AllTime():void {
                	super();
		}
	}
}


Последний раз редактировалось VirRaa; 23.11.2009 в 01:39.
Старый 20.01.2010, 00:51
djc вне форума Посмотреть профиль Отправить личное сообщение для djc Найти все сообщения от djc
  № 4  
Ответить с цитированием
djc

Регистрация: Feb 2006
Сообщений: 2
хмм.. странно както ты его создаешь.. попробуй так

Код AS3:
var all:allTime = new AllTime();
             this.addChild(all);
а достучаться ты и не сможешь...
ты указываешь
Код AS3:
this.allTime.text = 'test';
НО ты ж сам говоришь что ВНУТРИ мувиклипа лежит динамикТекст. значит должно быть так
Код AS3:
this.all.SOME DYnamic TEXT.text='test';
где "SOME DYnamic TEXT" - это Instance Name у твоего динамиктекста котрый внути мувика

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

блогер
Регистрация: Mar 2007
Сообщений: 1,291
Записей в блоге: 5
Отправить сообщение для cleptoman с помощью ICQ
чтоб достучаться до динамик текста, то он должен быть как паблик свойство, если класс не динамический.
__________________
http://cleptoman.free-lance.ru
achivements: дважды благословлен на воровство. осеяный благодатью

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

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

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


 


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


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