错误1137:参数数量不正确。预计不超过0

时间:2010-09-15 11:19:49

标签: flash actionscript-3 oop

我在这里发现了错误,我应该在大括号之间输入构造函数 将功能调用到主时间线
公共功能创建(){

这是我在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 个答案:

答案 0 :(得分:1)

在创建类的新实例时调用类构造函数。在您的情况下,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);

 }