ZYB ARTICLES REPOS

Unity2D演习笔记1

Build后Sprite不出现

在调试的时候Sprite会正常出现,但是”Build And Run”后却不出现。经过排查发现,是工程有一个默认的场景SampleScene,但我又新创建了一个MainScene,调试的Sprite是加在MainScene里运行的。打包的时候在File -> Build Settings -> Scenes In Build里只加了SampleScene,根本没有加MainScene,因此不会出现MainScene里的Sprite

另外往Scenes In Build里添加Scene的方法,就是把Scene直接拖进去就可以。

如果要设置程序启动的默认Scene,只需要拖动到列表的第一个就行。

添加按ESC键退出功能

首先在场景里添加一个空的Object。在其上附加一个script

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class ExitGameController : MonoBehaviour
{


    // Start is called before the first frame update
    void Start()
    {

    }

    // Update is called once per frame
    void Update()
    {
        // 检查是否按下了ESC键
        if (Input.GetKey("escape"))
        {
            // 如果是在Unity编辑器中,停止播放
#if UNITY_EDITOR
            UnityEditor.EditorApplication.isPlaying = false;
#else
            // 如果是在构建的游戏中,退出游戏
            Application.Quit();
#endif
        }

    }
}

切换Scene

在Unity中,可以使用SceneManger类开加载和切换场景

using UnityEngine;
using UnityEngine.SceneManagement;

public class ChangeScene : MonoBehaviour
{
    public void LoadNextScene()
    {
        // 加载名为"NextScene"的场景
        SceneManager.LoadScene("NextScene");
    }
}

改变2D摄像机的高度

在Unity中,2D摄像机的高度实际上是由其“Size”属性控制的。要改变2D摄像机的“Size”属性,可以在Inspector窗口中直接修改,也可以通过脚本进行修改。

这个脚本只在摄像机设置为正交模式(Orthographic)时有效。在透视模式(Perspective)下,摄像机的视野是由“Field of View”属性控制的。

using UnityEngine;

public class ChangeCameraSize : MonoBehaviour
{
    // 设置要改变的摄像机大小
    public float newSize = 10f;

    public float step = 1.0f;

    void Start()
    {
        // 获取摄像机组件
        Camera camera = GetComponent();

        // 改变摄像机的大小
        camera.orthographicSize = newSize;


        // 动态调整高度
        if (Input.GetKey(KeyCode.Z))
        {
            Camera camera = GetComponent();
            camera.orthographicSize -= step * Time.deltaTime;
            Debug.Log("Z");
        }


        if (Input.GetKey(KeyCode.X))
        {
            GetComponent().orthographicSize += step * Time.deltaTime;
            Debug.Log("X");
        }
    }
}

Transparency Sort Mode

对于老版本可以在 Edit -> Project Settings -> Graphics下找到。

如果使用了2D(URP),则在Assets目录里 Settings下有个Renderer2D,点击它即可在Inspector里看到 Transparency Sort Mode的修改选项