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

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

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

Регистрация: Sep 2007
Сообщений: 117
По умолчанию addChild во внешнем as файле

Добрый день.
Пытаюсь написать свой класс.
Если в панель "actions" вставить следующий код:
Код AS3:
			var loader:Loader = new Loader();
			var url:URLRequest = new URLRequest("image.jpg");
			loader.load(url);
			loader.x = 100;
			loader.y = 100;
			addChild(loader);

то все прекрасно работает.
Этот же код переписываю в отдельный класс(LoadPictures.as):
Код AS3:
package
{
    import flash.display.Bitmap;
    import flash.display.BitmapData;
    import flash.display.Loader;
    import flash.display.Sprite;
    import flash.net.URLRequest;
    import flash.net.URLRequest;
    import flash.net.URLVariables;
 
	public class LoadPictures extends Sprite
	{
		public function LoadPictures():void
		{
			var loader:Loader = new Loader();
			var url:URLRequest = new URLRequest("image.jpg");
			loader.load(url);
			loader.x = 100;
			loader.y = 100;
			addChild(loader);
		}
	}
}
В fla файле пишу следующее:
Код AS3:
var picture:LoadPictures = new LoadPictures();
В результате ошибок никаких не вылазит, но и картинка не отображается.
По всей видимости я что то упустил.
Если не сложно подскажите плз что именно надо дописать в этот класс, дабы он отображал картинку.


Последний раз редактировалось inMashine; 06.07.2010 в 14:45.
Старый 06.07.2010, 14:44
leofit вне форума Посмотреть профиль Отправить личное сообщение для leofit Найти все сообщения от leofit
  № 2  
Ответить с цитированием
leofit
 
Аватар для leofit

Регистрация: Dec 2009
Сообщений: 428
А вы класс вызываете на исполнение вообще?
__________________
Скажи мне кто твой друг и я скажу тебе кто твой друг

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

Регистрация: Sep 2007
Сообщений: 117
Как я понимаю конструктор это как раз и делает.
Я создаю экземпляр, а его конструктор выполняет отображение.
Как то так вроде.

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

Регистрация: Dec 2009
Сообщений: 428
Да, не углядел =)
Сделайте что то вроде
Код AS3:
var picture:LoadPictures = new LoadPictures();
addChild(picture);
__________________
Скажи мне кто твой друг и я скажу тебе кто твой друг

Старый 06.07.2010, 14:55
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 5  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,884
Записей в блоге: 7
Сделайте loader переменной класса, а не локальной.
__________________
(и)Нильс.ru | Плагины для FlashDevelop

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

Регистрация: Sep 2007
Сообщений: 117
leofit,
Да.
Так работает.
Спасибо.

Вот что у меня получилось в итоге (картинка отображается без того что бы прописывать addChild в fla файле):
Код AS3:
package
{
	import flash.display.Sprite;
	import flash.display.Loader;
	import flash.display.Bitmap;
	import flash.events.Event;
	import flash.net.URLRequest;
 
	public class LoadPicture extends Sprite
	{
		private var loader:Loader = new Loader();
		private var url:URLRequest = new URLRequest("image.jpg");
		private var image:Bitmap = new Bitmap;
 
		public function LoadPicture():void
		{
			this.loader.contentLoaderInfo.addEventListener(Event.COMPLETE, this.drawImage);
			this.loader.load(url);
		}
 
		private function drawImage(event:Event):void
		{
			this.image = Bitmap(event.target.content);
			this.addChild(image);
		}
	}
}


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

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

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


 


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


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