Я создаю настольную игру и использую объектно-ориентированное программирование с AS3.Я создал клип с кружком, который перемещается по игровому полю.Есть 18 квадратов и 18 кадров.У меня есть кнопка, которая дает вам значение с кубиком с функцией случайного числа:
public function rollDie():void
{_dieValue = Math.ceil(Math.random()*6)
this.gotoAndStop(_dieValue);}
У меня есть класс для кнопки кубика, кубика, игровой доски и основной доски.Я пытаюсь заставить круг двигаться по доске (или перейти к кадру в mc) в зависимости от того, какое значение я получаю с кубиками.Вот мой код:
Основная плата:
package
{
import flash.display.MovieClip;
import flash.events.MouseEvent;
import flash.events.Event;
public class DiceOut extends MovieClip
{
public function DiceOut()
{
trace("class diceout defined");
createListeners();
}
public function createListeners():void
{
//trace("createListeners");
rollButton.addEventListener(MouseEvent.CLICK, buttonClick);
}
public function buttonClick(e:MouseEvent):void
{
die1.rollDie();
trace(die1.dieValue);
}}}
Класс игры в кости:
package {
import flash.display.MovieClip;
public class die extends MovieClip {
private var _dieValue:uint;
public function die() {
trace("dice created");
stop();
}
public function rollDie():void
{
_dieValue = Math.ceil(Math.random()*6)
this.gotoAndStop(_dieValue);
}
public function get dieValue():uint
{
return _dieValue;
}}}
Класс игры на доске:
package {
import flash.display.MovieClip;
public class gameboard extends MovieClip {
public function gameboard() {
trace("Gameboard Created");
stop();}}}
DiceButtonкласс:
package {
import flash.display.MovieClip;
import flash.events.MouseEvent;
public class GameButton extends MovieClip {
public function GameButton() {
trace("Button created");
stop();
createListeners();
}
private function createListeners():void
{
this.addEventListener(MouseEvent.MOUSE_OVER, hoverOver);
this.addEventListener(MouseEvent.MOUSE_OUT, hoverOff);
}
public function hoverOver(e:MouseEvent):void
{
this.gotoAndStop(2);
}
public function hoverOff(e:MouseEvent):void
{
this.gotoAndStop(1);
}}}
Если кто-нибудь мог бы, пожалуйста, дать некоторое понимание, которое было бы очень полезно.Экземпляр mc для игровой доски - gameBoard.
Кроме того, если кто-нибудь знает, как вызвать рамку с меткой, в зависимости от того, на какой клетке находится круг, это будет плюсом.