Форум 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=141135)

TOKIO 17.06.2010 03:19

Посмотрите на ошибки.
 
Eсть файл main.as который должен вывести значения:

Код AS3:

public class Main extends MovieClip {
 
                private var _randomItem:RandomItem = new RandomItem();
 
                public function Main() {
 
                        var timer:Timer = new Timer (1000, 5);
                        timer.addEventListener(TimerEvent.TIMER, timerListener);
                        timer.start();
                }
 
                public function timerListener(event:TimerEvent):void {
 
                        trace ( _randomItem.getFlashName );
                        trace ( _randomItem.getPosition );
                        trace ( _randomItem.getTitle );
                        trace ( _randomItem.getDescription );
                }
 
        }

Есть файл RandomItem.as который вытаскивает из items.xml случайные значения:

Код AS3:

internal class RandomItem {
 
                private var randomNum:int;
                private var instantName:String;
                private static var QUANTITY_OF_ITEMS = 15;
 
                public function RandomPose() {
 
                        randomNum = NumberUtilities.random(1, QUANTITY_OF_ITEMS); // присваиваем переменной случайный номер
                        instantName = "mcItem" + randomNum; // случайное имя
 
                        // Создаем объект XML из файла Items.xml
                        loadXML();
                        var items:XML; // объявляем переменную содержащую XML объект Items.xml
                        var instantItem:XMLList = items.ITEM.( @flashname == instantName); // создаем xml лист с фильтрацией по атрибуту
 
                }
 
                private function loadXML():void {
                        var loader:URLLoader = new URLLoader();
                        loader.dataFormat = URLLoaderDataFormat.TEXT; // вот здесь компилятор пишет ошибку
                        loader.addEventListener(Event.COMPLETE, completeLoaderListener);
                        loader.load( new URLRequest( "Items.xml" ) );
                }
 
                private function completeLoaderListener(event:Event):void {
                        var items:XML = new XML (event.target.data) // интересно присвоилось-ли всё это переменной items объявленной в конструкторе
                }
 
                public function getFlashName():String {
                        return instantName;
                }
 
                public function getPosition():String {
                        var _getPosition:XML = instantItem.ITEM.@position;
                        return _getPosition;
                }
 
                public function getTitle():String {
                        var _getTitle:XML = instantItem.ITEM.TITLE;
                        return _getTitle;
                }
 
                public function getDescription():String {
                        var _getDescription:XML = instantItem.ITEM.DESCRIPTION;
                        return _getDescription;
                }
 
        }

Всё это не работает и при компиляции выдает всевозможные ошибки, все синтаксические я исправил, видимо дело в логике и расположении. Подскажите хотя бы самые грубые на ваш взгляд косяки.

iNils 17.06.2010 03:24

Цитата:

Всё это не работает и при компиляции выдает всевозможные ошибки
Ошибки надо публиковать.

TOKIO 17.06.2010 03:38

Вот такие ошибки:

Код:

1120: Обращение несуществующего свойства URLLoaderDataFormat.
1120: Обращение несуществующего свойства instantItem.


Mur4ik 17.06.2010 03:46

1. URLLoaderDataFormat - необходимо добавить импорт соответствующий
2. instantItem - нужно сделать доступной по всему классу, а не только в его конструкторе.

TOKIO 17.06.2010 11:18

Цитата:

Сообщение от Mur4ik (Сообщение 916108)
1. URLLoaderDataFormat - необходимо добавить импорт соответствующий

Метод загружающий xml целиком из книги с рецептами, какой именно импорт отсутствует?

Цитата:

Сообщение от Mur4ik (Сообщение 916108)
2. instantItem - нужно сделать доступной по всему классу, а не только в его конструкторе.

Думал, что если переменная объявлена в конструкторе, то она доступна всему классу. Подскажите, что можно сделать.

Добавлено через 2 часа 41 минуту
Если у кого то есть возможность, посмотрите исходники, они небольшие. Я кое-что подправил. Осталась непонятная ошибка плеера.

Ссылка: http://unpl.ru/Shared/src.rar


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

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