Unity2D:ForceMode2D.Impulse拖回玩家

时间:2015-11-14 13:28:58

标签: c# 2d

我有一个附加到标记对象的脚本,该脚本会在触发器上推动我的播放器。它工作得很好,但我的播放器(碰撞后)被拖回标记对象并继续弹跳。我怎么能阻止这个。我想要的只是让我的玩家被标记物体推回一小段距离并留在那里。任何人都可以帮我这个吗?

这是我的剧本:

void OnTriggerEnter2D(Collider2D other) 
{
    if (other.tag == "Bouncy object")
        GetComponent<Rigidbody2D>().AddForce(transform.right * 15, ForceMode2D.Impulse);
}

1 个答案:

答案 0 :(得分:0)

尝试在AddForce()方法中使用向量,而不是直接影响转换:

void OnTriggerEnter2D(Collider2D other) 
{
    if (other.tag == "Bouncy object")
        GetComponent<Rigidbody2D>().AddForce(new Vector2(15, 0), ForceMode2D.Impulse);
}