Actionscript 3 (AS3)修复青蛙游戏动作脚本3

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

我有10个错误(1120)与未定义属性的访问相关。 OneFrame、onClick、onLeftClick、MouseUp、onUpClick、MouseUp、onDownClick、MouseUp、onRightClick和MouseUp

错误将从第58行到第73行的.addEventListener抛出

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函数

这导致它认为所有事件处理程序都在该函数中

但正如我在评论中所说,这并不是一个调试应用程序的论坛

请按照我的要求花点时间核实一下你的括号。它不太合适