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

2023-05-16

国内外流行的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
1Three.jsnoyes
2Phaseryesno
3Createjsyesno
4Egretyesyes
5Cocos2d-jsyesno

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

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

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

五、使用框架的注意事项

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

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

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

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

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

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

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

  • SOAP出现问题:由于 ContractFilter 在 EndpointDispatcher 不匹配,因此 Action 为“”的消息无法在接收方处理(已解决)

    场景 SOAPUI在服务器上正常运行 xff1b 用Java的Post请求调用时 xff0c 能够调通接口 xff0c 但出现问题 xff1a lt s Envelope xmlns s 61 http schemas xmlsoap or
  • 从0开始搭建Hadoop2.x高可用集群(HDFS篇)

    从0开始搭建Hadoop2 x高可用集群 xff08 HDFS篇 xff09 演示目标演示环境注意事项准备虚拟机关闭防火墙检查系统时间修改host设置免密登录卸载OpenJDK安装软件 准备HDFS配置cote site xml配置hdfs
  • 从0开始搭建Hadoop2.x高可用集群(YARN篇)

    从0开始搭建Hadoop2 x高可用集群 xff08 YARN篇 xff09 演示目标演示环境准备YARN配置yarn site xml配置mapred site xml拷贝配置 启动YARN集群验证高可用 xff08 HA xff09 演
  • 解决Win10菜单栏中搜索框无法搜索应用

    解决Win10菜单栏中搜索框无法搜索应用 如图 xff0c 在任务管理器中找到Windows资源管理器 xff0c 重新启动即可
  • 使用Java编写第一个MapReduce程序

    使用Java编写第一个MapReduce程序 演示目标演示环境搭建MR工程配置pom xml编写WordCountMapper java编写WordCountReducer java编写启动类Startup java打包工程 部署MR工程上
  • 一次函数和正比例函数的介绍

    一次函数 一次函数 xff1a 什么是一次函数 xff1f 图像展示一次函数和正比例函数 xff1a 例题一 xff1a y 61 2 x
  • STM32F103开发板霸道V2兼容指南者 从零开始(3)

    这里是对STM32学习路线的截图 xff0c 方便平时巩固32的知识 截图超多 xff0c 实操步骤都有 使用开发板为STM32F103 xff0c 后面四位影响不大 xff0c 在烧写上电的时候选好芯片即可 xff0c 下面有演示 在下小
  • Docker在ubuntu中安装与使用

    Docker是一种轻量级的虚拟化技术 xff0c 同时是一个开源的应用容器运行环境搭建平台 xff0c 可以让开发者以便捷方式打包应用到一个可移植的容器中 xff0c 然后安装至任何运行Linux或Windows等系统的服务器上 相较于传统
  • ROS定义自己的消息类型 自定义消息类型

    The massages which I need to record are 5 topics and 2 massege types I want to set them into one massege type and it is
  • 嵌入式行业职位分析

    嵌入式开发涵盖硬件软件 xff0c 开发链条很长 xff0c 要根据自己的实际情况选择适应的职位 嵌入式的职位大概有 xff1a 1 硬件工程师 xff1a 负责底层的硬件设计 xff0c 主要要用到 xff1a 1 处理器 xff1a A
  • 常见单片机对比

    各个厂商们也在速度 内存 功能上此起彼伏 xff0c 参差不齐 同时涌现出一大批拥有代表性单片机的厂商 xff1a Atmel TI ST MicroChip ARM 国内的宏晶STC单片机也是可圈可点 下面为大家带来51 MSP430 T
  • Maven关于阿里云的镜像配置地址选哪一个的问题

    网上很多文章介绍配置的地址是 xff1a lt mirror gt lt id gt alimaven lt id gt lt name gt aliyun maven lt name gt lt url gt http maven ali
  • 嵌入式Linux软件开发的三个分类

    一 嵌入式驱动工程师 xff1a 编写和移植各种芯片驱动 xff08 如音频芯片 xff09 xff0c 优化硬件设备驱动 xff08 如温湿度传感器 xff09 xff0c 得精通各种硬件接口协议 xff08 如I2C协议 xff09 系
  • 华为 联发科和台积电的关系及芯片制造产业中其他公司了解

    台积电 xff1a 全称台湾积体电路制造股份有限公司 xff0c 中文简称台积电 xff0c 英文简称 xff1a tsmc xff0c 是全球第一家专业集成电路 xff08 IC xff09 制造服务 xff08 晶圆代工foundry
  • 嵌入式Linux开发细分四个岗位

    嵌入式Linux开发从下到bai上分为 xff1a 嵌du入式硬件开发 嵌入式驱动开发 嵌入式系统zhi开发 嵌dao入式软件开发 一 嵌入式硬件开发 xff1a 熟悉电路等知识 xff0c 非常熟悉各种常用元器件 xff0c 掌握模拟电路
  • Android系国产手机操作系统汇总

    1 华为的Emotion UI系统 Emotion UI 简称EMUI 是华为基于Android 安卓 进行开发的情感化操作系统 拥有简化的用户界面 新的手势导航和HiVision的 AI 功能 xff0c 新系统在国内已经向部分机型推送更
  • 嵌入式开发学习路线 及书籍推荐

    嵌入式学习是一个循序渐进的过程 xff0c 如果是希望向嵌入式软件方向发展的话 xff0c 目前最常见的是嵌入式Linux方向 xff0c 关注这个方向 xff0c 大概分3个阶段 xff1a 1 嵌入式linux上层应用 xff0c 包括
  • Cat.1

    近日 xff0c 中国联通Cat 1芯片大规模采购招标结果出炉 xff0c 这是自年初 一夜走红 之后 xff0c Cat 1再次引发业界关注 实际上 xff0c Cat 1并不是一项新技术 xff0c 其早在十年前就已 出道 坐了十年 冷
  • LTE Cat1有什么用?基于4G LTE打造cat1,弥补NB-IoT和5G的空缺。

    简介 从目前蜂窝物联网发展的态势看 xff0c LTE Cat 1承担4G物联网连接主力的时机已经开启 其中 xff0c Category 1作为最低版参数配置的用户终端等级 xff0c 让业界能够低成本地设计 低配版 的4G终端 xff0
  • 前辈对于JAVA开发和嵌入式发表的一些看法

    提问一 xff1a 二战考研失败 xff0c 今年25 xff0c 在放弃考研 xff0c 学习编程 但是嵌入式orJAVA走哪条路好呢 xff1f 最近在B站看编程视频 xff0c 也刷到一些up主视频 xff0c 说是java市场饱和

随机推荐

  • ubuntu18.04 Realsense d435i SDK 和 ROS wrapper 安装以及相机imu和分别率参数更改

    Realsense d435i SDK 和 ROS wrapper 安装以及相机imu和分别率参数更改 一 SDK参考官方网站 1 Register the server s public key sudo apt span class t
  • vscode中配置git并上传项目到远程仓库

    首先你电脑上得下载git吧 在vscode中设置git 参考 成功后你就会看到 下面就是要把本地项目发布到远程仓库上去 xff08 1 xff09 现在gitee上建一个仓库 xff08 2 以终端操作为例 xff0c 感觉命令行操作更清晰
  • redis整理-kw

    缓存有哪些分类 本地缓存 xff1a 进程中的缓存 xff1b 分布式缓存 xff1a xff08 分布式 xff0c 理解为 xff0c 多个模块 xff0c 共同组成一个系统 xff0c 不一定在或者不在同台服务器上 xff09 多级缓
  • 定时任务报错Encountered invalid @Scheduled method ‘...‘: Exactly one of the ‘cron‘, ‘fixedDelay

    今天在搞定时任务 xff0c 突然报了这个问题 xff0c 发现是在使用 64 Scheduled这个注解时 xff0c 忘记设置参数了 xff0c 比如配置一个默认的延期时间fixedDelay 这里的fixedDelay单位是毫秒 xf
  • 超详细Jetson Xavier NX烧录系统镜像

    一 硬件准备 1 SD卡 xff08 至少32G xff09 和读卡器 xff0c 前者用于转载系统镜像 xff0c 后者用于镜像烧录 2 Jetson Xavier NX开发套件 二 软件准备 1 SDFormatter xff1a 用于
  • python、ros和socket通讯

    项目需要把笔记本的数据发送到小车的ros上 xff0c 我们采用socket通讯的方法 首先把通过socket把笔记本的数据发送到小车上 xff0c 然后通过消息发布和订阅的方式把数据传递到小车的ros上 一 通过socket发送笔记本上的
  • 【YOLOv3 预测】YOLOv3图像输入->处理->输出全过程

    文章目录 1 数据输入输出代码详解2 yolo detect image详解3 感谢链接 1 数据输入输出代码详解 数据输入方式主要包括三种 xff1a 读取本地一张图片 代码中predict状态 读取本地文件夹中所有图片 代码中dir p
  • STM32嵌入式开发常用的协议UART、I2C、SPI、TTL、RS232、RS422、RS485、CAN、USB、SD卡、1-WIRE、Ethernet

    在单片机开发中 xff0c UART I2C RS485等普遍存在 xff0c 对它们的认识可能模棱两可 xff0c 本文它们整理了 UART口通用异步收发器 UART口指的是一种物理接口形式 硬件 UART是异步 xff0c 全双工串口总
  • Autoware学习笔记waypoint_follower之twist_filter

    twis filter launch文件 lt span class token operator span span class token operator span span class token operator span gt
  • 串口概念

    1 xff09 串行接口 1 简称串口 xff08 通常指com接口 xff09 2 特点 xff1a 数据一位一位的顺序传送 通信线路简单 xff0c 只要一对传输线就可以实现双向通信 工作方式有单工 xff0c 半双工 xff0c 全双
  • 无人机UAV与地面站QGC通讯MAVLink协议学习笔记

    目录 写在前面参考学习资源MAVLink消息结构发送消息接收数据 写在前面 最近要学习了解一下Qgroundcontrol中所使用的一些与无人机载体通讯的一些方式 xff0c 所以在这里记录一下学习的过程 参考学习资源 QGroundCon
  • hadoop平台hdfs读取数据过程

    hadoop平台hdfs读取数据过程 xff1a
  • 固定翼调试步骤

    有的时候可能会出现校准不了的情况 xff0c 可以尝试去掉一个罗盘 xff0c 一般去掉的是内置罗盘 xff0c 用外置的罗盘 xff0c 就能够达到要求 将外置的罗盘设置为主罗盘 xff0c 内置罗盘不勾选就可以实现这样的功能 从左右副翼
  • 网络分区是什么?

    网络分区 目前理解 xff0c 在分布式环境下 xff0c 有时由于网络通讯故障 xff0c 而不是服务器上的应用故障 xff0c 导致一些节点认为应用不可用 xff0c 另外一些节点认为应用仍可用 导致 xff0c 整个系统在提供服务时
  • 调试并修理垂起固定翼(VTOL)

    调试 43 修理垂起固定翼 校准遥控器 设置飞行模式 设置的模式的切换是通过通道B来进行的 xff0c 最下面是Guided模式 xff0c 该模式可以运行程序的内容 xff0c 也可以运行写入的航点 中间的模式是QLoiter模式 xff
  • NVIDIA Jetson tx2各性能介绍及切换教程

    1 tx2简介 Jetson tx2 有6个CPU核心和一个GPU NVIDIA命令行工具Nvpmodel提供 xff15 种模式 xff0c 可以方便地让用户配置CPU状态 xff0c 以最大限度地提高不同场景下的性能和能耗 2 五种模式
  • Redis中(error):ERR unknown command ‘KEYS‘, with args beginning with:

    redis报错 ERR unknown command 39 KEYS 39 with args beginning with 1 这种情况是redis服务器不支持keys命令 2 5 0版本改为scan了 2 检查redis的yml配置信
  • 如何用手机控制stm32单片机,通过蓝牙模块

    电脑与单片机通信原理 我们用到的串口调试助手 xff0c 就是通过电脑上面的虚拟串口和单片机的串口进行通信从而来调试 在建立通信的过程中 xff0c 我们需要把电脑上虚拟串口的波特率 xff0c 数据位 xff0c 奇偶校验位 xff0c
  • Vm虚拟机Deepin安装教程---kalrry

    Vm虚拟机Deepin安装教程 kalrry 前言Deepin安装 已完成 前言 Win配置记录 Mac配置记录 Deepin安装 已完成 01 点击创建新的虚拟机 02 选择自定义 高级 点击下一步 N 03 点击下一步 N 04 选择稍
  • 国内外流行的JS游戏开发框架介绍---kalrry

    国内外流行的JS游戏开发框架介绍 kalrry 前言一 整理中ing二 当今国内外流行的游戏开发框架有哪些 三 每个框架的特点以及优缺点1 Three js优点 xff1a 缺点 xff1a 2 Phaser优点 xff1a 缺点 xff1