0

こんにちは、私は何日も前から、多くの 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);
    }
}
}
4

1 に答える 1

0

最初に loginScreen のクラス定義を次のように変更します。

public class loginScreen extends Sprite

次に、他の 2 つと同じに変更loginScreen.addChild(loginBG);します。addChild(loginBG);

loginScreen.addChild(txt_Username);
loginScreen.addChild(txt_Password);

する必要があります:

addChild(txt_Username);
addChild(txt_Password);

loginScreenはクラスの名前であり、それに子を追加しようとしても意味がありません。

また、変数と混同しないように、クラス名を大文字で始めることをお勧めしclass loginScreenますclass LoginScreen

それが役立つことを願っています。

于 2013-05-04T04:23:26.953 に答える