1.基本操作演练
下载 Fantasy Skybox FREE, 构建自己的游戏场景
创建地形
首先添加一个Terrian对象,在Inspector窗口中对其进行修改
Inspector窗口中有很多功能,其中七个功能从左至右分别是造山,造等高地形,磨平山峰棱角可以让山峰更加平缓,造树,造草地,还有一些基本的设置
通过这些功能组建我们就可以在地形上自行发挥,可以在Assert Store里下载一些树和草的预设,创建草地的时候由于Unity的版本问题没有显示,但在Game运行状态下是可以看见的
我创建的地形运行图如下
首先在Assert Store里下载SkyBox并导入,这里随意选择一个好看的SkyBox
Import导入后,可以看到Assert中已经成功加入
在组件里添加天空盒,并将刚刚下载好的预设导入
再次运行可以看到一个基本的场景就搭建完成了
写一个简单的总结,总结游戏对象的使用
常见游戏对象有空对象,摄像机,光线,天空盒,地形,3D对象,声音,UI系统和粒子系统以及特效。均具有Active,Name,Tag,Layer属性.
根据Unity3D对GameObject的定义,游戏对象是游戏中人物、道具、场景等对象总称。它只包含一些基础的属性没有具体的功能,它们只是组件的容器,而组件实现了具体的游戏功能。在编程过程中我们可以给一个游戏对象添加C#代码脚本,挂载了脚本的游戏对象就有了具体的功能。代码中还可以对游戏对象的外观、位置等属性进行设置,游戏对象在游戏中的动作全部由脚本控制。所以,游戏对象的使用可以手动添加,但其功能基本由其组件决定。
编程实践
-
牧师与魔鬼 动作分离版
-
设计一个裁判类,当游戏达到结束条件时,通知场景控制器游戏结束
-
动作分离管理器的架构我按照课程网站架构进行设计,UML图如下
对于动作分离的实现,我参照了之前学长的博客发现其代码无法实现完全的动作分离,故我在其代码基础上做了改进
首先是动作管理器的几个关键类的实现
SSActionCallback接口
定义了事件处理接口,所有事件管理者都必须实现这个接口来实现事件调度
public interface ISSActionCallback{
void SSActionEvent(SSAction source);
}
SSAction类