gpt4 book ai didi

c# - 如何在 Unity 中设置刚体的最大速度?

转载 作者:行者123 更新时间:2023-12-05 01:00:57 25 4
gpt4 key购买 nike

似乎没有任何效果,玩了几个小时,从谷歌复制并粘贴了“解决方案”,但没有。
更改 maxSpeed 变量没有任何作用。物体仍然像巴里艾伦一样飞过屏幕。

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class PlayerMovement : MonoBehaviour
{

[Range (0, 5)]public int speed;
public Rigidbody2D rb2D;
public Vector3 veloc;
public float maxSpeed;

void Start ()
{
rb2D = GetComponent<Rigidbody2D> ();
speed = 4;
maxSpeed = 0.01f;
veloc = GetComponent <Rigidbody2D>().velocity;
}

void Update ()
{
if(Input.GetKey(KeyCode.W))
{
rb2D.AddForce (Vector3.up * speed);
}
if(Input.GetKey(KeyCode.S))
{
rb2D.AddForce (-Vector3.up * speed);
}
if(Input.GetKey(KeyCode.D))
{
rb2D.AddForce (Vector3.right * speed);
}
if(Input.GetKey(KeyCode.A))
{
rb2D.AddForce (-Vector3.right * speed);
}
}
void FixedUpdate ()
{
if(veloc.magnitude > maxSpeed)
{
rb2D.velocity = rb2D.velocity.normalized * maxSpeed;
}
}
}

最佳答案

只有这个:

void Update() {
rb2D.velocity = Vector3.ClampMagnitude(rb2D.velocity, maxSpeed);
}

关于c# - 如何在 Unity 中设置刚体的最大速度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48122532/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com