Je suis un noob AS3 qui essaie d'essayer de devenir plus à l'aise pour passer des arguments dans des fonctions. Quelqu'un peut-il s'il vous plaît me aider à comprendre pourquoi, lorsque le code suivant est dans un fichier AS3 comme on le voit ci-dessous il fonctionne et dessine le carré violet ...Noob question concernant la transmission d'arguments dans une fonction située dans un fichier AS3 séparé
package{
import flash.display.*;
public class Main extends Sprite{
public function Main(){
var square_commands:Vector.<int> = new Vector.<int>(5,true);
square_commands[0] = 1;//moveTo
square_commands[1] = 2;//lineTo
square_commands[2] = 2;
square_commands[3] = 2;
square_commands[4] = 2;
var square_coord:Vector.<Number> = new Vector.<Number>(10,true);
square_coord[0] = 20; //x
square_coord[1] = 10; //y
square_coord[2] = 50;
square_coord[3] = 10;
square_coord[4] = 50;
square_coord[5] = 40;
square_coord[6] = 20;
square_coord[7] = 40;
square_coord[8] = 20;
square_coord[9] = 10;
Fill(square_commands, square_coord);
}
public function Fill(a:Vector.<int>,b:Vector.<Number>){
import flash.display.*;
graphics.beginFill(0x442266);//set the color
graphics.drawPath(a, b);
}
}
}
Cependant, quand je divise le code en deux fichiers AS3 et essayez de passer les arguments à la fonction comme suit ...
package{
import flash.display.*;
public class Main extends Sprite{
public function Main(){
var square_commands:Vector.<int> = new Vector.<int>(5,true);
square_commands[0] = 1;//moveTo
square_commands[1] = 2;//lineTo
square_commands[2] = 2;
square_commands[3] = 2;
square_commands[4] = 2;
var square_coord:Vector.<Number> = new Vector.<Number>(10,true);
square_coord[0] = 20; //x
square_coord[1] = 10; //y
square_coord[2] = 50;
square_coord[3] = 10;
square_coord[4] = 50;
square_coord[5] = 40;
square_coord[6] = 20;
square_coord[7] = 40;
square_coord[8] = 20;
square_coord[9] = 10;
Fill(square_commands, square_coord);
}
}
}
et ...
package{
import flash.display.*;
public class Fill extends Sprite{
public function Fill(a:Vector.<int>,b:Vector.<Number>){
graphics.beginFill(0x442266);//set the color
graphics.drawPath(a, b);
}
}
}
flash CS5 me donne un message d'erreur 1137 en disant qu'il attendait seulement 1 argume nt dans la ligne de code -> Fill (square_commands, square_coord);
Quelqu'un pourrait-il expliquer comment je dois transmettre les arguments square_commands et square_coord dans la fonction du second fichier AS3?
Merci d'avance pour toute l'aide !!!