De achtergrondkleur van een scène wijzigen

Pagina bijgewerkt :
Aanmaakdatum van pagina :

Verificatieomgeving

Ramen
  • Voor Windows 11
Unity Editor
  • 2020.3.25f1
Input systeem pakket
  • 1.2.0

Vereisten voor deze tip

De volgende instellingen zijn vooraf gemaakt als uitgangspunt voor de beschrijving van deze tip.

Informatie over achtergrondkleuren van scènes

De achtergrondkleur van een scène in Unity is geen eigendom van de scène, maar is de camera-instelling. Als u Uit Main Camera de hiërarchie selecteert, wordt de achtergrondkleur tegelijk met het cameravoorbeeld weergegeven.

De achtergrondkleur wijzigen

De cameracomponent heeft een "achtergrond" van waaruit u deze kunt wijzigen.

De achtergrondkleur programmatisch wijzigen

Nadat u op de knop hebt geklikt, verplaatst u het programma en probeert u de achtergrondkleur te wijzigen. Zie de knoptips voor het verplaatsen van het klikproces op de knop. Alleen het programma wordt hier beschreven.

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);
  }
}

Omdat we de achtergrondkleur van de camera gaan veranderen, krijgen we eerst de cameracomponent. Als je vooraf een script aan het cameraobject bevestigt of een camera als veld hebt, zal de code iets korter zijn, maar gameObject Deze keer ben ik aan het zoeken en verwijs ik ernaar van gekoppeld scene aan. Elke code die uiteindelijk de cameracomponent kan krijgen, is prima.

Camera Zodra u de component hebt, stelt u de eigenschap in backgroundColor om de Color kleur te bepalen. Color U kunt de constructor instellen op een willekeurig getal of de vooraf gedefinieerde red en blue .

Controle van de werking

Probeer het uit te voeren en kijk of het van kleur verandert.