Как сделать кнопку в flashpunk?
саму кнопку я уже сделал, но как сделать так, чтобы если нажалась то загружался новый мир?
MainMenu.as
Code
package {
import entity.Button;
import flash.display.MovieClip;
import flash.ui.MouseCursor;
import net.flashpunk.Entity;
import flashpunk.Button;
import net.flashpunk.World;
import net.flashpunk.FP;
import net.flashpunk.graphics.Image;
import net.flashpunk.utils.Input;
import net.flashpunk.utils.Key;
import net.flashpunk.graphics.Text;
import flash.events.MouseEvent;
public class MainMenu extends World {
private var buttonNewGame:Button; //переменная для кнопки
private var graphic:Image;
[Embed(source='assets/back.png')] //фон
private const MenuFon:Class;
private var xyButton:Number = (FP.width - 150) / 2; // координата x для кнопок
public function MainMenu() {
graphic = new Image(MenuFon);
addGraphic(graphic, 0, 0, 0) //добавляем фон
buttonNewGame = new Button("New Game", "newGame", xyButton, FP.height - 200 ); //создаем кнопку
addList (buttonNewGame);
}
private function addListeners():void { //попытался добавить слушатели
buttonNewGame.addEventListener(MouseEvent.CLICK, handler);
}
override public function update():void {
if (Input.check(Key.X)){ //сейчас стоит переход при помощи Х, а хотелось бы на кнопку
FP.world = new Level();
}
}
}
Button.as
Code
package {
import net.flashpunk.Entity;
import net.flashpunk.graphics.Graphiclist;
import net.flashpunk.graphics.Spritemap;
import net.flashpunk.graphics.Text;
import net.flashpunk.utils.Input;
public class Button extends Entity {
public var sprite:Spritemap = new Spritemap(GFX.Button, 159, 38);
public var txt:Text;
public var namee:String;
public function Button(text:String, namee:String, xx:Number, yy:Number, spriteMap:Spritemap = null, color:Number = 0xFFFFFF, size:int = 18) {
//в конструктор передается текст кнопки, ее имя, начальные координаты, спрайт кнопки, цвет текста и размер
this.name = namee;
if (spriteMap) sprite = spriteMap;
txt = new Text(text, 0,10,150);
txt.color = color;
txt.size = size;
txt.x = (sprite.width - txt.width) / 2;
txt.y = (sprite.height - txt.height) / 2;
var content:Graphiclist = new Graphiclist(sprite, txt);
graphic = content;
x = xx;
y = yy;
type = "button";
setHitbox(sprite.width, sprite.height);
createAnimation();
}
private function createAnimation():void {
sprite.add("mouseOver", [1], 5, false); //режим спрайт на два кадра
sprite.add("mouseOut", [0], 5, false); //один показывается когда мышка находится над кнопкой, другой когда не находится
}
}
}
пишу по урокам, AS только 2 день учу как и FlashPunk, пытался добавить слушатели, но ошибка при запуске
Quote
Error: Call to a possibly undefined method addEventListener through a reference with static type Button.
buttonNewGame.addEventListener(MouseEvent.CLICK, handler);
помогите