Ändra bakgrundsfärgen på en scen
Verifiering miljö
- Windows
-
- Fönster 11
- Unity-redaktör
-
- 2020.3.25F1
- Paket för inmatningssystem
-
- 1.2.0
Förutsättningar för det här tipset
Följande inställningar har gjorts i förväg som en förutsättning för beskrivningen av detta tips.
Om motivets bakgrundsfärger
Bakgrundsfärgen för en scen i Unity ägs inte av scenen, utan är kamerainställningen.
Om du väljer Från Main Camera
hierarkin visas bakgrundsfärgen samtidigt som kamerans förhandsvisning.
Om att ändra bakgrundsfärgen
Kamerakomponenten har en "bakgrund" som du kan ändra den från.
Ändra bakgrundsfärgen programmässigt
När du har klickat på knappen flyttar du programmet och försöker ändra bakgrundsfärgen. Se knapptips för hur du flyttar knappklickningsprocessen. Endast programmet beskrivs här.
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);
}
}
Eftersom vi kommer att ändra kamerans bakgrundsfärg får vi först kamerakomponenten.
Om du bifogar ett skript till kameraobjektet i förväg eller har en kamera som ett fält blir koden lite kortare, men
gameObject
Den här gången söker jag och hänvisar till det från länkat scene
till.
All kod som så småningom kan få kamerakomponenten är bra.
Camera
När du har komponenten anger backgroundColor
Color
du egenskapen för att bestämma färgen.
Color
Du kan ställa in konstruktorn till valfritt tal eller ange fördefinierade red
och blue
.
Kontroll av drift
Prova att köra den och se om den ändrar färg.