根据屏幕尺寸选择随机范围进行重新生成

时间:2013-12-31 15:52:11

标签: c# unity3d

我试图在随机点产生目标。当我输入精确值(如(-4,4))时,它可以正常工作,但如果我要在不同的屏幕尺寸上尝试它,它将无济于事。

我试图根据屏幕尺寸定义范围,但这次目标根本没有出现在屏幕上。请告诉我我做错了什么。谢谢。

Vector3 position = new Vector3(Random.Range(-3, 3), Random.Range(-4, 4), 0); //works

Vector3 position = new Vector3(Random.Range(Screen.width/10, (Screen.width/10) * 9), Random.Range(Screen.height/10, (Screen.height/10) * 9), 0); //doesn't work

1 个答案:

答案 0 :(得分:0)

第一行表明您的飞机原点位于(0,0),它是屏幕的中间点。在这种情况下,正确的代码看起来类似于:

Vector3 position = new Vector3(
    Random.Range(-1 * Screen.width/2, Screen.width/2),
    Random.Range(-1 * Screen.height/2, Screen.height/2), 0);