gpt4 book ai didi

c# - GameObject在Unity中消失后不出现

转载 作者:太空宇宙 更新时间:2023-11-03 20:56:35 25 4
gpt4 key购买 nike

我是 Unity 和 C# 的初学者。我尝试构建一个基本游戏,当按下一个键时,游戏对象在场景中的存在会被切换。当我按下“Space”时,GameObject 确实消失了,但当我再次按下同一个键时,它再也不会出现。以下是代码。

    using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class NewBehaviourScript : MonoBehaviour {
private GameObject aj;
private bool flag = true;

void Start () {
aj = GameObject.FindGameObjectWithTag("robo");
}

void Update () {
if (Input.GetKey(KeyCode.Space))
{
flag = !flag;
aj.SetActive(flag);
}
}
}

请告诉我错误在哪里。

最佳答案

将此作为答案发布给 future 的观众:

游戏对象没有重新出现的主要原因是当您关闭该对象时,附加到它的脚本也会被禁用。为了解决这个问题,您必须在不同的对象上使用脚本来禁用它。我通常使用一个管理器对象,它只是一个带有脚本的空游戏对象。

您的代码中的第二个问题是您在更新中使用 if(Input.GetKey(KeyCode.Space)) ,这将尝试在每一帧更改它。将其更改为 if(Input.GetKeyDown(KeyCode.Space)) 以使其仅在按下的第一帧上为真。

关于c# - GameObject在Unity中消失后不出现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49884583/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com