- Unity3D网络游戏实战
- 罗培羽
- 222字
- 2024-12-21 00:51:37
1.9 场景
Unity3D创建游戏可以这么理解,一款完整的游戏就是一个Project(项目工程),游戏中不同的地图对应的是项目下面的不同场景(Scene)。一款游戏可以包含很多地图,因此一个项目工程下面可以保存多个Scene。
1.9.1 创建场景
依次点击菜单栏的File→New Scene即可创建一个新的场景,在场景里面绘制地图(比如添加几个立方体或球体),然后点击菜单栏的File→Save Scene(或使用快捷键Ctrl+S)保存它。本节的例子中,将创建两个场景,其中场景a里面包含3个立方体,场景b里面包含3个球体(场景的内容并不重要,只要能够区分开来就好,如图1-42所示)。如图1-40所示,保存场景后,就能够在项目面板中看到场景文件了。
![](https://epubservercos.yuewen.com/FABC1B/6158700004756901/epubprivate/OEBPS/Images/figure_0040_0001.jpg?sign=1739261046-ipwjOFdvCUFZb0GQZUHDQOrnwj7IbvsT-0-cd5dd2563350dea1d4647ff3335f2e20)
图1-40 项目面板中的两个场景文件
1.9.2 场景切换
为了能够成功转换场景,需要将它们添加到Build Settings面板的Scenes in Build中(点击菜单栏的File→Build Settings打开面板,面板如图1-41所示)。在生成游戏时,只有添加到面板中的场景才会被编入游戏中。
![](https://epubservercos.yuewen.com/FABC1B/6158700004756901/epubprivate/OEBPS/Images/figure_0040_0002.jpg?sign=1739261046-AA85voa2AGhvm7uDiXx5bQHWk1d3JGNt-0-f94529d57355fa8989bd5980cc04feab)
图1-41 将场景添加到Scenes in Build
接着创建名为ChangeScene.cs的文件,调用Application.LoadLevel切换场景。Application.LoadLevel的参数为场景名称或场景索引。
public class ChangeScene : MonoBehaviour { void OnGUI() { if (GUI.Button(new Rect(0, 0, 100, 100), "切换")) { Application.LoadLevel("b"); } } }
将该脚本附加到第一个场景中,然后运行游戏。玩家就可以点击“切换”按钮,从场景1跳转到场景2(如图1-42所示)。
![](https://epubservercos.yuewen.com/FABC1B/6158700004756901/epubprivate/OEBPS/Images/figure_0041_0001.jpg?sign=1739261046-83wNLL3Fxnup9KLexNWVTHo2NRAgm50T-0-64855c4d3e59c5ea9847d962679a9e75)
图1-42 点击按钮,切换到另一个场景