cocoscreator 虛擬搖桿控制 目標移動(A版)
阿新 • • 發佈:2020-10-18
其實 本人挺喜歡moba遊戲的 比如dota 以前下班回家都會打兩把,但是有的時候想玩了 卻沒電腦,於是 就玩了幾把 王者榮耀 就看見他那個控制人物行走的 搖桿挺有意思 於是 想自己實現類似的功能->
效果圖:
總體思路:搖桿在規定範圍內 活動,受控制目標 通過監聽 控制點(搖桿)的方位,然後調整自身的角度和位置。
首先要考慮幾個問題
1,控制點的活動區域
2,受控制較色的角度要跟控制點的角度一致
3,受控角色如何監聽控制器角度變化和位置變化
4,控制較色速度
實操:
1,控制點的活動區域
在移動事件中,只要計算 控制點與 控制底圖的 半徑差(限制範圍半徑) 與 控制點的 向量長度 作比較就可以, 如果 向量長度大於 半徑差 就進行位置限制處理。保證控制點在限制區域內。
2,受控制較色的角度要跟控制點的角度一致
計算控制點的 方位 通過方位,控制目標監聽 控制點的方位 ,然後 轉化為自身的角度 就可以了
3,受控角色如何監聽控制器角度變化和位置變化
這個問題可以兩面考慮
1)用計時器實現
即用sechedule或者js自帶的計時器 每次呼叫監聽函式
2)運用update實現
這個方法比較懶 只要在受控節點的update中監聽即可
本文用第一種,原因是 極簡
4,控制較色速度
角色的速度根據不同的監聽 進行設定,期望是可調節的 一般專案中不都是 要靈活麼。
主要程式碼:
長按下方二維碼,關注公眾號 傳送 yaogan 即可獲得完整程式碼及資源