Как создать пользовательское свойство / метод внутри видеоролика? (AS3)

#flash #actionscript-3 #flash-cs5 #movieclip

#flash #actionscript-3 #flash-cs5 #видеоролик

Вопрос:

Я программирую своего рода игру «Выключи свет» во Flash Professional (не Flash / Flex Builder), и было бы очень хорошо, если бы я мог управлять состоянием включения / выключения в графически оформленном символе, подобном этому:

 square1.on();
/* calling this method produces the same as */
square1.on = true;
square1.gotoAndStop("onState");

/* obviously, the next method: */
square1.off();
/* will produce */
square1.on = false;
square1.gotoAndStop("offState");
  

Возможно ли это? Как мне создать пользовательское on свойство и пользовательские методы on() и off() ? Если это невозможно, что еще я могу сделать?
Спасибо.

Ответ №1:

Используйте свойство типа state и создайте две функции для изменения этого состояния и навигации по началу воспроизведения.

Кроме того, вы должны расширить MovieClip для создания этих пользовательских свойств… лучшая практика.

 class MySquare extends MovieClip {
    public function on ():void {
        this.state = 'on';
        this.gotoAndStop('onState');
    }
    public function off ():void {
        // same, but for off
    }
  

[Учебное пособие] Экспорт для ActionScript

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

1. Вы меня не поняли. У меня уже есть видеоролик, разработанный графически в библиотеке, и я хочу добавить пользовательское свойство и два метода. Я отредактировал вопрос, чтобы не было путаницы.

2. Вы экспортировали символ для ActionScript и назначили пользовательский класс?

3. Нет. Но сохранит ли символ свою графику, если я его расширю?

4. ДА. Смотрите связанный учебник в моем ответе.

Ответ №2:

Вы должны создать свой собственный класс, который расширяет MovieClip следующим образом:

 public class CustomMovieclip extends MovieClip
{
   public function CustomMovieclip() {
     //constructor, here you do any initialization stuff
   {

   public function on() {
     //here you turn on the lights
   {

   public function off() {
     //here you turn off the lights
   {
}
  

И тогда вы можете просто вызывать их следующим образом:

 var bulb = new CustomMovieclip();
bulb.off();
  

Ответ №3:

У меня есть видеоролик с именем btn1, для которого мне нужно пользовательское свойство «sel» (для выбранного состояния)

Вот как я его использовал.

 btn1.sel = 1;
  

Вы также можете добавить новые свойства, такие как

 btn1.name = "Prabhat";
  

Или

 btn1.selected = false;
  

Надеюсь, это поможет.. хотя я вижу, что это довольно старый пост .. на всякий случай, если вам все еще нужна информация