通常在任何新引擎中我都尝试使用简单的图形(通常是正方形/矩形)制作一个自上而下的僵尸射击游戏,这就是我目前在Unity中尝试做的事情。
我已达到我的目的:
但是,目前,似乎我产生它们的方式产生的方式离玩家太远。我使用的是正交相机。
代码:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class ZombieSpawner : MonoBehaviour {
private int waveNumber = 0;
public int enemiesAmount = 0;
public GameObject zombie;
public Camera cam;
// Use this for initialization
void Start () {
cam = Camera.main;
enemiesAmount = 0;
}
// Update is called once per frame
void Update () {
float height = 2f * cam.orthographicSize;
float width = height * cam.aspect;
if (enemiesAmount==0) {
waveNumber++;
for (int i = 0; i < waveNumber; i++) {
Instantiate(zombie, new Vector3(cam.transform.position.x + Random.Range(-width, width),3,cam.transform.position.z+height+Random.Range(10,30)),Quaternion.identity);
enemiesAmount++;
}
}
}
}
答案 0 :(得分:3)
如果你想让它们在摄像机视图之外产生僵尸,请不要增加正交尺寸。
float height = cam.orthographicSize; // now zombies spawn od camera view border
float height = cam.orthographicSize + 1 // now they spawn just outside
这是一个很小的变化,但您也可以将宽度设置为:
float width = cam.orthographicSize * cam.aspect + 1;
当剩下一个僵尸时,尝试生成另一个wave并查看游戏节奏的变化情况;)