clockworkman 发表于 2010-9-17 15:41

wintermute学习笔记[4]--搭建场景步骤三:场景布局

帮助文档里说了,现在真正有趣的来了,虽然我一点都没看出来哪里有趣- -
这一章我们将了解如何使用区域(region)来布局,实现桌子在适当时候遮挡角色的效果,你可以把帖子拉到末尾先看看最终效果。

在SceneEdit中打开Myscene.scene。

目前我们有两个实体:backgroud和desk,还有一块区域floor划定人可以走的范围。
我们需要desk这个实体在角色走到桌子后面时遮挡住角色。方法是添加另一个区域。


如图,点击Add region按钮。一个新的区域被创建了,默认名为new region,在预览窗口里是一个红色高亮显示的小方框。


http://docs.dead-code.org/img/tut3-1.png


将这个区域改名为“behind_desk”。接着按步骤一中对floor所作的方法,即添加节点和改变形状使来在地板上划定一块“在桌子后面”的区域。如图。(我一开始觉得形状有点怪,但实际测试后理解了为什么划定这样一块区域)


http://docs.dead-code.org/img/tut3-2.png


最后要做的就是调整node列表的顺序(使用上下箭头),如图为正确顺序:

http://docs.dead-code.org/img/tut3-3.png


这样一来引擎在工作时按这个顺序绘制:


1、绘制背景
2、绘制所有处于“behind_desk”区域的角色
3、绘制desk实体(如果角色处于behind_desk区域中的话,desk就被绘制到角色之上了,也就实现了遮盖)
4、绘制所有处于floor区域内的角色(貌似这个引擎角色只绘制一遍,如果在behind_desk中被绘制了这里就不会再复制。是不是这个原理不太确定)
换句话说,如果角色处于behind_desk区域中,会先绘制角色再绘制桌子,反之先绘制桌子在绘制角色。



保存后实际测试一下,应该会实现图中的效果。下一章将处理人物横穿桌子的问题。

http://docs.dead-code.org/img/tut3-4.pnghttp://docs.dead-code.org/img/tut3-5.png


帮助文档的作者认为这是最难的地方,剩下的都很简单~请确保你理解了其中的原理。
页: [1]
查看完整版本: wintermute学习笔记[4]--搭建场景步骤三:场景布局