代码之家  ›  专栏  ›  技术社区  ›  john

错误1137:参数数目不正确。应不超过0

  •  0
  • john  · 技术社区  · 14 年前

    我在这里发现了错误,我应该在大括号之间的构造函数函数中键入什么 调用函数到主时间行
    公共函数创建()。{

    这是我在FLA文件中的代码

    //var createClass:creation = new Circle( this ); 
    

    建造师

    package  {
    import flash.display.InteractiveObject;
    import flash.text.TextField;
    import flash.text.TextFormat;
    import flash.display.MovieClip;
    
    
    public class creation extends MovieClip {
    
        // global variables
                public function creation():void {
                // constructor code
                for (i= 0 ; i<= 4; i++)
        {       first1[i]= createCustomTextField(0,(i*100),75,45);
                op[i]= createCustomTextField(150,(i*100),75,45);
                second[i]= createCustomTextField(300,(i*100),75,45);
                res[i]= createCustomTextField(450,(i*100),75,45);
                if (operation_Count == 1)
            {
                op[i].text = "+";
            }   else if (operation_Count == 2)
            {   
                op[i].text = "-";
            }else if (operation_Count == 3)
            {   
                op[i].text = "*";
            }else if (operation_Count == 4)
            {   
                op[i].text = "/";
            }
                first1[i].text = String(k1[i]=Math.round(Math.random()*10));
                second[i].text = String(k2[i]=Math.round(Math.random()*10));
            }
     }
    
    1 回复  |  直到 14 年前
        1
  •  1
  •   PatrickS    14 年前

    创建类的新实例时调用类构造函数。在您的例子中,createClass()不仅是错误的,而且也是冗余的。已调用构造函数。

    现在,如果要在特定帧上调用该类的方法

    //calling the class constructor
    var myClass:MyClass = new MyClass();
    
    //calling a class method
    myClass.myMethod();
    

    好的,错误表明一个方法需要一个参数,如果它不是您的构造函数,您将不得不在其他地方查找。要调试应用程序,请转到调用的第一个函数,检查它,如果可以,请转到第二个函数等…在您的例子中,这将是createCustomTextField()。这可能是一个很长的过程,因此其中一个方法是简化代码,将代码分解成较小的部分,并尝试确定它在哪里中断。

    例如,您可以尝试这样做,如果出现错误,请转到CreateCustomTextField并尝试类似的操作,即将函数拆分为较小的部分,直到找到断开的部分…

    public function creation():void {
    
        first1[0]= createCustomTextField(0,(i*100),75,45);
    
     }