как работать с кнопкой в классе и пакетами в AS3

#actionscript-3 #flash #class #package

#actionscript-3 #flash #класс #пакет

Вопрос:

Я новичок в action script. не работает работа с кнопкой в файле класса action script. я создал два файла, один из которыхstream.as и еще один main.as main.as — это файл основного класса моего фрейма. я нарисовал кнопку и преобразовал ее в button и дал экземпляру имя play_btn. но компилятор выдает мне 1120: доступ к неопределенному свойству play_btn. оба кода приведены ниже;main.as

 package  {
import flash.display.MovieClip;
import stream.stream;
public class main extends stream {
    public function main() {
        }
        // constructor code
    }
}
  

stream.as

 package {
import flash.events.MouseEvent;
import flash.display.MovieClip;
public class stream extends MovieClip {
    public function main() {
        play_btn.addEventListener(MouseEvent.CLICK, pausevedio);
        function pausevedio(event:MouseEvent):void{
            play_btn.visible=false;
        }
        // constructor code
    }
}
  

}

Комментарии:

1. В качестве примечания вы должны называть свои классы с большой буквы, например. Основной, поток. Конструктором для класса stream должен быть stream(), а не main().

Ответ №1:

Поправьте меня, если я ошибаюсь, но это потому, что play_btn принадлежит исключительно вашему основному классу, и вы пытаетесь получить к нему доступ через класс stream, чтобы сделать это правильно, попробуйте создать его экземпляр с помощью кода в классе, в котором вы хотите его использовать, а не на временной шкале, вот так:

 playBtn: play_btn = new play_btn();
playBtn.x = x;
playBtn.y = y;
addChild(playBtn);
  

Это мое лучшее предположение, я не совсем уверен, как структурированы ваши классы, но это может быть вашей проблемой. Я надеюсь, что это поможет (я тоже новичок, но я подумал, что мои два цента могут помочь!)!

~ Приветствия!