egret之HelloWorld

红太狼 2022-03-02 11:28 291阅读 0赞

标签: egret,入门

什么是Egret?

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

  关于这个引擎和工具方面的介绍,我就不多说了,以下是白鹭的下载地址。

  Egret官网:http://egret.com/

准备阶段:

我们要下载

开发工具的平台

并且在里面下载

主要开发工具

使用阶段:

在以上工具都准备后,在engine界面或者桌面图标点击打开Egret Wing,会看到以下画面:

Egret Wing界面

Wing可以理解为专门使用TypeScript开发白鹭项目的IDE了,以后我们使用egret过程中,会一直跟这个界面打交道。

  好,现在我们先创建一个项目,我先建一个游戏项目,置于其他界面有什么区别呢,可以自行新建试试。EUI是主要做交互界面的,空项目是没有配置好相关需要的代码以及功能模块的,例如做缓动效果的Tween和加载的RES等等,所以为了方便,我们一般直接新建游戏项目。

创建新项目

在这里,你需要配置游戏界面的大小,视频模式以及旋转设置。尺寸直接是设计图宽高,而视口我们一般会选择showALL(显示全部内容,不变形但会在留白),

  网上也有一部分人开发的时候用fixedWidth(适配宽度,高度不足时会隐藏底下部分,适用于只有一些动画在上方,且下方是无关重要的背景时)。

  还有一些会用到百分百满屏的exacFit,设计师弄一个适中的尺寸,然后按照这种模式铺满全屏,有少数很宽或很长的屏幕会有一点变形,但是不影响游戏体验界面。但是不好的地方是PC或pad打开会变形。
  但是这三个地方还是以实际项目需求为准,以上是常规的设置。

选择完之后,我们点击完成。打开新建的项目目录:

inde.html

src是TypeScript源码目录,bin-debug是调试环境编译出来的js,libs是文件包的引用目录,template主要是app用到的runtime;

  resource是我们项目中的资源路径,一般我们把图片音频等素材放置asset目录下,json等配置文件放置config目录下,default.res.json是我们用于加载资源的json配置文件,一般不修改名字,后面会讲到怎么使用。

  egretProperties是我们这个项目的一些配置记录信息,一般我们不需要动它。而index.html就是我们游戏的主界面文件。

  打开index.html

index.html

将data-show-fps和data-show-log设成true,我们就可以看到游戏运行的实时帧率了。

帧率可以检测游戏运行的流畅度(性能),渲染数量越多,同时计算量越大,性能就越差,掉帧就越多。所以帧率越高,则表示性能越好,流畅度高。
另外,在底部,我们还能看到一个egret.runEgret({})的运行方法,在这里,你可以修改egret的渲染模式,默认是”webgl”。但是如果你需要用到跨域图片资源或者有大量的图片和文字,你最好还是使用”canvas”模式,避免跨域报错和性能问题。

编译运行

点完编译,点调试,之后就出出现游戏界面,这是egret demo项目界面

界面   

Hello World

在main 找到 createGameScene方法,然后添加

添加helloworld

编译运行

显示helloworld

作者简介:何永峰,芦苇科技web前端开发工程师,喜欢到处寻找好吃的,平时爱好是跳舞,打篮球,听音乐,有时会出席一些大型的舞蹈商演活动,目前是Acum.Revolution現狀革命成员之一。并且代表作品:萌鸡驾到、美旅出行小程序、电竞桌子小程序。擅长网站建设、公众号开发、微信小程序开发、小游戏、公众号开发,专注于前端领域框架、交互设计、图像绘制、数据分析等研究,访问 www.talkmoney.cn 了解更多。

发表评论

表情:
评论列表 (有 0 条评论,291人围观)

还没有评论,来说两句吧...

相关阅读

    相关 C++HelloWorld

    1、控制台输入输出流 不同的系统或平台有自己的控制台,输入输出流与具体的平台有关,标准库std里定义了三个流,cout标准输出流,cin标准输入流和cerr标准错误流。 2

    相关 qml HelloWorld

    QML是Qt推出的Qt Quick技术的一部分,是一种新增的简便易学的语言。QML是一种陈述性语言,用来描述一个程序的用户界面:无论是什么样子,以及它如何表现。在QML,一个用

    相关 JAVAHelloWorld

    在任意一级目录下新建一个文本。 ![70][] 将文本的名字修改为HelloWorld.java 拓展名要修改成 java。 ![70 1][] 将下面代码拷贝到Hel

    相关 AkkaHelloWorld

    > UntypedActor就是我们所说的Actor,之所以这里强调是无类型的,那是因为在Akka中,还支持一种有类型的Actor。有类型的Actor可以使用系统中的其他类型构