3D游戏编程作业四

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/sodifferent/article/details/101220353

基本操作演练

首先是去unity商店下载一个skybox的资源包
在这里插入图片描述

然后创建一个materia
在这里插入图片描述

点击shader选择skybox并选择6sided
在这里插入图片描述

然后将相应位置的图片拖进去
在这里插入图片描述

点击add component,选择rendering
在这里插入图片描述

添加skybox
在这里插入图片描述

然后将刚才创建的mysky拖进skybox里
在这里插入图片描述

最后效果如下
在这里插入图片描述

游戏对象的使用:
一般来说对于游戏对象的使用有两种方法,一种是使用代码进行操作,另一种是直接使用图形界面对对象进行操作。使用代码来操作时只要调用相关的函数就可以进行任意的设置,而直接使用图形界面操作是存在很多的限制的,对于属性的设置都是在右边的inspector,而对于材质包的设置采用拖放即可。但是采用图形界面能够很方便的对一些元素进行设置,比如对于地形的设置,有很多的设置元素,直接使用鼠标进行操作会显得更加的容易。

魔鬼与牧师(进阶版)

进阶版的魔鬼与牧师主要是动作与模型的分离,这里找的是老师课程网页最后推荐的优秀博客的代码,对这点实现得非常好,我的代码只是在他的基础上来修改,然后实现今年需要添加的裁判类,详细的可以去看他的博客,这里只是简单的介绍一下。

首先对于整个游戏的运行使用一个controller来管理,游戏开始运行时加载各种资源调用loadsource函数,各种资源的初始化放在model类中实现,与之前的版本是一样的。主要不同的地方在于对事件的处理响应,对于所有的点击人物船的响应都放在了action文件中,在这里面对各个点击进行响应,实现分离操作。
比如对于角色的移动
在这里插入图片描述
首先得到需要移动的角色的对象,然后判断是否可移动,然后调用action动作管理类里面的函数。这样就实现了动作的分离操作。

扫描二维码关注公众号,回复: 7590400 查看本文章

接下来实现新增加的功能,就是添加一个裁判类来对游戏的终止进行判断。实现的思路很简单,在用户进行每一次点击之后,通过向裁判类传递当前的状态,然后进行判断。主要的参数有船、人物、河岸。
在这里插入图片描述
在这里插入图片描述
这其实也就是之前在controllor里面的check函数,只是将它拿了出来,实现了一个分离,便于如果有更复杂的判断操作加入时的一个更改。
传送门

猜你喜欢

转载自blog.csdn.net/sodifferent/article/details/101220353