【发布时间】:2021-01-06 02:25:08
【问题描述】:
这是我的代码,我很新,不知道我需要更改什么。我试图每隔一段时间生成一把刀,这样我的玩家就可以捡起它们,并能够在捡起一把刀后互相刺伤 3 秒。我可以让刀子生成,但我可以让刀子生成多次,而且我绝对无法控制刀子生成的频率。如果有人可以查看我的代码并弄清楚我需要什么加我会很感激。
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class KnifeSpawns : MonoBehaviour
{
public GameObject Knifeprefab;
public Vector3 center;
public Vector3 size;
// Start is called before the first frame update
void Start()
{
SpawnKnife();
}
// Update is called once per frame
void Update()
{
}
public void SpawnKnife()
{
Vector3 pos = center + new Vector3(Random.Range(-size.x/2, size.x/2),Random.Range(-size.z / 2,
size.z / 2),Random.Range(-size.y/1,size.y/1));
Instantiate(Knifeprefab, pos, Quaternion.identity);
}
void OnDrawGizmosSelected()
{
Gizmos.color = new Color(1, 0, 0, 0.5f);
Gizmos.DrawCube(center, size);
}
}
【问题讨论】:
-
此问题与 Visual Studio 应用程序无关,因此我已为您删除了该标签。请务必在使用标签之前阅读标签说明,以免无意中滥用它们(或更糟糕的是:提供有关您的问题的误导性信息)。
-
查看您的代码,您只是在
Start()方法中产生了一把刀,这意味着SpawnKnife()只会被调用一次。您需要使用Update()制定某种计时机制,以便在设定的间隔内生成刀具。