大家好我几天以来一直在努力了解如何创建许多as3文件并能够从我的main.as文件中使用它们,因为代码太多了。我试着看看互联网,但我什么都不懂。
例如我制作了这个loginScreen.as,我希望在我的游戏开始时使用它。 main.as文件将显示该屏幕。我想做的是:
来自main.as
import as3.loginScreen;
...
var loginscreen:loginScreen = new loginScreen();
addChild(loginscreen);
现在这是我的loginScreen.as
package as3
{
import flash.display.MovieClip;
import flash.text.TextField;
import flash.text.TextFieldType;
import flash.text.TextFormat;
public class loginScreen
{
public function loginScreen()
{
var loginBG:MovieClip = new LoginBG();
loginBG.x = 0;
loginBG.y = 0;
loginScreen.addChild(loginBG);
var txt_Username:TextField = new TextField();
var txt_Password:TextField = new TextField();
var myTextFormat:TextFormat = new TextFormat();
//myTextFormat.font = "Arial";
myTextFormat.size = 15;
myTextFormat.color = 0xFFFFFF;
txt_Username.type = TextFieldType.INPUT;
txt_Password.type = TextFieldType.INPUT;
txt_Username.border = false;
txt_Username.width = 114;
txt_Username.height = 20;
txt_Username.x = 323;
txt_Username.y = 431;
txt_Password.border = false;
txt_Password.width = 114;
txt_Password.height = 20;
txt_Password.x = 323;
txt_Password.y = 461;
txt_Username.defaultTextFormat = myTextFormat;
txt_Password.defaultTextFormat = myTextFormat;
loginScreen.addChild(txt_Username);
loginScreen.addChild(txt_Password);
}
}
}
答案 0 :(得分:0)
首先将loginScreen的类定义更改为:
public class loginScreen extends Sprite
然后将loginScreen.addChild(loginBG);
更改为addChild(loginBG);
与其他两个相同。
loginScreen.addChild(txt_Username);
loginScreen.addChild(txt_Password);
需要:
addChild(txt_Username);
addChild(txt_Password);
loginScreen
是类的名称,尝试向其添加子项是没有意义的。
同样最好使用大写字母启动类名,这样就不会将它们与变量混淆,因此您可能希望将class loginScreen
更改为class LoginScreen
。
希望有所帮助。