Тип принуждения во Flash / AS3 - PullRequest
0 голосов
/ 21 апреля 2011

Эта проблема не позволяет мне продолжать мой проект, и я не знаю, как и почему он происходит.

У меня есть приложение, которое запрашивает ввод у пользователя, затем генерирует графики и отображает изображения на основе указанного ввода. Графический файл прикреплен как класс документа. Два поля являются текстовыми, а два других - ползунками. Когда я пытаюсь запустить приложение, я получаю

TypeError: Error #1034: Type Coercion failed, cannot convert flash.display.MovieClip to
fl.controls.Slider`
at flash.display::Sprite/constructChildren();
at flash.display::Sprite()
at flash.display::MovieClip

Эта ошибка появляется с этим кодом:

var graphing:graph= new graph(); //my plot functions

function advance(e:MouseEvent):void{
  continueButton= false;
  displayHelp= ""; //clear the help area <-- debugger triggers errors here
  initInvest= int(initInvest_txt.text);
  lumpSum= int(withdrawal.text);
  graph= new graph();
  graph.setValues(lumpSum, initInvest);
  gotoAndPlay("options");
}

Эта ошибка отображается только в том случае, если объявление графа и вызовы методов находятся в области видимости. Если они удалены или закомментировано, поток работает. Графический файл

package{
  public class graph extends MovieClip{
    public function graph(){}
  }
}

Все, с чем я столкнулся, говорит о том, что это результат того, что MovieClip не был преобразован в компонент Slider. Тем не менее, нет никакого решения для этого вообще.

Во-первых, почему это происходит?
Второе,

Ответы [ 2 ]

1 голос
/ 27 июля 2011

Я также сейчас играюсь с компонентами, и я столкнулся с тем же. Я смог исправить это, имея только внешнее определение класса, видимое только для FLA / проекта, который будет использоваться при создании SWC. В общем, убедитесь, что внешний класс компонента не виден проекту, который будет использовать сгенерированный swc, иначе произойдет ошибка приведения типов. Это, вероятно, потому что тот же класс включен в SWC.

0 голосов
/ 21 апреля 2011

Где-то вы пытаетесь назначить ссылку MovieClip для переменной или параметра функции, который напечатан как Slider.Слайдер - это спрайт, но это не мувиклип.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...