C# 统一切换颜色的按钮
一般来说,我对unity和编码非常陌生,我试图在unity中创建一个按钮,最终在我的游戏中打开一扇门,但我立即遇到了一个问题,当我与按钮碰撞时,它不会切换颜色,我不确定我的代码或unity中的设置是否有问题C# 统一切换颜色的按钮,c#,unity3d,C#,Unity3d,一般来说,我对unity和编码非常陌生,我试图在unity中创建一个按钮,最终在我的游戏中打开一扇门,但我立即遇到了一个问题,当我与按钮碰撞时,它不会切换颜色,我不确定我的代码或unity中的设置是否有问题 using System.Collections; using System.Collections.Generic; using UnityEngine; public class Button : MonoBehaviour { [SerializeField] Gam
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;
}
}
使用系统集合;
使用System.Collections.Generic;
使用UnityEngine;
公共类按钮:MonoBehavior
{
[序列化字段]
游戏对象切换;
[序列化字段]
游戏对象关闭;
公共bool=false;
无效开始()
{
gameObject.GetComponent().sprite=关闭.GetComponent().sprite;
}
无效OnTriggerEnter2D(碰撞的R2D列)
{
gameObject.GetComponent().sprite=switch.GetComponent().sprite;
isOn=真;
}
}
我有两种不同的按钮纹理放在游戏对象的开关上,一种是绿色的,一种是红色的,有人知道代码是否有问题吗。确保你的玩家有一个刚体和一个碰撞器,确保你的门有一个碰撞器。还要确保在玩家对撞机上检查了触发器