所以我应该尝试在2D c#中捕捉一个对象游戏,在那里我想用我的玩家对象捕捉落下的物体。所以我所做的是创建一个空游戏对象并添加一个脚本,它可以产生一个下降的对象,问题是我不知道如何在每2-3秒左右在一个随机的地方产生它。
所以这是我的代码和游戏视图。
public class spawnball : MonoBehaviour {
public GameObject ballprefab;
GameObject ballclone;
// Use this for initialization
void Start () {
}
// Update is called once per frame
void Update () {
if (Input.GetMouseButtonDown(0)) {
spawn ();
Destroy (ballclone,3);
}
}
void spawn()
{
ballclone = Instantiate (ballprefab,transform.position,Quaternion.identity)as GameObject;
}
}
在我希望它随机产生的行上方
答案 0 :(得分:2)
到目前为止,您已经掌握了基本想法。
第一步是开始使用Time.deltaTime
,这样你就可以计算出自我们上次产生球以来的时间。
一个例子是:
private timeSinceLastDrop: float;
private dropInterval: float = 3f;
void Update(){
// have we surpassed our interval?
if(timeSinceLastDrop >= dropInterval){
this.spawn();
timeSinceLastDrop = 0;
}
else
timeSinceLastDrop += Time.deltaTime;
}
要解决第二个问题,您可以使用Random.Range(min, max)
,然后使用min和max作为可以删除的最外层参数。
例如:
void spawn(){
ballclone = Instantiate(ballprefab,transform.position,Quaternion.identity)as GameObject;
ballclone.transform.position.x += Random.Range(-10f, 10f);
}