2017-03-14 24 views
-1

Ubuntu 14.04 Python與pybox2d在pybox2d中。如何在測試平臺運行時獲取身體狀態信息,例如其速度?

我想寫一個代理程序誰可以響應正在運行的測試牀身體的運動。 作爲我的目標,代理應該從某個地方讀取人體狀態數據是很自然的。然後根據代碼對數據作出一些響應。但是pybox2d是基於box2d的,它是用C++編寫的,我不熟悉。那麼誰能給我建議。謝謝!

或者,你可以推薦我另一個財產計劃。

回答

0

聽起來像你想要的是一種在測試平臺測試中選擇身體並在其狀態上獲取文本輸出的方法。沒有直接的方法可以獲得關於某個機構的附加信息(不在Box2D 2.3.3或更早版本的Testbed程序中)。

我喜歡這個想法,作爲測試平臺的增強。至少在my Box2D fork中,我認爲這對我來說不會太難。我爲此創建了一個issue。與此同時(直到這樣一個特性使它成爲您所擁有的測試平臺的構建),您可以通過調試器運行測試平臺並使用斷點來獲取此信息。然而,通過必須弄清楚哪個數據結構與哪個主體相關並且必須弄清楚什麼時候獲得觸發點是很複雜的。如果你所要求的是一種獲取身體狀態的程序化方式,至少在Box2D的C++版本中有方法可以在b2Body對象上調用。例如GetLinearVelocity()將得到身體的線速度。我懷疑pybox2d有一個類似命名的訪問器機制。

+0

謝謝Louis。我在這個網站上找到了一個更好的解決方案http://www.danielslater.net/2015/12/how-to-run-learning-agents-against.html?m=1。當然,這是我的蛋糕。很容易申請,就像做一些屏幕截圖一樣。它的工作原理我嘗試過。希望這對他人有幫助。 – hotgarlic

相關問題