Modificarea culorii de fundal a unei scene
Mediul de verificare
- Windows
-
- Ferestre 11
- Unity Editor
-
- 2020.3.25F1
- Pachet sistem de intrare
-
- 1.2.0
Cerințe preliminare pentru acest sfat
Următoarele setări au fost făcute în avans ca premisă pentru descrierea acestui sfat.
Despre culorile de fundal ale scenei
Culoarea de fundal a unei scene din Unity nu este deținută de scenă, ci este setarea camerei.
Dacă selectați Din ierarhie, culoarea de Main Camera
fundal este afișată în același timp cu previzualizarea camerei.
Despre schimbarea culorii de fundal
Componenta Cameră are un "fundal" din care o puteți schimba.
Modificarea programatică a culorii de fundal
După ce faceți clic pe buton, mutați programul și încercați să schimbați culoarea de fundal. Consultați Sfaturi pentru butoane pentru a afla cum să mutați procesul de clic pe buton. Numai programul este descris aici.
using System.Linq;
using UnityEngine;
public class ButtonEvent : MonoBehaviour
{
public void OnClick()
{
// カメラコンポーネントを取得
var cameraObject = gameObject.scene.GetRootGameObjects().FirstOrDefault(obj => obj.GetComponent<Camera>() != null);
var camera = cameraObject.GetComponent<Camera>();
// 背景色を変更
camera.backgroundColor = new Color(0.3f, 0.0f, 0.1f);
}
}
Deoarece vom schimba culoarea de fundal a camerei, vom obține mai întâi componenta camerei.
Dacă atașați un script la obiectul camerei în prealabil sau aveți o cameră ca câmp, codul va fi puțin mai scurt, dar
gameObject
De data aceasta, caut și mă refer la ea de la legat scene
la.
Orice cod care poate obține în cele din urmă componenta camerei este în regulă.
Camera
După ce aveți componenta, setați backgroundColor
Color
proprietatea pentru a determina culoarea.
Color
Puteți seta constructorul la orice număr sau puteți seta predefinit red
și blue
.
Verificarea funcționării
Încercați să-l rulați și vedeți dacă își schimbă culoarea.