Actionscript 3 (AS3)修复青蛙游戏动作脚本3
我有10个错误(1120)与未定义属性的访问相关。 OneFrame、onClick、onLeftClick、MouseUp、onUpClick、MouseUp、onDownClick、MouseUp、onRightClick和MouseUp 错误将从第58行到第73行的.addEventListener抛出Actionscript 3 (AS3)修复青蛙游戏动作脚本3,actionscript-3,flash,Actionscript 3,Flash,我有10个错误(1120)与未定义属性的访问相关。 OneFrame、onClick、onLeftClick、MouseUp、onUpClick、MouseUp、onDownClick、MouseUp、onRightClick和MouseUp 错误将从第58行到第73行的.addEventListener抛出 package { import flash.display.MovieClip; import flash.events.KeyboardEvent; impo
package
{
import flash.display.MovieClip;
import flash.events.KeyboardEvent;
import flash.ui.Keyboard;
import flash.events.Event;
import flash.events.MouseEvent;
public class FrogKatta extends MovieClip
{
// Create instances of library symbols
var car1:Car = new Car();
var car2:Car = new Car();
var truck1:Truck = new Truck();
var truck2:Truck = new Truck();
var frog:Frog = new Frog();
var FinishLine:finishLine = new finishLine();
var HealthBar:healthBar = new healthBar();
var vx:int = 0;
var vy:int = 0;
var hit:Boolean = false;
var carStart:Boolean = false;
var truckStart:Boolean = false;
public function frogKatta()
{
frog.x = 230;
frog.y = 375;
truck1.x = 545;
truck1.y = 230;
truck2.x = 560;
truck2.y = 235;
car1.x = 550;
car1.y = 78;
car2.x = 560;
car2.y = 80;
// add created instances to stage
addChild(frog);
addChild(truck1);
addChild(truck2);
addChild(car1);
addChild(car2);
// * PROBLEM WITH STAGE.ADDEVENTLISTENER
// Add event listener for keyboard
// PROBLEM STARTS HERE ***********
stage.addEventListener(KeyboardEvent.KEY_DOWN, onKeyDown);
stage.addEventListener(KeyboardEvent.KEY_UP, onKeyUp);
addEventListener(Event.ENTER_FRAME, onEnterFrame);
// Add Event for mouse click
stage.addEventListener(MouseEvent.CLICK, onClick);
// creating instance of onClick from the MouseEvent.CLICK
//Keyboard
left.addEventListener(MouseEvent.MOUSE_DOWN, onLeftClick);
// to move
left.addEventListener(MouseEvent.MOUSE_UP, MouseUp);
// to stop
up.addEventListener(MouseEvent.MOUSE_DOWN, onUpClick);
up.addEventListener(MouseEvent.MOUSE_UP, MouseUp);
down.addEventListener(MouseEvent.MOUSE_DOWN, onDownClick);
down.addEventListener(MouseEvent.MOUSE_UP, MouseUp);
right.addEventListener(MouseEvent.MOUSE_DOWN, onRightClick);
right.addEventListener(MouseEvent.MOUSE_UP, MouseUp);
// PROBLEM ENDS HERE****
// Keyboard functionality
function onKeyDown(event:KeyboardEvent):void
{
if (event.keyCode == Keyboard.LEFT)
{
vx = -5;
frog.play();
}
else if (event.keyCode == Keyboard.RIGHT)
{
vx = 5;
frog.play();
}
else if (event.keyCode == Keyboard.DOWN)
{
vy = 5;
frog.play();
}
else if (event.keyCode == Keyboard.UP)
{
vy = -5;
frog.play();
}
}
// Keyboard again to stop
function onKeyUp(event:KeyboardEvent):void
{
if (event.keyCode == Keyboard.LEFT || event.keyCode == Keyboard.RIGHT)
{
vx = 0;
frog.stop();
}
else if (event.keyCode == Keyboard.DOWN || event.keyCode == Keyboard.UP)
{
vy = 0;
frog.stop();
}
// Clicking Functionality
function MouseUp(event:MouseEvent):void
{
vy = 0;
vx = 0;
frog.stop();
}
// on"librarybutton name left" Click
function onLeftClick(event:MouseEvent):void
{
vx = -5;
frog.play();
}
function onUpClick(event:MouseEvent):void
{
vy = -5;
frog.play();
}
function onDownClick(event:MouseEvent):void
{
vy = 5;
frog.play();
}
function onRightClick(event:MouseEvent):void
{
vx = 5;
frog.play();
}
// on enter frame
function onEnterFrame(event:Event):void
{
frog.x += vx;
frog.y += vy;
truck1.x += -10;
car1.x += -20;
//Car1 & 2 SCREEN WRAPPING
if (car1.x <= -400)
{
car1.x = 550;
}
// If car 1 leaves screen add car to other side of the screen
if (car2.x <= -400)
{
car2.x = 550;
}
if (car1.x <= 135)
{
carStart = true;
}
// Screen wrap so if car is less than or equal to 135 in distance add another car
if (carStart)
{
car2.x += -15;
}
//Truck1 & 2
if (truck1.x <= -400)
{
truck1.x = 550;
}
if (truck2.x <= -400)
{
truck2.x = 550;
}
if (truck1.x <= 135)
{
truckStart = true;
}
if (truckStart)
{
truck2.x += -10;
}
if (frog.hitTestObject(truck1) || frog.hitTestObject(truck2) || frog.hitTestObject(car1) || frog.hitTestObject(car2))
{
frog.y += 10;
hit = true;
}
if (hit)
{
if (HealthBar.width < 10)
{
HealthBar.width = 0;
}
else
{
HealthBar.width -= 10;
}
}
if (HealthBar.width < 1)
{
//S.O.P you lose);
}
if (frog.hitTestObject(FinishLine))
{
removeChild(frog);
removeChild(FinishLine);
removeChild(car1);
removeChild(car2);
removeChild(truck1);
removeChild(truck2);
// addchild of you winning
}
}
}
}
}
}
包
{
导入flash.display.MovieClip;
导入flash.events.KeyboardEvent;
导入flash.ui.Keyboard;
导入flash.events.Event;
导入flash.events.MouseEvent;
公共类FrogKatta扩展MovieClip
{
//创建库符号的实例
var car1:Car=新车();
var car2:Car=新车();
变量truck1:卡车=新卡车();
变量truck2:卡车=新卡车();
变量青蛙:青蛙=新青蛙();
var FinishLine:FinishLine=新FinishLine();
var HealthBar:HealthBar=newhealthbar();
变量vx:int=0;
变量vy:int=0;
var hit:Boolean=false;
var carStart:Boolean=false;
var truckStart:Boolean=false;
公共功能frogKatta()
{
青蛙x=230;
frog.y=375;
truck1.x=545;
truck1.y=230;
truck2.x=560;
truck2.y=235;
car1.x=550;
car1.y=78;
car2.x=560;
car2.y=80;
//将创建的实例添加到阶段
addChild(青蛙);
addChild(truck1);
addChild(truck2);
addChild(car1);
addChild(car2);
//*STAGE.ADDEVENTLISTENER出现问题
//为键盘添加事件侦听器
//问题从这里开始***********
stage.addEventListener(KeyboardEvent.KEY_DOWN,onKeyDown);
stage.addEventListener(KeyboardEvent.KEY\u UP,onKeyUp);
addEventListener(Event.ENTER_FRAME,onEnterFrame);
//添加鼠标单击事件
stage.addEventListener(MouseEvent.CLICK,onClick);
//从MouseEvent.CLICK创建onClick的实例
//键盘
左。addEventListener(MouseEvent.MOUSE_向下,仅左键单击);
//移动
左.addEventListener(MouseEvent.MOUSE_UP,MouseUp);
//制止
up.addEventListener(MouseEvent.MOUSE_DOWN,onUpClick);
up.addEventListener(MouseEvent.MOUSE\u up,MouseUp);
down.addEventListener(MouseEvent.MOUSE_down,onDownClick);
down.addEventListener(MouseEvent.MOUSE\u UP,MouseUp);
right.addEventListener(MouseEvent.MOUSE_向下,右键单击);
右.addEventListener(MouseEvent.MOUSE_UP,MouseUp);
//问题到此为止****
//键盘功能
函数onKeyDown(事件:KeyboardEvent):无效
{
if(event.keyCode==Keyboard.LEFT)
{
vx=-5;
青蛙。玩();
}
else if(event.keyCode==Keyboard.RIGHT)
{
vx=5;
青蛙。玩();
}
else if(event.keyCode==Keyboard.DOWN)
{
vy=5;
青蛙。玩();
}
else if(event.keyCode==Keyboard.UP)
{
vy=-5;
青蛙。玩();
}
}
//键盘再次停止
函数onKeyUp(事件:KeyboardEvent):无效
{
if(event.keyCode==Keyboard.LEFT | | event.keyCode==Keyboard.RIGHT)
{
vx=0;
青蛙。停止();
}
else if(event.keyCode==Keyboard.DOWN | | event.keyCode==Keyboard.UP)
{
vy=0;
青蛙。停止();
}
//点击功能
函数MouseUp(事件:MouseEvent):void
{
vy=0;
vx=0;
青蛙。停止();
}
//在“librarybutton名称左侧”上,单击
函数onLeftClick(事件:MouseEvent):void
{
vx=-5;
青蛙。玩();
}
函数onUpClick(事件:MouseEvent):void
{
vy=-5;
青蛙。玩();
}
函数onDownClick(事件:MouseEvent):void
{
vy=5;
青蛙。玩();
}
右击函数(事件:MouseEvent):void
{
vx=5;
青蛙。玩();
}
//在输入帧上
函数onEnterFrame(事件:事件):void
{
frog.x+=vx;
frog.y+=vy;
truck1.x+=-10;
car1.x+=-20;
//Car1和2屏幕包装
如果(car1.x你有一个括号问题,我相信
在onKeyDown函数之前需要一个“}”
检查所有括号,在插入我告诉你的括号后,文件末尾可能还有一个额外的括号
这些行是一个问题,因为代码中不存在up/down/left/right。如果它们是阶段实例,则可能没有命名,因此代码将无法使用它们。如果是这样,请通过属性面板命名实例
left.addEventListener(MouseEvent.MOUSE_DOWN, onLeftClick);
// to move
left.addEventListener(MouseEvent.MOUSE_UP, MouseUp);
// to stop
up.addEventListener(MouseEvent.MOUSE_DOWN, onUpClick);
up.addEventListener(MouseEvent.MOUSE_UP, MouseUp);
down.addEventListener(MouseEvent.MOUSE_DOWN, onDownClick);
down.addEventListener(MouseEvent.MOUSE_UP, MouseUp);
right.addEventListener(MouseEvent.MOUSE_DOWN, onRightClick);
right.addEventListener(MouseEvent.MOUSE_UP, MouseUp);
您还存在另一个括号问题,即不关闭onKeyUp函数
这导致它认为所有事件处理程序都在该函数中
但正如我在评论中所说,这并不是一个调试应用程序的论坛
请按照我的要求花点时间核实一下你的括号。它不太合适