- 最后登录
- 2014-5-7
- 注册时间
- 2013-7-12
- 阅读权限
- 90
- 积分
- 11615
- 纳金币
- 454
- 精华
- 31
|
目前网上都是两种方法:
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;
后来我用图片的实际宽长做计算(图片不经缩放的长宽),结果却是正确的。对此问题实在很困惑,期望能帮忙解答一下。
|
|