egret学习记录

Posted 半山

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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学习记录的主要内容,如果未能解决你的问题,请参考以下文章

Egret入门学习日记 --- 第十一篇(进阶篇)

egret 发布ios记录

egret升级经验记录

白鹭Egret学习之egret.ImageLoader.load的一个小问题(#1011:流错误)

踩坑:egret中的MovieClip记录

egret p2 物理引擎 小球坠落 demo