Показать сообщение отдельно
Старый 06.05.2018, 15:27
Appleman вне форума Посмотреть профиль Отправить личное сообщение для Appleman Найти все сообщения от Appleman
  № 3  
Ответить с цитированием
Appleman
 
Аватар для Appleman

Регистрация: Dec 2014
Адрес: Санкт-Петербург
Сообщений: 483
Да, я так и думал Мне тут страницей выше рекомендовали Loader, т.к. FileStream, мол, больше для потокового аудио и видео. Ща попробуем, спасибо.

Добавлено через 46 минут
Вот до такого доковырялся сам.

Код AS3:
public function getLoadedAsset(fileID: String) : Bitmap // Загружает и возвращает asset
		{
			var file: File = File.applicationDirectory.resolvePath("assets" + File.separator + "backgrounds" + File.separator + fileID + PNG);
			var filestream: FileStream = new FileStream;
			var bytes: ByteArray = new ByteArray;
			var data: BitmapData = new BitmapData(800,600);
			var rect: Rectangle = new Rectangle(0, 0, 800, 600);
 
			trace(file.url);
 
			filestream.open(file, FileMode.READ);
			filestream.position = 0;
			filestream.readBytes(bytes);
 
			data.setPixels(rect, bytes);
 
			var result: Bitmap = new Bitmap(data);
			trace (result);
 
			return result;			
		}
Проблемных точек три:
Во-первых, периодически получаю ошибку [Fault] exception, information=Error: Error #2030: End of file was encountered.
Во-вторых, надо как-то заранее получать разрешение загружаемого файла. Я пока для теста написал в лоб 800*600, то это не дело.
Наконец, даже если всё получается без ошибок, то на экран какая-то каша выходит

И вообще, в правильном направлении двигаюсь?
__________________
Не сломано - не чини!


Последний раз редактировалось Appleman; 06.05.2018 в 16:15.