2013-12-06 4 views
1

Я просмотрел много потоков на похожие темы, но не нашел решения, поэтому я отправляю сообщения.Тип ошибки # 2007 Flash Prof CS6

Это относительно простая анимация Flash с ползунком («betterslider»), который поступает от компонентов. Я изначально сделал это в CS5 и не помню, чтобы получить такие TypeErrors. Но когда я попытался скомпилировать в CS6, я получил ошибку.

Сценарий, как я уже сказал, относительно проста:

stop(); 

sliderBar.minimum = 1; 
sliderBar.maximum = this.totalFrames; 
sliderBar.liveDragging = true; 
sliderBar.addEventListener(Event.CHANGE, moveAlong); 

function moveAlong(evt:Event):void { 
gotoAndStop(sliderBar.value); 
} 

this.addEventListener("enterFrame",onEnterFrame); 
function onEnterFrame(e:Event) { 
sliderBar.value = this.currentFrame; 
} 

sliderBar.set_thumb_size(30, 30); 

PlayVid.addEventListener(MouseEvent.CLICK, playIt); 

function playIt(event:MouseEvent):void 
{ 
play(); 
} 

PauseVid.addEventListener(MouseEvent.CLICK, pauseIt); 

function pauseIt(event:MouseEvent):void 
{ 
stop(); 
} 

SWF-на самом деле, кажется, прекрасно работать при компиляции. Но этот вывод еще обескураживает:

TypeError: Error #2007: Parameter child must be non-null. 
at flash.display::DisplayObjectContainer/addChildAt() 
at fl.controls::BaseButton/drawBackground() 
at fl.controls::BaseButton/draw() 
at fl.core::UIComponent/drawNow() 
at fl.controls::Slider/draw() 
at fl.core::UIComponent/callLaterDispatcher() 
TypeError: Error #2007: Parameter child must be non-null. 
at flash.display::DisplayObjectContainer/addChildAt() 
at fl.controls::BaseButton/drawBackground() 
at fl.controls::BaseButton/draw() 
at fl.core::UIComponent/callLaterDispatcher() 

Когда я отладки, я получаю те же ошибки, плюс это примечание: «Невозможно отобразить исходный код в этом месте.»

Обратите внимание, что кнопки, которые я использую (PlayVid и PauseVid), являются обычными. Я предполагаю, что «BaseButton» относится к компоненту кнопки, интегрированному с (вызываемым) с помощью ползунка?

Как вы можете сказать, я почти новичок, любой совет приветствуется!

лучшие J

+0

Код, который вы нам не показываете ... где у вас есть drawBackground() и draw() и drawNow() и addChildAt ()? – Cilan

ответ

1

Эти функции (drawBackground, рисовать, drawNow) находятся в fl.controls (или другого фл) модуля. Эта проблема выглядит как недостающий DisplayObject при конструировании компонента.

Возможно, существует разница между определением компонентов в CS5 и CS6. Таким образом, удаление компонента (и всех связанных с ним активов) из библиотеки, повторное добавление слайдера (версия CS6) и повторная скининг (при необходимости) должны сделать это.

Это должно работать, но мне интересно, знает ли кто-нибудь способ проследить через fl-модули? (возможно, касательно вопроса, но это позволит сузить то, что точно изменилось)

+0

Да! Это сработало! Я просто удалил слайдер, добавил его обратно, переустановил его, и ошибки исчезли. Я бы дал dhc «проголосовать» за то, что милостиво закончил мои часы разочарования, но у меня недостаточно репутации, чтобы это сделать. Так что неофициальный голос от меня. Приветствия. –

Смежные вопросы