Flash 闪光误差1010
我让troble做了一个塔防游戏,但我犯了一个werid错误。它告诉我,它和一个事件监听者在同一条线上,这让我发疯。我需要在11月13日之前完成这项工作。请帮助。问题中的事件侦听器位于函数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
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);