AS3: сбой приведения типа: невозможно преобразовать flash.display :: MovieClip - PullRequest
2 голосов
/ 19 сентября 2011

Обновлен:

Теперь я получаю эту ошибку:

Ошибка типа: ошибка # 1034: Ошибка приведения типа: невозможно преобразовать flash.display :: MovieClip

Из этого класса:

package com.George.MegaAmazingApp.Components
{
    import flash.display.MovieClip;
    import flash.display.Stage;
    import flash.events.MouseEvent;

    public class Wheel extends MovieClip
    {

        public function Wheel(area:MovieClip, diagram:MovieClip)
        {
            area.addEventListener(MouseEvent.CLICK, clickHandler);
        }
        private function clickHandler(event:MouseEvent):void
        {
            trace("wheel clicked");
            trace("this is diagram");
        }

    }

}

и этот скрипт:

import com.George.MegaAmazingApp.Components.*;

var wheel:Wheel = new Wheel(this.wheel,this.car);

Отладка дает:

Attempting to launch and connect to Player using URL C:/Documents and Settings/reithg/My Documents/Classes/com/GeorgesMegaAmazingApp-app.xml
[SWF] GeorgesMegaAmazingApp.swf - 51681 bytes after decompression
TypeError: Error #1034: Type Coercion failed: cannot convert flash.display::MovieClip@2968e51 to com.George.MegaAmazingApp.Components.Wheel.
    at flash.display::Sprite/constructChildren()
    at flash.display::Sprite()
    at flash.display::MovieClip()
    at GeorgesMegaAmazingApp_fla::MainTimeline()
    at runtime::ContentPlayer/loadInitialContent()
    at runtime::ContentPlayer/playRawContent()
    at runtime::ContentPlayer/playContent()
    at runtime::AppRunner/run()
    at ADLAppEntry/run()
    at global/runtime::ADLEntry()

GeorgesMegaAmazingApp-app.xml не существует в этом каталоге, но я все равно не знаю, почему он там ищет, а не там, где находится флаг.

Ответы [ 2 ]

2 голосов
/ 19 сентября 2011

Либо this.wheel, либо this.car не является MovieClip. Также не могли бы вы включить отладку в File> Publish Settings? Затем вы получите более качественные сообщения об ошибках, потому что без дополнительной информации ваша ошибка может быть где угодно.

Edit:

Попробуйте переименовать var wheel во что-то еще, потому что кажется, что Flash перепутан с вашими двумя объектами колеса. Например, попробуйте:

var wheelObject:Wheel = new Wheel(this.wheel,this.car);
1 голос
/ 19 сентября 2011

Имеется ли Wheel.as в каталоге com / George / MegaAmazingApp / Components?(с учетом регистра) Это каталог 'com' в каталоге с исходным путем?

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