關(guān)于【如何讓角色推拉箱子】視頻中限制角色推動箱子的方式

這個文章主要是針對這個視頻中
關(guān)于限制角色推動箱子的另一種實現(xiàn)方式
沒看過視頻的可以去看一下

首先視頻里是用了一個float變量來儲箱子的位置
在Update中再通過一個bool來判斷箱子是否再移動狀態(tài)
如果是可以移動的狀態(tài)
那就將箱子的位置賦值給float變量
如果不是,那通過反復(fù)給箱子的position賦值之前定義的float
從而達到限制箱子移動并在移動時更新位置的需求
雖然達到了需求,但如果一個場景中有100個箱子,
那豈不是100個箱子每幀都在賦值?
這樣想的話,似乎并不是很好,
于是我想了一下,給出了另一種方案就是
一開始就鎖定每個箱子的X軸或者Y軸
讓角色無法推動箱子
必須在按下按鍵時才解除X軸或者Y軸的鎖定
而這個鎖定XY軸的功能
Rigidbody2D已經(jīng)有了
我們只需要在代碼中調(diào)用即可
由于代碼很簡單這里就不給出演示
具體邏輯就是
射線檢測檢測到箱子的時候
更改這個箱子的Rigidbody2D的XY軸鎖定
就能讓人物可以推動箱子
如果角色松開按鍵那在把箱子的XY軸進行鎖定
大概就是這樣
這里順便附上
在代碼中鎖定、解除Rigidbody2D中XYZ軸的用法
https://blog.csdn.net/qq_15267341/article/details/80776808
差不多這樣,如果有問題可以在評論回復(fù)、或者私聊我,,
感謝你的閱讀,下次再見吧~
標簽: