近期出现一款魔性的消除类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游戏《神奇的六边形》(五)相关推荐

  1. JS开发HTML5游戏《神奇的六边形》(四)

    近期出现一款魔性的消除类HTML5游戏<神奇的六边形>,今天我们一起来看看如何通过开源免费的青瓷引擎(www.zuoyouxi.com)来实现这款游戏. (点击图片可进入游戏体验) 因内容 ...

  2. JS开发HTML5游戏《神奇的六边形》(七)

    近期出现一款魔性的消除类HTML5游戏<神奇的六边形>,今天我们一起来看看如何通过开源免费的青瓷引擎(www.zuoyouxi.com)来实现这款游戏. (点击这里可进入游戏体验) 因内容 ...

  3. 用LayaAir引擎开发HTML5的3D与VR游戏(入门基础)【面向JS开发者】-赖圆圆-专题视频课程...

    用LayaAir引擎开发HTML5的3D与VR游戏(入门基础)[面向JS开发者]-4626人已学习 课程介绍         全面介绍LayaAir引擎的3D游戏开发基础.学习在3DMax与Unity ...

  4. 用html5和js制作一个游戏启动界面(html5游戏开发一)、

    制作一个游戏启动界面,用户点击屏幕进入游戏主界面 首先建立一个html文档,在body里面添加一个游戏容器,再将主菜单界面元素添加到添加到游戏容器里面. <div id="game&q ...

  5. 25 个超棒的 HTML5 JavaScript 游戏引擎开发库

    就像在汽车中,引擎完成主要的工作,使汽车看起来不可思议.游戏引擎同理,游戏开发者完成细节的工作,使游戏看起来真实.吸引人眼球.游戏引擎负责其余的事情.早期,游戏开发者通常从草图做起,花费高昂,且不容易 ...

  6. python html5游戏_25 个超棒的 HTML5 JavaScript 游戏引擎开发库

    就像在汽车中,引擎完成主要的工作,使汽车看起来不可思议.游戏引擎同理,游戏开发者完成细节的工作,使游戏看起来真实.吸引人眼球.游戏引擎负责其余的事情.早期,游戏开发者通常从草图做起,花费高昂,且不容易 ...

  7. 100行JS代码实现❤坦克大战js小游戏源码 HTML5坦克大战游戏代码(HTML+CSS+JavaScript )

    坦克大战js小游戏源码 HTML5坦克大战游戏代码(HTML+CSS+JavaScript ) HTML5坦克大战网页小游戏,完美还原小霸王学习机效果,以坦克战斗及保卫基地为主题,属于策略型类游戏. ...

  8. 用HTML5来开发一款android本地化App游戏-宝石碰碰

    本次来说一说如何利用lufylegend.js引擎制作一款HTML5游戏后,将其转换为android本地化的App应用,转换过程其实很简单,下面一步步来做说明. 首先来开发一个类似于对对碰的游戏,不过 ...

  9. 用Flash、HTML5和Unity开发网页游戏的现实

    今天对于全球的Flash开发者来说是黑暗的一天,因为Adobe宣布将不再对移动设备上的浏览器进行Flash技术支持.在这之前,Adobe刚刚宣布了公司范围内的大幅度裁员.尽管这似乎并不是什么严重的问题 ...

最新文章

  1. Java学习:多线程(2)
  2. mysql关于日期的函数_MySQL中关于日期函数汇总
  3. 第十四:Pytest进阶之html测试报告
  4. python读取log文件_python之文件的读写(文本文档,log文件)
  5. 双机热备、双机互备与 双机双工的区别
  6. 背包问题 装箱问题 货盘装填问题 区别
  7. 01数据结构概述(郝斌数据结构)
  8. win10录屏_不需要第三方软件,看看WIN10自带的几个强大的截图、录屏工具
  9. 植被农业数据下载网站整理
  10. 电信光猫/烽火HG6543c1光猫超级密码获取改桥接模式( 中国电信浙江公司定制天翼网关3.0)
  11. NVIDIA显卡驱动重装
  12. 微信小程序---简约音乐播放器
  13. Vscode怎么进行文件对比-Vscode文件对比的方法介绍
  14. 【优化求解】基于秃鹰算法BES求解最优目标matlab代码
  15. C语言: 定义一个函数int isprime(int n),用来判别一个正整数n是否为素数,若为素数函数返回值为1,否则为0。在主函数中输入一个整数x,调用函数isprime(x)来判断这个整数x是
  16. import和export
  17. Android HIDL HAL 接口定义语言详解
  18. 白盒和黑盒测试的方法有哪些?
  19. 用PS制作旋转按钮图标,UI设计教程
  20. STM32模块CAN接口工作异常排除故障记录

热门文章

  1. Spring bean解析 - refresh
  2. 绝了,项目内部源码资源被爆出!网友:请收下我的膝盖!
  3. H5实时上传位置定位 pc生成轨迹;h5保持后台运行
  4. 网络之mac地址和ip地址
  5. 微服务分布式构架开发实战PDF,阿里架构师推荐,快快收藏吧
  6. 谷歌浏览器chrome 自己写的插件使用教程
  7. 【行业分析】打破食品行业供应链薄弱环节,建设数字化韧性供应链
  8. 会员营销体系中,促成会员转化的关注点有哪些
  9. 简述 Spring Bean的生命周期
  10. 如何用Python画奥运五环——circle()