那麼上次把物件移動完成之後,確實也都可以使物件移動起來,以及產生跳躍。
不過實際上還是有問題存在的,後來我在場景添加一個方塊,並塑造成牆壁的樣子,並實際執行物件撞上牆之後的樣子,就出現了其他的問題了。
當上次可移動的方塊撞上牆壁時,如果持續按著方向鍵,嘗試突破的話,方塊會開始產生不自然的抖動,而後來想想,這是因為我程式上有邏輯的錯誤,先看一下上次移動物件的程式是怎麼運作的。
上次移動的程式:
transform.localPosition += new Vector3(2.5f, 0, 0) * Time.deltaTime;
我們是將new Vector3的數值加到localPosition裡面原有的值,也就是說每次被執行都是固定在X座標加上2.5,但是我們被移動的方塊不可能每次都與牆壁的距離可以被2.5整除,就算可以...當持續按著方向鍵,物件依舊會不斷前進,在剛執行程式的那個影格,方塊就會跑到牆壁裡,而下個影格又會因為彼此"collider"碰撞,而又被擠出牆壁,但繼續按著方向鍵要往前,就又會跑進去,導致方塊不斷地塞進牆,並被擠出,而產生這種不斷抖動的感覺。
那讓物件動起來的程式肯定不止一種,所以只能再去找找其他解決辦法了,明天最後一天,至少要把物件移動的腳本弄到最好。