首先,我們考慮一下,角色控制有哪幾種型別
1.當前使用者的遊戲角色
2.非本使用者遊戲角色,但是與當前使用者角色在同一張地圖上的其他角色
那麼針對這樣兩種控制,我想到了使用不同的控制器,第一種:playerinputcontroller、第二種entitucontroller,
playerinputcontroller 這個控制器用來控制當前使用者的角色,他是通過使用者輸入的鍵位來實現移動
entitycontroller 是用來控制場景中其他使用者角色的移動,
至此,第乙個問題告一段落,來看下乙個問題
playerinputcontroller 這個控制器很好實現,entitycontroller要如何實現,當前使用者怎樣才能知道其他玩家的移動狀態,或者更簡單的說,其他玩家在地圖中的位置
1.我們先來解決最簡單的問題,當前使用者如何才能知道其他玩家在地圖中的位置
解決方法:每隔一段時間,其他玩家所在的客戶端,主動向伺服器提交它在地圖中的位置,伺服器收到以後,向當前玩家傳送其他玩家在地圖中的位置即可,
2.在來看一下移動狀態的問題,其實上乙個問題解決之後,這個問題也是很好解決的,只要其他玩家在傳送自己的位置的時候,把自己的移動狀態也傳送到伺服器不就可以了?
至此,這個問題解決
新的問題來了,現在當前的玩家已經知道了其他玩家在當前地圖中的位置,那麼怎樣才能將他對映成真正的移動狀態呢?
1.首先解決最簡單的問題,我並不對映為真正的移動狀態,我僅僅是把角色移動到它在地圖中真正的位置
解決方法:每乙個當前角色每隔一幀都向伺服器報告自己的位置資訊,每當伺服器接收到這樣的資訊之後,立刻將這個角色的位置資訊,廣播給其他與這個角色在同一張地圖的所有玩家(當然,這裡可以設定一些引數,比如,只廣播給與這個玩家相距多少範圍內的玩家)
2.簡單的問題解決了,下面來解決對映移動狀態的問題,其實與上乙個問題一樣,只需要在報告位置的同時附加上當前的移動狀態即可,當其他角色收到這樣的資料,就可以通過entitycontroller來控制其他玩家的移動
至此問題全部解決,這裡只是提供了我在做的時候的一些思路,肯定還有效能更好,效率更快的方法!
seo新人如何最快進入角色?
作為seo新人,對什麼都不了解,可能會很迷茫,要如何在最短的時間內才能使自己融入到這份陌生的工www.cppcns.com作中呢?這裡,小徐講講自己的經歷,希望對大家有所幫助!1.毋庸置疑,頭等大事就是把那些seo的基本理論吃透了,把基礎打牢,這點一定要做到!2.收集並註冊各類論壇,部落格,書籤等作...
darwin之角色管理
在rtspsession中,建立 qtss roleparams froleparams變數,該變數 聯合體 用來賦值模組的角色引數.在rtspsession中,使用聯合體中froleparams.rtsprequestparams來設定rtsp角色引數 呼叫模組方法 模組的角色 enum type...
Ansible之roles(角色)詳解
角色 roles 是ansible自1.2版本開始引入的新特性,用於層次性,結構化地組織playbook。roles能夠根據層次型結構自動裝載變數檔案 tasks以及handlers等。要使用roles只需要在playbook中使用include指令即可。簡單的說,roles就是通過分別將變數 檔案...