查看: 487|回复: 0
打印 上一主题 下一主题

[其他] 鼠标拾取代码总结

[复制链接]

2722

主题

42

听众

3万

积分

资深设计师

Rank: 7Rank: 7Rank: 7

纳金币
38266
精华
111

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

跳转到指定楼层
楼主
发表于 2015-2-28 23:33:03 |只看该作者 |倒序浏览

关于鼠标拾取代码,点击物体可显示所点击物体名称
将下面的javascript代码挂在任何一个对象上面均可以实现,当鼠标点击时打印鼠标所点击的对象的名称
  1. function Update ()

  2. {

  3. if (Input.GetMouseButton (0))

  4. {

  5. var ray = Camera.main.ScreenPointToRay (Input.mousePosition);

  6. var hit : RaycastHit;

  7. if (Physics.Raycast (ray, hit))

  8. {

  9. Debug.DrawLine (ray.origin, hit.point);

  10. print(hit.collider.gameObject.name);

  11. }

  12. }

  13. }

  14. ************************************************************************

  15. c#代码会有些不同

  16. 转换成c#代码如下

  17. 首先定义 public  RaycastHit hit;

  18. if (Input.GetMouseButton (0))

  19. {

  20. Ray ray = Camera.main.ScreenPointToRay (Input.mousePosition);

  21. ****************************************************************

  22. Assets/scripts/SelectTarget.cs(26,21): error CS1502: The best overloaded method match for `UnityEngine.Physics.Raycast(UnityEngine.Ray, out UnityEngine.RaycastHit)' has some invalid arguments

  23. Assets/scripts/SelectTarget.cs(26,21): error CS1620: Argument `#2' is missing `out' modifier

  24. ****************************************************************

  25. if (Physics.Raycast (ray, out hit))   //注意这个地方与javascript不同,需要加OUT不然会报错,错误如******之间的提示

  26. {

  27. Debug.DrawLine (ray.origin, hit.point);

  28. }

  29. if(hit.collider.gameObject.name==“所要点击的物体名称”)

  30. {

  31. Debug.Log(“选中了”+hit.collider.gameObject.name);

  32. // *************执行什么操作代码放这即可

  33. *************************比如让选中的物体颜色变为红色

  34. GameObject  b = Gameobject.Find(hit.collider.gameObject.name);

  35. b.renderer.material.color = Color.red; //比如将颜色变为红色

  36. }

  37. }
复制代码
分享到: QQ好友和群QQ好友和群 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
转播转播0 分享淘帖0 收藏收藏0 支持支持0 反对反对0
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

关闭

站长推荐上一条 /1 下一条

手机版|纳金网 ( 闽ICP备08008928号

GMT+8, 2024-5-15 00:50 , Processed in 0.078278 second(s), 29 queries .

Powered by Discuz!-创意设计 X2.5

© 2008-2019 Narkii Inc.

回顶部