AutoCAD 3DMAX C语言 Pro/E UG JAVA编程 PHP编程 Maya动画 Matlab应用 Android
Photoshop Word Excel flash VB编程 VC编程 Coreldraw SolidWorks A Designer Unity3D
 首页 > Unity3D

Unity 2D动画如何检测tap?

51自学网 2014-05-24 http://www.51zixue.net

本文选自StackOverflow(简称:SOF)精选问答汇总系列文章之一,本系列文章将为读者分享国外最优质的精彩问与答,供读者学习和了解国外最新技术,本文讲Unity 2D动画如何检测tap。
 

问题:
 
user3386461
 
我的场景中有着2D动画。当使用OnMouseDown函数检测轻击(tap)或者单击动画时,没有效果,但是使用下面的代码就起作用了:

 

 

1

Input.GetMouseButtonDown(0)

虽然起作用,但是它检测的是整个窗口的tap,如果输出到onject名字,例如

 

 

1

Debug.log(this.name);

它输出动画精灵的名字。我想要只检测动画精灵的tap,请帮帮我。

答案:
 
Esa
 
你需要使用 Raycasting 来检测它。 从输入位置投放一个2D射线下来,检测它是否碰撞到了什么东西。 相关信息.

 

 

123456789

if (Input.GetMouseButtonDown(0)){    var hit : RaycastHit2D = Physics2D.Raycast(cam.ScreenToWorldPoint(Input.mousePosition), Vector2.zero);     if(hit != null)    {        Debug.Log("object clicked: "+hit.collider.tag);    }}

原文链接:how to detect tap on a 2d animation on unity3d
 


文章选自StackOverFlow社区,鉴于其内容对于开发者有所帮助,现将文章翻译于此,供大家参考及学习。9Tech将每日持续更新,读者可点击StackOverflow(简称:SOF)精选问答汇总,查看全部译文内容。同时,我们也招募志同道合的技术朋友共同翻译,造福大家!


 


建议使用电驴(eMule)下载分享的资源。

说明
:本教程来源互联网或网友分享或出版商宣传分享,仅为学习研究或媒体推广,51zixue.net不保证资料的完整性。
 
上一篇:Unity添加自定义拓展方法  下一篇:Unity3D游戏开发:小地图的实现