Я новичок AS3, который пытается лучше освоить передачу аргументов в функции.Может кто-нибудь, пожалуйста, помогите мне понять, почему, когда следующий код все в одном файле AS3, как показано ниже, он работает и рисует фиолетовый квадрат ...
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);
}
}
}
Однако, когда я делю код на две AS3файлы и попробуйте передать аргументы функции следующим образом ...
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);
}
}
}
и ...
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 выдает мне сообщение об ошибке 1137 о том, что он ожидалтолько 1 аргумент в строке кода -> Fill (square_commands, square_coord);
Может кто-нибудь объяснить, как мне нужно передать аргументы square_commands и square_coord в функцию во втором файле AS3?
Заранее спасибо за помощь !!!