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

Вернуться   Форум Flasher.ru > Flash > Flash Приложения: AIR, Zinc и тд.

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

Регистрация: Aug 2017
Сообщений: 23
По умолчанию Загрузка случайного фото из папки

Здравствуйте, уважаемые господа.
Помогите решить вопрос.

У меня есть макрос загрузки одной конкретной фотографии во флэш.

В папке с файлом флэша - лежат несколько фотофайлов с разными названиями.
Их количество и названия постоянно обновляются.

Как при помощи Air - заставить скрипт загружать во флэш случайную картинку из папки при каждом запуске?

Имеющийся код:
Код AS3:
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);
}
Вложения
Тип файла: rar 1.rar (54.9 Кб, 102 просмотров)

Старый 18.09.2017, 10:33
alexandrratush вне форума Посмотреть профиль Отправить личное сообщение для alexandrratush Найти все сообщения от alexandrratush
  № 2  
Ответить с цитированием
alexandrratush
 
Аватар для alexandrratush

Регистрация: Jul 2013
Адрес: Днепр
Сообщений: 529
Отправить сообщение для alexandrratush с помощью ICQ Отправить сообщение для alexandrratush с помощью Skype™
Привет.
В AIR для работы с файлами существует целый пакет классов.

Старый 19.09.2017, 03:52
Visors вне форума Посмотреть профиль Отправить личное сообщение для Visors Найти все сообщения от Visors
  № 3  
Ответить с цитированием
Visors

Регистрация: Aug 2017
Сообщений: 23
alexandrratush, ясно.
А как и в коде применить ?

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

Регистрация: Jun 2012
Адрес: Новосибирск
Сообщений: 6,644
Записей в блоге: 4
1) Сначала создаем объект File, с указанием в конструкторе директории, в которой лежат картинки.
2) Берем список этой директории и в случайном порядке выбираем картинку.
3) Грузим.
4) Профит
Код AS3:
var file:File = new File("C:\Картинки");
if (file.exists) {
   var pictures:Array = file.getDirectoryListing();
   var randomImageFile:File = pictures[int(Math.random() * pictures.length)];
   // тут грузим полученную картинку
}
Еще можно перед выбором проверить расширение файла, чтобы это точно была картинка. Как это сделать смотрим в документации к методу extension и в гугле
Собственно, выглядеть код может примерно так
Код AS3:
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

Как это сделать - гугл в помощь. Примеров сотни. Найти их очень легко.
__________________
Ко мне можно и нужно обращаться на ты)

Старый 06.10.2017, 06:09
Visors вне форума Посмотреть профиль Отправить личное сообщение для Visors Найти все сообщения от Visors
  № 5  
Ответить с цитированием
Visors

Регистрация: Aug 2017
Сообщений: 23
caseyryan, спасибо за ответ.

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

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

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


 


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


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