如何创建正确的as3外部文件

时间:2013-05-04 03:58:42

标签: actionscript-3 flash class actionscript

大家好我几天以来一直在努力了解如何创建许多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);
    }
}
}

1 个答案:

答案 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

希望有所帮助。