设为首页收藏本站官方微博

wintermute学习笔记[3]--搭建场景步骤二:场景中的实体

[复制链接]
查看: 3142|回复: 0
打印 上一主题 下一主题

wintermute学习笔记[3]--搭建场景步骤二:场景中的实体

跳转到指定楼层
楼主
发表于 2010-9-17 11:44 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

wintermute学习笔记[3]--搭建场景步骤二:场景中的实体

使用PM打开scene_tut.wpr,在这一步我们将为场景添加更多的东西。6 [0 v) Z3 Z1 u/ Y. j- \1 B7 J. B
! j" `% V' s8 Q  o9 B
场景中的图像元素,都叫做实体(entities),可以理解为布景时用到的道具。在我们的场景中,背景图片就是一个实体(node列表里background前面有个傻脸,就代表这是个实体)。在上一章测试时,你会发现你的角色总是挡着家具,而现实中人走到桌子后面时是会被桌子挡住的。如果你想让某个物体能够遮挡住角色,你必须把它单独的作为一个实体创建出来(所有角色能与之互动的东西都需要作为实体被创建)。(提一句,教程里桌子和椅子都是直接绘制到地板上的,但我感觉实际制作时应该把空地板作为背景,桌子和椅子另外做两张图片,然后把桌椅做两个实体添加到场景里,这样如果以后要调整位置方便得多)
' e: {$ b2 T3 P9 z. Q
" |: W( w. O. G1 v现在我们将为场景添加一个实体“桌子”作为例子。
$ a: [: v  C4 R! u" l2 F4 m" a+ n% R& j7 B
首先我们需要桌子的图片,教程已经在demo里的tutorial\gfx文件夹为你准备好了,使用ProjectMan在文件树为Myscene这个文件夹导入图片desk.bmp(方法见步骤一)。
0 l* f$ u) |* b' q3 L' \0 C
9 ^3 P5 n( i1 `% D6 F$ t' l在SceneEdit中打开我们的场景,在layer列表中选择main,点击Add entity(就是那个傻脸按钮)并选择Sprite entity。Sprite entity是拥有自己图像的实体,其他类型的实体会在以后讲解。9 t/ g& K3 r  D5 @

: ?  y5 u3 N/ e- F3 v+ R( `: D5 N2 X" Y- o3 f
) Z7 K1 d9 h; P7 l
现在一个新实体就创建好了。默认名字为new entity,并且在预览窗口里也只是个红框。在node列表里选择这个实体,之后在左下角的信息栏可以修改有关它的信息。在信息栏中把名字(name)改为desk,标题(caption)也可以改为desk(这样在游戏中鼠标移到桌子上的话,就会提示这是个desk)。接下来点击sprite栏后面的按钮(sprite是wme中的基本图像元素),在弹出窗口中找到scene\Myscene文件夹下的的desk.bmp并载入。你会发现桌子在右边的预览窗口出现了。% `; ]* s& k2 _/ f0 I

( n6 D& p' y, n  V" X+ s0 i! b  S  j使用鼠标拖动图片与背景的桌子重合,或者你可以在左下角的信息栏的pos栏中输入正确坐标432,327。
: p2 i+ D5 {. r5 o& Y& O  ]9 K
& R1 e+ M7 ]  Z6 ]! }  E也可以使用键盘上的方向键来进行细微的调整,按住SHIFT再使用方向键移动的话每次移动5像素,空格键可以显示/隐藏当前所选实体(也可以由node列表里钩选小方框控制)
1 L: `: s- X0 v0 Y+ m3 F& M7 J: Y
; |5 |0 Y+ V- t+ G! r( _接下来看一眼你的node列表,应该像图片中这样,如果不是的话,使用node列表上的上下箭头来调整顺序。# Z+ V: _0 u5 X6 {( h( n& Q
3 S0 B; a7 Y% Q1 _4 u
% `2 ?* o* R+ }) `3 \1 t

; L- z/ v/ d6 Pnode列表的顺序是非常重要的!游戏引擎根据这个顺序来绘制场景中的东西,最上方的最先绘制。
+ L4 `) g6 c& ?/ _目前的顺序应该是:
! K' |2 W) [& e/ ?5 g6 R; |3 ibackground (entity)& i8 |5 D2 V) a( m3 [. p& R" z
desk (entity)
4 y) @# n$ k% D, o0 lfloor (region)
) f3 K# w3 a) a- x* c
, R! F7 A& {) u6 r" }: T4 {/ F& ]3 b这样引擎在游戏运行时会这么工作:6 N5 H6 L, V6 q2 d9 F; L/ Z$ t
先绘制背景图片6 c; c3 V. x2 l$ k1 ?: _
再绘制桌子的的图片7 C5 p/ R, f+ l) r" {; }
最后绘制在floor框范围内的角色(这样角色永远显示在桌子和背景之上)  b, t2 H) ^. R1 r& a& j; K9 L  S, u
(在node列表中有entity和region两类东西,实体entity是实际绘制到场景中的,而区域region只代表一个范围,引擎会绘制处于这个范围中的角色)- T& u( ?0 e# ~' X
/ ?* D# g+ N8 d  W' Q
如果你改变了顺序也就影响它们之间遮盖的效果,比如你把顺序改为:
4 \! P3 r( a7 c0 q: P' Ubackground (entity)
# Y, y- S7 \- Yfloor (region)
3 `  r) ]. o! f1 u/ idesk (entity)) q, {. m1 [, {$ _2 k4 X2 C+ v
7 W1 k, O3 f9 `- a' P6 f. I+ G* `
运行时引擎先绘制背景图片5 E6 {) E7 x" j) X
再绘制在floor框内的角色. Z( c, |! K( X: ^( i4 ]  y6 b
最后绘制桌子(这样桌子就会遮挡住角色了)3 }; {6 p( ]$ A7 |
: }5 i) {' m, ]3 V
而至于如何做到角色在桌子后方时被遮挡,在前方时则挡住桌子。将在步骤三讲解。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 很美好很美好 很差劲很差劲
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

冒险解谜游戏中文网 ChinaAVG

官方微博官方微信号小黑屋 微信玩家群  

(C) ChinaAVG 2004 - 2019 All Right Reserved. Powered by Discuz! X3.2
辽ICP备11008827号 | 桂公网安备 45010702000051号

冒险,与你同在。 冒险解谜游戏中文网ChinaAVG诞生于2004年9月9日,是全球华人共同的冒险解谜类游戏家园。我们致力于提供各类冒险游戏资讯供大家学习交流。本站所有资源均不用于商业用途。

快速回复 返回顶部 返回列表