
VS Code 内置了许多与 HTML5 相关的功能,如代码高亮、智能提示、代码补全、语法检查等。它还可以通过安装插件来扩展功能,例如 Live Server 插件可以提供实时预览和自动刷新功能,ESLint 插件可以帮助检测和修复代码中的语法错误。
此外,VS Code 还可以与其他工具和技术集成,如 Git 版本控制系统、Node.js 运行时环境、调试器等,使开发过程更加便捷和高效。
综上所述,VS Code 是一款功能强大的文本编辑器,可以作为 HTML5 页面开发工具。如果您熟悉 HTML5 和相关技术,并且想要使用一款轻量、高效、可扩展的编辑器进行开发,那么 VS Code 是一个很好的选择。
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.是否可以互相交换
交换后是否可以消除
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)