当前位置: 首页 > news >正文

使用HTML5制作游戏

使用HTML5制作简单游戏

记录一下自己制作游戏的基本模式和思路。

游戏架构

我的游戏制作架构图:

 

 

l  浏览器接入层:

提供浏览器检测能力(主要看是否支持HTML5),提供多种客户端接入的兼容处理。

l  业务逻辑层:

1.        自身业务

2.        扩展业务:例如游戏语音软件系统的接入

l  游戏系统(平行可扩展,以下所列出的也不是必须的)

场景控制系统:提供场景切换的能力

重力系统:提供物体在重力系统下的移动算法(如自由下落、弹跳等)

关卡系统:提供关卡资源的读取、切换能力

等级系统:比如提供人物角色的经验值计算公式、怪物的等级

版本检测系统

l  API、系统配置

绘图函数

特效

常用基本函数(例如正则、获得当前系统时间)

 

资源管理器:主要是图片、音频资源

配置管理器:系统全局配置

 

制作思路

做每个游戏,一般都是以下的模式:

 

l  先初始化

l  运行时,用一个timer不断的刷新页面:

1.        进行场景重绘(一般是刷新背景)。

2.        执行游戏逻辑(比如人物移动、障碍物等)

3.        绘制场景、人物

 

游戏流程图:

 

游戏演示:超级玛丽Demo(还没做完,只是个demo)

http://lanliang.web-164.com/html5/supermarry/index.html

 

相关文章:

  • [Web开发] IE 所有版本打包下载,网页兼容测试必备
  • c# LazyQueueT实现
  • Windows NT/2k/XP/Vista 管理员密码重置
  • c# 使用sharppcap实现 网络抓包
  • 数学之美系列十六(上)- 不要把所有的鸡蛋放在一个篮子里 -- 谈谈最大熵模型
  • [Web开发] 如何改变IE滚动条的颜色
  • sql 选择两列中最大的那列
  • 解读CNNIC《中国手机上网行为研究报告》
  • ms sql常用语句汇总
  • 把表变成编辑状态
  • sql server 数据库语句
  • WoWModelViewer分析
  • 彩云项目总结
  • jquery 特效整合
  • 奇怪,博客无法匿名评论了
  • [微信小程序] 使用ES6特性Class后出现编译异常
  • 【JavaScript】通过闭包创建具有私有属性的实例对象
  • 77. Combinations
  • css属性的继承、初识值、计算值、当前值、应用值
  • Git的一些常用操作
  • JS变量作用域
  • Redis中的lru算法实现
  • Redux 中间件分析
  • Twitter赢在开放,三年创造奇迹
  • vue中实现单选
  • XForms - 更强大的Form
  • 初识 webpack
  • 对超线程几个不同角度的解释
  • 服务器之间,相同帐号,实现免密钥登录
  • 复杂数据处理
  • 计算机常识 - 收藏集 - 掘金
  • 简单实现一个textarea自适应高度
  • 开发了一款写作软件(OSX,Windows),附带Electron开发指南
  • 容器化应用: 在阿里云搭建多节点 Openshift 集群
  • 字符串匹配基础上
  • JavaScript 新语法详解:Class 的私有属性与私有方法 ...
  • MyCAT水平分库
  • 正则表达式-基础知识Review
  • ​Java并发新构件之Exchanger
  • ​LeetCode解法汇总2808. 使循环数组所有元素相等的最少秒数
  • # Python csv、xlsx、json、二进制(MP3) 文件读写基本使用
  • ###STL(标准模板库)
  • $Django python中使用redis, django中使用(封装了),redis开启事务(管道)
  • %@ page import=%的用法
  • (11)工业界推荐系统-小红书推荐场景及内部实践【粗排三塔模型】
  • (4)logging(日志模块)
  • (层次遍历)104. 二叉树的最大深度
  • (超简单)构建高可用网络应用:使用Nginx进行负载均衡与健康检查
  • (附源码)ssm高校运动会管理系统 毕业设计 020419
  • (五)IO流之ByteArrayInput/OutputStream
  • (转) Face-Resources
  • (转载)PyTorch代码规范最佳实践和样式指南
  • .NET BackgroundWorker
  • .net core 6 集成 elasticsearch 并 使用分词器
  • .NET Remoting Basic(10)-创建不同宿主的客户端与服务器端