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

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

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

Регистрация: Feb 2012
Сообщений: 63
По умолчанию Stage в классах

Объект stage не виден внутри внешних классов (*.as файлы). Как при помощи import дать классу понять, что это такое?
В импорте написано:
Код AS3:
import flash.display.*;
Судя по документации, stage лежит внутри flash.display. Этого мало?

P.S.: Если писать не somePalce.addChild(...), а просто addChild(...), куда Flash "положит" объект?


Последний раз редактировалось Halfist; 09.04.2012 в 18:04.
Старый 09.04.2012, 18:05
DaFive вне форума Посмотреть профиль Отправить личное сообщение для DaFive Посетить домашнюю страницу DaFive Найти все сообщения от DaFive
  № 2  
Ответить с цитированием
DaFive
 
Аватар для DaFive

Регистрация: May 2008
Адрес: {0,0}
Сообщений: 754
Записей в блоге: 1
Отправить сообщение для DaFive с помощью ICQ
Передать ссылку, как вариант.
Флеш положит объект внутрь того объекта, который вызовет метод addChild.
__________________
Кодинг, багинг, алгоритминг. me @

Старый 09.04.2012, 18:06
Inet_PC вне форума Посмотреть профиль Отправить личное сообщение для Inet_PC Посетить домашнюю страницу Inet_PC Найти все сообщения от Inet_PC
  № 3  
Ответить с цитированием
Inet_PC
 
Аватар для Inet_PC

Регистрация: Feb 2009
Адрес: Гы...поди, найди!
Сообщений: 853
Записей в блоге: 1
Просто нужно слушать событие Event.ADDED_TO_STAGE, тогда стейдж будет доступен. Еще возможно стейдж не виден, если Вы не наследуетесь от DisplayObject. В общем лучше выложите кусочек кода. Зачем гадать?
__________________
http://www.chessmax.ru

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

Регистрация: May 2008
Адрес: {0,0}
Сообщений: 754
Записей в блоге: 1
Отправить сообщение для DaFive с помощью ICQ
Ну это если сам экземпляр добавляется на stage.
__________________
Кодинг, багинг, алгоритминг. me @

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

Регистрация: Feb 2012
Сообщений: 63
К примеру, метод становится нерабочим, если в нём написать следующее:
Код AS3:
mySuperObject.x = (stage.width / 2);
Это учитывая, что внутри класса есть строка:
Код AS3:
import flash.display.*;

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

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

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

Регистрация: Dec 2010
Адрес: Ярославль
Сообщений: 1,255
Halfist, ну не виден stage, если экземпляр не добавден на сцену.
Цитата:
Просто нужно слушать событие Event.ADDED_TO_STAGE
Или передавайте ссылку на stage в конструктор.
От чего вообще ваш класс наследуется?

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

Регистрация: May 2008
Адрес: {0,0}
Сообщений: 754
Записей в блоге: 1
Отправить сообщение для DaFive с помощью ICQ
У вас не будет доступна ссылка на stage, хоть вы 10 импортов сделайте, если вы не добавили экземпляр на сцену или не передали ссылку на нужный стейдж экземпляру класса.
__________________
Кодинг, багинг, алгоритминг. me @

Старый 09.04.2012, 18:59
Halfist вне форума Посмотреть профиль Отправить личное сообщение для Halfist Найти все сообщения от Halfist
  № 9  
Ответить с цитированием
Halfist

Регистрация: Feb 2012
Сообщений: 63
Класс наследуется от MovieClip. Как передать ссылку на stage в конструктор?

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

Регистрация: Oct 2010
Сообщений: 1,049
Отправить сообщение для bav с помощью ICQ
Как-то так:
Код AS3:
package {
 
	import flash.display.*;
	public class MyClass extends MovieClip {
 
		public function MyClass(s:Stage) {
			trace("Here is my " + s);
		}
	}
}

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

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

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


 


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


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