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

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

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

Регистрация: Jul 2011
Сообщений: 43
По умолчанию Загрузка изображения в объект

Привет!
Не получается загрузить картинку PNG в программу:
Код AS3:
package Game
{
	import flash.display.Bitmap;
	import flash.display.BitmapData;
	import flash.display.Loader;
	import flash.display.SimpleButton;
	import flash.display.Sprite;
	import flash.net.URLRequest;
 
	public class Button extends Sprite
	{
		private var upState:Bitmap, downState:Sprite, overState:Sprite, loader:Loader, qwe:Bitmap;
		public function Button(x:int, y:int)
		{
			super();
			loader = new Loader();
			loader.load(new URLRequest("images\\nextLevel.png"));
			upState = loader.content as Bitmap;
			this.x=x; this.y=y;
			this.addChild(upState);
		}
	}
}
Изображение находится по адресу: D:\Documents\Adobe Flash Builder 4.5\Game1\src\images\nextLevel.png. В справке сказано, что можно использовать относительный путь, правильно его записал?

PS Уже после финальной компиляции, эта картинка будет находится в самом SWF файле приложения?

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

блогер
Регистрация: Jan 2008
Адрес: syktyvkar
Сообщений: 3,803
Записей в блоге: 10
Слеш не в ту сторону.

Добавлено через 2 минуты
Цитата:
PS Уже после финальной компиляции, эта картинка будет находится в самом SWF файле приложения?
Нет. Используйте Embed.
__________________
тут я

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

Регистрация: Feb 2010
Сообщений: 811
Отправить сообщение для Universe с помощью ICQ Отправить сообщение для Universe с помощью Skype™
да и два слеша лучше не ставить!

Старый 15.07.2011, 22:48
КорДум вне форума Посмотреть профиль Отправить личное сообщение для КорДум Найти все сообщения от КорДум
  № 4  
Ответить с цитированием
КорДум
 
Аватар для КорДум

блогер
Регистрация: Jan 2008
Адрес: syktyvkar
Сообщений: 3,803
Записей в блоге: 10
Цитата:
Сообщение от Universe Посмотреть сообщение
да и два слеша лучше не ставить!
Почему?
__________________
тут я

Старый 15.07.2011, 22:48
goodguy вне форума Посмотреть профиль Найти все сообщения от goodguy
  № 5  
Ответить с цитированием
goodguy
Banned
[+1 05.11.11]
[+1 09.08.11]

Регистрация: Jan 2010
Адрес: РФ. Кемеровская область
Сообщений: 3,243
Да и вот тут ошибка:
Цитата:
Код AS3:
loader = new Loader();
loader.load(new URLRequest("images\\nextLevel.png"));
upState = loader.content as Bitmap;
В этот момент контент еще не создан. Он будет null.
К объекту contentLoaderInfo загрузчика нужно добавить слушатель Event.COMPLETE и только после его срабатывания получаеть свойство content
Цитата:
да и два слеша лучше не ставить!
Это экранирование вообще-то. Как раз таких слешей надо 2, чтобы в итоге остался один. Но здесь, как уже сказал КорДум, нужен передний слеш

1q2w3e4r5t6, в чем прикол вызывать super() если в него не передается никаких параметров? Плеер его и так вызовет, автоматически.
п.с. Так же не понимаю, зачем везде ставить this, и при этом не отделять пробелами ни один оператор


Последний раз редактировалось goodguy; 15.07.2011 в 22:51.
Старый 15.07.2011, 23:22
1q2w3e4r5t6 вне форума Посмотреть профиль Отправить личное сообщение для 1q2w3e4r5t6 Найти все сообщения от 1q2w3e4r5t6
  № 6  
Ответить с цитированием
1q2w3e4r5t6

Регистрация: Jul 2011
Сообщений: 43
Flash Builder его автоматически создает, ни и фиг с ним))
Код AS3:
public class Button extends Sprite
	{
		private var upState:Bitmap, downState:Sprite, overState:Sprite, loader:Loader;
		public function Button(x:int, y:int, text:String)
		{
			super();
			loader = new Loader();
			loader.load(new URLRequest("images//nextLevel.png"));
			loader.contentLoaderInfo.addEventListener(Event.COMPLETE,completeEventListener);
			this.x=x; this.y=y;
		}
 
		private function completeEventListener(e:LoaderEvent):void
		{
			upState = loader.content as Bitmap;
			this.addChild(upState);
		}
	}
Выдает ошибку: TypeError: Error #1034: Type Coercion failed: cannot convert flash.events::Event@2d54539 to org.osmf.events.LoaderEvent.

PS И что такое Embed?

Старый 15.07.2011, 23:36
t4arty вне форума Посмотреть профиль Отправить личное сообщение для t4arty Найти все сообщения от t4arty
  № 7  
Ответить с цитированием
t4arty

Регистрация: May 2010
Адрес: пространство в положении
Сообщений: 219
Исправте: e:LoaderEvent на e:Event

Старый 15.07.2011, 23:52
1q2w3e4r5t6 вне форума Посмотреть профиль Отправить личное сообщение для 1q2w3e4r5t6 Найти все сообщения от 1q2w3e4r5t6
  № 8  
Ответить с цитированием
1q2w3e4r5t6

Регистрация: Jul 2011
Сообщений: 43
Ура! Получилось!
А что за Embed?

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

блогер
Регистрация: Jan 2008
Адрес: syktyvkar
Сообщений: 3,803
Записей в блоге: 10
http://livedocs.adobe.com/flex/3/htm...etadata_3.html
__________________
тут я

Старый 16.07.2011, 13:23
1q2w3e4r5t6 вне форума Посмотреть профиль Отправить личное сообщение для 1q2w3e4r5t6 Найти все сообщения от 1q2w3e4r5t6
  № 10  
Ответить с цитированием
1q2w3e4r5t6

Регистрация: Jul 2011
Сообщений: 43
Спасибо, получилось с этой штукой загрузить PNG. А получается только одно изображение можно встраивать в переменную с типом Class?

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

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

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


 


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


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