移出相机视图时如何处理精灵?

时间:2014-10-27 21:19:48

标签: unity3d

我正在学习Unity2D并试图通过制作老游戏的克隆来自学,而我的第一个就是Spacewar(1962年游戏)。

我无法解决的问题是设置一个脚本(我认为这是正确的方法),当我的精灵在一个边缘离开相机时,它会出现在相反的边缘,例如,如果你不熟悉当PacMan离开屏幕并出现在对面时,Spacewar将成为PacMan。

我应该如何处理这个问题,因为我的克隆项目列表中还有其他游戏也会共享相同的视图机制。

我觉得我脑子里的逻辑完全在于需要做什么,但同时我对Unity这么新,语法阻止我前进。

这应该基于: 1)在我的边缘碰撞并将其移动到另一侧 要么 2)根据相机边缘进行操作。

我认为它可能与#2类似,因为如果另一台计算机上的屏幕尺寸不同会怎样。

1 个答案:

答案 0 :(得分:0)

我正在寻找的是这个" Mathf.Clamp(transform.position.x,6.0,-6.0)"。这解决了我的问题,从一个边缘离开屏幕,然后再出现在另一个边缘。这只适用于左右边缘。

if(transform.position.x < -6.0 || transform.position.x > 6.0){
    var xPos : float = Mathf.Clamp(transform.position.x, 6.0, -6.0);
    transform.position = Vector2(xPos, transform.position.y);
}