GameBuilder 是移动端轻量HTML5游戏快速开发框架,主要应用于活动推广。

开始之前

1.游戏形式活动推广页的生命周期

加载资源 --> 活动介绍 --> 游戏主体 --> 结果提示 --> 引导分享

分享进入 --> 参与结果 --> 引导参与 --> 进入游戏

2.

快速开始

如果已经安装了 generator-lego ,可以直接使用 yo lego 命令来构建

或者直接 clone 到本地使用

1.引入样式文件

2.引入脚本文件

...

3.最佳实践

title

光速加载中...

0%

...

...

说明

1.推荐文件结构(游戏模板)

yourProj/

├── config.json // 模板配置文件,必须编写,用于开发调试和上传模板时后台生成给用户编辑的选项

├── css/ // 样式文件

├── img/ // 图片资源

├── js/ // 脚本文件

├── res/ // 素材资源

└── index.html // 游戏入口

2.开发规范

1.界面分三种类型,资源加载界面(load-page)、主体内容界面(body-page)和消息提示界面(tool-page),主体内容分页(game-page)从data-index="1"开始,资源加载界面为0,消息提示界面不属于分页内容。

2.消息提示界面(tool-page)也有三种类型,分享页、等待页、弹出页(如结果提示,消息提示,文案提示)。

3.使用img标签加载图片资源时,使用data-gb-url自定义属性保存图片资源的路径,如:data-gb-url="***"。

3.config.json配置文件

作为游戏模板开发,必须包含config.json配置文件

{

"name": "name",

"version": "1.0.0",

"description": "",

"author": "",

"editOptions": {

"pageTitle": {

"name": "页面标题",

"type": "text",

"tips": "请输入页面标题",

"value": "游戏模板"

},

"gameStartTips": {

"name": "提示文案",

"type": "text",

"tips": "请输入游戏开始前的提示文案",

"value": "点击开始摇大奖"

},

"gameIcon": {

"name": "游戏图标",

"type": "photo-img",

"tips": "请选择200x200的游戏图标,用于游戏加载时显示",

"value": "http://lol.duowan.com/s/lolFaceGame/img/icon.png"

},

"gameBg": {

"name": "游戏背景",

"type": "photo-bgi",

"tips": "请选择640x1136的游戏背景,用于游戏背景显示",

"value": "http://lol.duowan.com/s/lolFaceGame/img/icon.png"

},

"gameGift": {

"name": "游戏奖品",

"type": "photo-img",

"tips": "请选择200x200的奖品图案,用于获奖时显示",

"value": "img/gift1.png"

}

}

}

editOptions为可以提供给用户的编辑项集合,每一项属性为一个可以编辑的选项,并与html页面中的自定义属性data-gb一一对应.如:

"gameStartTips": {

"name": "提示文案",

"type": "text",

"tips": "请输入游戏开始前的提示文案",

"value": "点击开始摇大奖"

}

对应

点击开始摇大奖

其中,name为该编辑项在后台编辑界面显示的可编辑项名称

其中,type为该编辑项在后台编辑界面生成可编辑的类型,目前可选项为:

text - 纯文本编辑项

photo-img - 对应标签的图片素材编辑项

photo-bgi - 对应使用background-imgage方式的图片素材编辑项

其中,tips为该编辑项在后台编辑界面显示的可编辑项提示文案

其中,value为该配置项的值,可以在开发过程中使用getValue('gameStartTips')获得该值

4.初始化gamebuilder

所有的options都是可选的,初始化会执行相关依赖代码,当gamebuilder准备就绪之后会调用game.ready

var game = new GB({

// options here

});

game.ready =function(){

// code here

};

配置项

scanImg - 默认为 false,是否扫描img标签作为资源加载

popupTool - 默认为 true,是否使用弹出层

回调函数

loadFinish() - 资源加载完成的处理

startEvent() - 游戏开始的处理

pauseEvent() - 游戏暂停的处理

endEvent() - 游戏结束的处理

restartEvent() - 游戏重新开始的处理

devicemotionEvent() - 摇一摇事件触发的回调

updateEvent() - 资源发生变化时游戏视图更新的处理

5.gamebuilder使用说明

utils工具库

isBadAndroid - 是否低端安卓机

getTime - 返回当前时间戳

hasTransform - 是否支持transform

hasTransition - 是否支持transition

hasTouch - 是否支持触摸事件

extend(target,obj) - 用obj对象扩展target对象

each(arrays,callback) - 像$.each一样的用法

ease - 一些常用的贝塞尔曲线

$工具库

$()

html()

attr()

each()

show()

hide()

addClass()

hasClass()

removeClass()

siblings()

append()

on()

静态方法

prevPage() - 主体内容分页,上一页

nextPage() - 主体内容分页,下一页

gotoPage(index) - 主体内容分页,指定index页

showToolPage(opts) - 打开消息提示界面

hideToolPage(opts) - 关闭消息提示界面

start() - 游戏开始

pause() - 游戏暂停

end() - 游戏结束

restart() - 游戏重新开始

on() - 绑定自定义事件

off() - 移除自定义事件

trigger() - 触发自定义事件

getValue() - 获取config配置文件中的配置项的值

shake() - 触发一次摇一摇事件

loadFinish() - 触发加载完成的回调函数

devicemotion() - 监听摇一摇事件

getQueryString() - 获取url中的参数值

更新说明

1.0 基础版本。

1.1 新增gameStatus,0-游戏就绪 1-游戏开始 2-游戏暂停 3-游戏结束

1.2 新增start,pause,end静态方法和startEvent,pauseEvent,endEvent回调函数

1.3 新增devicemotion静态方法,和devicemotionEvent回调函数,用于监听摇一摇事件

1.4 新增popupTool配置,是否使用弹出层工具,showToolPage静态方法新增popup用法

1.5 新增restartEvent,updateEvent回调函数

1.6 新增restart,shake,getQueryString,getValue,loadFinish,on,off,trigger静态方法

1.7 新增game.ready入口

1.8 新增config.json配置文件的方式进行开发

移动端html游戏开发,GitHub - PromeYang/GameBuilder: GameBuilder 是移动端轻量HTML5游戏快速开发框架,主要应用于活动推广。...相关推荐

  1. 酷睿i9-13900K性能出炉Steam游戏开发首选驰网独家i9-13900K服务器水冷定制高主频游戏服务器

    酷睿i9-13900K性能出炉Steam游戏开发首选驰网独家i9-13900K服务器水冷定制高主频游戏服务器 Intel13代智能酷睿i9-13900K CPU是英特尔2022年10月底发布的新款处理 ...

  2. 安卓3d游戏开发引擎_从德军总部3D到虚幻5,游戏引擎能有多大的飞跃?

    关注我们第一时间获得相关资讯 出品|Nova常务组 00 前言 5月13日晚,开发商EPIC Games公开展示了虚幻引擎5的首个演示视频,演示片一经流出,就轰动全网.从从事游戏制作行业的开发者到游戏 ...

  3. 【Visual C++】游戏开发五十七 浅墨DirectX教程二十四 打造游戏GUI界面(二)

    本系列文章由zhmxy555(毛星云)编写,转载请注明出处. 文章链接: http://blog.csdn.net/poem_qianmo/article/details/16922703 作者:毛星 ...

  4. 【Visual C++】游戏开发笔记四十二 浅墨DirectX教程之十 游戏输入控制利器 DirectInput专场

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 本系列文 ...

  5. 【Visual C++】游戏开发五十六 浅墨DirectX教程二十三 打造游戏GUI界面(一)

    本系列文章由zhmxy555(毛星云)编写,转载请注明出处. 文章链接: http://blog.csdn.net/poem_qianmo/article/details/16384009 作者:毛星 ...

  6. 【Visual C++】游戏开发笔记四十二 浅墨DirectX教程之十 游戏输入控制利器:DirectInput专场...

    本系列文章由zhmxy555(毛星云)编写,转载请注明出处. 文章链接:http://blog.csdn.net/zhmxy555/article/details/8547531 作者:毛星云(浅墨) ...

  7. 《Android 3D游戏开发技术宝典——OpenGL ES 2.0》——2.1节游戏中的音效

    本节书摘来自异步社区<Android 3D游戏开发技术宝典--OpenGL ES 2.0>一书中的第2章,第2.1节游戏中的音效,作者 吴亚峰,更多章节内容可以访问云栖社区"异步 ...

  8. 【游戏开发引擎】 实验2:Chaos Ball 街机风格游戏

    文章目录 前言 一.实验目的 二.实验环境 三.实验内容 1.创建舞台 2.纹理化 3.超级弹性材质 4.完成舞台 5.玩家 上移摄像机 减震器 6.混乱球 7.彩球 8.球门 9.游戏控制器 10. ...

  9. 【Visual C++】游戏开发笔记四十二 浅墨DirectX教程之十 游戏输入控制利器:DirectInput专场

    本系列文章由zhmxy555(毛星云)编写,转载请注明出处. 文章链接: http://blog.csdn.net/zhmxy555/article/details/8547531 作者:毛星云(浅墨 ...

最新文章

  1. what is success?
  2. C语言结构体通过 scanf初始化
  3. Unity3d 去掉exe版本的边框
  4. shell 输出数据到文本_Linux运维工程师从基础到进阶:Shell变量知识梳理
  5. js笔记(8)之数组篇
  6. 不会跳回到微博认定申请书
  7. 小凡模拟器:DynamipsGUI使用问题解决方法
  8. Java DataInputStream readShort()方法(带示例)
  9. C++中? : 运算符的使用
  10. 初识区块链【区块链01】
  11. WPF 实现控件间拖拽内容
  12. 【操作系统】进程通信的几种方式
  13. APM2.8 Rover 自动巡航车设计(固件安装和设置)
  14. 高级查询(mysql)
  15. CRPR能补偿crosstalk吗?
  16. Zrlog开源博客网站 安装教程
  17. Spring MVC -- xxx conflicts with existing xxx
  18. Ubuntu完全卸载与安装Mysql
  19. 如何制作查分系统-Leo老师
  20. 全排列并清洗求解幸运的袋子问题 C++

热门文章

  1. tea java 代码,TeaVM编译器如何将Java应用程序转换为Javascript,以及如何使用MicroK8管理嵌入...
  2. mysql mac 环境变量配置_mac安装mysql数据库及配置环境变量
  3. python 字典键值重复_浅谈python字典多键值及重复键值的使用
  4. php读取文本写入数据库,php读取txt文本文档数据库转入mysql数据库
  5. php 二维数组字母排序,PHP二维数组获取第一个中文首字母并排序 筋斗云网络
  6. java解非线性方程组_Scipy - 非线性方程组的所有解
  7. Misc-----[2021祥云杯初赛]鸣雏恋 提取压缩包文件图片名8个为一组 转ASC码base64转图片
  8. 攻防世界-Misc-something_in_image(秒懂!!)
  9. python 类继承与子类实例初始化
  10. Python占位符总结:%方式和format方式