码迷,mamicode.com
首页 > 其他好文 > 详细

Egret 小游戏实战教程(跳一跳)

时间:2020-08-03 09:42:30      阅读:122      评论:0      收藏:0      [点我收藏+]

标签:ret   简单   bug   事件监听   res   移动   button   class   game   

游戏思路

一般游戏开发可大体分为以下四个步骤,这里主要针对 H5 小游戏:

第一步:

准备资源

这部分没什么好说的,准备好素材就是了,一般就是图片和音频

当前跳一跳项目中用到的素材有(如下图所示):

技术图片

要注意的一点是:这里的方块阴影只是假装有个 3D 的效果,其实就是个图片

写代码的时候,方块图片的锚点不应该是图片的中心点,而应该是图中的方块中心

第二步:

写游戏场景

什么是场景呢,其实就是 UI 界面

一般我们可以把游戏分成(至少)3 个场景,分别是开始场景、游戏场景和结束场景(如下图所示)

然后利用 Egret 的 EUI 功能(可视化布局),我们可以很容易的创建静态场景(要有场景的意识),不用写一句代码,界面就有了,真的是好容易,谁用谁知道!

技术图片

提示:静态场景就是那些不会动的东西;会动的东西或重复的物体我们一般在后续会写成一个类或者方法

第三步:

写游戏逻辑

这部分就是游戏的核心了,人与人之间的差别也就在这

通常来说首尾两个场景交互较少,只要在按钮上添加几个事件监听就好了,而游戏场景中的逻辑才是我们真正要施展才华(写 bug)的地方

第四步:

多玩多调试

这步也不用多说,就是多点点,各种骚操作,多管齐下,bug 总能与你不期而遇,擦出不离不弃的火花

新建项目

话不多说,让我们开始策马奔腾吧!

1、新建一个名叫 jump 的项目并用 Egret Wing 3 编辑器打开

2、在 resource/assets 目录下新建一个 data 文件夹,并把资源放入其中(包括图片和音频)

3、打开 src 目录下的 Main.ts 文件,删除 createGameScene 函数里面的内容

技术图片

如果你在此时运行的话,将看不到任何效果,因为 createGameScene 函数里面没有做任何操作

写静态场景

这步我们将通过 EUI 来完成,不需要写一行代码,贼 TM 爽

首先在 src 目录下新建一个名叫 scene 的文件夹

右击该文件夹新建一个 EUI 组件,取名叫 SceneBegin,并修改默认路径(它会自己创建一个目录),具体操作如下图所示:

技术图片技术图片技术图片

从上图中我们可以看到,新建一个 EUI 组件后,会生成两个文件

一个是 exml 文件,一个是 ts 文件,二者是一一对应的

其中 exml 用来写 UI 界面,ts 用来写对应页面的逻辑

所以这一步我们只会动到 exml 文件,打开 SceneBegin.exml,点击中间透明区域,在右侧设置其宽高为 640 ? ?1136,具体操作如下图:

技术图片

点击左侧界面的资源面板(图标里面有个 E 的),从中选取背景并拖入到界面中

单击右侧面板中的快捷约束的最后一个按钮,则可使背景铺满整个界面,具体操作如下图:

技术图片

点击左侧界面的组件面板(图标有点像拼图的),从中选取 Button 组件,加上 ID 名并替换组件皮肤(也就是按钮背景啦),具体操作如下图:

技术图片

技术图片

这样一来我们就将开始场景写好了,怎么样,是不是很 easy 呢?

接下来只要用同样的方式去写游戏场景和结束场景即可

由于我们这里的结束界面是以弹层的形式覆盖在游戏界面上的,所以二者是写在一起的

ok,话不多说,右击 src 目录下的 scene 文件夹,新建另一个 EUI 组件,取名叫 SceneGame

因为两个场景是在写一起的,所以我们需要对其进行分组(Group),一个 Group 写游戏场景,一个 Group 写结束场景

那怎么分组呢,也很简单,找到编辑器左下角的布局面板,将 Group 拖入到界面中,并自适应全屏即可,如下图:

技术图片

再然后依葫芦画瓢即可,具体 exml 文件效果图如下:

技术图片技术图片 

现在打开 src 目录下的 Main.ts 文件

并在 createGameScene 函数中把开始场景添加到舞台中,然后运行一下你就能看到开始界面了,具体代码如下:

protected createGameScene(): void {
    this.addChild(new SceneBegin());
}

小结

至此,我们的静态场景就全部写完了,

哦不,我们并没有写代码,仅仅是贴图和贴文字而已。

当中的精髓就在于拖,把左侧面板的资源或控件熟练地拖入到界面中,

然后在右侧面板设置其属性(宽高或 xy 值等),只要你能熟练地移动鼠标,神马静态场景都不在话下。

 
 
 

跳一跳源码地址:GitHub

原文:尤水就下

*** |  以上内容仅为学习参考、学习笔记使用  | ***

Egret 小游戏实战教程(跳一跳)

标签:ret   简单   bug   事件监听   res   移动   button   class   game   

原文地址:https://www.cnblogs.com/ChenZiRong1999/p/13424412.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!