ウィジットにGPS情報を表示させて更新させる

PlayerPawnにポイントライトをあてて、GPSに合わせてマップを移動してのそのGPS情報をウィジットに表示させる

まず、レベルBPに作成したGPS取得するモジュールをPlayerPawnに移植します。

PawnのイベントBiginPlayでGPSの初期化を行い、初期値を設定します。

GPSがないPCだとPCであると表示させます

イベントTickでGPSの初期化ができないとウィジットに一回だけPCモードのメッセージを入れます。Tick一回だけです。これは気を付けないとメモリーリークしちゃいます。

GPSの初期化ができていればGPS情報を得られるまでGetting GPS Infoと表示してGetできたら消します

GPS情報がGETできたら変数に格納し、最初の初期値を保存しておきます

GPSがGetできた情報と今のGPS情報に差があったらウィジットにGPS情報を送ります。ここで気にしてほしいのは最初にウィジットを消去している点です。

消去しないと前のウィジットが残りますのでこれもメモリーリークの原因になります。

GPS情報と今のGPS情報が同じならウィジットを更新する必要がないのでそのままLocation&Rotateをセットします。

「Tiltを取得」というのはAndroidのジャイロセンサーの値を取るという事です。これでジャイロセンサーの値が取れます。Tickあたり0.02加算しているのは僕のNexus5のジャイロセンサーが大暴れするからです。※FPSに合わせる仕様に変更しました。

※TickのFPSレートを取って、Alphaに渡します。

GPS情報を得た最初の一回は最初の一回以降セットされる変数の値が0に設定されているので初期値は大きくマイナス位置に設定されます。なので2回目以降のGPSデータをGetできたら0,0,120近くに戻ります。

こんな感じで最初は0,0,120で始まりGPS情報を得るまで待ちます

最初の一回はこんな感じで範囲外に移動します(移動しない処理を入れればいいんですが…)※処理を追加

こんな感じで2回目が来てなかったらそのままの位置で2回目が来るのを待ちます

2回目を得られましたので戻ってきました

ウィジットは2つあって一つ目はこんな感じ

2つ目のウィジットはこんな感じ

ポイントライトがちょっとブッキーな感じです。

apkを試すのはこちらからDLできます。

apkをインストールする方法

 

コメントを残す

メールアドレスが公開されることはありません。必須項目には印がついています *