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
以上是关于egret白鹭引擎入门(第一章)的主要内容,如果未能解决你的问题,请参考以下文章
如何看待Egret Engine白鹭引擎的技术使用?广州蓝景到我们公司来做技术分享,大家觉得Egret引擎好用吗?
cocos、白鹭、laya哪个好用,现在找到的都是过去的回答
白鹭直播间:聊聊Egret引擎4.0 与 TypeScript 2.1~
Egret(白鹭引擎)——“TypeError: Cannot read property 'asCom' of null”