第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定

3-6中鼠標點擊目的地使角色移動中,WalkOn()是怎么寫的啊

UpDate()和LateUpDate()都沒有對WalkOn()更新的代碼,難道寫在FixedUpDate()里嗎?呃,我的意思是,鍵盤那里是每幀更新該幀的位置,而鼠標這個是點一次之后很多幀都重復執(zhí)行同一種更新直到到達目的地,也就是怎么寫能簡單到“類似的代碼”

正在回答

1 回答

我的實現(xiàn)思路是這樣的,保存一個目標位置,然后每一幀都向目標位置按一定速度移動。

具體代碼這樣子。

private?Vector3?_targetPosition;
public?float?Speed;

void?Update()
{
????Vector3?dist?=?_targetPosition?-?transform.position;?//?計算從當前位置到目標位置的向量
????dist.y?=?0;?//?只在平面上移動,去除高度差。
????Vector3?velocity?=?dist.normalized?*?Time.deltaTime?*?Speed;?//?本次移動的向量
????if(dist.magnitude?<?velocity.magnitude)?//?如果這一次移動就會抵達目標位置,則直接使用當前位置到目標位置的向量作為移動向量
????{
????????velocity?=?dist;
????}
????if(velocity?!=?Vector3.zero)?//?如果還沒移動到目的地則進行這次移動
????{
????????transform.Translate(dist);
????}
}

void?MoveTo(Vector3?pos)
{
????_targetPosition?=?pos;
}

因為Vector3 是值類型,所以不能通過判 null 來處理移動和不移動的狀態(tài),可以通過再加個 成員變量 _needMove 來避免每一幀都計算一次位移,這里懶得寫了。

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

3-6中鼠標點擊目的地使角色移動中,WalkOn()是怎么寫的啊

我要回答 關(guān)注問題
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號