Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/362.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
Javascript 如何使用AddForce函数?它赢了';行不通_Javascript_Unity3d_Physics - Fatal编程技术网

Javascript 如何使用AddForce函数?它赢了';行不通

Javascript 如何使用AddForce函数?它赢了';行不通,javascript,unity3d,physics,Javascript,Unity3d,Physics,我不知道为什么精灵不会跳。。。我想使用AddForce()而不是直接改变速度 var特朗普; 函数Start(){ //将刚体指定给变量 特朗普=GetComponent(Rigidbody2D); //可变开关: } 函数FixedUpdate(){ GetComponent.(.velocity.x=Input.GetAxis(“水平”)*10; if(Input.GetKeyDown(KeyCode.UpArrow)){ GetComponent.(.AddForce(向量2(0,10))

我不知道为什么精灵不会跳。。。我想使用AddForce()而不是直接改变速度

var特朗普;
函数Start(){
//将刚体指定给变量
特朗普=GetComponent(Rigidbody2D);
//可变开关:
}
函数FixedUpdate(){
GetComponent.(.velocity.x=Input.GetAxis(“水平”)*10;
if(Input.GetKeyDown(KeyCode.UpArrow)){
GetComponent.(.AddForce(向量2(0,10));
}
}
而不是

GetComponent.<Rigidbody2D>().AddForce(Vector2(0, 10));
GetComponent.(.AddForce(向量2(0,10));
试试这个

GetComponent.<Rigidbody2D>().AddForce(Vector2.up *  10);
GetComponent.(.AddForce(Vector2.up*10);
希望这能起作用

而不是

GetComponent.<Rigidbody2D>().AddForce(Vector2(0, 10));
GetComponent.(.AddForce(向量2(0,10));
试试这个

GetComponent.<Rigidbody2D>().AddForce(Vector2.up *  10);
GetComponent.(.AddForce(Vector2.up*10);
希望这能奏效

试试这个:
GetComponent.().AddForce(向量2(0,10),ForceMode2D.pulse)

这将在瞬间把他发射到空中。我认为问题在于您使用的是ForceMode2D.Force(默认情况下),它需要在几个周期内多次调用。例如,ForceMode2D.Force可用于在向前推动汽车等物体时保持不变

<>你可以考虑在将来改变这个函数以提供更平滑的跳跃。一个好的方法是根据正弦函数周期施加力。

试试以下方法:
GetComponent.().AddForce(向量2(0,10),ForceMode2D.pulse)

这将在瞬间把他发射到空中。我认为问题在于您使用的是ForceMode2D.Force(默认情况下),它需要在几个周期内多次调用。例如,ForceMode2D.Force可用于在向前推动汽车等物体时保持不变


<>你可以考虑在将来改变这个函数以提供更平滑的跳跃。一个好的方法是根据sin函数周期施加力。

“我不知道唐纳德·特朗普精灵为什么不跳”
:d更大的力!尝试*1000,然后返回,直到正确为止。
“我不知道唐纳德·特朗普精灵为什么不跳”
:更大的力量!尝试*1000,然后返回,直到其正确。正如
Vector2.up
Vector2(0,1)
的缩写,这有什么不同吗?正如
Vector2.up
Vector2(0,1)
的缩写,有什么不同?