发布HTML5 2D游戏引擎YEngine2D
关于YEngine2D
YEngine2D是一个开源的、采用HTML5技术和Javscript语言创建的2D游戏框架,用来构建web二维游戏。
GitHub地址
最新版本
v0.1.2
浏览器支持
Chrome
Firefox
IE9+
外部依赖
您需要先下载YOOP框架
相关游戏
特点
- 开源免费
引擎遵循MIT协议,用户可完全自由使用。
- 良好的设计
引擎从敏捷开发的游戏中提炼而出,具有良好的代码和模块结构,有比较好的可维护性和可扩展性。
- 良好的可测试性
引擎非常重视单元测试,基本实现了单元测试全覆盖。
- 使用HTML5技术,面向Web游戏开发
引擎采用最新的HTML5技术和Javascript语言开发,前端开发的同学能很快上手。
领域模型

包图

- 入口
引擎YE.main提供了引擎入口,可进行游戏配置,加载用户类。
- 基础
放置通用抽象基类。
- 核心
包括入口类、导演类、场景类、层类、精灵类,搭建游戏开发的基本框架。
- 动作
参考cocos2d,提出了立即动作和持续动作类,用户可创建自定义动作类。
- 动画
提供多种方式创建动画和管理动画。
- 算法
提供了通用的算法实现,如A*寻路算法。
- 内部库
集成了多个库,包括:
1、jsExtend
Javascript扩展库,扩展了String和Array对象。
2、YEQuery
仿jquery的Dom操作和ajax封装库。
3、YSound
优先使用Web Audio,可回退到Html5 Audio的声音库。
- 加载
支持图片、声音、json文件的加载。
- 数据结构
提出了线性集合类、哈希集合类、图片数据类等。
- UI
目前只有Canvas通用绘制封装类,后面会加入常用的UI组件。
- 事件管理
目前支持PC的键盘和鼠标事件,后面会加入移动端事件的支持。
- 声音管理
封装底层声音库YSound,提供游戏使用的高层api。
升级计划
- 建立开源社区,丰富文档
- 优化内存
- 改进声音加载
- 支持移动端游戏开发
- 加入UI组件
- 优化性能
发布HTML5 2D游戏引擎YEngine2D的更多相关文章
- 推荐一些好用的 HTML5 & JavaScript 游戏引擎开发库
推荐一些好用的 HTML5 & JavaScript 游戏引擎开发库 0. 引言 如果你是一个游戏开发者,并且正在寻找一个可以与 JavaScript 和 HTML5 无缝工作的游戏引擎.那么 ...
- 初识phaser框架——开源的HTML5 2D游戏开发框架
背景: 在网上看到,65行实现flappy bird,感到很好奇.原来是使用开源的2D游戏框架 phaser开发的. 什么是phaser2D游戏开发框架呢? 借鉴与网上的资料: 1. Phase ...
- Phaser是一款专门用于桌面及移动HTML5 2D游戏开发的开源免费框架
Phaser是一款专门用于桌面及移动HTML5 2D游戏开发的开源免费框架,提供JavaScript和TypeScript双重支持,内置游戏对象的物理属性,采用Pixi.js引擎以加快Canvas和W ...
- 如何制作一款HTML5 RPG游戏引擎——第五篇,人物&人物特效
上一次,我们实现了对话类,今天就来做一个游戏中必不可少的——人物类. 当然,你完全是可以自己写一个人物类,但是为了方便起见,还是决定把人物类封装到这个引擎里. 为了使这个类更有意义,我还给人物类加了几 ...
- 配置JDKAndroid 2D游戏引擎AndEngine
配置JDKAndroid 2D游戏引擎AndEngine JDK全称为Java Development Kit(也即Java开发包),是用于支持Java 编程的基础.无论是什么编程,只要用到了Java ...
- Android 2D游戏引擎AndEngine配置环境
Android 2D游戏引擎AndEngine配置环境 1.2 配置环境 在任何编程中,都需要一些软件或者硬件的支持.否则,没有硬件软件是不可能存在的,而想要编写对应语言的的程序,这需要对应语言库和 ...
- PixiJS - 基于 WebGL 的超快 HTML5 2D 渲染引擎
Pixi.js 是一个开源的HTML5 2D 渲染引擎,使用 WebGL 实现,不支持的浏览器会自动降低到 Canvas 实现.PixiJS 的目标是提供一个快速且轻量级的2D库,并能兼容所有设备.此 ...
- 如何制作一款HTML5 RPG游戏引擎——第四篇,情景对话
今天我们来实现情景对话.这是一个重要的功能,没有它,游戏将变得索然无味.所以我们不得不来完成它. 但是要知道,使用对话可不是一件简单的事,因为它内部的东西很多,比如说人物头像,人物名称,对话内容... ...
- 如何制作一款HTML5 RPG游戏引擎——第三篇,利用幕布切换场景
开言: 在RPG游戏中,如果有地图切换的地方,通常就会使用幕布效果.所谓的幕布其实就是将两个矩形合拢,直到把屏幕遮住,然后再展开直到两个矩形全部移出屏幕. 为了大家做游戏方便,于是我给这个引擎加了这么 ...
随机推荐
- nim3取石子游戏 (威佐夫博弈)
http://www.cnblogs.com/jackge/archive/2013/04/22/3034968.html 有两堆石子,数量任意,可以不同.游戏开始由两个人轮流取石子.游戏规定,每次有 ...
- crontab 例行性排程
那么我们就来聊一聊 crontab 的语法吧![root@www ~]# crontab [-u username] [-l|-e|-r]选项不参数:-u :只有 root 才能迚行这个仸务,亦即帮其 ...
- JavaScript Patterns 3.4 Array Literal
Array Literal Syntax To avoid potential errors when creating dynamic arrays at runtime, it's much sa ...
- 用js获取当前页面的url的相关信息方法
当前页面对应的URL的一些属性: ( http://bbs.xxx.net/forum.php?mod=viewthread&tid=2709692&page=1&extra= ...
- PHP正则中的捕获组与非捕获组
今天遇到一个正则匹配的问题,忽然翻到有捕获组的概念,手册上也是一略而过,百度时无意翻到C#和Java中有对正则捕获组的特殊用法,搜索关键词有PHP时竟然没有相关内容,自己试了一下,发现在PHP中也是可 ...
- Check list
greenplum
- [转]VS2015 cordova尝试-camera
本文转自:http://blog.csdn.net/greystar/article/details/47973837 1. 确保环境正常,如出现错误 ,安下载android sdk 相关版本,我在这 ...
- Hadoop_HDFS文件读写代码流程解析和副本存放机制
Hadoop学习笔记总结 01.RPC(远程过程调用) 1. RPC概念 远程过程指的不是同一个进程的调用.它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议. 不能直接拿到远 ...
- POJ 1410 Intersection --几何,线段相交
题意: 给一条线段,和一个矩形,问线段是否与矩形相交或在矩形内. 解法: 判断是否在矩形内,如果不在,判断与四条边是否相交即可.这题让我发现自己的线段相交函数有错误的地方,原来我写的线段相交函数就是单 ...
- UVA 12377 Number Coding --DFS
题意:给一串数字,第一个数是Num的话,要使后面的数字组成Num个数,而且为不降的,将这Num个数分配到9个素因子上作为指数,问能组成多少个不同的数 解法:dfs一遍,看后面的数字能组成Num个不降数 ...