Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/flash/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Actionscript 3 AS3,错误1180调用可能未定义的方法Nivel1,Adobe animate_Actionscript 3_Flash_Undefined - Fatal编程技术网

Actionscript 3 AS3,错误1180调用可能未定义的方法Nivel1,Adobe animate

Actionscript 3 AS3,错误1180调用可能未定义的方法Nivel1,Adobe animate,actionscript-3,flash,undefined,Actionscript 3,Flash,Undefined,谢谢你的回答,我已经解决了这个问题,但我有这个问题,这里是我喜欢做的游戏的所有类,但是玩家没有移动,你可以在这里帮助我,这就是问题所在。thnks Nivel1类: package Codigos.Niveles { import flash.display.MovieClip; import Codigos.Jugador; import flash.events.Event; import Codigos.CamaraVirtual; public

谢谢你的回答,我已经解决了这个问题,但我有这个问题,这里是我喜欢做的游戏的所有类,但是玩家没有移动,你可以在这里帮助我,这就是问题所在。thnks

Nivel1类:

package Codigos.Niveles {
    import flash.display.MovieClip;
    import Codigos.Jugador;
    import flash.events.Event;
    import Codigos.CamaraVirtual;

    public class Nivel1 extends MovieClip {

       public function Nivel1() {
          main.nuevoJugador = new Jugador();
          addChild(main.nuevoJugador);
          main.nuevoJugador.x = 34;
          main.nuevoJugador.y = 334;
          main.nuevaCamara = new CamaraVirtual();
          addChild(main.nuevaCamara);
          main.nuevaCamara.x = 400;
          main.nuevaCamara.y = 240;
          addEventListener("EnterFrame",nivel1Eventos);
       }
       private function nivel1Eventos(e:Event){
           if(main.nuevoJugador.x<=150){
               MovieClip(root).Nivel.x+=5;
               MovieClip(root).escenario.x+=5;
               main.nuevoJugador.x+=5;
           }
           else if(main.nuevoJugador.x>=650){
               MovieClip(root).Nivel.x-=5;
               MovieClip(root).escenario.x-=5;
               main.nuevoJugador.x-=5;
           }
        }  

     }

}
Jugador级玩家:

package Codigos {

    import flash.display.MovieClip;
    import flash.events.Event;


    public class Jugador extends MovieClip {

        public var VelocidadX:int = 5;
        public var VelocidadY:int = 1;
        public var Limite:int = 10;
        public var Salto:int = -12;
        public function Jugador() {
            addEventListener("EnterFrame",Moverme);
        }
        private function Moverme(e:Event){
            var NivelaTocar = MovieClip(root).Nivel;
            if(NivelaTocar.hitTestPoint(x,y + height/2,true)){
                while(NivelaTocar.hitTestPoint(x,-1 + y +height/2,true)){
                    y--;
                }
                VelocidadY=0;
                if(main.SaltoVar){
                    VelocidadY=Salto;
                    y+=VelocidadY;
                }
            }
            else if(NivelaTocar.hitTestPoint(x,y-height/2,true)){
                VelocidadY = VelocidadY * -0.5;
                y += VelocidadY;
                while(NivelaTocar.hitTestPoint(x, y - height / 2,true)){
                    y++;
                    main.SaltoVar = false;
                }
            }

            else {
                y+=VelocidadY * 1.5;
                main.SaltoVar = false;
                if(VelocidadY <= Limite){
                    VelocidadY++;
                }
            }

            while(NivelaTocar.hitTestPoint(x + width / 2, y , true)){
                x--;
            }
            while(NivelaTocar.hitTestPoint(x - width / 2, y , true)){
                x++;
            }
            movimientosReales();
        }
        private function movimientosReales(){
            if(main.DerechaVar){
                x+=VelocidadX;
                scaleX = 1;
            }
            else if(main.IzquierdaVar){
                x-=VelocidadX;
                scaleX = -1;
            }
        }
    }

}
蒙乃达级硬币:

package Codigos {

    import flash.display.MovieClip;
    import flash.events.Event;


    public class Moneda extends MovieClip {


        public function Moneda() {
            addEventListener(Event.ENTER_FRAME, tocar);
        }
        private function tocar(e:Event){
            if(hitTestObject(main.nuevoJugador)){
                removeEventListener(Event.ENTER_FRAME, tocar);
                main.TemporalPuntos++;
                parent.removeChild(this);
            }
        }
    }

}

在构造函数方法Nivel1中,注释所有代码,然后尝试以下操作:

输出是什么? 我想

trace(main.nuevoJugador);
或者只是:

trace(main);
输出是否未定义/null/或是否会引发错误?是这样吗

因为main未在Nivel1类中定义。。。 我错了吗

还有,请你也发一下Jugador的课程

不是图像,而是代码

只需复制并粘贴代码,然后选择添加的代码,然后单击代码示例Ctrl+K,如下图所示:


因此,用户可以在另一个答案中编辑/更改您的代码,而无需花费时间重写prinstscreen提供的所有代码。这对于stackoverflow上的社区来说是巨大的时间浪费

尝试var nuevoNivel1:Nivel1=new Nivel1;。下次发布实际代码文本,而不是代码图片。解释你的错误实际上是怎么说的。请用英文名称来表示你的变量和方法!包名称应以小写的codigos.niveles开头,变量名称也应以小写的codigos.niveles开头。类应该始终以大写开头,就像您所做的那样:Nivel1。方法应始终以小写字母开头。你应该先考虑这个问题,如果这个问题不清楚或不好,任何人都很难回答你的问题。Brandon@Brandon反馈?很抱歉没有回复。我的电脑有问题。我已经解决了这个问题,但是如果你能帮我做些其他事情的话。我已经做了代码,以显示和移动的球员在水平,但没有移动。对不起,我在这个新的,我编辑并把所有的类,我不知道为什么球员没有移动@TATActicId是否尝试跟踪main?:tracemain;我在你们班上没看到任何关于main的引用。@Brandon。。
public function Nivel1(){
        trace(main.nuevoJugador);
        /*
        main.nuevoJugador = new Jugador();
        addChild(main.nuevoJugador);
        main.nuevoJugador.x = 25;
        main.nuevoJugador.y = 344;
        */
}
trace(main.nuevoJugador);
trace(main);