繁体   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