Flash 闪光误差1010

Flash 闪光误差1010,flash,runtime-error,Flash,Runtime Error,我让troble做了一个塔防游戏,但我犯了一个werid错误。它告诉我,它和一个事件监听者在同一条线上,这让我发疯。我需要在11月13日之前完成这项工作。请帮助。问题中的事件侦听器位于函数onEnterFrame中的箭头上 package { import flash.display.MovieClip; import flash.events.MouseEvent; import flash.ui.Keyboard; import flash.events.Ev

我让troble做了一个塔防游戏,但我犯了一个werid错误。它告诉我,它和一个事件监听者在同一条线上,这让我发疯。我需要在11月13日之前完成这项工作。请帮助。问题中的事件侦听器位于函数
onEnterFrame
中的箭头上

package
{
    import flash.display.MovieClip;
    import flash.events.MouseEvent;
    import flash.ui.Keyboard;
    import flash.events.Event;

    public class TowerDefence extends MovieClip
    {
        var arrowStop:Boolean;
        var arrowOk:Boolean;
        var i:int = 0;
        var currGold:int;
        var currWave:int;
        var maxWave:int;
        var placings:Array;
        var monsters:Array;
        var towers:Array;
        var bullets:Array;
        var life:int;
        var arrowCheck:Boolean = false;
        var crossCheck:Boolean = false;
        var wizardCheck:Boolean = false;
        var musketCheck:Boolean = false;
    public function TowerDefence():void
    {
        startGame();
    }
    function startGame():void
    {
        currGold = 20000;
        currWave = 0;
        maxWave = 80;
        monsters = new Array();
        towers = new Array();
        bullets = new Array();
        life = 20;
        arrowTowerButton.addEventListener(MouseEvent.CLICK,     onArrowTowerButtonClick);
        arrowTowerButton.addEventListener(MouseEvent.ROLL_OVER, RollOverArrowTowerButtonClick);
        arrowTowerButton.addEventListener(MouseEvent.ROLL_OUT, RollOutArrowTowerButtonClick);
        crossbowTowerButton.addEventListener(MouseEvent.CLICK, onCrossTowerButtonClick);
        crossbowTowerButton.addEventListener(MouseEvent.ROLL_OVER, RollOverCrossTowerButtonClick);
        crossbowTowerButton.addEventListener(MouseEvent.ROLL_OUT, RollOutCrossTowerButtonClick);
        wizardTowerButton.addEventListener(MouseEvent.CLICK, onWizardTowerButtonClick);
        wizardTowerButton.addEventListener(MouseEvent.ROLL_OVER, RollOverWizardTowerButtonClick);
        wizardTowerButton.addEventListener(MouseEvent.ROLL_OUT, RollOutWizardTowerButtonClick);
        musketTowerButton.addEventListener(MouseEvent.CLICK, onMusketTowerButtonClick);
        musketTowerButton.addEventListener(MouseEvent.ROLL_OVER, RollOverMusketTowerButtonClick);
        musketTowerButton.addEventListener(MouseEvent.ROLL_OUT, RollOutMusketTowerButtonClick);
        addEventListener(Event.ENTER_FRAME, onEnterFrame);

    }
    function onArrowTowerClick (event:MouseEvent):void
    {
        if(arrowOk)
        {
            arrowPos();
        }
    }
    function arrowPos():void
    {
        var posxi:int=0;
        var posxii:int=0;
        var posxiii:int;
        var posxiiii:int;
        while(arrowStop == false)
        {
            posxi = posxi + 50;
                if(posxi>(towers[i-1].x+25))
                {
                    posxiii = posxi - (towers[i-1].x+25);
                    posxiiii = towers[i-1].x+25 - posxii;
                    if(posxiii>posxiiii)
                    {
                        towers[i-1].x = posxi;
                        arrowStop = true;
                    }
                    else if(posxiii<posxiiii)
                    {
                        towers[i-1].x = posxii;
                        arrowStop = true;
                    }
                    else if(posxiii==posxiiii)
                    {
                        towers[i-1].x = posxii;
                        arrowStop = true;
                    }
                }
            posxii = posxi;
        }
        var posyi:int=0;
        var posyii:int=0;
        var posyiii:int;
        var posyiiii:int;
        arrowStop = false;
        while(arrowStop == false)
        {
            posyi = posyi + 50;
            if(posyi>(towers[i-1].y-25))
            {
                posyiii = posyi - (towers[i-1].y-25);
                posyiiii = towers[i-1].y-25 - posyii;
                if(posyiii>posyiiii)
                {
                    towers[i-1].y = posyi;
                    arrowStop = true;
                }
                else if(posyiii<posyiiii)
                {
                    towers[i-1].y = posyii;
                    arrowStop = true;
                }
                else if(posyiii==posyiiii)
                {
                    towers[i-1].y = posyii;
                    arrowStop = true;
                }
                if(towers[i-1].y < 200)
                {
                    towers[i-1].y = 200;
                }
            }
            posyii = posyi;
        }
    }
    function onArrowTowerButtonClick(event:MouseEvent):void
    {
        var a:int = 0;
        if(currGold>=10)
        {
            arrowCheck = true;
            currGold-=10;
            towers[i] = new ArrowTower;
            addChild(towers[i]);

            towers[i].gotoAndStop(1);
            i = i + 1;
            arrowStop = false;

        }
    }
    function RollOverArrowTowerButtonClick(event:MouseEvent):void
    {
        cost.text="10";
    }
    function RollOutArrowTowerButtonClick(event:MouseEvent):void
    {
        cost.text="";
    }
    function onCrossTowerButtonClick(event:MouseEvent):void
    {

    }
    function RollOverCrossTowerButtonClick(event:MouseEvent):void
    {
        cost.text="14";
    }
    function RollOutCrossTowerButtonClick(event:MouseEvent):void
    {
        cost.text="";
    }
    function onWizardTowerButtonClick(event:MouseEvent):void
    {

    }
    function RollOverWizardTowerButtonClick(event:MouseEvent):void
    {
        cost.text="40";
    }
    function RollOutWizardTowerButtonClick(event:MouseEvent):void
    {
        cost.text="";
    }
    function onMusketTowerButtonClick(event:MouseEvent):void
    {

    }
    function RollOverMusketTowerButtonClick(event:MouseEvent):void
    {
        cost.text="120";
    }
    function RollOutMusketTowerButtonClick(event:MouseEvent):void
    {
        cost.text="";
    }
    function onEnterFrame (event:Event):void
    {

        totalGold.text = "" + currGold;
        if(arrowCheck)
        {
            if(arrowStop == false)
            {trace(towers);             
                if(towers[i-1].arrowTowerTower.hitTestObject(hitA)||towers[i-1].arrowTowerTower.hitTestObject(hitB)|towers[i-1].arrowTowerTower.hitTestObject(hitC)||towers[i-1].arrowTowerTower.hitTestObject(hitD)||towers[i-1].arrowTowerTower.hitTestObject(hitE))
                    {
                        arrowOk = true;
                        towers[i-1].range.gotoAndStop(1);
                    }
                    else
                    {
                        arrowOk = false;
                        towers[i-1].range.gotoAndStop(2);
                    }
                    if(arrowStop == false)
                    {
                        addEventListener(MouseEvent.MOUSE_OVER,onMousetrack);
                    }
                    else
                    {
                        removeEventListener(MouseEvent.MOUSE_OVER,onMousetrack);
                    }
                    towers.arrowTowerTower.addEventListener(MouseEvent.CLICK,onArrowTowerClick);
                                                            onArrowTowerClick);
            }
        }
    }
    function onMousetrack (event:MouseEvent):void
    {
            towers[i-1].x = event.stageX - 25;
            towers[i-1].y = event.stageY + 25;
    }
}
包
{
导入flash.display.MovieClip;
导入flash.events.MouseEvent;
导入flash.ui.Keyboard;
导入flash.events.Event;
公共类TowerDefense扩展MovieClip
{
变量arrowStop:布尔值;
var-arrook:布尔型;
变量i:int=0;
var-currGold:int;
var-currWave:int;
var-maxWave:int;
var标签:数组;
变种怪物:阵列;
var塔:阵列;
变量:数组;
var-life:int;
变量arrowCheck:Boolean=false;
变量交叉检查:布尔值=false;
var-wizardCheck:Boolean=false;
var musketCheck:Boolean=false;
公用函数TowerFence():void
{
startGame();
}
函数startName():void
{
黄金=20000;
currWave=0;
maxWave=80;
怪物=新阵列();
塔=新阵列();
项目符号=新数组();
寿命=20;
箭头TowerButton.addEventListener(MouseEvent.CLICK,on箭头TowerButtonClick);
箭头TowerButton.addEventListener(MouseEvent.ROLL_OVER,RollOverArrowTowerButtonClick);
箭头TowerButton.addEventListener(MouseEvent.ROLL_OUT,rollout箭头TowerButtonClick);
crossbowTowerButton.addEventListener(MouseEvent.CLICK,onCrossTowerButtonClick);
crossbowTowerButton.addEventListener(MouseEvent.ROLL_OVER,RollOverCrossTowerButtonClick);
crossbowTowerButton.addEventListener(MouseEvent.ROLL_OUT,rollout CrossTowerButtonClick);
wizardTowerButton.addEventListener(MouseEvent.CLICK,on WizardTowerButtonClick);
wizardTowerButton.addEventListener(MouseEvent.ROLL_OVER,rollover WizardTowerButtonClick);
wizardTowerButton.addEventListener(MouseEvent.ROLL_OUT,rollout WizardTowerButtonClick);
musketTowerButton.addEventListener(MouseEvent.CLICK,onMusketTowerButtonClick);
musketTowerButton.addEventListener(MouseEvent.ROLL_OVER,RollOverMusketTowerButtonClick);
musketTowerButton.addEventListener(MouseEvent.ROLL_OUT,rollout MuskettowerButtonClick);
addEventListener(Event.ENTER_FRAME,onEnterFrame);
}
箭头按钮上的函数(事件:MouseEvent):void
{
如果(箭头OK)
{
箭头位置();
}
}
函数arrowPos():void
{
var posxi:int=0;
var-posxii:int=0;
var-posxiii:int;
var-posxiiii:int;
while(arrowStop==false)
{
posxi=posxi+50;
if(posxi>(塔[i-1].x+25))
{
posxiii=posxi-(塔[i-1].x+25);
posxiiii=塔架[i-1].x+25-posxii;
如果(posxiii>posxiiii)
{
塔楼[i-1].x=posxi;
arrowStop=true;
}
else if(位置XIII(塔楼[i-1].y-25))
{
posyiii=posyi-(塔楼[i-1].y-25);
posyiiii=塔楼[i-1],y-25-posyii;
if(posyiii>posyiiii)
{
塔楼[i-1],y=posyi;
arrowStop=true;
}
否则如果(posyiii=10)
{
arrowCheck=true;
咖喱金-=10;
塔楼[i]=新塔楼;
addChild(towers[i]);
塔楼[i].gotoAndStop(1);
i=i+1;
arrowStop=false;
}
}
函数RollOverArrowTowerButtonClick(事件:MouseEvent):void
{
成本。text=“10”;
}
函数RollOutArrowTowerButtonClick(事件:MouseEvent):void
{
成本。text=“”;
}
函数onCrossTowerButtonClick(事件:MouseEvent):void
{
}
函数RollOverCrossTowerButtonClick(事件:MouseeEvent):void
{
成本。text=“14”;
}
函数卷展栏CrossTowerButtonClick(事件:MouseeEvent):void
{
成本。text=“”;
}
函数onWizardTowerButtonClick(事件:MouseeEvent):void
{
}
函数滚动向导TowerButtonClick(事件:MouseeEvent):void
{
cost.text=“40”;
}
函数卷展向导TowerButtonClick(事件:MouseeEvent):void
{
成本。text=“”;
}
函数onMusketTowerButtonClick(事件:MouseEvent):void
{
}
函数滚动MusketTowerButtonClick(事件:MouseeEvent):无效
{
cost.text=“120”;
}
函数RollOutMusketTowerButtonClick(事件:MouseeEvent):void
{
成本。text=“”;
}
函数onEnterFrame(事件:事件):void
{
totalGold.text=”“+currGold;
如果(箭头检查)
{
如果(箭头停止==false)
{跟踪(塔);
if(towers[i-1]。Arrow TowerPower.hitTestObject(hitA)| | towers[i-1]。Arrow TowerPower.hitTestObject(hitB)| towers[i-1]。Arrow TowerPower.hitTestObject(hitD)| towers[i-1]。Arrow TowerPower.hitTestObject(hitE)| towers[i-1]。Arrow TowerPower.hitTestObject(hitE))
{
arrowOk=true;
塔楼[i-1]。范围。gotoAndStop(1);
}
其他的
{
arrowOk=false;
塔楼[i-1]。射程。gotoAndStop(2);
}
如果(箭头停止==false)
{
addEventListener(MouseEvent.MOUSE_OVER,onMousetrack);
}
其他的
{
removeEventListener(MouseEvent.MOUSE_OVER,onMousetrack);
}
towers.Arrow TowerPower.addEventListener(鼠标事件。单击,箭头)
towers.arrowTowerTower.addEventListener(MouseEvent.CLICK,onArrowTowerClick);
                                                            onArrowTowerClick);
towers.arrowTowerTower.addEventListener(MouseEvent.CLICK,onArrowTowerClick);