Ändra bakgrundsfärgen på en scen

Sidan uppdaterad :
Datum för skapande av sida :

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.