Почему я получаю эту ошибку? Ошибка № 1006: ничья не является функцией - PullRequest
0 голосов
/ 08 января 2010

У меня есть 2 класса с функцией рисования, мой класс Background и класс VideoDisplay. Я не закончил с классом VideoDisplay, но я поместил в него простые трассировки для проверки. Я вызываю Background и VideoDisplay одинаково в своем классе документов, но когда я пытаюсь вызвать функцию рисования класса VideoDisplay, я получаю эту ошибку:

Ошибка # 1006: отрисовка не является функцией.

Код класса «Мой документ»:

        //this is inside of onBulkLoadComplete which is called from init
        drawBackground();
        drawVideo();
    }

    private function drawBackground():void
    {
        trace("\r"+"drawBackground(); ---------- called");

        bg = new Background();
        bg.draw(globalWidth, globalHeight, firstTitle);
        stage.addChild(bg);
    }

    private function drawVideo():void
    {
        trace("\r"+"drawVideo(); ---------- called");

        vd = new VideoDisplay();
        vd.draw(globalWidth, globalHeight, videoName); //<-- problem
        stage.addChild(vd);
    }

В основном приведенный выше код такой же! Так что я не знаю, почему в строке vd.draw я получаю эту ошибку # 1006

Код для функции рисования в моем классе VideoDisplay:

public function draw(w, h, flvUrl):void
    {           
        sizeW = w;
        sizeH = h;
        flvSource = flvUrl;

        trace("VideoDisplay.sizeW     = "+sizeW);
        trace("VideoDisplay.sizeH     = "+sizeh);
        trace("VideoDisplay.flvSource = "+flvSource);

        backing.graphics.beginFill(bgColor);
        backing.graphics.lineStyle(borderSize, borderColor);
        backing.graphics.drawRoundRect(position, position, sizeW-9, sizeH-9, cornerRadius);
        backing.graphics.endFill();
    }

Полная трассировка окна вывода / сообщение об ошибке:

drawBackground(); ---------- called
Background.sizeW = 520
Background.sizeH = 510
Background.mainTitle = Video Title

drawVideo(); ---------- called
TypeError: Error #1006: draw is not a function.
at com.leongaban.TEN::TEN/drawVideo()
at com.leongaban.TEN::TEN/onBulkLoadComplete()
at flash.events::EventDispatcher/dispatchEventFunction()
at flash.events::EventDispatcher/dispatchEvent()
at br.com.stimuli.loading::BulkLoader/_onAllLoaded()
at br.com.stimuli.loading::BulkLoader/_onItemComplete()
at flash.events::EventDispatcher/dispatchEventFunction()
at flash.events::EventDispatcher/dispatchEvent()
at br.com.stimuli.loading.loadingtypes::LoadingItem/onCompleteHandler()
at br.com.stimuli.loading.loadingtypes::XMLItem/onCompleteHandler()
at flash.events::EventDispatcher/dispatchEventFunction()
at flash.events::EventDispatcher/dispatchEvent()
at flash.net::URLLoader/onComplete()

Ответы [ 2 ]

1 голос
/ 08 января 2010

Возможно, конфликт с классом Flex VideoDisplay ... http://livedocs.adobe.com/flex/3/html/help.html?content=controls_17.html

Просто предположение.

1 голос
/ 08 января 2010

Если вы используете Flex (или, может быть, даже если нет), ваш класс VideoDisplay может быть неоднозначным с этим .Попробуйте переименовать его или создать псевдонимы для операторов импорта.

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