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
的修改选项