Bezdepbonusu7Программирование: статьи и ответы

Вопрос

1180: Вызов возможно неопределенного метода loaderInfo, ошибка сценария действия

Автор вопроса: Nguyễn Thành LuânОтветов: 2

Я новичок во флеше. Я хочу проверить передачу переменных в файл swf с помощью flashvars, тогда я создавал файл сценария действия с именем "test_adver.as". Я использую этот файл во fla-файле в качестве документа класса. Это код "test_adver.as":

package src{
import flash.display.Loader;
import flash.display.LoaderInfo;
import flash.display.MovieClip;
import flash.events.Event;
import flash.external.ExternalInterface;
import flash.net.URLRequest;
import flash.text.TextField;

public class test_adver extends MovieClip {
    public function test_adver() {
        try {
            var param:Object=loaderInfo(this.root.loaderInfo).parameters;
        } catch (error:Error) {
            trace("Loading failed");
        }
    }
}

}

Но когда я запускаю код, на выходе отображается "1180: Call to a possibly undefined method loaderInfo action script error". Я пытаюсь отлаживать часы, но не могу решить эту проблему. Помоги мне. Пожалуйста! Извините, мой английский не очень хорош.

  • спасибо, потому что помогите мне исправить грамматическую ошибку! Nguyễn Thành Luân 11.09.2012
  • Немного не по теме, но в таких случаях вы должны использовать ключевое слово as. Если разыгрываемый объект наследуется от заклинателя (или наоборот), вы должны использовать ключевое слово as. Итак... спрайт как Shape. Это быстрее и проще при использовании внутренней памяти постфактум. Если они не наследуются, вы должны выполнить кастинг так, как вы это сделали. Итак... Число(строка). Josh 11.09.2012

actionflashactionscript-3apache-flex

Ответы

Ответ 1 · Vesper

Это должно быть намного проще. Вы пытаетесь запросить свойство loaderInfo, но для этого вам даже не нужно приведение типов.

var param:Object=this.root.loaderInfo.parameters;

Ответ 2 · Moorthy

Вы все сделали правильно, кроме нижеприведенного

var param:Object = LoaderInfo(this.root.loaderInfo).parameters;

Да, должны быть заглавные "L". Достаточно импортировать класс LoaderInfo для флешваров.

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы