2017-06-20 112 views
0

通常在任何新的引擎中,我会尝试使用简单的图形(通常是正方形/矩形)制作一个自顶向下的僵尸射击游戏,这就是我目前在Unity中所要做的。产生僵尸在Unity的摄像机边界外

我得在那里我有一点:

  • 射击
  • 僵尸是产卵,走向球员
  • (并通过WASD /方向键和鼠标 控制)的玩家
  • 僵尸可以杀死(一旦所有的僵尸都死了,另一个 波产卵)

但是,目前看来,我的方式来使用它们SP使他们离玩家太远。我使用正交相机。

代码:

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++; 
      } 
     } 
    } 
} 

回答

3

如果你希望他们产卵僵尸外面摄像机视图不乘正投影尺寸。

float height = cam.orthographicSize; // now zombies spawn od camera view border 
float height = cam.orthographicSize + 1 // now they spawn just outside 

It'a一个小的变化,但你也可以设置宽度为:

float width = cam.orthographicSize * cam.aspect + 1; 

尝试产卵另一波的时候,还剩下一个僵尸,看看游戏起搏已经改变;)