LayaAir之引入模塊(module)編程方案

LayaAir在引入類等方面確實沒有Egret做的好(比較麻煩),本人喜歡模塊,所以給出了在Laya中使用模塊(module)的解決方案.


一 : 關於MaskDemo.ts的寫法

export module demo{
    export  class MaskDemo{
        private Res : string = null;
        private img : Laya.Sprite = null;
        private cMask : Laya.Sprite = null;
        public constructor(){
            Laya.init(1336,640);
            Laya.stage.bgColor = "#ffffff";
            this.Res = "res/atlas/comp.png";
            Laya.loader.load( this.Res , Laya.Handler.create(this,this.graphicsImg) );
        }
        private graphicsImg() : void{
            this.img = new Laya.Sprite();
            this.img.graphics.drawTexture(Laya.loader.getRes(this.Res), 300 , 100);
            Laya.stage.addChild(this.img);

            // this.cMask = new Laya.Sprite();
            // this.cMask.graphics.drawCircle(80,80,50,"#ff0000");
            // this.cMask.pos(120,50);
            // this.img.mask = this.cMask;
        }
    }
}

注意 :
①,module前面也要以export修飾

二:在Main.ts中引用
Ps : MaskDemo.ts和Main.ts在一個目錄裏面
LayaAir之引入模塊(module)編程方案

import { demo } from "./MaskDemo";

注意: ①{}裏面寫入module名稱

使用 : let $mask : demo.MaskDemo = new demo.MaskDemo();

-擴展(如果MaskDemo在script裏面)
LayaAir之引入模塊(module)編程方案
import { demo } from "./script/MaskDemo";

補充 , 另一種方案
import demo = require("./demo/MaskDemo");
import demo1 = require("./demo/DrawShapes");

運用
let $mask : demo.demo.MaskDemo = new demo.demo.MaskDemo();
let $draw : demo1.demo.DrawShapes = new demo1.demo.DrawShapes();

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章