游戏制作之路-愤怒的小鸟-1

本次分享的是我做的第一款Unity游戏,当然,是借鉴网上的教学视频制作的。
愤怒的小鸟,是在siki学院上看的,视频链接。
因为是半年前做的东西了,记得不是很详细,大致总结一下我的收获。
一、开始界面的搭建
一般在游戏制作时候呢,我们会把window/lighting/settings中的auto generate取消勾选,他是自动生成的意思,会自动更新lightmap,可能会导致我们制作游戏的时候会卡,可以自己手动烘焙,所以一般我们取消勾选。
设置背景的时候,我们一般先会创建一个Canvas(画布),UGUI是Unity新支持的2D界面控件,所有的UI控件都需要在包含Canvas组件的物体下边充当子物体,我们可以在GameObject->UI下创建物体时,会自动生成Canvas以及与其对应的EventSystem控件。 我们的Text,image,button等ui控件必须要创建在Canvas下,设置背景图就要添加image控件,点击inspector中rect下左上角的十字来设置锚点,按住alt点击右下角的十字就会把image的锚点扩大到它的父物体上,也就是canvas,这样图片的大小就会和canvas保持一致了。游戏制作之路-愤怒的小鸟-1_第1张图片
canvas有三种渲染模式,分别是 Screen Space - Overlay, Screen Space - Camera和World Space。
Screen Space - Overlay模式下,Canvas将作为2D图像直接渲染在屏幕上,且处于屏幕的最前方,不会受其他任何物体遮挡, 同时不受任何设置的影响,即使没有相机也可以看到其内容。

Screen Space - Camera模式下,Canvas可以指定渲染的相机,并根据相机距离Canvas的远近以及相机的视锥体大小进行动态缩放,最终实现在屏幕上的平铺效果。当有物体比Canvas更接近相机时,该物体会显示在Canvas的前方。物体距离相机比Canvas远的物体将会被遮挡,对于一些有层级优先级要求的画面,我们可以选择这个 ,比如一些例子系统或者背景的ui显示。

World Space模式下,Canvas会像3D物体一样位于游戏场景中,可以设置其位置和大小,与其他3D物体具有同样的显示效果,在前两个模式下,我们是不可以调整canvas的位置和大小的。
游戏制作之路-愤怒的小鸟-1_第2张图片
我们继续加上小喇叭,开始游戏等image和text控件,addCompone给他们添加button组件,在Onclick下挂上点击时间的C#脚本,当你鼠标点击控件时,就可以触发你所写的脚本了。
二、游戏关卡界面
创建一个新的Scene,在File/build settings中添加场景,在原来脚本中调用SceneManager.LoadScene(Scene的序号),就可以实现页面跳转了。游戏制作之路-愤怒的小鸟-1_第3张图片
这是我们的游戏关卡界面,同样,只是canvas和其它ui控件的组合。
常用的Find方法获得游戏物体():
1、GameObject.Find(string name);
这种方法查找好处是能查到名字为name的gameobject。缺点是不能查找非激活的物体。而且会逐个遍历所有物体。比较浪费性能。不要在任何场景都有这个方法
2、GameObject.FindGameObjectsWithTag(string tag)/GameObject.FindWithTag(string tag);
这两个方法是根据tag来查找游戏物体。同样不能查找隐藏物体,但是因为是在tag集中查找。性能优于上面一种。
3、 Transform.Find(string name);
这个方法是查找自身的子物体。特点是可以查找到非激活状态的子物体。缺点是如果需要查找子物体的子物体还需填写路径。

我们利用gameObject.getComponent<…>() (注意:这是一个方法,必须要加括号)来获取游戏物体下的组件,通过脚本中对获得的组件的设置来实现游戏物体的动态切换。

数据类型强转:int.parse(float num) 为float类型的num转换为int型。
其它的都是一些基础问题了,setActive什么的也比较简单,剩下的我们下一篇再说。

你可能感兴趣的:(游戏制作之路)