C# 开始游戏时,Unity3D文本对象在inspector中被删除(Gif应该清楚)
所以我想知道为什么会这样。。。Gif应该能说明问题所在C# 开始游戏时,Unity3D文本对象在inspector中被删除(Gif应该清楚),c#,unity3d,C#,Unity3d,所以我想知道为什么会这样。。。Gif应该能说明问题所在 using UnityEngine; using System.Collections; using UnityEngine.UI; public class GrowlitheShieldSpell : MonoBehaviour { public GameObject Shield; public float coolDown = 10; public float coolDownTimer; public float Effec
using UnityEngine;
using System.Collections;
using UnityEngine.UI;
public class GrowlitheShieldSpell : MonoBehaviour {
public GameObject Shield;
public float coolDown = 10;
public float coolDownTimer;
public float EffectcoolDown = 5;
public float EffectcoolDownTimer;
public bool ShieldActive;
GameObject ShieldClone;
public GameObject Growlithe;
public GameObject BuffEffectcoolDowngo;
public Text BuffEffectcoolDownText;
public GameObject ShieldBuffIcon;
void Start(){
ShieldActive = false;
}
void Update () {
if (coolDownTimer < 0) {
coolDownTimer = 0;
}
if (EffectcoolDownTimer < 0) {
EffectcoolDownTimer = 0;
}
if (coolDownTimer > 0) {
coolDownTimer -= Time.deltaTime;
}
if (coolDownTimer == 0){
if (Input.GetKeyDown(KeyCode.Z)){
if (ShieldActive == false){
//when effect starts
ShieldClone = Instantiate(Shield, transform.position, Quaternion.identity)as GameObject;
ShieldClone.SetActive(true);
coolDownTimer = coolDown;
ShieldActive = true;
}}}
//when effect is over
if (EffectcoolDownTimer == 0) {
Shield.SetActive (false);
ShieldActive = false;
EffectcoolDownTimer = EffectcoolDown;
Destroy(ShieldClone);
ShieldBuffIcon.SetActive (false);
}
if (ShieldActive == true) {
EffectcoolDownTimer -= Time.deltaTime;
ShieldClone.transform.position = Growlithe.transform.position;
BuffEffectcoolDownText.text = EffectcoolDownTimer.ToString();
ShieldBuffIcon.SetActive (true);
}
}
}
使用UnityEngine;
使用系统集合;
使用UnityEngine.UI;
公共阶层成长儿童咒语:单一行为{
公共游戏对象屏蔽;
公共浮子冷却时间=10;
公共浮动冷却定时器;
公共浮动效应冷却时间=5;
公共浮动冷却定时器;
公共场所屏蔽;
配子体屏蔽克隆;
公共游戏对象增长率;
公共游戏对象BuffEffectcoolDowngo;
公共文本和冷却文本;
公共游戏对象屏蔽图标;
void Start(){
ShieldActive=false;
}
无效更新(){
if(冷却定时器<0){
冷却计时器=0;
}
if(有效冷却定时器<0){
EffectcoolDownTimer=0;
}
如果(冷却计时器>0){
冷却计时器-=Time.deltaTime;
}
如果(冷却计时器==0){
if(Input.GetKeyDown(KeyCode.Z)){
如果(ShieldActive==false){
//效果何时开始
ShieldClone=实例化(盾牌,transform.position,Quaternion.identity)为游戏对象;
ShieldClone.SetActive(true);
冷却定时器=冷却时间;
ShieldActive=true;
}}}
//效果结束时
if(EffectcoolDownTimer==0){
Shield.SetActive(假);
ShieldActive=false;
效应冷却定时器=效应冷却;
破坏(屏蔽克隆);
ShieldBuffIcon.SetActive(假);
}
如果(ShieldActive==真){
EffectcoolDownTimer-=Time.deltaTime;
ShieldClone.transform.position=Growlithe.transform.position;
BuffEffectcoolDownText.text=EffectcoolDownTimer.ToString();
ShieldBuffIcon.SetActive(真);
}
}
}
我希望鳕鱼能让它更清楚。。。它只是非常奇怪的对象被删除,而我从来没有要求它在脚本中以任何方式。有什么帮助吗?猜猜有什么可以让事情更清楚?代码为什么会出现“引用脚本丢失”错误?文本对象是否有可能丢失对文本脚本的引用?问题可能是因为这个。猜猜看,什么应该更清楚?代码为什么会出现“引用脚本丢失”错误?文本对象是否有可能丢失对文本脚本的引用?问题可能就在于此。