2-白鹭学习

1、  get方法 

 static get instance(){
        if(!this.sceneController){
            this.sceneController = new SceneController();
        }
        return this.sceneController;
    }

调用static类型函数不需要加instance;在static函数里调用别的私有参数需要加instance

2、给图片添加点击或触摸事件时一定要加name.touchEnabled = true;

3、number类型的数字不能直接当文本字符串使用,要这样改变类型:

假如cnt是个number类型

this.textName.text = cnt.toString();

4、继承自GameObject的对象才能写get方法返回他的宽和高。

5、游戏中的数据都写在一个类里面统一管理:如生命状态、速度大小等。

6、延迟调用函数:egret.setTimeout(函数,对象,延迟时间)

egret.setTimeout(()=>{
            this.jump_img.visible = false;
        },this,100)

7、制作动画:

egret.Tween.get( this.platfrom_bird ).to({x:-this.platfrom_bird.width},300).call(()=>{
            this.rolerContainer.removeChild( this.platfrom_bird );
        })

8、for循环:

 for( let obj of this.gameObjectList){
            obj.update(timeStap);
        }

9、心跳计时器:【重复调用】

    public startTicker(){
        egret.ticker.$startTick(this.update,this);
    }
    public stopTicker(){
        egret.ticker.$stopTick(this.update,this);
    }

10、数值最好按比例计算,这样在不同大小的屏幕上看上去效果差不多:

        //按照比例计算
        GameData.speed = (levelData.properties.speed / 1920) * egret.MainContext.instance.stage.stageHeight;
        GameData.gravity = (levelData.properties.gravity / 1920) * egret.MainContext.instance.stage.stageHeight;
        GameData.jumpSpeed = (levelData.properties.jumpSpeed / 1920) * egret.MainContext.instance.stage.stageHeight;

11、不能在json里写备注

12、arr.splice(0,1);其中arr是个数组.,表示把第0个开始的一个数据替换为空。替换0开始的长度为1的范围内的内容吧.后面还需要第3个参数,如果没有第3个参数那就表示把 0,1 的内容替换成没有,自然也就是相当于删除了第0个元素.

13、arrayObject.concat(arrayX,arrayX,......,arrayX)

concat 方法用于连接两个或多个数组。

该方法不会改变现有的数组,而仅仅会返回被连接数组的一个副本。

14、arrayObject.slice(start,end)

slice() 方法可从已有的数组中返回选定的元素。

15、循环

//for...of  输出数组值,支持break,可以通过特定的条件中间停止循环。
let list1: Array = [1, 2, 3, 4];
for (var index of list1) { 
    console.log(index);
}
//for...in  输出数组下标值,不支持break方法,中途无法停止循环的运行。
let list1: Array = [1, 2, 3, 4];
for (var index in list1) { 
    console.log(index);
}

16、更改屏幕显示大小(舞台大小):index.html中,更改

         data-content-width="1080"
         data-content-height="1920"

17、为什么要写super(): 继承不会继承private的属性和方法,子类的构造方法必须调用父类的构造方法。

18、接口,接口中的属性和方法必须是public的。

interface ElementData{ //定义一个接口,作为构造函数的参数
    "type":string;
    "distance":number;
    "y":number;
}

19、类型判断:typeof 用来判断变量类型。instanceof 用来判断方法或者接口类型

20、碰撞检测:player_rect.intersects(up_rect),检测矩形是否相交。

var isHit:boolean = shp.hitTestPoint( x: number, y:number, true:boolean )
,这是检测对象是否交于一点。

你可能感兴趣的:(2-白鹭学习)