Unity 游戏黑暗之光笔记
第一章 完善场景
- 导入资地形、地貌资源,新建场景,导入地形、地貌prefab
- 设置相机与视野匹配
选中主摄像机,点选菜单栏中GameObject > Align With View - 添加灯光
Direction light > Intensity 光照强度
- 添加鼠标指针
File > Build Settings > Player Settings - 添加水面
- 实现镜头缓慢拉近的效果
public float speed = 10; //设置速度
private float endZ = -20; //设置结束坐标
void Start () {
void Update () {
//判断坐标小于结束坐标
if (transform.position.z < endZ) {
//还没有达到目标位置,需要移动
transform.Translate( Vector3.forward*speed*Time.deltaTime);
}
}
- 添加雾
Window > Rendering > Lighting Settings > other Settings 使用UGUI和白色背景给场景添加渐显效果
添加UI >image 给image添加Canvas Group 组件
添加一个控制渐显的脚本,在主摄像头中添加方法,其他的动画效果类似这样制作 press的动画效果可以使用timeline制作UIFadeTest.Instance.UIShow();
public float fadeSpeed = 10; //速度
private CanvasGroup canvasGroup;
private float alpha = 1.0f;
private static UIFadeTest instance;
//设置单例
public static UIFadeTest Instance
{
get { return instance; }
}
void Start()
{
instance = this;
canvasGroup = this.gameObject.GetComponent<CanvasGroup>();
}
// Update is called once per frame
void Update()
{
if (alpha != canvasGroup.alpha)
{
canvasGroup.alpha = Mathf.Lerp(canvasGroup.alpha, alpha, fadeSpeed * Time.deltaTime);
if (Mathf.Abs(canvasGroup.alpha - alpha) < 0.01f)
{
canvasGroup.alpha = alpha;
}
}
}
public void UIShow() {
alpha = 0;
canvasGroup.blocksRaycasts = false;
}
}
- 添加鼠标点击事件
在点击Press后显示按钮,先让newgame和loadgame按钮不激活
private bool isAnyKeyDown = false;//表示是否有任何按键按下
private GameObject buttonContainer;
void Start()
{
buttonContainer = this.transform.parent.Find("buttonContainer").gameObject;
}
// Update is called once per frame
void Update()
{
//判定没有按键按下
if (isAnyKeyDown == false)
{
//如果按下显示案件
if (Input.anyKey)
{
{
ShowButton();
}
}
}
//开始和加载按钮显示方法
void ShowButton()
{
buttonContainer.SetActive(true);
this.gameObject.SetActive(false);
isAnyKeyDown = true;
}
}
newgame和loadgame按钮鼠标事件
1 游戏数据的保存,和场景之间游戏数据的传递使用 PlayerPrefs
2 场景的分类
2.1 开始场景
2.2 角色选择界面
2.3 游戏玩家打怪的界面,就是游戏实际的运行场景
//开始新游戏
public void OnNewGame() {
PlayerPrefs.SetInt("DataFromSave", 0);
// 加载我们的选择角色的场景 2
}
//加载已经保存的游戏
public void OnLoadGame() {
PlayerPrefs.SetInt("DataFromSave", 1); //DataFromSave表示数据来自保存
//加载我们的play场景3
}
- 给开始场景添加背景声音和按钮点击的声音
在主摄像机添加BGM音乐
在newgame和loadgame按钮上分别添加playsound脚本
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。