C# 统一二维字符不同方向打击对象
嗨,伙计们,我想问一下,当我的角色击中物体时,如何设置不同方向的.addforce。我的角色是左右踢,我希望物体以不同的力量向不同的方向移动。我希望我的角色在运行时不要撞到物体 这是我的警队代码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
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
。