C# 统一:用按键打开一个接一个的游戏对象
我有7个或更多的游戏对象。我只想一个接一个地运行游戏对象。从游戏对象0-->游戏对象1-->游戏对象2开始。此时,每次按下空格时,我的脚本都会激活一个新对象,而旧对象不会被停用 谢谢你的帮助C# 统一:用按键打开一个接一个的游戏对象,c#,unity3d,C#,Unity3d,我有7个或更多的游戏对象。我只想一个接一个地运行游戏对象。从游戏对象0-->游戏对象1-->游戏对象2开始。此时,每次按下空格时,我的脚本都会激活一个新对象,而旧对象不会被停用 谢谢你的帮助 using UnityEngine; using System.Collections; using System.Collections.Generic; public class ToggleTest : MonoBehaviour { public GameObject[] objects;
using UnityEngine;
using System.Collections;
using System.Collections.Generic;
public class ToggleTest : MonoBehaviour
{
public GameObject[] objects;
public int objCount = 0;
void Update()
{
if (Input.GetKeyDown(KeyCode.Space))
{
objCount += 1;
objects[objCount].SetActive(true);
}
}
}
如果我正确理解您的问题,请尝试以下方法:
using UnityEngine;
using System.Collections;
using System.Collections.Generic;
public class ToggleTest : MonoBehaviour
{
public GameObject[] objects;
public int objCount = 0;
private float smallDelay = 0.1f;
void Update()
{
if (Input.GetKeyDown(KeyCode.Space) && smallDelay <= 0)
{
objCount += 1;
objects[objCount].SetActive(true);
objects[objCount-1].SetActive(false); // this is only if you want to deactivate the previous object.
smallDelay = 0.1f;
}
smallDelay -= Time.DeltaTime;
}
}
将其添加到if语句或Update()中的其他地方。您所说的“一起玩所有游戏对象”是什么意思?你是说当你第一次按空格键的时候,它们都被激活了吗?每次我按空格键的时候,都会有一个额外的游戏对象被激活。啊,请看,这将是一个很好的信息,可以包含在问题中;)我把问题编辑得更清楚了。毫不拖延,它工作得很好!您知道如何在最后一个游戏对象之后重新启动整个“计数”过程吗。它是否再次以对象0开始?请检查我的帖子上的编辑:否,它在最后一个对象之后仍然停止,并且不会在播放模式下再次开始。还有其他建议吗?@unitybeginner我重新编辑了答案,行吗?@unitybeginner看起来一次只激活一个对象,是不是?考虑重置到开始或结束以逃避,这将是一个问题,考虑。
if (objCount == objects.Length)
{
objCount = 0;
object[objCount].setActive(false);
object[0].setActive(true);
}