Ændre baggrundsfarven på en scene
Miljø til bekræftelse
- Windows
-
- Windows 11
- Enhedslistens redaktør
-
- 2020.3.25f1
- Input System Pakke
-
- 1.2.0
Forudsætninger for dette tip
Følgende indstillinger er foretaget på forhånd som en forudsætning for beskrivelsen af dette tip.
Om scenebaggrundsfarver
Baggrundsfarven på en scene i Unity ejes ikke af scenen, men er kameraindstillingen.
Hvis du vælger Fra Main Camera
hierarkiet, vises baggrundsfarven samtidig med kameraeksemplet.
Om ændring af baggrundsfarven
Kamerakomponenten har en "baggrund", hvorfra du kan ændre den.
Ændre baggrundsfarven via programmering
Når du har klikket på knappen, skal du flytte programmet og prøve at ændre baggrundsfarven. Se knaptippene for at få oplysninger om, hvordan du flytter knapklikprocessen. Kun programmet er beskrevet her.
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);
}
}
Da vi ændrer kameraets baggrundsfarve, får vi først kamerakomponenten.
Hvis du vedhæfter et script til kameraobjektet på forhånd eller har et kamera som et felt, vil koden være lidt kortere, men
gameObject
Denne gang søger jeg og henviser til det fra linket scene
til.
Enhver kode, der i sidste ende kan få kamerakomponenten, er fin.
Camera
Når du har komponenten, skal du indstille backgroundColor
egenskaben Color
til at bestemme farven.
Color
Du kan indstille konstruktøren til et hvilket som helst tal eller indstille den foruddefinerede red
og blue
.
Kontrol af betjening
Prøv at køre det og se om det ændrer farve.