2013-09-25 4 views
0

хорошо, поэтому у меня есть кнопка (а не клип), называемый sClose. У меня также есть кнопка s и мувиклип под названием sMC. В принципе, все находится на одном кадре. Код запускается с помощью скрытого скрытия sMC и sClose. Теперь, когда вы нажимаете s, появляются sMC и sClose. SMC - это экран, а sClose - это только закрытая кнопка, где, если вы нажмете на нее, тогда она скрывается и скрывает sMC. Поэтому в основном, если щелкнуть sCLose, он вернет вас к исходному экрану. Вот ActionScript 3 cpde.actionscript 3 как использовать getChildByName для кнопки (не MovieClip)

sMC.visible=false; 
sCLose.visible=false; 
s.addEventListener(MouseEvent.CLICK, clickHandler); 
function clickHandler(event:MouseEvent):void { 
    var focus; 
    var cB; 
    focus = MovieCLip(getChildByName(event.target.name + "MC")); 
    cB = Button(getChildByName(event.target.name + "Close")); 
    focus.visible=true; 
    cB.visible=true; 

Когда я запускаю код, нет никакой ошибки в линии MovieClip (getChildByName), однако, он дает ошибку на линии Button (getChildByName). В нем говорится: «Вызовите возможно неопределенную кнопку« Метод ». Почему это так?

+0

Вы импортировали класс 'Button'? –

+0

Как мне это сделать? Просто «кнопка импорта»? Потому что я попробовал это, и он сказал: «Кнопка определения не найдена». Я понял, что класс кнопки уже существует, как MovieClass. Старайтесь, когда я набираю «Button» в ActionScript, он сияет. – user2719875

+0

Обратите внимание, что я не очень часто использую Flash Professional, но предполагаю, что это то же самое, что чистые AS3 и Flex. В вашем случае попробуйте поместить это вверху вашего кода: 'import fl.controls.Button;' Исходя из того, что вы сказали в своем пересмотренном комментарии, это, вероятно, не поможет;) –

ответ

0

Вам не нужно бросать его ни на что, кроме DisplayObject. Вы не используете никаких свойств Button, поэтому, если вы пишете

cB = DisplayObject(getChildByName(event.target.name + "Close")); 
cB.visible=true; 

он должен работать.

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