Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Загрузка локального изображения (http://www.flasher.ru/forum/showthread.php?t=157796)

Ruzofmo 10.06.2011 23:28

Загрузка локального изображения
 
Чот у меня не получаеться с загрузкой локального изображения.
На сцене присутствует кнопка с названием btnAdd.
Вот код:
Код AS3:

package  {
        import flash.display.MovieClip;
        public class Main {
 
                public function Main ()
                {
var fileReference:FileReference = new FileReference();
 
function btn_click(evt:MouseEvent){
        var arr:Array = [];
        arr.push(new FileFilter("Images", ".gif;*.jpeg;*.jpg;*.png"));
        fileReference.browse(arr);
}
 
function fileReference_select(evt:Event){
        fileReference.load();
}
 
function fileReference_complete(evt:Event){
        var loader:Loader = new Loader();
        loader.loadBytes(fileReference.data);
        var cl:MovieClip = new MovieClip();
        cl.addChild(loader);
        addChild(cl);
}
 
btnAdd.addEventListener(MouseEvent.CLICK, btn_click);
fileReference.addEventListener(Event.SELECT,  fileReference_select);
fileReference.addEventListener(Event.COMPLETE, fileReference_complete);
                }
 
        }
 
}

Ошибки компиляции:
C:\Users\Дима\Desktop\Main.as, строка 9 1046: Тип не найден или не является константой времени компиляции: MouseEvent.
C:\Users\Дима\Desktop\Main.as, строка 15 1046: Тип не найден или не является константой времени компиляции: Event.
C:\Users\Дима\Desktop\Main.as, строка 19 1046: Тип не найден или не является константой времени компиляции: Event.
C:\Users\Дима\Desktop\Main.as, строка 1 5000: В класс "Main" должен входить подкласс "flash.display.MovieClip", так как он связывается с символом такого же типа в библиотеке.

КорДум 10.06.2011 23:30

Вам даже по-русски указало, что не так. По первым трем: импортируйте необходимые классы. По последней: расширьте MovieClip классом Main.

Добавлено через 1 минуту
Ужас какой, отформатируйте код, занесите строчки с присоединением слушателей в конструктор. И да, добавьте конструктор.
http://www.flasher.ru/forum/showpost...0&postcount=17 - вот пример, как надо.

Ruzofmo 10.06.2011 23:48

Чуть подкорректировал код.
Код AS3:

package 
{
        import flash.display.MovieClip;
        import flash.events.Event;
        import flash.events.MouseEvent;
        import flash.net.FileReference;
        import flash.display.Loader;
        public class Main
        {
 
                public function Main()
                {
                        var fileReference:FileReference = new FileReference();
 
                        function btn_click(evt:MouseEvent)
                        {
                                var arr:Array = [];
                                arr.push(new FileFilter("Images", ".gif;*.jpeg;*.jpg;*.png"));
                                fileReference.browse(arr);
                        }
 
                        function fileReference_select(evt:Event)
                        {
                                fileReference.load();
                        }
 
                        function fileReference_complete(evt:Event)
                        {
                                var loader:Loader = new Loader();
                                loader.loadBytes(fileReference.data);
                                var cl:MovieClip = new MovieClip();
                                cl.addChild(loader);
                                addChild(cl);
                        }
 
                        btnAdd.addEventListener(MouseEvent.CLICK, btn_click);
                        fileReference.addEventListener(Event.SELECT,  fileReference_select);
                        fileReference.addEventListener(Event.COMPLETE, fileReference_complete);
                }
 
        }
 
}

Цитата:

расширьте MovieClip классом Main.
Main extends MovieClip ?


с этим кодом следующие ошибки:

C:\Users\Дима\Desktop\Main.as, строка 18 1180: Вызов предположительно неопределенного метода FileFilter.
C:\Users\Дима\Desktop\Main.as, строка 33 1180: Вызов предположительно неопределенного метода addChild.
C:\Users\Дима\Desktop\Main.as, строка 1 5000: В класс "Main" должен входить подкласс "flash.display.MovieClip", так как он связывается с символом такого же типа в библиотеке.

если же я делаю Main extends MovieClip то:

C:\Users\Дима\Desktop\Main.as, строка 11 1084: Синтаксическая ошибка: leftparen перед Main.
но никакой скобки там нету.

КорДум 10.06.2011 23:50

Код AS3:

public class Main extends MovieClip {

И зачем вы все запихали в конструктор? Еще раз посмотрите мой пример.

Ruzofmo 10.06.2011 23:54

Цитата:

И зачем вы все запихали в конструктор?
сори ,тупанул.

Но всё таки остаеться:строка 18 1180: Вызов предположительно неопределенного метода FileFilter.

КорДум 10.06.2011 23:56

Импортировать забыли.

Ruzofmo 11.06.2011 00:00

Ну .. наконецто всё заработало.. Огромное спасибо!


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

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