关于YEngine2D

YEngine2D是一个开源的、采用HTML5技术和Javscript语言创建的2D游戏框架,用来构建web二维游戏。

GitHub地址

最新版本

v0.1.2

浏览器支持

Chrome
Firefox
IE9+

外部依赖

您需要先下载YOOP框架

相关游戏

发布HTML5 RTS游戏-古代战争

特点

  • 开源免费

引擎遵循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的更多相关文章

  1. 推荐一些好用的 HTML5 & JavaScript 游戏引擎开发库

    推荐一些好用的 HTML5 & JavaScript 游戏引擎开发库 0. 引言 如果你是一个游戏开发者,并且正在寻找一个可以与 JavaScript 和 HTML5 无缝工作的游戏引擎.那么 ...

  2. 初识phaser框架——开源的HTML5 2D游戏开发框架

    背景: 在网上看到,65行实现flappy bird,感到很好奇.原来是使用开源的2D游戏框架 phaser开发的. 什么是phaser2D游戏开发框架呢? 借鉴与网上的资料: 1.    Phase ...

  3. Phaser是一款专门用于桌面及移动HTML5 2D游戏开发的开源免费框架

    Phaser是一款专门用于桌面及移动HTML5 2D游戏开发的开源免费框架,提供JavaScript和TypeScript双重支持,内置游戏对象的物理属性,采用Pixi.js引擎以加快Canvas和W ...

  4. 如何制作一款HTML5 RPG游戏引擎——第五篇,人物&人物特效

    上一次,我们实现了对话类,今天就来做一个游戏中必不可少的——人物类. 当然,你完全是可以自己写一个人物类,但是为了方便起见,还是决定把人物类封装到这个引擎里. 为了使这个类更有意义,我还给人物类加了几 ...

  5. 配置JDKAndroid 2D游戏引擎AndEngine

    配置JDKAndroid 2D游戏引擎AndEngine JDK全称为Java Development Kit(也即Java开发包),是用于支持Java 编程的基础.无论是什么编程,只要用到了Java ...

  6. Android 2D游戏引擎AndEngine配置环境

    Android 2D游戏引擎AndEngine配置环境 1.2  配置环境 在任何编程中,都需要一些软件或者硬件的支持.否则,没有硬件软件是不可能存在的,而想要编写对应语言的的程序,这需要对应语言库和 ...

  7. PixiJS - 基于 WebGL 的超快 HTML5 2D 渲染引擎

    Pixi.js 是一个开源的HTML5 2D 渲染引擎,使用 WebGL 实现,不支持的浏览器会自动降低到 Canvas 实现.PixiJS 的目标是提供一个快速且轻量级的2D库,并能兼容所有设备.此 ...

  8. 如何制作一款HTML5 RPG游戏引擎——第四篇,情景对话

    今天我们来实现情景对话.这是一个重要的功能,没有它,游戏将变得索然无味.所以我们不得不来完成它. 但是要知道,使用对话可不是一件简单的事,因为它内部的东西很多,比如说人物头像,人物名称,对话内容... ...

  9. 如何制作一款HTML5 RPG游戏引擎——第三篇,利用幕布切换场景

    开言: 在RPG游戏中,如果有地图切换的地方,通常就会使用幕布效果.所谓的幕布其实就是将两个矩形合拢,直到把屏幕遮住,然后再展开直到两个矩形全部移出屏幕. 为了大家做游戏方便,于是我给这个引擎加了这么 ...

随机推荐

  1. 查看mysql主从配置的状态及修正 slave不启动问题

    1.查看master的状态 mysql> show master status;  //Position不应该为0 mysql> show processlist;  //state状态应 ...

  2. Nginx为什么比Apache Httpd高效:原理篇

    一.进程.线程? 进程是具有一定独立功能的,在计算机中已经运行的程序的实体.在早期系统中(如linux 2.4以前),进程是基本运作单位,在支持线程的系统中(如windows,linux2.6)中,线 ...

  3. 浅谈Python时间模块

    浅谈Python时间模块 今天简单总结了一下Python处理时间和日期方面的模块,主要就是datetime.time.calendar三个模块的使用.希望这篇文章对于学习Python的朋友们有所帮助 ...

  4. php基本语法

    <?phpecho "hello test01";$var ="PHP";echo "$var";echo "<br ...

  5. android:layout_gravity和android:gravity的区别

    1.首先来看看android:layout_gravity和android:gravity的使用区别. android:gravity: 这个是针对控件里的元素来说的,用来控制元素在该控件里的显示位置 ...

  6. Python开发之【用户登录锁定】

    用户登录验证,输入密码错误三次,锁定此用户. 将用户信息存入文件 文件内容格式如下: {','login_flag':True} {','login_flag':True} {','login_fla ...

  7. CVE

    一.简介 CVE 的英文全称是"Common Vulnerabilities & Exposures"公共漏洞和暴露.CVE就好像是一个字典表,为广泛认同的信息安全漏洞或者 ...

  8. scau 8633 回文划分

    8633 回文划分 时间限制:1000MS  内存限制:1000K 题型: 编程题   语言: 无限制 Description 我们说一个字符串是回文串,那么意味着这个串从两边读起来的字母都是一样的. ...

  9. 19 图形用户界面编程 - 《Python 核心编程》

  10. Lua环境

    1.前言 Lua将其所有的全局变量保存在一个常规的table中,这个table称为“环境”.这种组织结构的优点在于,其一,不需要再为全局变量创造一种新的数据结构,因此简化了Lua的内部实现:另一个优点 ...