egret学习记录

最近h5小游戏比较流行,本来我是做cocos2dx的,一开始想用它的js版。

可惜看着js真是头大。于是选择了egret,egret采用typescript,学过面向对象的,上手还是比较快的,而且api比较清晰。

这里记录一下遇到的问题。

1、Error: #1006: 提供的 DisplayObject 必须是调用者的子级

如:

parent.removeChild(child)
其实child不是parent的子节点

一种情况是添加到了stage上,误以为是类自身上。

一种情况是child实例化多次,被覆盖,此时的child已经不是addChild时的child.

 

2、坐标系、锚点问题

坐标系是左上角为坐标原点

egret的锚点,采用的是相对于左上角的距离,而不是物体中心,计算时比较麻烦。

好在已经有人写好了转换的工具类,https://github.com/eperfect/AnchorUtil

用最新的egret要修改一下:

把if(egret.gui && egret.gui.UIComponent) 这段代码全部注释

可以增加一个新函数,方便设置锚点

public static setAnchorXY(target: egret.DisplayObject,x: number,y:number): void {
target["anchorX"] = x;
target["anchorY"] = y;
}

3、eui服务初始化失败

关闭广告拦截和代理软件

你可能感兴趣的:(egret学习记录)