簡體   English   中英

Unity2D:如何使對象前進

[英]Unity2D: How to get object to move forward

我試圖運行一個簡單的腳本來使對象在統一內向前移動。

我的代碼是:

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

public class MoveToHold : MonoBehaviour {

    private float traveledDistance;
    public int moveSpeed = 10;
    private bool isMoving;
    public GameObject Aircraft;
    // Use this for initialization
    void Start () {

    }

    // Update is called once per frame
    void Update () {
        if (isMoving == true)
        {
            //Aircraft.transform.position += transform.forward * Time.deltaTime * moveSpeed;
            Aircraft.transform.position += transform.forward * moveSpeed * Time.deltaTime; 
        }

    }

    public void move ()
    {
        isMoving = true;
        Debug.Log(isMoving);
    }
}

據我所知,transform.position應該起作用。

有任何想法嗎?

嘗試更改:

Aircraft.transform.position += transform.forward * moveSpeed * Time.deltaTime;

至 :

Aircraft.transform.position += transform.right * moveSpeed * Time.deltaTime;

有時,使用unity2D時,前向軸是Z,因此您將其推入Z軸內而看不到。 向右將在x軸上移動它。

我認為您需要將位置應用於RigidBody對象而不是飛機。 如果我猜對了,那應該是您飛機的父母。 嘗試:

Aircraft.parent.transform.position += transform.forward * moveSpeed * Time.deltaTime;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM