Unity3d笔记:如何实现不规则多边形按钮
2015-09-10 23:58
417 查看
很多时候我们游戏里的按钮或者是其他的控件的形状是不规则的,
但是默认的点击判定是这个图片的包围盒,
这就导致了我们在点击按钮的透明像素的时候按钮一样会响应,非常讨厌!
解决的方法不只一个,网上很多教程用的是,射线检测,再复杂点的是像素级检测。
今天我在看Unity API的时候,发现了一个非常简单的方法,而且非常好用
就是使用Polygon Collider2D和OnMouseDown()
先为你的按钮加一个PolygonCollider2D,然后再添加脚本,
除了OnMouseDown之外,还有OnMouseEnter, OnMouseDrag和OnMouseExit,最后感叹一下Unity做的真是太好了。
不知道Cocos2d也有没有更简单的解决方案。
但是默认的点击判定是这个图片的包围盒,
这就导致了我们在点击按钮的透明像素的时候按钮一样会响应,非常讨厌!
解决的方法不只一个,网上很多教程用的是,射线检测,再复杂点的是像素级检测。
今天我在看Unity API的时候,发现了一个非常简单的方法,而且非常好用
就是使用Polygon Collider2D和OnMouseDown()
先为你的按钮加一个PolygonCollider2D,然后再添加脚本,
using UnityEngine; using System.Collections; public class ExampleClass : MonoBehaviour{ void OnMouseDown() { Debug.Log("Touched!"); } }
除了OnMouseDown之外,还有OnMouseEnter, OnMouseDrag和OnMouseExit,最后感叹一下Unity做的真是太好了。
不知道Cocos2d也有没有更简单的解决方案。
相关文章推荐
- unity3d 扩展NGUI Tweener —— TweenFillAmount
- Unity——MVC(很不错的解释应用)
- unity3d+sharesdk【ios篇】
- Unity3D占用内存太大的解决方法
- Unity3D开发之IOS的内扣费IAP开发
- unity 引用 移动mm 支付sdk
- Unity 游戏开发技巧集锦之创建自发光材质
- [Unity3D]Unity3D游戏开发Android内嵌视图Unity查看
- Microsoft实现的IOC DI之 Unity 、Service Locator、MEF
- 在Unity3D中动态创建对象和创建Prefab原型对象的三种方式
- unity3D中使用协程来做“多次调用一次更新”特性的一个大坑
- Unity3D显示中文的各种方案的比较
- 【Unity游戏开发之八】Unity利用语法糖添加自定义拓展方法(下)
- 【Unity游戏开发之七】Unity利用语法糖添加自定义拓展方法(上)
- Unity平滑相机跟随
- unity实例化预设
- Unity延迟执行一段代码的较为优雅的方式
- Unity-Shader Sublime 自制shader提示插件
- 【unity插件】Tiled2Unity-非常方便的将Tiled导入到unity3d
- 孙陪你,了解它的力量——unity3d流程暂停