我是一个非常新的unity和编码一般,我试图在unity创建一个按钮,最终在我的游戏中打开一扇门,但我immediatle运行到一个问题,当我碰撞的按钮,它不切换颜色,我不知道是否有什么地方是我的代码或我的设置在unity的问题。
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Button : MonoBehaviour
{
[SerializeField]
GameObject switchOn;
[SerializeField]
GameObject switchOff;
public bool isOn = false;
void Start ()
{
gameObject.GetComponent<SpriteRenderer>().sprite = switchOff.GetComponent<SpriteRenderer>().sprite;
}
void OnTriggerEnter2D(Collider2D col)
{
gameObject.GetComponent<SpriteRenderer>().sprite = switchOn.GetComponent<SpriteRenderer>().sprite;
isOn = true;
}
}
我有2个不同的按钮纹理放在开和关的gameObjects上,一个绿色的和一个红色的,有人知道是否有什么问题的代码。
调试你的碰撞输入中的一行,很可能它没有被调用。确保你的玩家有一个刚体和一个碰撞器,确保你的门有一个碰撞器。同时确保你的玩家碰撞器上有触发器。