嗨,我刚开始用C#编程,我遇到了一个问题。所有的东西都在工作,只有当按钮没有按下时,值不会回到0,我可以改变移动的方向,但对象不会停止移动...以下是代码!
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Movement : MonoBehaviour
{
private Rigidbody2D rb2D;
private float speed = 1f;
private float moveHorizontal;
void Start()
{
rb2D = GetComponent<Rigidbody2D>();
}
void Update()
{
moveHorizontal = Input.GetAxisRaw("Horizontal");
}
void FixedUpdate()
{
if (moveHorizontal > 0.1f || moveHorizontal < -0.1f)
{
rb2D.AddForce(new Vector2 (moveHorizontal * speed, 0f), ForceMode2D.Impulse);
}
}
}
1条答案
按热度按时间6rvt4ljy1#
我看到你在增加力,但你从来没有在任何地方将速度重置为
0
你可以这样做。