如何在Flash AS3中制作家庭游戏/宾果游戏

问题描述 投票:1回答:1

在编写此脚本时显示错误,该脚本具有无法嵌套的软件包,我该如何解决该问题。如果没有,谁能给我一个新代码,以便我可以尝试制作新文件?我在先前的堆栈AS3 Bingo ticket generator]中有此文件

但是我无法理解如何使用它。

package  {
import flash.display.Sprite;
import flash.text.TextField;

public class Main extends Sprite{

    public var boards:Array = new Array();
    private static const AMAUNT_BOARDS:uint = 6;
    private static const NUMBER_FIELD_SIZE:uint = 20;

    public function Main() {


        for(var i:uint = 0; i < AMAUNT_BOARDS; i++)
        {
            var numbers:Array = genNumbers();
            numbers = deleteFields(numbers);
            var board:Sprite = getBoard(numbers);
            board.y = NUMBER_FIELD_SIZE * 4 * i;
            boards.push(board);
            addChild(board);
        }           
    }

    //generates a 2 Dimensional Array (3x9) with TextFields
    //populates the according Numbers and returns a board Sprite
    private function getBoard(n:Array):Sprite
    {
        var s:Sprite = new Sprite();
        var a:Array = new Array();
        for(var i:uint = 0; i < 3; i++)
        {
            var b:Array = new Array();
            for(var k:uint = 0; k < 9; k++)
            {
                //create TextFields
                var tf:TextField = new TextField();
                tf.x = k * NUMBER_FIELD_SIZE;
                tf.y = i * NUMBER_FIELD_SIZE;
                tf.border = true;
                tf.width = NUMBER_FIELD_SIZE;
                tf.height = NUMBER_FIELD_SIZE;                  

                if(n[k][i] != 0) // adds the number if the value isn't 0
                    tf.text = n[k][i]; // Note that i am switching k & i because the number Array is 9x3

                b.push(tf);
                s.addChild(tf);
            }           
        }       
        return s;
    }

    // Turns 4 random numbers out of the lines into 0 And returns the Array
    private function deleteFields(a:Array):Array
    {
        for(var i:uint = 0; i < 3; i++)
        {
            var r:RandomPlus = new RandomPlus(8,0);
            for(var k:uint = 0; k < 4; k++)
            {
                    var t:uint = r.getNum();
                    a[t][i] = 0;
            }
        }           
        return a;
    }

    // Generates and returns a 2 Dimensional Array (9x3) with random numbers
    private function genNumbers():Array
    {
        var a:Array = new Array();
        var st:uint = 1;
        var en:uint = 9;
        for(var i:uint = 0; i < 9; i++)
        {
            var line:Array = new Array();
            var ran:RandomPlus = new RandomPlus(en,st);

            if(i == 0)//accounting for the number differnenz at start
                st--;

            if(i==7)//accounting for the number differnenz at end
                en ++;

            st += 10;
            en += 10;

            for(var e:uint = 0; e < 3; e++)
                line[e] = ran.getNum();

            a.push(line);               
        }
        return a;
    }
}

}

在编写此脚本时显示错误,该脚本具有无法嵌套的软件包,我该如何解决该问题。如果没有,谁能给我一个新代码,以便我可以尝试制作新文件?我有...

actionscript-3 flash-cs5
1个回答
0
投票

TL; DR:类定义中的“ Main”可能必须更改为与现有名称冲突。扩展精灵可能需要更改以扩展动画片段。 RandomPlus需要不需要的输入,或者需要制作成符号并导出到Actionscript。

© www.soinside.com 2019 - 2024. All rights reserved.