2010-09-15 6 views
0

j'ai trouvé l'erreur ici que dois-je entrer dans la fonction constructeur entre les accolades pour appeler la fonction à la ligne de temps
création de la fonction publique() {erreur 1137: nombre d'arguments incorrect. Attendu pas plus de 0

qui est mon code dans la fla

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

le constructeur

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)); 
     } 
} 

Répondre

1

vous appelez un constructeur de classe lorsque vous créez une nouvelle ins tance de la classe. Dans votre cas, createClass() n'est pas seulement faux, mais il est également redondant. Le constructeur a déjà été appelé.

maintenant, si vous voulez appeler une méthode de cette classe sur un cadre spécifique

 
//calling the class constructor 
var myClass:MyClass = new MyClass(); 

//calling a class method 
myClass.myMethod(); 

ok, l'erreur indique qu'une méthode attend un argument, si ce n'est pas votre constructeur, vous devrez regarder autre part. Pour déboguer votre application, allez à la première fonction qui est appelée, vérifiez-la, si elle va, allez à la seconde etc ... dans votre cas, ce serait createCustomTextField(). cela peut être un processus long, donc l'une des façons est de simplifier, décomposer votre code en petites parties et essayer d'identifier où il se brise

Vous pourriez essayer ceci par exemple, s'il y a une erreur, allez à createCustomTextField et essayez quelque chose de similaire, à savoir diviser votre fonction en plus petites parties jusqu'à ce que vous trouviez celui qui casse ...

 
public function creation():void { 

    first1[0]= createCustomTextField(0,(i*100),75,45); 

} 
+0

merci pour votre réponse, quand j'écris creation(); seule cette erreur apparaît 1136: nombre d'arguments incorrect. Prévu 1. – john

+0

Il semble que votre constructeur de création nécessite un argument. Vérifiez la réponse éditée – PatrickS

+0

je l'ai essayé mais une autre erreur 1137: nombre incorrect d'arguments. Attendu pas plus de 0. Je mets le code constructeur – john

Questions connexes