- Unity3D网络游戏实战
- 罗培羽
- 90字
- 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=1739516210-LKdIhXUALJS7gqPkciFmz2NF8iPlv97M-0-4f2072b797e4b732e9841e17bd1b6bac)
图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=1739516210-HO4bm7qfHJTjfdBMNDL9jOIexjWqmFPu-0-f64f1932dd2eaa34cad5f0b973038d83)
图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=1739516210-WbJ33jYxdqWn4nZIGkA2I7CM2vdpWduE-0-a200e647cea8ecf4c643562f43ef4af5)
图1-42 点击按钮,切换到另一个场景