c# - Unity 2D:碰撞触发器
问题描述
所以在这里,am making a game for my thesis. The game is called hacky sack, I
当我的触发器为真时我遇到了一个问题,因为我的角色和对象的碰撞正在通过,如果我没有触发器,即使我的播放器正在运行,它也只是基本上击中它。
你们能帮我看看物体/麻袋在撞击时是如何随机上升的吗?所以这是我的代码:
public void Sipa()
{
if (canSipa == true)
{
_pitcha.GetComponent<Rigidbody2D>().AddForce(new Vector2(-400, 1000));
}
}
}
这是我的目标
private void OnTriggerEnter2D(Collider2D collision)
{
if(collision.gameObject.tag == "Player")
{
_player.GetComponent<PlayerManager>().canSipa = true;
}
}
private void OnTriggerExit2D(Collider2D collision)
{
if (collision.gameObject.tag == "Player")
{
_player.GetComponent<PlayerManager>().canSipa = false ;
}
}
}
解决方案
添加第二个collider
,比第一个稍大,标记它trigger
。将较小的内部留给collider
物理。你的“脚”应该进入trigger
并激活它,然后与内部碰撞collider
。确保collider
标记trigger
的是较大的。
推荐阅读
- html - 使用 mat-tab 将水平选项卡转换为垂直选项卡
- google-sheets - 如何从 =importdata 脚本中删除每小时更新?
- python - 当我使用 shutil.move() 时,它会删除一个文件夹
- php - 购物车中的产品小计未正确更新
- xml - 匹配可能是根的节点
- bash - 在 while 循环中使用 read 命令并运行 awk 脚本
- python - 使用 PySimpleGUI 显示图像而无需使用事件侦听器
- html - 如何修复导航菜单栏的背景颜色?
- wpf - 如何在 XAML 中使用 CellsPanelHorizontalOffset?
- python - 使用 while 循环在 Tkinter GUI 中无法正确显示图像