簡體   English   中英

如何保持游戲對象向前移動,但是在觸發時向后移動,然后返回向前移動

[英]How to keep gameObject moving forward, but when triggered move backwards, then return to forward movement

我是Unity的新手,如果這是基本問題,請提前抱歉,但是我嘗試通過在線尋找類似問題並提供答案。 我有一個具有向前運動的游戲對象,當變量設置為true時,我希望該游戲對象向后移動X個單位,但是當向后設置為false時,我希望gametot返回到先前的運動。 我編寫的代碼使gameObject向前移動,但是當由變量觸發時,它不會向后移動。 你能告訴我我做錯了什么嗎?

public MonsterTarget monTarget;
public BandageTarget banTarget;

public Transform target;
public float speed;
public float backSpeed;

public bool back;


// Use this for initialization
void Start () {

}

// Update is called once per frame
void Update () {
    back = monTarget.targetMove;

    if (target.position.x > -11)
    {
        target.Translate(speed, 0, 0);

        if (back == true)
        {
            Debug.Log("MOVE BACK");
            target.Translate(backSpeed, 0, 0);
        }
        monTarget.targetMove = false;
    }

}

我知道在C#中,布爾值的默認值為false,是否在某個地方將if ( back == true )語句設置為true?

另外,您的target.Translate( speed, 0, 0 ); 在您的Target.Translate ( backspeed, 0 , 0 ); 正在運行,可能彼此抵消。 確保分配了變量,然后嘗試此操作。

if ( back == true) {
    target.Translate( backspeed , 0 , 0 );
} else {
    target.Translate( speed, 0 , 0 )
}

暫無
暫無

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

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