国内外流行的JS游戏开发框架介绍---kalrry

  • 前言
  • 一、整理中ing
  • 二、当今国内外流行的游戏开发框架有哪些。
  • 三、每个框架的特点以及优缺点
    • 1. Three.js
      • 优点:
      • 缺点:
    • 2. Phaser
      • 优点:
      • 缺点:
    • 3. Createjs
      • 优点:
      • 缺点:
    • 4. Egret
      • 优点:
      • 缺点:
    • 5. Cocos2d-js
      • 优点:
      • 缺点:
  • 四、怎样去选择一个适合的框架来学习和使用
  • 五、使用框架的注意事项

前言

Win配置记录
Mac配置记录

一、整理中ing

下面是关于css3 动画,canvas 动画以及 webgl;不是 vue、react 和 angular 这一些跟数据打交道比较多的框架和类库。

二、当今国内外流行的游戏开发框架有哪些。

开发动画和游戏,跟我们做数据交互不一样;游戏和动画开发起来比较复杂和耗时,是比较依赖框架和工具的。那么现在都有那些框架和工具呢?下面我们就来看一下。

序号 框架名 是否支持2D 是否支持3D
1 Three.js no yes
2 Phaser yes no
3 Createjs yes no
4 Egret yes yes
5 Cocos2d-js yes no

三、每个框架的特点以及优缺点

上面表格的框架,用的比较多框架。

1. Three.js

款历史比较悠久的开源项目,准确地说它不是一个游戏引擎,是一个 JavaScript 的 3D 库。然而我们可以用它来做各种的 3D 效果和游戏。

优点:

专注于三维效果的 JavaScript 实现,能够在网页端实现大部分三维效果。
文档齐全,并具有搜索功能,方便快速查阅。
国外项目,目前仍然持续更新,不需要担心没人维护国外。
纯 js 代码开发,引入库即可用,不需要借助其他工具,方面接入任何的系统。

缺点:

文档大部分是英文,需要具备一定英文水平才能读懂。
学习难度比较大,除了 js 代码基础,还需要具备高中的几何知识、webgl 知识、线性代数等等。
国内例子相对比较少,中文教程也不多,基本上都是看官网的例子和文档进行学习和研究。
网页 3d 效果的兼容性和性能问题,需要详细研究需求后才能使用。

2. Phaser

免费开源的 html5 游戏框架,支持 canvas 和 webgl 渲染,github 上 2w + star,比较不错的游戏框架。

优点:

专注于 2d 游戏的 JavaScript 实现,集合了渲染、物理引擎,能够完成大部分小游戏。
使用方法简单,容易上手。
官方网站上有大量例子,代码都不负责,基本需要使用的效果都能找到对应的例子。
纯 js 代码开发,引入库即可用,不需要借助其他工具,方面接入任何的系统。
能够在微信小游戏中使用,并支持 typescript。

缺点:

官方文档大部分是英文,并且没有搜索功能,需要按照类一层层往下搜索;假如在官方例子中找不到合适的代码,需要花时间研究文档。
目前稳定版本是 2.10,但是版本是社区维护;官方在开发新的 3.0 版本,暂时还在调整阶段。
由于纯代码编写,如果游戏逻辑复杂,代码会比较多和繁琐,需要在前期做比较好的规划。

3. Createjs

免费开源的 html5 游戏、动画和交互应用框架,adobe animate 软件基于该库来生成代码。

优点:

动画和交互效果小能手,众多好看和高质量的 h5 展示效果使用 createjs 制作。
可以使用纯代码开发,或者使用 adobe animate 软件开发。
国内教程比较丰富,学习成本不大。
核心库分为四个,分别支持渲染、动画、预加载和音频,可以按需求加载对于库。

缺点:

例子相对较少,遇到新或者复杂的需求,基本需要查看 api,无法寻找相似例子。
没有封装好粒子系统、骨骼动画、瓦片地图等等,轻量级的库,不适合大型游戏。
动画制作一般需要大量图片,涉及图片压缩和使用精灵图方面的技术。

4. Egret

国内优秀的游戏制作引擎,具备一整套的开发工具和教程。

优点:

大型游戏制作能手,能够使用图形化工具制作游戏,性能优越。
使用 typescript 开发业务逻辑,代码规范。
中文文档和教程,学习方便。
同时支持 3d 和 2d,并且带有各种模块,游戏制作基本属于全能。
支持接入微信小游戏。

缺点:

需要使用工具开发,不方便接入其他业务系统。
虽然具备中文文档,当时需要熟悉各种工具,学习成本不低。
例子相对较少,制作大型游戏需要大量填坑。

5. Cocos2d-js

历史比较悠久的游戏开发框架,类似 egret。

优点:

2D 优秀开发引擎,同样使用图形化工具制作游戏,操作方便。
核心使用 JavaScript 编写。
中文文档和教程,学习方便,并且资料和例子丰富。
功能相当完整,游戏中需要的功能几乎都能够找到。
支持接入微信小游戏。

缺点:

需要使用工具开发,不方便接入其他业务系统。
需要熟悉各种工具,学习成本不低,这点类似 egret。
擅长 2D 游戏开发,3D 游戏开发没有其它几个游戏框架专业。

四、怎样去选择一个适合的框架来学习和使用

学习:
从学习上来说,我推荐初学者挑选纯代码进行开发的框架(three.js、createjs 和 phaser)进行学习。学习这类型的框架,虽然难度比较大,花时间比较长;但是能够提高自己的代码编写水平,还能更加深刻地理解游戏开发。

如果有些小伙伴比较喜欢图形化界面操作,也可以尝试 egret 和 coco2d。这两个框架都是国内比较流行的游戏框架,学习哪一个都会有所帮助。

如果有小伙伴之前是做 flash 的,我推荐使用 adobe animate 软件。

这款软件其实就是以前的 flash 加上了 html5 的 canvas,它既可以生成 flash,也可以制作网页动画;制作的方法也以前的 flash 软件基本一样,只是多了 JavaScript 代码编写。

工作:
在工作中,特别是一些中小型公司,选择游戏框架就跟学习的时候不一样了。

首先需要明确需要制作什么类型的游戏,是否需要接入自己公司的业务系统。

如果是一些小游戏,类似跳一跳、推箱子等等,可以使用纯代码开发的框架。这样无论后面需求是否修改,是否需要接入业务系统,都能够方便进行修改。

如果游戏的形式不太清晰,但是需要接入自己业务系统,例如游戏过后要抽奖、要统计数据等等;也建议优先选择纯代码开发的框架,毕竟纯代码开发的框架,就算前后端没有完全分离,也可以在页面上面放 php 或者 java 代码。

如果需要制作比较复杂的游戏,图形化的开发工具是第一选择。图形化界面能够大大提升游戏开发的效率,而且游戏的结构也是清晰可见,性价比比较高。

如果游戏需求比较复杂,而且需要接入自己的业务系统。这种情况,需要先测试图形化工具缩生成的代码是否能够顺利接入系统,然后再选择使用。

摄图网https://www.wode007.com/sites/73204.html VJ师网https://www.wode007.com/sites/73287.html

五、使用框架的注意事项

最后,给小伙伴们几个使用框架的建议,下面的都是我经过无数次踩坑总结出来的。

学习使用过程,遇到英文资料或者文档,建议不要使用翻译软件,通过例子和上下文去理解。

注意游戏的图片和模型加载,合理使用精灵图和框架的预加载功能。

开始开发之前,注意测试需要用到的框架属性,是否存在兼容性问题,特别是安卓和苹果手机的区别。

多复习一下高中的立体几何、解析几何,大学的线性代数、算法和图形图像。

跟美工打好关系,做游戏时,图片和模型的调整会非常多,没有他们的配合,很难进行。

国内外流行的JS游戏开发框架介绍---kalrry相关推荐

  1. Node.js Web开发框架

    Node.js非常适用于Web开发,但是现在无论是一个网站,还是Web App都已经成为包括很多不同部分,如前端.数据库.业务模块.功能模块等等的大型项目,使用Node.js从零开始进行Web开发,也 ...

  2. Three.JS游戏开发入门

    就在不久前,创建和部署游戏的唯一方法是选择像 Unity 或 Unreal 这样的游戏引擎,学习语言,然后打包游戏并将其部署到你选择的平台上. 试图通过浏览器向用户提供游戏的想法似乎是一项不可能完成的 ...

  3. 五大开源游戏引擎介绍

    本文总结分享了五个开源游戏引擎.对游戏编程初哥来说,选择一个好的游戏引擎是一个很头疼的事.本文介绍的五个游戏引擎不仅被证明是可靠的,而且全部开放源码. AD:   对游戏编程初哥来说,选择一个好的游戏 ...

  4. SlickOne 敏捷开发框架介绍(二) -- 多用户/多租户/SAAS软件基础框架实现

    前言:在应用于集团版客户或SAAS平台服务的业务系统中,流程管理系统需要支持多用户组织模型.其中包括角色数据.流程定义数据和流程实例数据的多用户标识绑定.本文旨在全面描述如何基于SlickOne敏捷开 ...

  5. 快速开发框架介绍-懂你的RUOYI

    快速开发框架介绍-懂你的RUOYI 你和大佬之间就差了一个框架--[RuoYi若依框架教程]_V5coding_com的博客-CSDN博客_若依框架教程快速开发框架介绍-懂你的RUOYI你在为写系统不 ...

  6. 14个非常棒的 JavaScript 游戏开发框架推荐

    原文:14个非常棒的 JavaScript 游戏开发框架推荐 随着JavaScript结合HTML5开发越来越受欢迎,很多浏览器支持的新功能正被用户使用,与此同时,许多新的游戏正在使用JavaScri ...

  7. Panda3D 是一个用于 Python 和 C++ 程序的 3D 渲染和游戏开发框架。

    Panda3D 是一个用于 Python 和 C++ 程序的 3D 渲染和游戏开发框架. Panda3D 是一个用 C++ 编写的强大的 3D 引擎,具有一套完整的 Python 绑定.与其他引擎不同 ...

  8. Unity3D游戏开发介绍

    Unity3D游戏开发介绍 Unity3D Unity是实时3D互动内容创作和运营平台.包括游戏开发.美术.建筑.汽车设计.影视在内的所有创作者,借助Unity将创意变成现实. Unity平台提供一整 ...

  9. Uni-App开发框架介绍

    Uni-App开发框架介绍 1. Uni-App简介 Uni-App是一家公司(DCloud)产品,公司承诺将一直开源且免费. 公司旗下有4个产品: HBuilder X:开发工具 uni-app:跨 ...

  10. 去后厂村开游戏厅吧!基于PP-TinyPose的简易体感游戏开发框架

    ‍ 项目简介 近年来,随着虚拟现实技术和计算机图形学技术的迅猛发展,越来越多的体感游戏在市场上出现并受到欢迎.要让体感游戏具备良好的表现,就需要使用大量的传感器,甚至需要使用高性能的计算机和图形处理器 ...

最新文章

  1. 在批处理中调用JS操作MongoDB
  2. 后门技术(HOOK篇)之DT_RPATH
  3. 傻瓜式Linux之一:系统安装
  4. 【新星计划】MATLAB绘制图形
  5. 832. Flipping an Image
  6. Tomcat/weblogic session失效时间的几种设置方法
  7. 3Com发布新MSR路由器 为企业提供视频播客支持
  8. Splash 基础使用 JavaScript渲染 爬虫
  9. jQuery复制table header到表格的最下面
  10. C++ Qt学习笔记 (1) 简易计算器设计
  11. Python学习笔记11:标准库之文件管理(os包,shutil包)
  12. 量子计算机解ns方程,量子计算机可解方程组
  13. Unity 之 官网下载地址,方便各个版本的 Unity 安装包下载
  14. 【ESP 保姆级教程】疯狂点灯篇 —— 案例:ESP8266 + LED + 按键 + 阿里云物联网平台 + 阿里云物联网Web应用(详细操作过程,全部源码)
  15. nodejs轻量型个人文档管理系统
  16. Base64编码详解与URL安全的Base64编码
  17. kubernetes CKA题库(附答案、视频)
  18. 打开office显示:你的office许可证有问题,你可能是盗版软件的受害者怎么办?
  19. 自动驾驶中的多传感器融合
  20. 基于MP2307的FPGA实验系统供电设计

热门文章

  1. jboss-remoting服务
  2. 十大开源安全测试工具
  3. 建设智能机房--动环监控系统你不能不知道的事
  4. [渝粤教育] 中国地质大学 计算机会计理论与实务 复习题 (2)
  5. 用matlab处理信号,信号处理matlab程序示例
  6. 代码安全审计工具推荐
  7. 使用base64格式生成图片
  8. HDU 1019 least common Multipy
  9. MathType安装教程,以及部分功能变灰,重新点亮
  10. Orcad CIS本地库添加器件