青瓷引擎 - 游戏主循环

游戏主循环

参考:游戏主循环,讲得非常清楚。

青瓷引擎调度器

青瓷引擎启动了个循环定时器来跑游戏主循环:

window.requestAnimationFrame(mainLoop);

游戏主循环的逻辑如下图所示:

Main Loop

这里我们需要先解释下两个概念:

场景(Scene)

1个场景就是一个游戏世界,或者说1个场景=1个关卡。一个场景包含了所有的游戏对象,例如角色、武器、例子系统、声音、敌人等等。在引擎编辑器中,所有的实体对象(或者说node节点)都完整的呈现在Hierarchy面板中:

Scene

更新场景

主循环会递归访问场景所有节点,伪代码如下:

foreach (nodes) {
    node.update();
    foreach (node’s components) {
        component.update();
    }
}

preUpdatepostUpdate的调度,与update类似。下面举个实际例子来加深下理解。

调度例子

  • 创建一个空的工程,名称为:MainLoop;
  • 创建一个JavaScript脚本文件:Test.js,代码如下:
var Test = qc.defineBehaviour('qc.demo.Test', qc.Behaviour, function() {
   
    console.log('Init');
}, {});

Test.prototype.preUpdate = function() {
   
    console.log(this.gameObject.name, 'call preUpdate');
};

Test.prototype.update = function()</
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
青瓷引擎是一套开源免费的JavaScript游戏引擎类库,其基于开源免费的Phaser游戏引擎,并提供了一套完全基于浏览器的跨平台集成式HTML5游戏编辑器。 采用青瓷引擎,开发HTML5游戏和传统Web网页开发一样,使用任何你喜欢的编辑器,使用任何你喜欢的浏览器,利用JavaScript语言和所有先进的Web开发工具,让青瓷引擎处理底层技术的复杂性,你只需要关注最重要的事情:做游戏青瓷引擎技术堆栈 青瓷引擎由三部分组成:QICI Core、QICI Widget和QICI Editor QICI Core:一套JavaScript游戏引擎类库(qc-core.js),基于开源免费的Phaser游戏引擎。 QICI Widget:一套JavaScript图形组件库(qc-widget.js),为编辑器提供丰富强大的通用组件。 QICI Editor:一套基于浏览器的跨平台集成式游戏编辑器,包含基于Node.JS的后台服务。 QICI Core可用于编程方式开发HTML5游戏,无需QICI Editor的支持。但对于界面布局稍微有点复杂度的游戏,如果没有QICI Editor这样所见即所得的可视化开发工具,很难进行快速开发和维护,采用QICI Editor美术和策划甚至都可以参与帮助游戏界面的构建。QICI Widget要内部使用,为QICI Editor提供基础通用组件支持。 QICI Core是基于JavaScript的游戏类库,QICI Widget是基于JavaScript的图形组件库,QICI Editor采用Node.JS进行资源文件IO处理,所以可以说青瓷引擎是全栈式的JavaScript游戏引擎青瓷引擎特点 游戏无需浏览器安装额外插件,适应性更广,更利于传播 重新定义了HTML5游戏的开发工作流,开发、调试尽在浏览器内 面向组件式编程,支持组件热拔插,方便扩展维护 强大的可视化编辑功能,让设计不再是凭空想象 先进的UI界面布局规则,使得屏幕适配更加简单 为国内手机浏览器进行了优化,减少非标准适配的烦恼 高效的渲染底层,自适应WebGl和Canvas两种模式 丰富的底层核心功能,涵盖绝大部分游戏开发需求 不断丰富的插件库,让游戏开发更加便捷、简单青瓷引擎功能 基于浏览器的编辑器 所见即所得的实时调试功能 网络资源管理,支持预加载、动态加载 时间调度系统,可控制帧率,游戏速度等 自适应Web Audio和Audio Tag,适配性更高的声音管理功能 提供了表格、拉条、滚动视图等丰富的界面控件 提供了游戏与HTML元素混合处理模式 提供基于Rect Tranform的UI布局套件 支持WebFont和BitmapFont等字体系统 优化文字对视网膜设备的适配 整合图集打包,帧动画编辑功能 高性能骨骼动画渲染 支持多种Filter着色器渲染 支持Excel数据导入功能 支持Tilemap的地图导入,并优化刷新性能 强大的可视化Tween曲线动画编辑功能 编辑器菜单和属性面板支持可自定义扩展功能 可扩展插件功能,提供物理、锁屏、微信接口和服务端通讯等内置插件 基于浏览器的编辑器,无需安装任何插件,开发、调试尽在浏览器内。 iPad iPhone 部分游戏示例(点击图片可体验游戏)《神奇的六边形》(《神奇的六边形》完整教程) 《蛇精病》    《跳跃的方块》 (《跳跃的方块》完整教程)        《2187》   Examples A wide range of source code examples for you to explore. Download all in one zip file.            标签:游戏引擎
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值