js开发html5游戏,JS开发HTML5游戏《神奇的六边形》(五)
近期出现一款魔性的消除类HTML5游戏《神奇的六边形》,今天我们一起来看看如何通过开源免费的青瓷引擎(www.zuoyouxi.com)来实现这款游戏。
(点击这里可进入游戏体验)
因内容太多,为方便大家阅读,所以分成八部分来讲解。
本文为第五部分,主要包括:
14. 界面的管理
15. 消除行
十四. 界面管理
1. 在Scripts/ui新建UIManager.js:
/**
* 负责管理所有的游戏界面
*/
var UIManager = qc.defineBehaviour('qc.tetris.UIManager', qc.Behaviour, function() {
var self = this;
self.game.ui = self;
self.runInEditor = true;
}, {
bestScoreNode: qc.Serializer.NODE,
currentScoreNode: qc.Serializer.NODE,
boardNode: qc.Serializer.NODE,
poolNode: qc.Serializer.NODE,
killLineEffectNode: qc.Serializer.NODE,
uiRoot: qc.Serializer.NODE,
gameOverPrefab: qc.Serializer.PREFAB
});
/**
* 初始化管理
*/
UIManager.prototype.awake = function() {
var self = this;
/**
* bestScore: BestScore组件
*/
if (self.bestScoreNode)
self.bestScore = self.bestScoreNode.getScript('qc.tetris.BestScore');
/**
* currentScore: CurrentScore组件
*/
if (self.currentScoreNode)
self.currentScore = self.currentScoreNode.getScript('qc.tetris.CurrentScore');
/**
* board: 棋盘绘制组件
*/
if (self.boardNode)
self.board = self.boardNode.getScript('qc.tetris.BoardUI');
/**
* pool: 3个形状的方块
*/
if (self.poolNode)
self.pool = self.poolNode.getScript('qc.tetris.Pool');
/**
* killLineEffect: 方块消除的动画组件
*/
if (self.killLineEffectNode)
self.killLineEffect = self.killLineEffectNode.getScript('qc.tetris.KillLineEffect');
};
/**
* 游戏重新开始的界面处理
*/
UIManager.prototype.restart = function() {
var self = this;
// 重新生成3个新的形状
self.pool.redraw();
// 棋盘重绘制
self.board.redraw();
// 重绘当前分数
self.currentScore.setScore();
};
/**
* 死亡的处理
*/
UIManager.prototype.onDie = function() {
// 显示失败页面
this.game.add.clone(this.gameOverPrefab, this.uiRoot);
};
UIManager引用了几个界面逻辑,其中KillLineEffect脚本下章节再实现
同时,加入了死亡处理接口、重新开始游戏接口,具体的逻辑在后续章节中逐一实现
2. 将脚本挂载到UIRoot,并关联各属性:
部分属性先留空
js开发html5游戏,JS开发HTML5游戏《神奇的六边形》(五)相关推荐
- JS开发HTML5游戏《神奇的六边形》(四)
近期出现一款魔性的消除类HTML5游戏<神奇的六边形>,今天我们一起来看看如何通过开源免费的青瓷引擎(www.zuoyouxi.com)来实现这款游戏. (点击图片可进入游戏体验) 因内容 ...
- JS开发HTML5游戏《神奇的六边形》(七)
近期出现一款魔性的消除类HTML5游戏<神奇的六边形>,今天我们一起来看看如何通过开源免费的青瓷引擎(www.zuoyouxi.com)来实现这款游戏. (点击这里可进入游戏体验) 因内容 ...
- 用LayaAir引擎开发HTML5的3D与VR游戏(入门基础)【面向JS开发者】-赖圆圆-专题视频课程...
用LayaAir引擎开发HTML5的3D与VR游戏(入门基础)[面向JS开发者]-4626人已学习 课程介绍 全面介绍LayaAir引擎的3D游戏开发基础.学习在3DMax与Unity ...
- 用html5和js制作一个游戏启动界面(html5游戏开发一)、
制作一个游戏启动界面,用户点击屏幕进入游戏主界面 首先建立一个html文档,在body里面添加一个游戏容器,再将主菜单界面元素添加到添加到游戏容器里面. <div id="game&q ...
- 25 个超棒的 HTML5 JavaScript 游戏引擎开发库
就像在汽车中,引擎完成主要的工作,使汽车看起来不可思议.游戏引擎同理,游戏开发者完成细节的工作,使游戏看起来真实.吸引人眼球.游戏引擎负责其余的事情.早期,游戏开发者通常从草图做起,花费高昂,且不容易 ...
- python html5游戏_25 个超棒的 HTML5 JavaScript 游戏引擎开发库
就像在汽车中,引擎完成主要的工作,使汽车看起来不可思议.游戏引擎同理,游戏开发者完成细节的工作,使游戏看起来真实.吸引人眼球.游戏引擎负责其余的事情.早期,游戏开发者通常从草图做起,花费高昂,且不容易 ...
- 100行JS代码实现❤坦克大战js小游戏源码 HTML5坦克大战游戏代码(HTML+CSS+JavaScript )
坦克大战js小游戏源码 HTML5坦克大战游戏代码(HTML+CSS+JavaScript ) HTML5坦克大战网页小游戏,完美还原小霸王学习机效果,以坦克战斗及保卫基地为主题,属于策略型类游戏. ...
- 用HTML5来开发一款android本地化App游戏-宝石碰碰
本次来说一说如何利用lufylegend.js引擎制作一款HTML5游戏后,将其转换为android本地化的App应用,转换过程其实很简单,下面一步步来做说明. 首先来开发一个类似于对对碰的游戏,不过 ...
- 用Flash、HTML5和Unity开发网页游戏的现实
今天对于全球的Flash开发者来说是黑暗的一天,因为Adobe宣布将不再对移动设备上的浏览器进行Flash技术支持.在这之前,Adobe刚刚宣布了公司范围内的大幅度裁员.尽管这似乎并不是什么严重的问题 ...
最新文章
- Java学习:多线程(2)
- mysql关于日期的函数_MySQL中关于日期函数汇总
- 第十四:Pytest进阶之html测试报告
- python读取log文件_python之文件的读写(文本文档,log文件)
- 双机热备、双机互备与 双机双工的区别
- 背包问题 装箱问题 货盘装填问题 区别
- 01数据结构概述(郝斌数据结构)
- win10录屏_不需要第三方软件,看看WIN10自带的几个强大的截图、录屏工具
- 植被农业数据下载网站整理
- 电信光猫/烽火HG6543c1光猫超级密码获取改桥接模式( 中国电信浙江公司定制天翼网关3.0)
- NVIDIA显卡驱动重装
- 微信小程序---简约音乐播放器
- Vscode怎么进行文件对比-Vscode文件对比的方法介绍
- 【优化求解】基于秃鹰算法BES求解最优目标matlab代码
- C语言: 定义一个函数int isprime(int n),用来判别一个正整数n是否为素数,若为素数函数返回值为1,否则为0。在主函数中输入一个整数x,调用函数isprime(x)来判断这个整数x是
- import和export
- Android HIDL HAL 接口定义语言详解
- 白盒和黑盒测试的方法有哪些?
- 用PS制作旋转按钮图标,UI设计教程
- STM32模块CAN接口工作异常排除故障记录