|
|
|||||
Регистрация: Aug 2017
Сообщений: 23
|
Загрузка случайного фото из папки
Здравствуйте, уважаемые господа.
Помогите решить вопрос. У меня есть макрос загрузки одной конкретной фотографии во флэш. В папке с файлом флэша - лежат несколько фотофайлов с разными названиями. Их количество и названия постоянно обновляются. Как при помощи Air - заставить скрипт загружать во флэш случайную картинку из папки при каждом запуске? Имеющийся код: import flash.display.Loader; import flash.net.URLRequest; import flash.events.Event; var loader:Loader=new Loader(); loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onComplete); addChild(loader); loader.load(new URLRequest("1.jpg")); function onComplete(e:Event):void { e.target.removeEventListener(Event.COMPLETE, onComplete); } |
|
|||||
Привет.
В AIR для работы с файлами существует целый пакет классов. |
|
|||||
Регистрация: Aug 2017
Сообщений: 23
|
alexandrratush, ясно.
А как и в коде применить ? |
|
|||||
1) Сначала создаем объект File, с указанием в конструкторе директории, в которой лежат картинки.
2) Берем список этой директории и в случайном порядке выбираем картинку. 3) Грузим. 4) Профит var file:File = new File("C:\Картинки"); if (file.exists) { var pictures:Array = file.getDirectoryListing(); var randomImageFile:File = pictures[int(Math.random() * pictures.length)]; // тут грузим полученную картинку } Собственно, выглядеть код может примерно так var extension:String = randomImageFile.extension.toLowerCase(); // приводим в нижний регистр, чтобы упростить проверку, если расширение написано заглавными switch (extension) { case "png": case "jpeg": case "jpg": case "bmp": // то, что нужно, продолжаем загрузку break; default: // не картинка, вызываем код снова break; } 1) Грузить этот файл в программу как поток байт, через FileStream, а потом этот поток скормить Loader'у, в методе loadBytes(), чтобы получить на выходе нужную картинку 2) Взять nativePath у этого файла (в некоторых ОС nativePath не используется, вместо него нужно использовать url) и загрузить как обычно по адресу, через Loader#load Как это сделать - гугл в помощь. Примеров сотни. Найти их очень легко.
__________________
Ко мне можно и нужно обращаться на ты) |
|
|||||
Регистрация: Aug 2017
Сообщений: 23
|
caseyryan, спасибо за ответ.
|
Часовой пояс GMT +4, время: 23:34. |
|
« Предыдущая тема | Следующая тема » |
|
|