Alterar a cor de fundo de uma cena
Ambiente de verificação
- Windows
-
- Janelas 11
- Unity Editor
-
- 25.3.2020F1
- Pacote do sistema de entrada
-
- 1.2.0
Pré-requisitos para esta dica
As configurações a seguir foram feitas com antecedência como premissa para a descrição desta dica.
Sobre as cores de fundo da cena
A cor de fundo de uma cena em Unity não pertence à cena, mas é a configuração da câmera.
Se você selecionar Da hierarquia, a cor do plano de Main Camera
fundo será exibida ao mesmo tempo que a visualização da câmera.
Sobre a alteração da cor do plano de fundo
O componente Câmera tem um "plano de fundo" a partir do qual você pode alterá-lo.
Alterar a cor do plano de fundo programaticamente
Depois de clicar no botão, mova o programa e tente alterar a cor de fundo. Consulte as Dicas de botão para saber como mover o processo de clique no botão. Apenas o programa é descrito aqui.
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);
}
}
Uma vez que vamos mudar a cor de fundo da câmera, vamos primeiro obter o componente da câmera.
Se você anexar um script ao objeto da câmera de antemão ou tiver uma câmera como um campo, o código será um pouco mais curto, mas
gameObject
Desta vez, estou pesquisando e me referindo a ele a partir de link. scene
Qualquer código que possa eventualmente obter o componente da câmera é bom.
Camera
Depois de ter o componente, defina backgroundColor
a propriedade para determinar a Color
cor.
Color
Você pode definir o construtor para qualquer número ou definir o predefinido red
e blue
.
Verificação de operação
Tente executá-lo e ver se ele muda de cor.