HTML5移动游戏开发高级编程 11:自建Quintus引擎(3)

11.1 引言

    精灵是引擎用来在屏幕上显示图形和元素的主要可视游戏对象(GameObject),精灵使用一些基本资产或精灵表(SpriteSheet)把自身绘制到游戏中;场景(Scene)则提供了一种方式把诸如关卡一类的游戏的某个离散部分包装成一个既好用又可重用的包;最后,作为游戏状态的主要容器,舞台(Stage)负责跟踪GameObject列表,以及确保它们在每帧中的更新和绘制。

11.2 定义精灵表

     精灵表支持在单个图像中存储任意数目的图像,这样做的目的是加快游戏的加载过程,以及把动画变得更便于使用。     

     创建SpriteSheet类: 一个SpriteSheet对象只引用同一精灵的一组大小相似的帧,一个单次加载的图像资产可被编译成若干SpriteSheet对象。

     跟踪和加载精灵表:

     测试SpriteSheet类:

11.3 添加精灵

     事件由Evented类处理,组件由GameObject类处理,图形由资产和SpriteSheet类处理等

     编写Sprite类:

     引用精灵、属性和资产:

     运用Sprite对象:blockbreak.html

11.4 使用场景设置舞台

     使用一个对象管理众多精灵的更新和绘制。Quintus将这一对象称为Stage(舞台),还会额外加入一个Scene(场景)对象概念,该对象用来设置某个特定舞台的舞台对象。Scene的作用之一是简化关卡的设置,然后在关卡之间进行切换。

     quintus_scenes.js

     这一场景功能背后的设想是,你希望以独立方式来设置游戏的某一关或某一段内容,所以它放入一个独立的方法中来简化不同场景之间的切换。

      编写Stage类:负责记录一个精灵列表并让精灵更新和渲染自身。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值