ugui Image 控件多边形碰撞检测
2015-12-15 20:12
561 查看
public class MyImage : Image { public PolygonCollider2D polyCollider; protected override void Awake() { this.polyCollider = this.GetComponent<PolygonCollider2D>(); ADebug.Assert(this.polyCollider != null); } public override bool IsRaycastLocationValid(Vector2 sp, Camera eventCamera) { Vector3 world = eventCamera.ScreenToWorldPoint(new Vector3(sp.x, sp.y, 0)); return this.polyCollider.bounds.Contains(world); } }
首先,继承Image控件。
需要在父类GameObject上添加PolyCollider2D组件。
可利用PoyCollider2D组件编辑任意多边形。
然后,重写IsRaycastLocationValid方法。
此方法会在图片的矩形区域的事件上回调。
转换屏幕坐标到世界坐标,利用collider的Contains方法判断触摸点是否在矩形区域内即可。
相关文章推荐
- SGU 506.Subsequences Of Substrings
- UI06_UIScrollView
- NSNumber 、 NSValue 、 日期处理 、 集合类 、 NSArray(一)
- UIButton UIEdgeInsets属性改变原有的imageview和titellabel位置,使其变成上下结构
- UI06-scrollView 滚动视图 pagecontroll 页面控制
- UI05-手势用图片做实验
- js中的break ,continue, return (转)
- UI03-viewController 视图跳转:
- UI02-textfiled.按钮 uibutton
- UI01-UIview UIlable的属性
- UIBarButton 图片显示不正常解决方案
- Webdriver UI自动化测试自动装配测试用例所需的数据对象
- 改造百度UMeditor(UEditor-min)富文本编辑器的图片上传功能
- UICollectionView基础
- POJ 2533-Longest Ordered Subsequence(DP)
- IOS开发之UI篇—UISwitch(开关按钮)
- mySQL中删除一个表中的某字段的unique key的语法
- UICollectionView--使用系统UICollectionViewFlowLayout布局类
- iOS流布局UICollectionView系列四——自定义FlowLayout进行瀑布流布局
- zoj 2432 && hdoj 1423 Greatest Common Increasing Subsequence 【打印LCIS】