004 創建一個文本框

class GameStart{
    constructor()
    {
        Laya.init(600,400);
        //
        Laya.stage.scaleMode = Laya.Stage.SCALE_NOSCALE;
        Laya.stage.alignH = Laya.Stage.ALIGN_CENTER;
         Laya.stage.alignV = Laya.Stage.ALIGN_CENTER;
         Laya.stage.screenMode = Laya.Stage.SCREEN_NONE;
         var tx:Laya.Text= new Laya.Text();
//       var tx = new Laya.Text();
         tx.text = 'boom';
         
         tx.color = '#ffffff';
         tx.pos(Laya.stage.width/2,Laya.stage.height/2);
         Laya.stage.addChild(tx);
    }
}

基于003的代碼繼續

起一個變量并且給變量名 var tx
然后呢,給變量一個類型Laya.Text
應該有人注意到了,這里其實可以直接寫成

var tx = new Laya.Text();的

這里是

var tx:Laya.Text = new Laya.Text()

這里的:號,是ts的語法,表示類型推導,一般來說,編程語言聲明一個變量,要么是

腳本語言
var aaa = 'aaa' //由值判斷他是否是字符串

編譯語言

String aaa = "aaa";//聲明一個變量就給他類型

typescript是根據es6標準的,他根植于es3/es5,在兼容es6之前版本的同時,新增了類型推導,也就是說如果這樣寫、

var tx:String = 'aaa'

會自動幫你聲明這個變量是字符串。在編譯es5版本的時候,編譯器會幫助你編譯成更好的es5版本的寫法,這樣的好處在于如果一開始就知道是字符串,那么這樣生成的代碼會有特比的優化,運行起來比自己寫的無類型變量效率高一些

Laya.Text 是內置的文本類,專門輸出文本,可以類比一下他本質上就是一個div,專門讓人寫東西的
他的內置屬性有

Text.text  // 文本內容
 Text.color = '#ffffff';  //文本顏色
 Text.pos(Laya.stage.width/2,Laya.stage.height/2); //文本位置

最后將實例化出來的文本框放入我們的舞臺,也就是一開始就存在的全局laya變量;里頭

Laya.stage.addChild(tx);

運行一下代碼

image.png

就可以看到創建的文本框了


image.png
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。