Egret Wing

Egret Wing,第1张

Egret Wing是一款开源免费的HTML5游戏开发工具,Egret Wing支持目前市面主流的开发语言和技术,作为一款可视化编辑器,它可以帮你提高开发效率。这款工具还支持 Node.js 开发扩展插件,可以让你更好的定制化自有内容。

渲染模式:dom,cavase,webGL

不同的地图、不同的元素,好玩的道具(充值付费获得道具、融合形成新的道具)

创建项目->资源(json/png)resDepot->模块game

地图、步数、道具、消除

1.地图:元素按照地图排列

最大宽高格子数为8

形状可配置

包含自己的背景图

不同关卡背景图不同

无论地图形状如何改变,尺寸不变

2.步数:

不同关卡步数不同

步数为0时,游戏结束

3.道具

一共五种道具,道具功能不同,使用道具时候不消耗步数,来源于游戏奖励

4.消除:

三个及以上相同元素可消除

元素随机出现

初局开始时,不可有消除元素

没有可消除元素时,自动乱序

数据:地图数据、基础数据、关卡数据、道具数据

视图:元素、背景、关卡、道具

逻辑:主逻辑控制器、数据解析器、地图数据控制器、算法控制器、视图控制器

mapData:

一维数组:数据整理方便,下标

二维数组:空间表示方便,获取位置方便

index = row * 8 + column

json数据描述

地图配置信息如何描述

{"map": [0,1,8,9,6,7,14,15]} 一维数组记录不展示以及不可放置元素的方格

游戏元素数据设计

元素:type、ID(唯一)、location

eg:

mapData[3][6] = element.ID  

elements[mapData[3][6]] 元素对象池 访问想要的数据

ID:45

location:30

public static unmapnum: number = 0//空白地图块数量

public static mapData: number[][]//游戏地图,-1表示块地图不能使用,-2表示,此地图没有元素

public static stepNum: number = 0//玩家剩余步数

public static levelStepNum: number = 0//当前关卡步数

public static elementTypes: number[]//当前关卡出现的元素类型

public static unusedElements: number[]//游戏中未使用得元素,仅记录元素ID

public static levelBackgroundImageName = ""//当前关卡背景图资源名

public static MaxRow: number = 8//最大的行

public static MaxColumn: number = 8//最大的列

public static currentElementNum: number = 0//当前关卡游戏中地图可用元素数量

public static levelReq: LevelRequire//当前关卡过关条件

public static elements: GameElement[]//游戏中出现得元素数据池,最多为64个,因为8*8

//舞台宽高,此封装为了方便调用

public static stageW: number = 0

public static stageH: number = 0

DisplayObjectContainer

public constructor() {

        super()

        this.addEventListener(egret.Event.ADDED_TO_STAGE, this.onAddToStage, this)

    }

Sprite 类是基本显示列表构造块:一个可包含所有子项的显示列表节点

Sprite() 实例化一个容器

1.背景

var gbg:GameBackGround = new GameBackGround()

this._gameStage.addChild(gbg)

gbg.changeBackground()

2.地图

this.mapc = new MapControl()

this.mapc.createElementAllMap()

3.过关条件

let lec:egret.Sprite = new egret.Sprite()

this._gameStage.addChild(lec)

this.levm = new LevelReqViewManage(lec)

this.levm.createCurrentLevelReq()

4.元素

let cc:egret.Sprite = new egret.Sprite()

this._gameStage.addChild(cc)

this.evm = new ElementViewManage(cc)

this.evm.showAllElements()

1.寻找可消除元素

2.预检索可消除元素算法设计与实现

3.是否可以互相交换

交换后是否可以消除

最近,空下来准备研究一下用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 就跑出来啦~

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

方法有误。

1、egretwin3下载先在桌面上找到EgretLauncher图标,双击打开。

2、在EgretLauncher界面,点击选择项目,点击要打开的项目右侧的翅膀图标,提示未安装EgertWing。

3、在EgretLauncher界面,点击工具,在未安装列表中找到EgretWing3,点击下载,下载完成点击安装。

4、在安装EgretWing界面,点击下一步。

5、在安装许可协议界面,继续点击下一步。

6、在选择目标位置界面,点击浏览选择安装目录,然后点击下一步。

7、在选择附加任务界面,全部勾选上,然后点击下一步。在准备安装界面,点击安装,等待安装完成,点击完成即可。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/bake/11614201.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-17
下一篇2023-05-17

发表评论

登录后才能评论

评论列表(0条)

    保存