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 )
,这是检测对象是否交于一点。