| 赞 | 0 |
| VIP | 2 |
| 好人卡 | 27 |
| 积分 | 1 |
| 经验 | 26327 |
| 最后登录 | 2019-10-13 |
| 在线时间 | 953 小时 |
Lv1.梦旅人
- 梦石
- 0
- 星屑
- 120
- 在线时间
- 953 小时
- 注册时间
- 2007-4-25
- 帖子
- 805
|
bbaugle 发表于 2010-11-29 12:20 ![]()
- -..我想知道内部类Sprite是怎么工作的..
Sprite 也算是游戏编程的一种经典设计模式了,它也是一种抽象,类似于上面提到的 GDI 设备上下文,能用一种与具体的图形无关的方式来操纵图形。
通常 Sprite 都是被游戏引擎统一维护的,所有 Sprite 的引用被存在一个能进行高效插入、删除和遍历的有序的、稀疏的数据结构中,如平衡二叉树家族、B 树家族。在 2D 领域,这个 Sprite 结构的顺序即是图形的深度(Z 次序),而结构中的每个 Sprite 都封装了具体的图形和图形相关的域,包括是坐标、原点、滤镜、放大率等等。之后,程序每帧对 Sprite 结构进行先序遍历,结合其内部的域,按照某种合成算法依次渲染到屏幕上,大概就是如此。 |
|