unity 判断物体是否到达屏幕边界
来源:互联网 发布:safari 64位 windows 编辑:程序博客网 时间:2024/05/17 22:30
public float leftBorder; public float rightBorder; public float topBorder; public float downBorder; private float width; private float height; private int count; bool fistTan = false; void Start() { //世界坐标的右上角 因为视口坐标右上角是1,1,点 Vector3 cornerPos = Camera.main.ViewportToWorldPoint(new Vector3(1f, 1f, Mathf.Abs(-Camera.main.transform.position.z)));//世界坐标左边界 leftBorder = Camera.main.transform.position.x - (cornerPos.x - Camera.main.transform.position.x); //世界坐标右边界
rightBorder = cornerPos.x;
//世界坐标上边界 topBorder = cornerPos.y;
//世界坐标下边界 downBorder = Camera.main.transform.position.y - (cornerPos.y - Camera.main.transform.position.y); width = rightBorder - leftBorder; height = topBorder - downBorder; } void Update() {
transform.Translate(new Vector3(0, Time.deltaTime * speed, 0f)); //上 如果物体的Y轴和屏幕Y轴相等那么就是证明到达边界 if (transform.localPosition.y >= topBorder) { transform.position = new Vector3(transform.localPosition.x, topBorder, 0);
//计算物体到达边界之后又按原来角度弹回去 if (transform.eulerAngles.z > 0) { transform.eulerAngles = new Vector3(0, 0, 180 - transform.eulerAngles.z); count++; } } //下 if (transform.localPosition.y <= downBorder) { transform.position = new Vector3(transform.localPosition.x, downBorder, 0); if (transform.eulerAngles.z > 0) { transform.eulerAngles = new Vector3(0, 0, 180 - transform.eulerAngles.z); count++; } } //左 if (transform.localPosition.x <= leftBorder) { transform.position = new Vector3(leftBorder, transform.localPosition.y, 0); if (transform.eulerAngles.z > 0) { transform.eulerAngles = new Vector3(0, 0, -transform.eulerAngles.z); count++; } } //右 if (transform.localPosition.x >= rightBorder) { transform.position = new Vector3(rightBorder, transform.localPosition.y, 0); if (transform.eulerAngles.z > 0) { transform.eulerAngles = new Vector3(0, 0, -transform.eulerAngles.z); count++; } }
阅读全文
0 0
- unity 判断物体是否到达屏幕边界
- Unity判断一个物体是否在屏幕内外
- 【Unity】判断物体是否会被渲染
- 初次使用quick 3.3版本--listview 判断是否到达边界 isItemInViewRect
- View到达顶部及底部边界判断
- unity3d点击屏幕判断是否击中场景中物体
- 低帧速下判断移动物体到达目标位置
- unity基础开发--鼠标移动物体并判断是否移动
- unity中判断渲染物体是否在摄像机内渲染
- Unity判断是否点击到UI、3D物体
- Unity 判断是否点击在3D物体上
- 【Unity】【Camera】判断物体是否在视野范围内
- Unity 物体跟随鼠标点击移动,判断物体是否在移动
- box2d判断物体脱离地图边界
- Unity如何判断游戏对象是否在屏幕内
- 判断滚动条是否到达页面底部
- html判断滚动条是否到达底部
- JS判断是否到达页面底部
- python爬虫备忘
- unity InputField导致安卓摄像头卡顿问题
- 匿名函数
- iOS 九宫格连线手势解锁
- SEO技术问答:网站上线一个月了怎么没收录
- unity 判断物体是否到达屏幕边界
- 【MIUI】MIUI Issues
- jsp九大内置对象及作用域
- Cocos2d-x 2.x 绑定lua并使用tolua++
- XAMPP各个版本配置
- 自定义View之添加自定义属性
- Java设计模式之责任链模式
- Android版本的"Wannacry"文件加密病毒样本分析(附带锁机)
- 如何在 build.gradle 中更整洁,更符合逻辑,更高效的书写代码