错误1007-在非构造函数上尝试实例化

时间:2013-10-07 14:06:01

标签: actionscript-3 flash

我的新错误 - 无法理解为什么这是问题 - 它编译然后失败,错误1007 尽管改变了相当多的代码 - 它仍然是同样的错误 清除调试器窗口允许它运行除tile.as之外的所有内容。

根据Pulsar的要求,这里是两个问题文件的完整代码。

这是在Main.as

package
{
    import flash.display.Bitmap;
    import flash.display.Sprite;
    import flash.events.*;
    import flash.ui.Keyboard;
    //import board;
    import flash.accessibility.AccessibilityImplementation;
    import flash.display.Bitmap;
    import flash.display.MovieClip;
    import flash.text.TextField;
    import flash.text.TextFormat;
    import flash.display.Sprite;
    import flash.utils.ByteArray;
    import flash.events.MouseEvent;
    import flash.text.AntiAliasType;
    import flash.utils.describeType;
    import boxsprite;
    import flash.net.*;
    import flash.display.Stage;
    import board;
    import flash.events.KeyboardEvent;
    import flash.ui.KeyboardType;
    import Set;
    import tile;
    /**
     * ...
     * @author Michael
     */

    public class Main extends Sprite
    {

    [Embed(source="../lib/Board.jpg")]
        private var boardClass :Class;

        public function Main():void
        {if (stage) init();
        else addEventListener(Event.ADDED_TO_STAGE, init);

        }
        private var t1:Sprite;
        private var t2:Sprite;
        private var t3:Sprite;
        private var t4:Sprite;
        private var t5:Sprite;
            private var t6:Sprite;
        private var t7:Sprite;
        private var base:Sprite;
        private var tilex:Sprite;
        private var boardonScreen:Bitmap;
        private var box1:Sprite;
        private function init():void
        {
            removeEventListener(Event.ADDED_TO_STAGE, init);
                    boardonScreen= new boardClass() as Bitmap;
            boardonScreen.x = 0;
                  boardonScreen.y = 0;
                 stage.addChild(boardonScreen);
            box1 = new boxsprite();
            box1.x = 480;
            box1.y = 0;
            stage.addChild(box1);
            base = new tile();
                base.x =672;
            base.y = 448;
            stage.addChild(base);
            t1 = new tile();
            t1.x = 480;
            t1.y = 448;
            stage.addChild(t1);
            t2 = new tile();
            t2.x = 480;
            t2.y = 416;
            stage.addChild(t2);
                    t3 = new tile();
            t3.x = 480;
            t3.y = 384;
            stage.addChild(t3);
            t4 = new tile();
            t4.x = 480;
            t4.y = 352;
            stage.addChild(t4);
            t5 = new tile();
            t5.x = 480;
            t5.y = 320;
            stage.addChild(t5);
            t6 = new tile();
            t6.x = 480;
            t6.y = 288;
            stage.addChild(t6);
            t7 = new tile();
            t7.x = 480;
            t7.y = 256;
           stage.addChild(t7);}}}

在文件中:tiles.as

package {
    import fl.transitions.*;
    import fl.transitions.easing.*;
    import flash.display.Bitmap;
    import flash.display.Sprite;
    import flash.events.*;
    import flash.events.MouseEvent;
    import flash.text.TextField;
    import flash.text.*;
    import flash.utils.*;
    import lob;
    import flash.events.KeyboardEvent;
    import flash.ui.Keyboard;
    import Math;
    import Main;
    import boxsprite;
    import StatusBox;
    import Set;
    ///These import functions are used to ease the button back into place after a drag
    public class tile extends Sprite
    {   private var kana:String;
        private var value:uint;
        //private const backingcolour:uint = 0xe0e0e0;
        private var type:uint;
        private var isSetBox:Boolean;
        private static var valueaggreg:uint; //value of kanjitile
        static private var ret:Boolean; //do you return tiles from board
        static private var yplace:uint = 0;


        private var xx:int;
        private var yy:uint;
        private var initialx:uint;
        private var initialy:uint;
        private var finalx:uint;
        private var finaly:uint;
            private var id:uint;
        private var selectghostList:Vector.<String>=new<String>["ま,マ","む,ム","も,モ","か,カ","く,ク","こ,コ","な,ナ","ぬ,ヌ","の,ノ","ば,バ","ぶ,ブ","ぼ,ボ","は,ハ","ふ,フ","ほ,ホ","ぱ,パ","ぷ,プ","ぽ,ポ"];
        private var selectkanaList:Vector.<String>=new <String>["みゃ,ミャ", "みゅ,ミャ", "みょ,ミョ", "きゃ,キャ", "きゅ,キュ", "きょ,キョ", "にゃ,ニャ", "にゅ,ニュ", "にょ,ニョ", "びゃ,びゃ", "びゅ,ビュ", "びょ,ビョ", "  ひゃ,ヒャ", "ひゅ,ヒュ", "ひょ,ヒョ", "ぴゃ,ピャ", "ぴゅ,ピュ", "ぴょ,ピョ"];
        private var selectghostvalueList:Vector.<uint> = new <uint>[2, 2, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2];
    private const multiplier:Array = [["TW","1","1","DL","1","1","1","TW","1","1","1","DL","1","1","TW"],["1","DW","1","1","1","TL","1","1","1","TL","1","1","1","DW","1"],["1","1","DW","1","1","1","DL","1","DL","1","1","1","DW","1","1"],["DL","1","1","DW","1","1","1","DL","1","1","1","DW","1","1","DL"],["1","1","1","1","DW","1","1","1","1","1","DW","1","1","1","1"],["1","TL","1","1","1","TL","1","1","1","TL","1","1","1","TL","1"],["1","1","DL","1","1","1","DL","1","DL","1","1","1","DL","1","1"],["TW","1","1","DL","1","1","1","DL","1","1","1","DL","1","1","TW"],["1","1","DL","1","1","1","DL","1","DL","1","1","1","DL","1","1"],["1","TL","1","1","1","TL","1","1","1","TL","1","1","1","TL","1"],["1","1","1","1","DW","1","1","1","1","1","DW","1","1","1","1"],["DL","1","1","DW","1","1","1","DL","1","1","1","DW","1","1","DL"],["1","1","DW","1","1","1","DL","1","DL","1","1","1","DW","1","1"],["1","DW","1","1","1","TL","1","1","1","TL","1","1","1","DW","1"],["TW","1","1","DL","1","1","1","TW","1","1","1","DL","1","1","TW"]];
    private var vis:Boolean = true; //visibility
private var isSet:Boolean;
    [Embed(source = "C:/Users/Makiko/Desktop/Michael/Games/Test/New Project/lib/Tile.png")]
    private var tileClass:Class
    private var kanaList:Vector.<String> = new <String>["あ,ア", "あ,ア", "え,エ", "え,エ", "い,イ", "い,イ", "お,オ", "お,オ", "う,ウ", "う,ウ", "う,ウ", "う,ウ", "か,カ", "か,カ", "け,ケ", "け,ケ", "き,キ", "き,キ", "く,ク", "く,ク", "こ,コ", "こ,コ", "さ,サ", "さ,サ", " し,シ", " し,シ", "す,ス", "す,ス", "そ,ソ", "そ,ソ", "す,ス", "す,ス", "た,タ", "た,タ", "て,テ", "て,テ", " ち,チ", " ち,チ", "と,ト", "と,ト", "つ,ツ", "つ,ツ", "ら,ラ", "ら,ラ", "れ,レ", "れ,レ", "り,リ", "り,リ", "ろ,ロ", "ろ,ロ", "る,ル", "る,ル", "だ,ダ", "で,デ", "じ,ジ", "ど/ド", "ず,ズ", "ざ,ザ", "ぜ,ゼ", "ぞ/ゾ", "な,ナ", "ね,ネ", "に,二", "の,ノ", "ぬ,ヌ", "じゃ,ジャ", "じゅ,ジュ", "じょ,ジョ", "ん,ン", "しゃ,シャ", "しゅ,シュ", "しょ,ショ", "や,ヤ", "ゆ,ユ", "よ,ヨ", "は,ハ", "ひ,ヒ", "ふ,フ", "へ,ヘ", "ほ,ホ", "ば,バ", "ば,バ", "ぶ,ブ", "ぶ,ブ", "び,ビ", "び,ビ", "ぼ,ボ", "ぼ,ボ", "べ,ベ", "べ,ベ", "ぱ,パ", "ぴ/ピ", "ぷ,プ", "ぺ,ペ", "ぽ,ポ", "ま,マ", "み,ミ", " む,ム", "め,メ", "も,モ", "を/ヲ", "みゃ,ミャ", "みゅ,ミャ", "みょ,ミョ", "きゃ,キャ", "きゅ,キュ", "きょ,キョ", "にゃ,ニャ", "にゅ,ニュ", "にょ,ニョ", "びゃ,びゃ", "びゅ,ビュ", "びょ,ビョ", "ひゃ,ヒャ", "ひゅ,ヒュ", "ひょ,ヒョ", "ぴゃ,ピャ", "ぴゅ,ピュ", "ぴょ,ピョ", "っ,ッ", "っ,ッ"];
    private var valueList:Vector.<uint>= new <uint>[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 10, 10, 5, 5, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 20, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 1, 1];
    // Lists of Kana that can be replaced in the replace mode and the substitute Kana and Values
    //Start list of playerHand contents as I don't know if Null is 0
     private var playernumber:uint; //total number of players
     private var allplayersHand:Array = [[], [], [], [],[], []];
    private var playerRound:uint = 1; //which player
    private var round:uint = 1; //round of the game
    private var aplayersHand:Array; // hand of the current player
    private var mode:uint;
    private var tileImage:Bitmap;
    private static var idvar:uint;
    static private var first:Boolean = true;
    private var special:Boolean = false;
    static private var handstatus:Vector.<String>;
    //handstatus types are idle: free, ret: ready to return to stock, set: set on        board, rem: ready to removed, not
    public function tile()
    { addEventListener(Event.ADDED_TO_STAGE, standarddisplay) }
                private function standarddisplay(e:Event=void) : void
           {trace("Project is running fine!");
            removeEventListener(Event.ADDED_TO_STAGE, standarddisplay);
            tileImage = new tileClass as Bitmap;
            addChild(tileImage);
            //Draws the japanese letter on the tile
              var kanafield:TextField = new TextField();
              kanafield.width = 40;
              kanafield.height = 20;
              kanafield.x = -2;
              kanafield.y = -5;
              kanafield.text == "";
              trace(kanafield.text);
              kanafield.wordWrap = true;
              kanafield.background = true;
              var kanafieldformat:TextFormat = new TextFormat();
              kanafieldformat.size = 12;
              kanafieldformat.font = "Arial";
              kanafield.setTextFormat(kanafieldformat);
              this.addChild(kanafield);
              kanafield.mouseEnabled = false;
             //Draw the number on the tile
              valuefield= new TextField();
              valuefield.width = 30;
              valuefield.height = 10;
              valuefield.x = 0;
              var valuefieldformat:TextFormat = new TextFormat;
              valuefieldformat.size = 7;
              valuefield.text = "";
              valuefield.y = 15;
              valuefield.background = false;
              valuefield.setTextFormat(valuefieldformat);
              this.addChild(valuefield);
              valuefield.mouseEnabled = false;
            //Add an event listener to the tile on the stage
            checktype(); }
            private function checktype():void
            {if (first != true)
                   {   id = idvar;
                        idvar += 1;
                    value = playerhandvalue[id];
                        stage.addEventListener(KeyboardEvent.KEY_DOWN,keyboardinput);
                        this.addEventListener(StatusBox.STATUSBOXCHANGED,moderesponse);
                        this.addEventListener(StatusBox.HIDE, SetAlpha);
                        isSetBox = false }
                    else
                        {   special = true;
                      first = false;
                     this.addEventListener(Set.BOX_SET_CHANGED,btr)
                    init();}}
                   private function init():void
                           { trace("starting");
                           stage.addEventListener(KeyboardEvent.KEY_DOWN, myKeyDown);
                           stage.addEventListener(MouseEvent.MOUSE_UP, dnp);}
                   private function dnp(e:MouseEvent):void
                {   stage.removeEventListener(KeyboardEvent.KEY_DOWN,myKeyDown);
                        stage.removeEventListener(MouseEvent.MOUSE_UP, dnp);
                    trace(playernumber);
                    create();   }
    private function myKeyDown(e2:KeyboardEvent):void
            { if (e2.keyCode == Keyboard.NUMBER_1)
                {playernumber = 1;
                 trace(playernumber);}
                     else if (e2.keyCode == Keyboard.NUMBER_2)
                   {playernumber = 2;
                            trace(playernumber) 
                     else if (e2.keyCode == Keyboard.NUMBER_3)
                              {playernumber = 3;
                               trace(playernumber);}                                                      
                    else if (e2.keyCode == Keyboard.NUMBER_4)
                {playernumber = 4;
                             trace(playernumber); }
                    else if (e2.keyCode == Keyboard.NUMBER_5)
                             {playernumber = 5;
                              trace(playernumber);}
             else if (e2.keyCode == Keyboard.NUMBER_6)
                {playernumber = 6; }
             else {playernumber = 1;}}
            private function create():void
            { var listLength:uint;
              var row:uint
                    aplayersHand = allplayersHand[playerRound];
                   for (var i:uint = (aplayersHand.length-1); i <= 6; i+=1)
             {  listLength = kanaList.length;
            row = int(Math.random() * listLength);                     
                trace (row);
               trace(i);
              aplayersHand[i] = [0, kanaList[row], valueList[row],]
                   trace (aplayersHand);
              trace (aplayersHand[i]);

                  kanaList.splice(row,1);


                  valueList.splice(row, 1);

                  playerhandkana.push(kanaList[row]);

                  playerhandvalue.push(valueList[row]);}
                  dispatchEvent( new StatusBox(StatusBox.STATUSBOXCHANGED, 1));                          
                  }
                  private function moderesponse(e:StatusBox):void
            { mode = e.mode;
                          cleanup();
                if (special == false)
                        {
                        if (mode == 1)
                          { this.visible = true;
                           this.kanafield.visible = true;
                        this.valuefield.visible = true;
                       this.x = 480;
                         this.y = (480 - (id*32));
                      kana =  playerhandkana[id];
                      value = playerhandvalue[id];
                       kanafield.text = kana;
                       valuefield.text = String(value);
                       this.addEventListener(MouseEvent.MOUSE_DOWN, draglocation);
               }
        else if (mode == 4)
        {if (handstatus[id] == "rem")
            {handstatus[id] = "idle"; } }   }
        else if (special == true)
        { if (mode == 8)
        {stage.addEventListener(KeyboardEvent.KEY_DOWN, keyboardinput);
        for (var i:uint = 0; (handstatus.length - 1); i += 1)
        {if (handstatus[i] == "ret")
             {kanaList.push(playerhandkana[i]);
             valueList.push(playerhandvalue[i]);
             endgame = true;}       }
        if (endgame == true)
        {       dispatchEvent(new StatusBox(StatusBox.STATUSBOXCHANGED, 9, false, false));}
        else        {{var cfh:Boolean = checkforwordtype(horzword);
            var cfv:Boolean = (checkforwordtype(vertword));
            var hl2:uint;
            if ((handstatus.length > 1 && (cfh == false) && (cfv == false)))
            {dispatchEvent(new StatusBox(StatusBox.STATUSBOXCHANGED, 10, false, false));}
            if (generalx.length == 0)
            {for (var j:uint = 0; (handstatus.length - 1); i += 1)
              {if (handstatus[i] == "set")
                 {hl2 += 1 } }
              if (hl2 == 1)
              {dispatchEvent(new StatusBox(StatusBox.STATUSBOXCHANGED, 10, false, false)); }}
            if ((cfh == true) && (cfv == true))
             {dispatchEvent(new StatusBox(StatusBox.STATUSBOXCHANGED, 10, false, false));   }
            else if (cfh == true)
            {calctotalscore(valuehor, valuevert);}
             else if (cfv == true)
             {calctotalscore(valuevert, valuehor);  }   }   }
            for (var k:uint = 0; k < (handstatus.length - 1); k += 1)
            { if(handstatus[i] == "idle" || "rem")
             {  var o:uint=0
                 allplayersHand[playernumber][o] = [kana, value];
                 o += 1; }}}
        else if (mode == 9)
         {if (ret == true)
         { ret = false;
          for (var m:uint = 0; m < (handstatus.length - 1); m += 1)
            { if(handstatus[i] == "set")
             {  var p:uint=0
                 allplayersHand[playernumber][p] = [kana, value];
                 p += 1; }}
         dispatchEvent(new StatusBox(StatusBox.STATUSBOXCHANGED, 1, false, false));}
         else { setinplace();
                dispatchEvent(new StatusBox(StatusBox.STATUSBOXCHANGED, 1, true, true));
         }  }
         else if (mode == 10)
         {isSet = false;
    isSetBox = false;
    this.visible = false;
    create();}}}
    private function btr(e:Set):void
        {if (e.valueex > 0)
        {   if (e.kanaex == "kanji")
         {kanafield.type = TextFieldType.INPUT;
          value += e.valueex;
          valuefield.text = String(value);}
         else if (e.kanaex == "k+" )
         {value += e.valueex;
         valuefield.text = String(value);}
         else if (e.kanaex == "k-")
         {value-= e.valueex;
         valuefield.text = String(value);}
         else if (e.kanaex == "nokanji")
         {kanafield.type = TextFieldType.DYNAMIC;
          value = 0;
          kana = "";
          valuefield.text = "";}}
         else
         {if (kana == "")
          { if (e.valueex == 0)
            {kana =selectghostList[selectkanaList.indexOf(e.kanaex, 0)];
             value = selectghostvalueList[selectkanaList.indexOf(kana, 0)];
             kanafield.text = kana;
            valuefield.text = String(value);}
            else
            {kana = "";
            value = 0;
            kanafield.text = "";
            valuefield.text = "";}}}}
    private var error:String;
    private function SetAlpha(e:StatusBox):void
    { if (isSetBox == true)
        {this.alpha = 0;
        this.mouseEnabled = false;  }   }
        static private var scorelist:Array = [[]];
    private function setinplace():void {
        if (isSet==true)    {
            /*var lob1:Sprite = new lob(kana, value);
                lob1.x = xx;
                lob1.y = yy;
                stage.addChild(lob1);*/
                removeEventListener(StatusBox.SETDOWN, setinplace);
                stage.removeChild(this);}
                else        {stage.removeChild(this);}  }
    static private var turnscore:uint;
    static private function calctotalscore(main:Vector.<uint>,side:Vector.<uint>):uint
    {  var  tws:uint;
       var twm:uint;
       var amws:uint;
       var asws:uint;
        for (var i:uint = 0; (handstatus.length - 1); i += 1)
              {if (handstatus[i] == "set")
                 { if (side[i] > 0)
                     {asws += (side[i] + (exclusionvalue[i] * LM[i])) * WM[i]; }
                    amws += main[i] + (exclusionvalue[i] * LM[i])
                    twm += WM[i]
                    generalx.push(exclusionx[i]);
                    generaly.push(exclusiony[i]);
                 generalkana.push(exclusionkana[i]);
                    generalvalue.push(exclusionvalue[i]);}}
              exclusionx = new  Vector.<uint>
              exclusiony = new Vector.<uint>
              exclusionkana = new Vector.<String>
              exclusionvalue= new Vector.<uint>
              tws = (asws + amws) * twm;
             return tws;}
    private function checkforwordtype(wordcheck:Vector.<Boolean>):Boolean
    {   for (var i:uint = 0; handstatus.length - 1; i += 1)
    {  var check:Boolean = false;
        if (handstatus[i] == "set")
        {if (wordcheck[i] == true)
        {check = true;}}}
        return check;}
    private var endgame:Boolean;
    private var playerhandkana:Vector.<String> = new Vector.<String>(7);
    private var playerhandvalue:Vector.<uint> = new Vector.<uint>(7);
    private var valuefield:TextField;
    private function keyboardinput(e:KeyboardEvent):void
    {   if (mode == 2 || 3 || 4 || 5||8)
        {if (e.keyCode == Keyboard.I)
        { vis = !vis;
        if ((isSet=false)&&(isSetBox=false))
        {this.visible = vis;
         this.kanafield.visible = vis;
        this.valuefield.visible = vis;}}}
        if (mode == 8)
        {if (e.keyCode == Keyboard.R)
        {ret = !ret; }}}
    private var kanafield:TextField = new TextField();
           static  private var generalx:Vector.<uint>;
           static private var generaly:Vector.<uint>;
           static private var generalkana:Vector.<String>;
           static private var generalvalue:Vector.<uint>;
           static private var exclusionx:Vector.<uint>;
            static private var exclusiony:Vector.<uint>;
            static private var exclusionvalue:Vector.<uint>;
            static private var exclusionkana:Vector.<String>;
            private function addExclusion():void
            {exclusionx[id]=xx;
                exclusiony[id] = yy;
                exclusionkana[id] = kana;
                exclusionvalue[id] = value; }
                private function removeExclusion():void
                { exclusionvalue[id] = 0;
                  exclusionkana[id] = "0";
                  exclusionx[id] = 0;
                  exclusiony[id] = 0;   }
//The initial event performed when the button is first clicked;
            private function draglocation(e:MouseEvent):void
            {   removeEventListener(MouseEvent.MOUSE_DOWN, draglocation);
                initialx = this.x;
                initialy = this.y;
                if (isSet==false ||isSetBox == false)
                {   stage.addChild(this)
                this.startDrag();
                this.addEventListener(MouseEvent.MOUSE_UP, clickcheck);}        }
            private function clickcheck(e:Event):void
            {  if (isSetBox==false || isSet == false)
                { this.stopDrag();
                removeEventListener(MouseEvent.MOUSE_UP, clickcheck);}
                finalx = this.x;
                finaly = this.y;
                if ((((finaly - initialy) ^ 2 + (finalx - initialx) ^ 2)^0.5) < 5)
                {HandleDoubleClick();   }   }
             private function HandleDoubleClick():void
        {if (this.x < 480 && this.y < 480)
                {if (isSet == false)
                      {isSet = true;
                  this.stopDrag();
                   xx= int((this.x+16) / 32);
                      this.x = 32*xx;
                     yy= int((this.y+16) / 32);
                     this.y = (32 * yy);
                     for (var i:uint = 0; i < (exclusionx.length-1); i += 1)
                     {if (xx == exclusionx[i] && yy == exclusiony[i])
                     {notSet = true }}
                     if (generalx.length > 0)
                     {var notSet:Boolean;
                        for (var q:uint = 0; q < (generalx.length - 1); q += 1)
                      {if (xx == generalx[q] && yy == generaly[q])
                     {notSet = true }
                     else {notSet=false}}}
                  if (notSet == false)
                     {handstatus[id] = "set";
                     addExclusion();
                     notSet = true; }
                      else {isSet = false;}}
                else { handstatus[id] = "idle";
                  removeExclusion();}}
            else if (this.x > 480 && this.y < 480 && this.x < 704)
                {if (isSetBox == false)
                         {setonbox(); }
                             else {takeoffbox(); }} }
                             static private var killsetBox: Boolean;
            static private var WM:Vector.<uint>;
            static private var LM:Vector.<uint>;
            static private var horzword:Vector.<Boolean>;
            static private var vertword:Vector.<Boolean>;
            static private var idtoreplace:uint;
            private function rawscore(calcx:int, calcy:int):uint
            { var xincr:uint = 1;
            var yincr:uint = 1;
            var value:uint = 0;
            while ((Number(boardarray[xx + (calcx * xincr)][yy + calcy * yincr])) != 0)
                { value += (boardarray[xx + (calcx * xincr)][yy + calcy * yincr]);
                  xincr += 1; yincr += 1;   }
                    if (value == 0)
                    { for (var i:uint = 0; exclusionx.length - 1;i+=1)
                        { if (((exclusionx[i] == exclusionx[id]+calcx) && (exclusiony[i] == exclusiony[id] + calcy)))
                         {if (Math.abs(calcx) == 1)
                         { horzword[id] = true;}
                            else    {vertword[id] = true; } }   }   }
            return value;   }
            static private var valuehor:Vector.<uint>;
            static private var valuevert:Vector.<uint>;
    static private var boardarray:Array=new Array[[]];
            private function checkscore():void
            { switch(multiplier[exclusionx[id], exclusiony[id]])
                {case "TW": WM[id] = 3; LM[id] = 1; break;
                 case "DW": WM[id] = 2; LM[id] = 1; break;
                 case "TL": LM[id] = 3; WM[id] = 1; break;
                 case "DL": LM[id] = 2; WM[id] = 1; break;
                 default: LM[id] = 1; WM[id] = 1;}
                     valuehor[id] = rawscore(1, 0) + rawscore( -1, 0);
                     valuevert[id] = rawscore(0, 1) + rawscore(0, -1);  }
            private function cleanup():void
                    { if (mode == 2 || 3 || 4 || 5)
                      {   yplace = 0;
                          if (killsetBox=false)
                           {isSetBox = false;
                          handstatus[id] = "idle"; }
                          else
                          {if (isSetBox ==true)
                                 { this.visible = false;
                                   this.kanafield.visible = false;
                                   this.valuefield.visible = false;
                                 handstatus[id] = "not";
                    killsetBox = false; }    }  }}
    private var first:Boolean = true;
    private function kanachange(e:Set):void
    {   if (id==handstatus.indexOf(e.kanaex,0))
        {kana = e.kanaex;
        value = e.valueex;
        kanafield.text = kana;
        valuefield.text = String(value);
        playerhandkana[id] = e.kanaex;
        playerhandvalue[id] = e.valueex;}
        else
        { kana = "";
        value = 0;
    handstatus[id] = "not";}}
    private function setonbox():void
            {addEventListener(Set.BOARD_SET_CHANGED, kanachange);
             if (mode==3)
             {isSetBox = true;
             this.x = 480;
             this.y = 448 - (yplace * 32);
             handstatus[id] = "ret";}
             else if (mode == 4)
             {   if (yplace == 0)
             {dispatchEvent(new Set(Set.BOX_SET_CHANGED, kana, 0));
             isSetBox = true;
             this.x = 480;
             this.y = 448 - (yplace * 32);
             handstatus[id] = "rem";} }
             else if (mode == 5)
             { { isSetBox = true;
             this.x = 480;
             this.y = 448 - (yplace * 32);}
             if (yplace == 0)
              {dispatchEvent(new Set(Set.BOX_SET_CHANGED, "kanji", value)); }
             else if (yplace > 0)
             {dispatchEvent(new Set(Set.BOX_SET_CHANGED, "k+", value));  }
            yplace += 1; }}
             private function takeoffbox():void
             { removeEventListener(Set.BOARD_SET_CHANGED, kanachange);
               isSetBox = false;
             if (mode == 3)
             { handstatus[id] = "idle";
             isSetBox=false}
             else if (mode ==4)
             { if (yplace == 1)
             {dispatchEvent(new Set(Set.BOX_SET_CHANGED, kana, 1));
             isSetBox = false;
             handstatus[id] = "idle"  }
             else if (mode == 5)
             { if (yplace == 1)
             {dispatchEvent(new Set(Set.BOX_SET_CHANGED, "nokanji", value));         }
             else if (yplace > 1)
             {dispatchEvent(new Set(Set.BOX_SET_CHANGED, "k-", value));  }}
              handstatus[id] = "idle";
                yplace-= 1;          }}
            private function goodX(inX:Number):Number
            {if (inX < 0)
            {return 0;}
            if (inX > (stage.stageWidth) )
            {return (stage.stageWidth);
            }return inX;}
            private function goodY(inY:Number):Number {
            if (inY < 0)
            {return 0;  }
            if (inY > stage.stageHeight) {return stage.stageHeight;}
            return inY; }
                private function turn1():void
                             {if (playerRound > playernumber)
                                 {playerRound = 1;
                                 round += 1;
                                 } }    }}

1 个答案:

答案 0 :(得分:0)

您的构造函数不应该有返回类型。

尝试:

public function tile(i:uint,kana1:String,value1:uint, type1:uint)
{ 
    id = i;
    kana = kana1;
    value = value1;
    type = type1;
    addEventListener(Event.ADDED_TO_STAGE, go); // this function will be called when you create a new tile object
}

此外,未来的另一个潜在问题是你的init方法没有任何参数,所以如果你的Event.ADDED_TO_STAGE触发了init方法,它会抛出错误。

尝试:

private function init(e:Event = null):void