我想在玩遊戲時獲取用戶的GPS位置(libgdx)。我發現this教程爲創建Android手機的GPSTracker。我的問題是,這是爲Android的活動/任務編寫的,但不適用於libgdx。沒有libgdx它完美的工作,但我不知道如何使用libgdx和there isn't any opportunity與libgdx使用GPS。使用libgdx獲取GPS位置
確實有人知道是否有可能通過libgdx使用GPS以及如何使用GPS?這將是非常好的。
我想在玩遊戲時獲取用戶的GPS位置(libgdx)。我發現this教程爲創建Android手機的GPSTracker。我的問題是,這是爲Android的活動/任務編寫的,但不適用於libgdx。沒有libgdx它完美的工作,但我不知道如何使用libgdx和there isn't any opportunity與libgdx使用GPS。使用libgdx獲取GPS位置
確實有人知道是否有可能通過libgdx使用GPS以及如何使用GPS?這將是非常好的。
您可以從Android項目包裝器創建您的GPSTracker
,並將其傳遞給Game
實例。
這是我做過什麼來test.-
GPSTracker gps = new GPSTracker(MainActivity.this);
MyGame game = new MyGame(gps.getLatitude(), gps.getLongitude());
GPSTracker
正在恢復以及我的當前座標。
您可以從Applicaion對象(請看:Static way to get 'Context' on Android?)獲取上下文對象,然後使用connect構造GPSTracker類。
還有一個問題:MainActivity類在android項目中,所以我無法從任何其他類調用MainActivity.getAppContext()(在我的情況下,它是渲染器類)。 – vtni
是的。因此,您可以從Application Class的靜態方法中獲取上下文,當您的應用程序的任何組件運行時,Application對象將被維護。 –
要通過上下文的GPSTracker,嘗試在你的AndroidLauncher.java與「getApplicationContext()」
AndroidLauncher.context = getApplicationContext();
this.gps = new GPSTracker(this.context);
AndroidApplicationConfiguration config = new AndroidApplicationConfiguration();
initialize(new MyGdxGame(gps.getLatitude(), gps.getLongitude()), config);
我想這在onCreate方法,但我的問題是,該'GPSTracker'類需要「Context」類型的值。在Android項目中,我提交了'MainActivity.this',但是當使用libgdx時,contentView不在MainActivity上... – vtni
Mmh剛剛嘗試過,它似乎正在工作並返回正確的座標(正在編輯我的答案)。你是否會得到任何異常? – ssantos
當然,這將工作,但我想初始化GPSTracker在遊戲的深層次的子類。當然,我可以將它提交給每個子類,但是它會保存在每個子類中。沒有更好的選擇嗎? – vtni