rb.addforce即使发生冲突也无法响应

时间:2018-09-04 04:26:34

标签: c# unity3d

你好吗? 我正在研究一种简单的击退机制,如果我的角色与“敌人”这个名字发生冲突,则被称为(rb)的玩家刚体会强制添加“后退”。

这是我的代码,请参考用星号标记的地方。

公共课Move:MonoBehaviour {

"api 'com.facebook.android:facebook-android-sdk:4.36.0'" 

}

问题出在您所猜中,我的触发器不起作用。 我的健康=健康-20;行有效,但我的rb.addforce无效。

这里可能是什么问题?谢谢:)

修改2#

只需编辑一下并说我已经解决了问题。问题是我的浮动值xD不够高

3 个答案:

答案 0 :(得分:1)

在您编写代码段时,“ rb”不是一个字段,而是“ Start”方法中的一个局部变量。如果您在提到的行中遇到异常,也许是因为这个原因。如果您想让“ rb”成为字段,并且可以在所有类方法周围使用,则需要在类主体中声明它,如下所示:

import java.util.*;
import java.lang.*;
import java.io.*;

class Ideone
{
    public static void main (String[] args) throws java.lang.Exception
    {
        String url = "http://www.google.com".replaceAll("(?i)http(s)://", "");
        System.out.print("url: " + url);
    }
}

如果不是这种情况,请告诉我,并向我们提供有关您的问题的更多信息。

答案 1 :(得分:0)

尝试删除deltaTime:

     rb.AddRelativeForce(Vector3.forward * knockback);

AddRelativeForce的默认ForceModeAddForce,不需要时间缩放。

答案 2 :(得分:0)

我不是专家,但这是我的答案。 您将刚体附加到变换上。...因此将刚体位置更改为等于变换位置... 您在update中调用了两个方法...所以它们将被连续调用....因此您可以使用向上箭头键向前移动变换方向。.但是仅在碰撞进入时才添加力...碰撞进入仅被调用一次,但是连续调用playerwalk方法...这就是为什么无法识别加力的原因。...检查此链接 http://unityweltech.blogspot.com/2018/09/rbforce-is-not-responding.html?m=1