你好吗? 我正在研究一种简单的击退机制,如果我的角色与“敌人”这个名字发生冲突,则被称为(rb)的玩家刚体会强制添加“后退”。
这是我的代码,请参考用星号标记的地方。
公共课Move:MonoBehaviour {
"api 'com.facebook.android:facebook-android-sdk:4.36.0'"
}
问题出在您所猜中,我的触发器不起作用。 我的健康=健康-20;行有效,但我的rb.addforce无效。
这里可能是什么问题?谢谢:)
修改2#
只需编辑一下并说我已经解决了问题。问题是我的浮动值xD不够高
答案 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
的默认ForceMode为AddForce
,不需要时间缩放。
答案 2 :(得分:0)
我不是专家,但这是我的答案。 您将刚体附加到变换上。...因此将刚体位置更改为等于变换位置... 您在update中调用了两个方法...所以它们将被连续调用....因此您可以使用向上箭头键向前移动变换方向。.但是仅在碰撞进入时才添加力...碰撞进入仅被调用一次,但是连续调用playerwalk方法...这就是为什么无法识别加力的原因。...检查此链接 http://unityweltech.blogspot.com/2018/09/rbforce-is-not-responding.html?m=1