接下来几章按帮助文档安排内容,分7步教你如何搭建一个场景,正如文档里所说,这是一个非常重要和复杂的工作。
- i o( a9 K6 A3 w$ o- G0 Z
% [, W+ O* C7 l: O9 O' T/ p% c% Q
首先打开ProjectMan并打开scene_tut.wpr这个工程(在WME DevKit\projects\scene_tut文件夹里),这是一个教学用的demo。
1 w4 n! p8 L& U' g双击文件树中的scenes,可以看到许多制作好的场景,它们是按各个教学步骤制作的。你可以按F5体验一下。# v# R5 j+ V# K. x5 V1 ^
7 K4 s: B7 V1 H) T0 S3 b0 n8 H2 [
9 R: g7 n9 h+ A
我们将创建一个新的场景,首先在文件树中右键单击scenes,并选择添加场景命令。
4 C, l3 X. |5 @8 X" h
# T' k0 i, T/ c' a6 B' y) w. d. u/ F& K4 `& f7 W @# U
. x! g+ \0 D' u9 |& r
! {& P- r+ G2 `) R8 F3 k7 e之后将出现一个模版选择窗口,选择Empty scene 800x600这个模版(图片是帮助文档里的,实际操作时总共有三个模版),并将场景名称改为MyScene(文档里说了,为了教学需要,你必须改成这个名字)。( a- Y1 D( d; S* a+ v
, _7 T$ s6 l6 `2 d1 I, N$ ^" [
$ F/ o9 u' t; ^. l o( `" F/ p: F7 E( h
, F$ ]& _" J2 H% f点击OK一个新场景就创建好了,你可以看到文件树里多出了一个文件夹。
2 o! b* ?. y/ H8 i接下来我们要为新场景载入背景图片,wme要求每个场景用到的图像必须放在这个场景本身的文件夹里。demo所在文件夹的data\tutorial\gfx里已经提供了所需的图像。
' j2 p) Y) a, t9 V如图所示,右键单击Myscene文件夹并选择导入(import)--〉导入文件(import file(s)...),在data\tutorial\gfx中找到background.bmp并载入。PM会把图像拷贝到MyScene文件夹里,事实上,你打开文件夹使用复制粘贴也可以做同样的事,使用PM只是更直观而已。+ Q/ n: ]8 p& q% @ e' L
) ?( d1 e1 Y! J! A4 ^) ~
: L& u0 S( `1 v# Z2 R3 O: ~5 o
5 l# ^) l8 C! D1 s7 ^0 E5 n% z5 g+ \9 Z Q8 u9 |! U7 P
这样该场景就会自动应用这个背景,你可以按F5测试一下自己的Myscene场景。当然这时候场景跟一张图片没什么差别,我们接下来要做的就是慢慢完善。 ~* _1 T- {; T: S# z( v, c, r
) t# m% g% w5 s( A3 j* E' n" a& P& |1 [; y
首先我们要实现场景的卷动。
6 l7 c3 F+ h [* W6 R在文件树中找到MyScene.scene这个文件双击它或者右键单击在选择编辑(Edit)。PM会帮你调用SceneEdit这个工具让你编辑场景。2 q4 U1 h T& }+ }+ a: E% J! o
; F) W W H [# ` \+ Y7 \- H" P+ w
( ]. p$ h% F1 s$ H% S9 S& C
% I& S4 k7 v3 V8 }! k! [$ u# {* Q8 k简单浏览一下,左边是工具栏,从上至下分别是层(初始是三个层),元素(node直译是节点,实际上就是每个层包含的东西),最底下是每个元素的信息,你可以随便点点看。- R/ Y6 q* h. J
接下来是怎么让场景实现卷动。背景图片的尺寸是1000*716,而场景尺寸默认是800*600,我们只需要把场景尺寸改得和背景图片大小一样就可以了。 W, @& ]; |' x# S' T: D) `# x4 j
如图所示,在layer窗口选择main,并点击Layer properties,在弹出的窗口中将尺寸修改为1000*716。
" h6 s& [. `+ p" l* v0 ?7 E H6 v( U" g8 P2 i/ f9 r; u! H1 _
, W1 U }1 j3 [8 v0 p) h9 j. P
' U* O' m# y! q9 i Z; U2 U( W" s5 q0 A1 M0 U
9 y9 x( h1 Q- c6 r Q: D# @1 H& Z# u
+ N! }( S3 R' N( A% e ^' ~$ o( S这样由于场景尺寸大于窗口尺寸,引擎就会使场景可以卷动,在SceneEdit保存你的操作并回到PM按F5测试一下。
' x, y& d# e' G7 @0 l# d6 ]! P- u% X' t/ X
# f( d3 ^# r7 o0 p) E# z
接下来要做的是规定哪里能走哪里不能走。) `. e) q, X/ J! }+ J
点击node栏里的floor,你可以看到中间的方框被红色高亮了,这个方框中间就是角色可以移动的范围。 r, R5 J+ |" ^6 |& H+ y; f T
拖动方框周围的四个小方块可以改变它的形状,我们要做的就是使这个红色框和地板重合,不让我们的角色能跑到墙上。
: c4 L; Q8 X* h6 G: Y! t当然只是一个四边形的话估计不够,我们可以通过添加节点(也就是那些小方块)改变红色框的边数。$ T$ |" R' ^$ u4 E
! Z& a1 e% z+ H& Y5 `5 Y$ J2 T, v' h5 e$ g" {
$ c4 u7 r8 z7 s- u0 _如图所示,选择floor后点击Add point,把鼠标移到右边的预览窗口,可以看到鼠标图案变成了两个加号,之后在那个红色框上的任一位置点击一下,框上多出了一个小方块,可以拖动以改变形状。
8 e2 I2 q a, g3 e5 p# `6 z, X: z+ S* H( {
* u {% Z2 [7 L9 O2 m- E% t! Q8 e# X0 A6 A* r8 c# G2 z) A( O$ F
点Remove point则可以删除一个节点。使用小键盘的加减号也可以添加、删除节点。% V; t: z, J7 O- k; O) n/ @
- c2 g, n' Y+ @* {# T7 a7 L1 [0 w( }% V; T9 y2 ~' v& @5 N* F
之后你要做的就是把红色框的形状和地板整得一样,如果节点不够的话就多来几个。如图。) F5 m- g& T# f P
$ {0 k- ~. K( B! ?9 ]5 f
. o# g/ H; }* A1 [( `4 l$ z- ^* H* l2 A! L. m' y4 g6 y
% Y4 Q; q! s& Y3 }: |
这样就规定好了角色能行走的范围,你可以测试一下。测试过程中发现的横穿桌子等一系列的问题在以后的教学里一步步解决。# T! T4 R6 N9 d4 |" b) L/ W6 h+ G
8 s5 F& ]. {% H0 p# H' P4 A
* H/ q3 |( ?9 x, f& g* O最后是一个小技巧,如果在调整红色框形状时不小心进行了错误的操作,比如不小心拖动了一个节点,如果你的鼠标左键还没放开的话,你可以点击一下鼠标右键,就会恢复原状。或者你可以在工具栏选择Edit-->Undo来撤销,ctrl+z也是有效的。) Z& |2 D% @9 |, O O _ ~
; Q7 `0 I+ L# l7 w$ { {% P6 p
2 c* c* \* j5 a: c# V7 N
p.s:为什么不可以使用草稿箱- - |