ad208三国

 找回密码
 加入
搜索
热搜: 活动 交友 discuz
查看: 1503|回复: 0

GameEngine(WEB js封装的一个比较完整的游戏引擎)

[复制链接]
发表于 2019-1-22 19:42:26 | 显示全部楼层 |阅读模式

pc2g,电脑好游戏 引擎实现的基本模块思路
1.创建一个游戏引擎对象及精灵对象
2.将精灵对象添加到引擎中去,并实现播放动画效果以及需要用到的回调方法
3.启动引擎V2.0: 实现游戏循环模块
1.如果游戏暂停了,就跳过以下各步骤,并在100毫秒后再次执行游戏循环
2.更新帧速率
3.设置游戏时间
4.清除屏幕内容
5.在播放动画前,调用startAnimate的方法(可以进行碰撞检测)startAnimate()
6.绘制精灵背后的内容(绘制背景)
7.更新精灵
8.绘制精灵
9.绘制精灵前方的内容
10.动画播放完毕之后,调用endAnimate方法endAnimate()11.请求浏览器播放下一帧动画V3.0: 实现在暂停状态与运行状态之间的切换togglePausedtogglePaused()V4.0:实现基于时间的运动效果 :pixelPerFrame 计算公式:(pixels / second) * (second / frame) = pixeld / second【单位:每一秒移动的像素数】V5.0: 实现加载图像的功能:queueImage(imageUrl): 将图像放入到加载队列中去loadImages(): 开发者需要持续调用该方法,知道返回100位置(方法的返回值表示图像加载完成的百分比)getImage(imageUrl):返回图像对象, 只有咋loadImages()返回100之后,才可以调用该方法V6.0:实现同时播放多个声音的功能canPlay(): 用于查询浏览器是否能够播放某种特定格式的声音文件playSound():用于播放声音V7.0: 键盘事件的处理addKeyListener(): 用于向游戏注册按键监听器V8.0: 高分榜的维护:游戏的高分榜数组以json格式存档在本地V9.0: 实现了一个比较完整的游戏引擎,开始使用这个简单的游戏引擎去制作一个小游戏
需求分析:
1.资源加载的画面
2.游戏资源的管理
3.声音的播放
4.具有视差动画的滚动背景
5.生命数量的显示
6.高分榜的维护
7.按键的监听与处理
8.暂停功能与自动暂停机制实现
9.游戏结束的流程处理

GitHub完整源码:https://github.com/xiugangzhang/GameEngine测试案例:



http://htmlpreview.github.io/?https://github.com/xiugangzhang/GameEngine/blob/master/index.html

其他的几个分享在吾爱的开源项目:

【分享】试试我开发的这个【超级马里奥游戏】,看下自己能不能撑过30秒https://www.52pojie.cn/thread-804616-1-1.html


【分享】苏拉卡尔塔(Surakarta)游戏项目及源码分享(欢迎体验试玩)https://www.52pojie.cn/thread-803871-1-1.html


使用HTML5 canvas开发的一个中国象棋游戏https://www.52pojie.cn/thread-803372-1-1.html

Archiver|手机版|小黑屋|ad208三国

GMT+8, 2024-4-20 05:59

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表