Day17

1. 为图层营造视觉差

视觉差含义
不同图层间移动速度不同,营造出近景、中景、远景的层次感,增强游戏的真实性和体验感。
只需要添加一个脚本,使用moveRate来控制图层跟随camera的x轴移动的程度。不同的图层设置不同的moveRate值,就会形成一种交错的效果。

小技巧:集体修改某一变量的名字。
选中变量名,
Mac系统 COMMAND+R
Windows系统 CTRL+R
直接在变量名处修改。

如图,高亮处就是该变量所在的所有位置。

Unity中playmaker_游戏开发


游戏中,我们先创建一个空节点Area,用来存放游戏场景的边界(原本在BackGroun的组件中。需要将该组件移给Area)

将BackGround作为远景,Environment作为中景,地面和角色等作为近景。

Unity中playmaker_游戏_02

调节数值使得体验感更好。

Unity中playmaker_游戏_03

当然,除了改变x值,也可以根据需要改变y值。
将代码中的lockY作为是否改变y值的判断条件。

代码如下:

Unity中playmaker_游戏开发_04

2. 创建游戏开始界面

先新建一个Panel用来放背景。

注意:Panel默认是圆角矩形,要让Panel铺满游戏画面,修改Source Image为none(如果Panel不放别的图片的话)或者拖入要设定的图片。

Unity中playmaker_Unity中playmaker_05


小技巧:Panel可以为背景笼罩上一层颜色。

再创建一个Panel,命名为MainMenu来放按钮等等。

可以修改颜色和不透明度,来控制整个画面的色调。

Unity中playmaker_游戏开发_06


然后添加Text和Button。

知识点:TextMeshPro就是比普通的Text多一点装饰效果:比如渐变什么的,可以让文字更好看~也可以到Asset Store中搜索TextMeshPro插件

Unity中playmaker_unity_07


添加脚本来实现按钮的功能。

重点:给Button添加OnClick效果。(以前都是在脚本里添加监听事件,其实根本不用那么麻烦!)

步骤:

  1. 脚本里写好按下按钮后要触发的事件的函数
  2. 给Button添加一个On Click事件
  3. 拖入脚本所在节点,就可以选择节点中的函数来作为点击后触发的事件了

创建脚本:记得函数设为public

脚本添加给MainMenu节点。

public class MainMenu : MonoBehaviour
{
    public void PlayGame()
    {
        SceneManager.LoadScene(SceneManager.GetActiveScene().buildIndex + 1);
    }
}

开始按钮:

Unity中playmaker_游戏_08

buildsetting中调整场景顺序:

Unity中playmaker_Unity中playmaker_09


退出游戏的写法:

public void QuitGame()
    {
        Application.Quit();
    }

还可以使用录制动画来制作渐入效果。
(之前的教程里有写了,这里不赘述了。)

小技巧: GameObject.Find()直接找到某节点,并进行操作

public void UIEnable()
    {
        GameObject.Find("Canvas/MainMenu").SetActive(true);
    }