如果我在位置1并且击中它,则在延迟10秒之后箭头到达位置3 现在我移动到位置3,当我点击位置3时,位置2生成的箭头应该关闭。
我努力让我的Deactivate上一个功能正常工作但失败了。有人可以帮忙吗?
using UnityEngine;
using System.Collections;
public class GameController : MonoBehaviour {
public int _currentCheckPoint = 0;
public ArrowObjects _arrowObjectInstance;
public float _checkPointWaiTime = 10;
public float _elappsedTime;
public bool GenerateArrow = false;
void Start()
{
_arrowObjectInstance = GetComponent<ArrowObjects> ();
foreach (var item in _arrowObjectInstance._listArrowGameObject) {
item.SetActive (false);
}
}
void Update()
{
if (_currentCheckPoint != 0 && GenerateArrow) {
GenerateArrow = false;
Invoke ("DelayedActive", 10f);
}
print (_currentCheckPoint);
}
void DelayedActive()
{
_arrowObjectInstance._listArrowGameObject [_currentCheckPoint - 1].SetActive (true);
}
void DeactivePrevious()
{
_arrowObjectInstance._listArrowGameObject [_currentCheckPoint - 1].SetActive (false);
}
}
答案 0 :(得分:0)
将更新部分从上面的脚本更改为此。
void Update()
{
if (_currentCheckPoint != 0 && GenerateArrow) {
GenerateArrow = false;
if (_currentCheckPoint > 1) {
_arrowObjectInstance._listArrowGameObject [_currentCheckPoint - 2].SetActive (false);
}
Invoke ("DelayedActive", 10f);
}
并添加了支票