Unity3d 为什么我的球员动作不起作用,即使一切都很好?
现在,我对unity还不熟悉,所以一个简单的答案对我会有很大帮助。我在做一个测试平台项目。我在写玩家的动作脚本,我想应该是正确的。但是当我运行项目时,我的播放器根本不动。任何帮助都将不胜感激Unity3d 为什么我的球员动作不起作用,即使一切都很好?,unity3d,Unity3d,现在,我对unity还不熟悉,所以一个简单的答案对我会有很大帮助。我在做一个测试平台项目。我在写玩家的动作脚本,我想应该是正确的。但是当我运行项目时,我的播放器根本不动。任何帮助都将不胜感激 using UnityEngine; public class PlayerMovement : MonoBehaviour { private float vaxis; private float haxis; public float moveSpeed = 40f;
using UnityEngine;
public class PlayerMovement : MonoBehaviour
{
private float vaxis;
private float haxis;
public float moveSpeed = 40f;
public float jumpSpeed = 20f;
private Vector2 newForce = new Vector2(0f, 0f);
public Rigidbody2D player;
private void FixedUpdate()
{
haxis = Input.GetAxisRaw("Horizontal");
vaxis = Input.GetAxisRaw("Vertical");
if(vaxis == -1)
vaxis = 0;
newForce.x = moveSpeed * haxis * Time.fixedDeltaTime;
newForce.y = jumpSpeed * vaxis * Time.fixedDeltaTime;
player.AddForce(newForce);
}
}
我已将Rigidbody2D指定给我的“player”变量。我看没什么问题。
请帮帮我。这真令人沮丧
谢谢,
Nandan Goyal确保您的Ridgidbody设置为“动态”,而不是“运动学”,并且是否已附加物理组件?
希望有帮助:)移动速度和跳跃速度是否正确?你的
rigiidbody2d
可能iskinetic
?它有什么限制吗?它启用了吗?如何配置轴?一般情况下,也可以在FixedUpdate
中使用Time.deltaTime
。也可以一行一行地尝试代码并检查所有值。你能附上播放器对象中组件的屏幕截图吗?可能对象mass
或者摩擦力对于你的输入来说太高了?这是一个非常小的力,试着把它设得非常大,比如40000,看看它是否能工作。对不起那些反应迟钝的家伙。我要感谢你们的好意,帮助我解决了我的问题。邓诺的帖子很有帮助。力量太弱,无法移动运动员。谢谢。