Как отключить кнопку внутри вложенного мувиклипа?
У меня есть мувиклип, давайте назовем его A. Затем внутри A у меня есть еще один мувиклип, давайте назовем его B, затем внутри B, у меня есть еще один мувиклип, давайте назовем его C, а внутри CI есть несколько кнопок, которые нужны быть временно отключенным. Является ли это возможным? я пытался
A.B.C.enabled=false;
а также
A.B.C.mouseEnabled=false;
Это не работает. Однако я нашел способ сделать это.
A.B.C.buttonInsideC.mouseEnabled=false;
Но если я использую его таким образом, я должен написать его для всех кнопок, и у меня их много. Поэтому я думаю, что это будет бременем для моей программы.
2 ответа
Не только mouseEnabled
, вы также должны отключить свойство mouseChildren в C.
A.B.C.mouseChildren = false;
Я предполагаю, что у вас уже есть собственный класс для хранения вашего дочернего MovieClip, просто есть функция, которая проверяет, является ли он правильным дочерним элементом и не вызывает ли он ту же функцию для дочернего элемента. НАПРИМЕР:
public class ClipMovie extends MovieClip
{
private var _Child:ClipMovie;
public function DisableButtonsAt(int childIndex, int currentIndex):void
{
if(childIndex + 1 == currentIndex)
{
someButton.mouseEnabled = false;
}
else if(_Child != null)
{
_Child.DisableButtonsAt(childIndex, currentIndex + 1);
}
else
{
throw new Error("Unable to find child, cannot disable buttons.");
}
}
}