嘿,我对编程非常陌生,我正在开发一个 2D 原型,其中我的角色是一个史莱姆,我希望能够按住按钮来增强跳跃强度,然后在释放时它将向鼠标所在的方向发射
我一直在尝试使用新的 Vector 2 来使用设置的刚体速度,但我似乎无法让它按预期工作
现在让我们来回顾一下:
1.
float force;
RigidBody2D rb;
[SerializeField] float forcelimit;
[SerializeField] float forceIncrease;
void Start()
{
rb = GetComponent<RigidBody2D>();
}
void Update()
{
if(Input.GetButton(KeyCode.Mouse0)) // increase force while mouse is pressed.
{
force = Mathf.Clamp(force + forceIncrease, 0, forcelimit); // limit force to forcelimit
}
if(Input.GetButtonUp(KeyCode.Mouse0))
{
Launch();
}
}
void Launch()
{
var direction = (Input.mousePosition - transform.position);
Vector2 direction2D = new Vector2(direction.x, direction.y);
rb.velocity = direction2D * force; // apply force
force = 0; // reset force
}
将上述代码粘贴到派生自 MonoBehaviour 的类中,瞧!!
但是,我强烈建议您在使用 Unity 之前学习实际编程。我不知道你的野心是什么。如果你想真正编程——学习编程!如果您想自己制作游戏,您仍然应该具备编程和数学基础知识。 请注意,此类问题在 stackoverflow 上通常不受欢迎,并且将被关闭。这不是修复我的问题的网站。这是一个寻求帮助的尺寸。不是为了免费完成工作。请参阅提问指南!!! ...