Day17
1. 为图层营造视觉差
视觉差含义
不同图层间移动速度不同,营造出近景、中景、远景的层次感,增强游戏的真实性和体验感。
只需要添加一个脚本,使用moveRate来控制图层跟随camera的x轴移动的程度。不同的图层设置不同的moveRate值,就会形成一种交错的效果。
小技巧:集体修改某一变量的名字。
选中变量名,
Mac系统 COMMAND+R
Windows系统 CTRL+R
直接在变量名处修改。
如图,高亮处就是该变量所在的所有位置。
游戏中,我们先创建一个空节点Area,用来存放游戏场景的边界(原本在BackGroun的组件中。需要将该组件移给Area)
将BackGround作为远景,Environment作为中景,地面和角色等作为近景。
调节数值使得体验感更好。
当然,除了改变x值,也可以根据需要改变y值。
将代码中的lockY作为是否改变y值的判断条件。
代码如下:
2. 创建游戏开始界面
先新建一个Panel用来放背景。
注意:Panel默认是圆角矩形,要让Panel铺满游戏画面,修改Source Image为none(如果Panel不放别的图片的话)或者拖入要设定的图片。
小技巧:Panel可以为背景笼罩上一层颜色。
再创建一个Panel,命名为MainMenu来放按钮等等。
可以修改颜色和不透明度,来控制整个画面的色调。
然后添加Text和Button。
知识点:TextMeshPro就是比普通的Text多一点装饰效果:比如渐变什么的,可以让文字更好看~也可以到Asset Store中搜索TextMeshPro插件
添加脚本来实现按钮的功能。
重点:给Button添加OnClick效果。(以前都是在脚本里添加监听事件,其实根本不用那么麻烦!)
步骤:
- 脚本里写好按下按钮后要触发的事件的函数
- 给Button添加一个On Click事件
- 拖入脚本所在节点,就可以选择节点中的函数来作为点击后触发的事件了
创建脚本:记得函数设为public
脚本添加给MainMenu节点。
public class MainMenu : MonoBehaviour
{
public void PlayGame()
{
SceneManager.LoadScene(SceneManager.GetActiveScene().buildIndex + 1);
}
}
开始按钮:
buildsetting中调整场景顺序:
退出游戏的写法:
public void QuitGame()
{
Application.Quit();
}
还可以使用录制动画来制作渐入效果。
(之前的教程里有写了,这里不赘述了。)
小技巧: GameObject.Find()直接找到某节点,并进行操作
public void UIEnable()
{
GameObject.Find("Canvas/MainMenu").SetActive(true);
}