小白困扰着的问题

heheda7918 2017-10-02 10:16:28
private void OnTriggerEnter2D(Collider2D other)
{

if (other.tag == "Exit")
{
Invoke("Restart", restartLevelDelay);
enabled = false;
}
else if (other.tag == "Food")
{
food += pointsPerFood;
other.gameObject.SetActive(false);
}

else if (other.tag == "Soda")
{
food += pointsPerSoda;
other.gameObject.SetActive(false);
}
}



官网教程做下来 始终没搞懂这个other指什么 大佬说下 谢谢
...全文
767 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
两水先木示 2017-11-18
  • 打赏
  • 举报
回复
other 是本身物体的触发器触发到某个物体的碰撞体的时候 ,会把本身物体碰到的物体的信息给other,这个other.tag是碰到的物体的标签,其实更加详细的解释是other=Collider2D这个组件,是获取碰到的物体的Collider2D组件,然后通过这个组件再去获取tag,其实更好的写法应该为:other.gameObject.tag 这样一步一步地获取tag,先获取物体本身,再去获取物体的标签。
随幻 2017-10-12
  • 打赏
  • 举报
回复
就是有个东西A碰到东西B B身上有这个组件 那么A这个东西身上的Collider2D组件就传到了B组件的函数 也就是这里的other 由这个other 能够得到A身上的东西 包括A自身 建议官网教程先不用那么看 照着做也没什么太大的提高 可以看看siki的教程 对于新手来说还是不错的 但是前提你的基础是达到初级
Game_Hacker 2017-10-10
  • 打赏
  • 举报
回复
other就是指进入"当前脚本所挂在的物体的collider触发器范围"的物体的2d碰撞盒boxCollider,一旦有物体进入当前范围,unity会自动调用这个函数,并携带进入的物体的collider2d参数
Smile_0918 2017-10-10
  • 打赏
  • 举报
回复
进入碰撞范围的碰撞体
ogurishun2016 2017-10-09
  • 打赏
  • 举报
回复
other = Collider2D 解释完毕
rexchung1988 2017-10-06
  • 打赏
  • 举报
回复
是指 Collider2D class的 object 另外 OnTriggerEnter2D 是 MonoBehaviour內建Function doc ref https://docs.unity3d.com/ScriptReference/MonoBehaviour.OnTriggerEnter2D.html

2,537

社区成员

发帖
与我相关
我的任务
社区描述
Unity3D相关内容讨论专区
游戏unity 技术论坛(原bbs)
社区管理员
  • Unity3D
  • 芝麻粒儿
  • 「已注销」
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

Unity3D社区公告:

  1. 社区致力于解决各种Unity3D相关的“疑难杂症”。
  2. 社区不允许发布与Unity3D或相关技术无关内容。
  3. 社区版主邀请各位一道为打造优秀社区不懈努力。

试试用AI创作助手写篇文章吧