egret白鹭引擎入门(第一章)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了egret白鹭引擎入门(第一章)相关的知识,希望对你有一定的参考价值。

参考技术A

最近,空下来准备研究一下用egret来做动画和游戏。

Egret是一套HTML5游戏开发解决方案,产品包含Egret Engine,Egret Wing,EgretVS,Res Depot,Texture Merger,TS Conversion,Egret Feather,Egret Inspector,DragonBones,Lakeshore等。而核心产品是Egret Engine,是一个基于TypeScript语言开发的一个HTML5游戏引擎,其余的大多是开发和辅助工具。

参考 官网 step by step进行安装 + 初步调试

项目创建好之后,我们进入index.html
然后找到对应的data-show-fps和data-show-log,然后将其的值改为true,方便我们观察到游戏运行的实时帧率

设置完之后,run后会是这样滴~

接下来,我们来进行Hello World的入门

找到src下的main.ts

再进入游戏创建场景的函数 createGameScene

加上这么一段:

然后点击 项目 > 构建 ,构建成功后,点击 项目 > 调试

这时候,我们的hello world dididi 就跑出来啦~

嗯... 是不是很简单,接下来继续

白鹭直播间:聊聊Egret引擎4.0 与 TypeScript 2.1~

各位白鹭引擎开发者:

在即将到来的白鹭引擎4.0版本中,我们将对白鹭引擎内置的 TypeScript 编译器从 1.8 升级至 TypeScript 2.1 版本。目前我们已经在3.2.6版本中内置了 TypeScript 2.1,由于 TypeScript 自身也是在不断完善,有可能您之前采用 tsc 1.8 版本中正常的代码,在 tsc 2.1 中会遇到问题,我会对一些典型问题进行分析:



使用 TSC 1.8 不报错的代码在 TSC 2.1 中报错了


在我们内测中,这种情况主要有两方面原因:


1. 高版本的 TypeScript 的语法检查更为严格,导致原来不严谨的代码会报错

举例如下:

function test(param:any){

    if (typeof param == "string"){

        var a = Math.floor(param);

    }

}



上述代码,使用 TSC1.8 不会报错,但是使用 TSC2.1之后,由于 TSC新版本可以更智能的分析出在 if (typeof param == "string"){ 语法块中,param 应该是 string 类型的,而 Math.floor 要求传入一个 number 类型,所以就会报错。


2. 高版本中的对浏览器的 API 文件检测更为严格,导致开发者直接操作 DOM 元素的代码报错

举例如下:

var xhr = new XMLHttpRequest();

xhr.response = "hello,world";



在旧版本中,这种写法是可行的,但是在 TSC新版本中引入了一个名为 readonly 的关键字标记这是一个只读属性,并且 TypeScript 新版本内置的浏览器API声明文件中将这个属性设置为了只读,所以这样的代码也会报错。

综上所属,在大部分情况下,这些问题都是因为开发者的代码“不够严谨”导致的,虽然升级 TSC 版本可能导致您的项目会遇到一些报错,但通过这些报错从而发现代码中的一些潜在的问题显然是值得的,这也是白鹭引擎一直坚定使用 TypeScript 这种强类型语言的一个目标。

可以理解的是,在这次版本升级后,您可能会遇到一些比较“困惑”的报错信息,如果您对此无法解决,可以在白鹭引擎的开发者论坛中寻求帮助,我已经建立了专门的传送门用于讨论 TSC 版本升级会导致的问题。

除此之外,虽然白鹭引擎已经在3.2.6版本中升级到了 TypeScript 2.1,但是 Egret Wing 中内置的语法检查器目前还是 1.8 的版本,这可能会导致您在 Wing 中看不到错误,但是编译的时候却会报错,这个问题我们会通过尽快发布新版本 Wing 来解决。

当然,开发者可能会疑惑,为什么白鹭引擎一定要升级到 TypeScript 2.1 版本呢?这就和要即将到来的白鹭引擎全新的4.0版本新特性有关,欢迎大家在12月29日的白鹭引擎斗鱼直播间来收看:-)




开发效率,
白鹭引擎 4.0,
TypeScript 2.1,
脚步近了~



END



联系我们
开发者技术交流区:bbs.egret.com
合作开放平台:open.egret.com
商务合作:bd@egret.com
招聘邮箱:hr@egret.com
产品合作QQ:2669903485
 渠道合作QQ:2669903485


以上是关于egret白鹭引擎入门(第一章)的主要内容,如果未能解决你的问题,请参考以下文章

白鹭引擎EUI做H5活动 入门篇

如何看待Egret Engine白鹭引擎的技术使用?广州蓝景到我们公司来做技术分享,大家觉得Egret引擎好用吗?

cocos、白鹭、laya哪个好用,现在找到的都是过去的回答

白鹭直播间:聊聊Egret引擎4.0 与 TypeScript 2.1~

白鹭引擎

Egret(白鹭引擎)——“TypeError: Cannot read property 'asCom' of null”