限制游戏角色不能移动出屏幕外

限制游戏角色不能移动出屏幕外

……

……

在做游戏的时候。

无论是角色还是敌人。

很多时候。

我们需要让角色敌人在屏幕内,这样玩家才能看得到,玩家体验才会更好。

所以。

就需要对游戏角色的移动进行限制。

 

如上图所示。

在Start里面。

首先是调用了主摄像机,并且用主摄像机,将视口坐标转化为世界坐标。

第一个Vector3,前面两个0,指的是屏幕左下角,而那个61.8f,是指游戏角色距离相机的距离。

用这个方法就可以得到游戏角色所在平面的左下角和右上角对应的世界坐标。

接下来,就可以用这个世界坐标来给移动做限制了。

有一个很好用的方法,如下:

在Update里面。

 

Clamp方法,一共有三个参数。第一个参数是value,第二个参数是最小值,第三个参数是最大值。

举个很简单的例子,假如最小值是0,最大值是100。(如果value是20,就回返回20这个结果;如果value是-10,就会返回0这个结果;如果value是233,就会返回100这个结果)

可以看到,Clamp纯粹就是用来限定value的值的,使得value的值小于最小值的时候返回最小值,大于最大值的时候返回最大值,如果在最大值和最小值之间则返回value。

这样,就可以将角色的位置始终锁定在屏幕范围内。

……

……

你可能感兴趣的:(unity知识记录,c#,unity,游戏引擎)