网站公告 | 泰斗网校全新上线了,可以和论坛用户登录同步,如果遇到登录问题联系管理员解决
查看: 8361|回复: 12
收起左侧

[Unity3d] 关于触发器的一些疑问

[复制链接]

[Unity3d] 关于触发器的一些疑问[复制链接]

Leo21 发表于 2018-1-21 23:39:15 [显示全部楼层] 回帖奖励 |倒序浏览 |阅读模式 回复:  12 浏览:  8361
10泰斗币

我想问问如果在以下代码的情况下
主角离开了有着该脚本的障碍 到下一个同样有着该脚本的障碍
enterBox是否依然为Flase?为什么?


[C#] 纯文本查看 复制代码
    private void OnTriggerEnter(Collider other)
    {
        if (other.GetComponent<Player>() != null)
        {
            enterBox = true;
        }
    }



    private void OnTriggerExit(Collider other)
    {
        if (other.GetComponent<Player>() != null)
        {
            enterBox = false;
        }
    }

+1
8365°C
12
  • 泰课_robin
  • 泰课_robin
  • Leo21
  • 泰课_robin
  • 星陨尘心_clw
过: 他们
因分享而快乐,学习以自强!
泰课_robin 发表于 2018-1-22 19:11:57 显示全部楼层
离开时的判断应该判断如果enterbox为true就执行为false
来自苹果客户端来自苹果客户端
因分享而快乐,学习以自强!
泰课_robin 发表于 2018-1-22 19:12:36 显示全部楼层
只要确认下离开的事件触发了就OK
来自苹果客户端来自苹果客户端
因分享而快乐,学习以自强!
Leo21
 楼主|
发表于 2018-1-22 21:06:57 显示全部楼层
泰课_robin 发表于 2018-1-22 19:12
只要确认下离开的事件触发了就OK

离开事件是触发了 但是到了下一个挂有同样脚本的障碍物    还是enterBox=false    onTriggerEnter()的函数执行不了
因分享而快乐,学习以自强!
泰课_robin 发表于 2018-1-23 23:53:26 显示全部楼层
Leo21 发表于 2018-1-22 21:06
离开事件是触发了 但是到了下一个挂有同样脚本的障碍物    还是enterBox=false    onTriggerEnter()的函 ...

就是到了下一个Enter事件不再触发了。你就得找到是所有别的不再触发,还是某些不再触发。
因分享而快乐,学习以自强!
星陨尘心_clw 发表于 2018-1-30 17:22:42 显示全部楼层
每一个障碍物都挂了这段脚本?
因分享而快乐,学习以自强!
心碎梦思迁 发表于 2018-2-6 18:00:05 显示全部楼层
因分享而快乐,学习以自强!
心碎梦思迁 发表于 2018-2-6 18:00:56 显示全部楼层
因分享而快乐,学习以自强!
nifh80s 发表于 2018-2-24 13:36:52 显示全部楼层
要理解脚本挂到一个障碍物上,脚本实例是专属于这个障碍物的,不同的障碍物有不同的脚本实例。理解了,再来看enterBox,如果是非静态成员变量,不同的障碍物有自己的enterBox,不会相互影响的。但按你的这个命名,enterBox估计是表示主角的状态,因此这个必须是静态的,但这样处理起来有点费劲,也不好理解,触发器有重叠的时候,容易出现判断错误。
因分享而快乐,学习以自强!
hlq0405 发表于 2018-3-7 11:07:13 显示全部楼层
确认下离开的事件
因分享而快乐,学习以自强!
ahui5252 发表于 2018-4-13 11:43:17 显示全部楼层
额,初学看着貌似没啥问题,
因分享而快乐,学习以自强!
itsxwz 发表于 2018-5-12 16:17:53 显示全部楼层
取决于你给enterBox的初始值,默认false。
因分享而快乐,学习以自强!
Momochi 发表于 2018-7-27 15:33:48 显示全部楼层
离开时的判断应该判断如果enterbox为true就执行为false
因分享而快乐,学习以自强!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

VR/AR版块|Unity3d|Unreal4|新手报道|小黑屋|站点地图|沪ICP备14023207号-9|【泰斗社区】-专注互联网游戏和应用的开发者平台 ( 浙ICP 备 13006852号-15 )|网站地图

© 2001-2013 Comsenz Inc.  Powered by Discuz! X3.4

1
QQ