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

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

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

Регистрация: Nov 2008
Адрес: МО
Сообщений: 105
Отправить сообщение для sabarn с помощью ICQ
По умолчанию подскажите, как увидеть клип из конструктора

Подскажите, я новичок в as3, как можно из динамического класса увидеть то, что лежит на сцене, или каким образом создавать персонажа.
У меня есть главный класс MainClass, он вызывает
Код AS3:
var tempPersonage:MovieClip=new Personage();
addChild(tempPersonage);
Класс Personage имеет вид
Код AS3:
package main
{
	import flash.display.Sprite;
	import main.MainClass;
	import flash.display.Graphics; 
	import flash.display.MovieClip; 
 
	public dynamic class Personage extends MovieClip
	{
 
		public function Personage() 
		{
			trace(MainClass.getChildByName('myBody'));
			//хотя бы обратиться к myBody!
		}
	}
}
Я хочу, чтобы когда порождались объекты от класса Personage, чтобы при этом созданный персонаж обладал телом, нарисованном в клипе myBody, который лежит на сцене.
Я наверное запутался и всё не так делаю. Подскажите пожалуйста, как можно разрешить эту проблему?


Последний раз редактировалось iNils; 02.12.2008 в 13:10.
Старый 02.12.2008, 13:09
VovkaMorkovka1 вне форума Посмотреть профиль Отправить личное сообщение для VovkaMorkovka1 Посетить домашнюю страницу VovkaMorkovka1 Найти все сообщения от VovkaMorkovka1
  № 2  
Ответить с цитированием
VovkaMorkovka1

Регистрация: Nov 2008
Сообщений: 205
Надо не из конструктора, а в методе который срабатывает по ENTER_FRAME

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

Регистрация: Nov 2008
Адрес: МО
Сообщений: 105
Отправить сообщение для sabarn с помощью ICQ
подскажите, как можно это сделать?

Старый 02.12.2008, 13:17
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 4  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
Судя по импорту MainClass - это Class, а не DisplayObject, у него нету метода getChildByName(). Нужно получить ссылку на созданый экземпляр MainClass и искать ребенка у него.
__________________
Hell is the possibility of sanity

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

Регистрация: Nov 2008
Адрес: МО
Сообщений: 105
Отправить сообщение для sabarn с помощью ICQ
wvxvw, а как можно получить ссылку на созданный экземпляр MainClass?

Старый 02.12.2008, 13:58
Gaen вне форума Посмотреть профиль Отправить личное сообщение для Gaen Найти все сообщения от Gaen
  № 6  
Ответить с цитированием
Gaen
strange mood
 
Аватар для Gaen

модератор форума
Регистрация: Jul 2004
Адрес: Питер
Сообщений: 1,653
Записей в блоге: 1
Отправить сообщение для Gaen с помощью ICQ Отправить сообщение для Gaen с помощью Skype™
Вы добавили персонаж на сцену, и теперь можете спокойно добавлять руки-ноги внутрь персонажа, не надо для этого обращаться к родительскому клипу.
__________________
тонкий тролль, осеянный благодатью

Старый 02.12.2008, 14:01
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 7  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
А вы его не можете создать не получив ссылки Вот только я не знаю где и как вы его создаете. Т.е. предположим, создаете вы его так:
var mainClass:MainClass = new MainClass(); тогда mainClass и new MainClass() - это и есть ссылки.
__________________
Hell is the possibility of sanity

Старый 02.12.2008, 17:02
Loshadka вне форума Посмотреть профиль Посетить домашнюю страницу Loshadka Найти все сообщения от Loshadka
  № 8  
Ответить с цитированием
Loshadka
 
Аватар для Loshadka

Регистрация: Aug 2004
Адрес: *
Сообщений: 10
Отправить сообщение для Loshadka с помощью ICQ
Если я правильно понял, то вам нужен тако код:
Код AS3:
package main
{
	import flash.display.Sprite;
	import main.MainClass;
	import flash.display.Graphics; 
	import flash.display.MovieClip; 
 
	public dynamic class Personage extends MovieClip
	{
 
		private parent_main:MainClass = new MainClass();
 
		public function Personage(parent_m) 
		{
			parent_main = parent_m; //сохраняем переданную ссылку на родителя
 
			trace(MainClass.getChildByName('myBody'));
			//хотя бы обратиться к myBody!
		}
	}
}
И создавать персанажа, передавая ему ссылку на родителя:
Код AS3:
var tempPersonage:MovieClip=new Personage(this); //this - ссылка на родитея
addChild(tempPersonage);
Но это неправильно, как вам уже сказали выше, с точки зрения ООП (класс - это закрытая структура).
__________________
http://erinphoto.ru/

Старый 02.12.2008, 23:26
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 9  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Цитата:
Сообщение от VovkaMorkovka1 Посмотреть сообщение
Надо не из конструктора, а в методе который срабатывает по ENTER_FRAME
О боже мой, а события ADDED и ADDED_TO_STAGE применять уже не модно?

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

Теги
конструктор динамический
Опции темы
Опции просмотра

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

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


 


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


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