Unity 中游戏对象在应该向宇宙飞船移动时会向下落

问题描述 投票:0回答:1

我正在使用 Unity 制作我的第一个 C# 游戏/程序。基本上,流星体应该向宇宙飞船移动,但它们失去速度并开始向下坠落。在我将子弹添加到游戏中之前,下面的代码是有效的,但现在出了问题。

游戏的其余部分都可以运行。我可以射击流星体,然后它们就会被摧毁。宇宙飞船在碰撞后重新定位。

我不认为代码是问题,而是Unity中的一些设置。有什么想法吗?

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

public class Meteoroid : MonoBehaviour
{
    [SerializeField] 
    private GameObject spaceship;

    [SerializeField] 
    private float speed = 100.0f;

    [SerializeField] 
    private Rigidbody2D rb;

    // Start is called before the first frame update
    void Start()
    {
        rb = this.GetComponent<Rigidbody2D>();
    }

    // Update is called once per frame
    void Update()
    {
        // Move towards the spaceship's position
        transform.position = Vector2.MoveTowards(transform.position, spaceship.transform.position, speed * Time.deltaTime);
        // Adjust the rotation to face the spaceship
        transform.up = spaceship.transform.position - transform.position;
    }
}
c# unity-game-engine mono
1个回答
0
投票

我在 Rigidbody2D 上将流星体的重力比例设置为零。已经解决了。

© www.soinside.com 2019 - 2024. All rights reserved.