Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/unity3d/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 统一二维字符不同方向打击对象_C#_Unity3d_Character_Collision Detection - Fatal编程技术网

C# 统一二维字符不同方向打击对象

C# 统一二维字符不同方向打击对象,c#,unity3d,character,collision-detection,C#,Unity3d,Character,Collision Detection,嗨,伙计们,我想问一下,当我的角色击中物体时,如何设置不同方向的.addforce。我的角色是左右踢,我希望物体以不同的力量向不同的方向移动。我希望我的角色在运行时不要撞到物体 这是我的警队代码 Public void Sipa() { if (canSipa == true) { _pitcha.GetComponent<Rigidbody2D>().AddForce(new Vector2(1000, 5000)); //_pi

嗨,伙计们,我想问一下,当我的角色击中物体时,如何设置不同方向的.addforce。我的角色是左右踢,我希望物体以不同的力量向不同的方向移动。我希望我的角色在运行时不要撞到物体

这是我的警队代码

    Public void Sipa()
{
   if (canSipa == true)
  {
        _pitcha.GetComponent<Rigidbody2D>().AddForce(new Vector2(1000, 5000));
        //_pitcha.GetComponent<Rigidbody2D>().AddForce(transform.right * kickForce);
    }
 }
Public void Sipa()
{
如果(canSipa==真)
{
_pitcha.GetComponent().AddForce(新矢量2(10005000));
//_pitcha.GetComponent().AddForce(transform.right*kickForce);
}
}

首先,Public不存在,请尝试
Public
。Unity具有您可以覆盖的功能,在这种情况下,请尝试使用以下功能:

void OnCollisionEnter2D(Collision2D col) {
    if(col.gameObject.tag == "Tag of object that is expected to collide") {
        _pitcha.GetComponent<Rigidbody2D>().AddForce(new Vector2(1000, 5000));
    }
}
无效OnCollisionInter2D(Collision2D列){
if(col.gameObject.tag==“预期碰撞的对象的标记”){
_pitcha.GetComponent().AddForce(新矢量2(10005000));
}
}

我会试试,如果成功我会评论。仍然没有效果,当我踢
void oncollisioninter2d(Collision2D col){if(col.gameObject.tag==“_player”){u pitcha.GetComponent().AddForce(new Vector2(10005000))}
您能检查一下它是否有效吗?一个常见的错误是忘记了两个物体上的刚体。你有没有可能检查我的项目?因为我的角色和对象都有我的刚体,我使用框碰撞器作为角色的脚,使用圆碰撞器作为角色的脚object@Mavvvv在图片中,您将对撞机设置在播放器上作为触发器。您必须改用
OnTriggerEnter2D