Я бы хотел создать игру Hangman, но вместо того, чтобы игрок вводил букву, я бы хотел, чтобы на экране было 26 нажимаемых кнопок.Теперь я могу сделать 26 символов, но это кажется смешным, когда я могу создать класс letter_button.as и просто создать 26 экземпляров letter_button, где я могу просто сделать что-то вроде letter_button.letter_id, чтобы получить значение.
Это легко.Сложная частьЧто ж.1- Как мне создать кнопку, которая будет принимать динамический текст?
2 - Как мне добавить эти кнопки на сцену?Будет ли работать parent.addChild (new letter_button (letter))?Или мне нужно что-то еще?
Вот как далеко я продвинулся в своем решении, скажите мне, если я лаю не на том дереве.Для начала я создал кнопку «Letter_Button».На нем есть текстовое поле с именем "letter_text".Это мувиклип, и он ссылается на Letter_Button.as
Вот лоскутный, полусгоревший тестовый код:
package {
import flash.display.MovieClip;
public class hangman_manager extends MovieClip{
public function hangman_manager()
{
addChild(new Letter_Button("a"));
}
}
}
И Letter_Button.as:
package {
import flash.display.MovieClip;
import flash.display.SimpleButton;
import flash.events.Event;
public class Letter_Button extends SimpleButton {
public function Letter_Button(letter:String) {
x = 250 ;
y = 250 ;
trace ("Letter is"+ letter);
addEventListener(Event.ADDED_TO_STAGE,onAddedToStage);
}
public function onAddedToStage(event:Event):void
{
this.letter_text.text="A";
}
}
}
Проблема заключается в том, что я продолжаю получать ошибку нулевого объекта, я Угадаю, потому что кнопка letter_ еще не существует.Я надеялся, что onAddedToStage это исправит, но это не так.Как я здесь не так?И я изобрел нелепый способ сделать это?Есть ли лучший способ?