纳金网

标题: 2d游戏怎么判断限制物体的移动范围(不超出屏幕) [打印本页]

作者: star-小虎    时间: 2013-10-28 15:39
标题: 2d游戏怎么判断限制物体的移动范围(不超出屏幕)
目前网上都是两种方法:
1.在屏幕周围设置碰撞体,让物体碰到后作出响应
2.(也是我要咨询的问题)利用物体坐标来做判断
现在,我求得物体的缩放宽长(这里指的是GameObjec经过缩放后的宽长数值),利用WorldToScreenPoint求的现在物体的屏幕坐标,然后再来减去缩放宽长来得出图片是否超出屏幕(其实就是以前根据矩形边来检查碰撞了)。
问题来了,利用上面的方法,监测偏差十分大,明显缩放宽长这个数据的计算是有问题的,但看了雨松momo的这边文章确实又是这样计算。
                _meshSize = this.GetComponent<MeshFilter>().mesh.bounds.size;
                _scalX = transform.localScale.x;
                _scalY = transform.localScale.y;
                _screenWide = _meshSize.x * _scalX;
                _screenHight = _meshSize.y * _scalY;
                _screenHalfWide = (_meshSize.x / 2) * _scalX;
                _screenHalfHight = (_meshSize.y / 2) * _scalX;
后来我用图片的实际宽长做计算(图片不经缩放的长宽),结果却是正确的。对此问题实在很困惑,期望能帮忙解答一下。






欢迎光临 纳金网 (http://wwww.narkii.com/club/) Powered by Discuz! X2.5