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

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

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

Регистрация: Jun 2010
Сообщений: 97
По умолчанию Путь к файлу

Доброго времени суток
Поиск юзал - везде один и тот же ответ, но он мне не подходит. В общем, это код главного класса на AS3:
Код AS3:
package src.pic {
	import flash.display.*;
	import flash.net.*;
	import flash.events.*;
	public class main extends MovieClip{
		private var picLoader:Loader;
		private var picURL:FileReference = new FileReference();
		private var browseFilter:FileFilter = new FileFilter("Images","*.jpg");
		//
		public function main () {
			picLoader = new Loader();
			picLoader.contentLoaderInfo.addEventListener(Event.INIT, picLoaderListener);
			picURL.browse([browseFilter]);
			picURL.addEventListener(Event.SELECT, picSelectListener);
		}
		private function picSelectListener (e:Event) {
			trace("Picture selected");
			picLoader.load(new URLRequest(e.target.name));
		}
		private function picLoaderListener (e:Event) {
			trace("Picture loaded");
			addChild(picLoader.content);
		}
	}
}
Данная строка
picLoader.load(new URLRequest(e.target.name));
позволяет загружать файл только из той же папки, где и сама флешка лежит. На что заменить e.target.name, чтобы можно было подгружать любой выбранный файл?

Старый 14.12.2010, 23:25
dimarik вне форума Посмотреть профиль Отправить личное сообщение для dimarik Найти все сообщения от dimarik
  № 2  
Ответить с цитированием
dimarik
.
 
Аватар для dimarik

модератор форума
Регистрация: Sep 2003
Адрес: Москва
Сообщений: 4,630
Записей в блоге: 20
например, "drugaya_papka/file.jpg"
__________________
Воспитан в TimeZero. Работаю в Mail.ru.

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

блогер
Регистрация: Mar 2008
Адрес: РФ, Санкт-Петербург
Сообщений: 2,272
Записей в блоге: 5
Отправить сообщение для gloomyBrain с помощью ICQ Отправить сообщение для gloomyBrain с помощью Skype™
Может все таки сначала стоит загрузить картинку через FileReference.load(), а потом полученный ByteArray (picURL.data) пихнуть в параметры loadBytes для picLoader'a, не?
__________________
...вселенская грусть

Старый 15.12.2010, 01:12
Jitakuzu вне форума Посмотреть профиль Отправить личное сообщение для Jitakuzu Найти все сообщения от Jitakuzu
  № 4  
Ответить с цитированием
Jitakuzu

Регистрация: Jun 2010
Сообщений: 97
Может и да, ток мне это не о чем не говорит. Можешь дополнить мой код?? И файл не обязательно должен быть картинкой. Может это xml файл?? Главное из любого места чтоб этот файл погружался)

Старый 15.12.2010, 01:19
Хомяк вне форума Посмотреть профиль Отправить личное сообщение для Хомяк Найти все сообщения от Хомяк
  № 5  
Ответить с цитированием
Хомяк
[+1 24.11.10]
 
Аватар для Хомяк

Регистрация: Jun 2010
Сообщений: 280
возьмите отсюда:

Код AS1/AS2:
internal class FileLoader extends EventDispatcher {
    private var file:FileReference;
    private static var typeFilter:Array;
    public var data:*;
    private var loader:Loader;
    public var bitmapData:BitmapData;
 
    public function FileLoader() {
        init();
    }
 
    private function init():void {
        file = new FileReference();
        file.addEventListener(Event.SELECT, select, false, 0, true);
        file.addEventListener(Event.CANCEL, cancel, false, 0, true);
        file.addEventListener(Event.COMPLETE, complete, false, 0, true);
        var fileFilter:FileFilter = new FileFilter("Images", "*.jpg;*.gif;*.png");
        typeFilter = [fileFilter];
        loader = new Loader();
        loader.contentLoaderInfo.addEventListener(Event.INIT, initialize, false, 0, true);
    }
    public function load():void {
        file.browse(typeFilter);
    }
    private function select(evt:Event):void {
        file.load();
        dispatchEvent(evt);
    }
    private function cancel(evt:Event):void {
        dispatchEvent(evt);
    }
    private function complete(evt:Event):void {
        data = evt.target.data;
		trace(evt.target);
        loader.loadBytes(data);
        dispatchEvent(evt);
    }
    private function initialize(evt:Event):void {
        bitmapData = null;
        var bitmap:Bitmap = Bitmap(evt.target.content);
        bitmapData = bitmap.bitmapData;
        dispatchEvent(evt);
    }
вот так, наверное, лучше будет
__________________
Ведь я только всего и хочу, чтобы все всегда было по-моему...


Последний раз редактировалось Хомяк; 15.12.2010 в 01:22.
Старый 15.12.2010, 10:15
dimarik вне форума Посмотреть профиль Отправить личное сообщение для dimarik Найти все сообщения от dimarik
  № 6  
Ответить с цитированием
dimarik
.
 
Аватар для dimarik

модератор форума
Регистрация: Sep 2003
Адрес: Москва
Сообщений: 4,630
Записей в блоге: 20
Там еще было вопросительное предложение аж с двумя знаками вопроса.
Цитата:
Может это xml файл??
__________________
Воспитан в TimeZero. Работаю в Mail.ru.

Старый 15.12.2010, 16:35
Jitakuzu вне форума Посмотреть профиль Отправить личное сообщение для Jitakuzu Найти все сообщения от Jitakuzu
  № 7  
Ответить с цитированием
Jitakuzu

Регистрация: Jun 2010
Сообщений: 97
Хомяк, спасибо =)

Старый 15.12.2010, 21:42
dimarik вне форума Посмотреть профиль Отправить личное сообщение для dimarik Найти все сообщения от dimarik
  № 8  
Ответить с цитированием
dimarik
.
 
Аватар для dimarik

модератор форума
Регистрация: Sep 2003
Адрес: Москва
Сообщений: 4,630
Записей в блоге: 20
Объясните нам, уважаемый Jitakuzu, Вам помогло решение, предложенное комрадом Хомяк при загрузке xml?
__________________
Воспитан в TimeZero. Работаю в Mail.ru.

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

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

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


 


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


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