[UE4]モバイル特有の動作のイベントを取得する

06.24

[UE4]モバイル特有の動作のイベントを取得する はコメントを受け付けていません。

Android Evemt
前回に引き続き今回もモバイル関係についてです。
タイトルの特有の動作とはホームボタンを押したときやAndroidのバックボタンを押したときなどのイベントをアプリ側で使用する方法を紹介したいと思います。

 

まず初めにAndroid専用のイベントをご紹介します。
Android Evemt
イベント名 イベントの内容 補足
Android Back  バックボタンをおした時のイベント BackButton(機種により表示方法が異なりますのでご注意ください)
Android Menu  メニューボタン(オプションメニューとも言われます)

をおした時のイベント

MenuButton(機種により表示方法が異なりますのでご注意ください)
Android Volume Up  音量調整ボタンが押された時のイベント

音量を上げた時に呼ばれる

Android Volume Down  音量調整ボタンが押された時のイベント

音量を下げた時に呼ばれる

 

 

 

次にホームボタンを押した(正確にはアプリがバックグラウンドに移行した)時などのイベント取得方法をについてです。ただこれから紹介するものはブループリントだけではイベントは取得できないのでC++を使用してブループリント側でイベントを取得できるようにしていきます。

今回はキャラクターに実装してみようと思います。

 

 

  • C++側

本来、Android,iOSのバックグラウンドにいったときのイベントはAndroidではJava,iOSではobjective-c (もしくはswift)で書かなければいけないのですがUE4ではすでにデリゲートが定義されておりc++のみで完結できるようになっています。そしてそのデリゲートを定義してる

FCoreDelegates(Engine/Source/Runtime/Core/Public/Misc/CallbackDevice.h)

というクラスがあるので以下のような感じにキャラクタークラスにデリゲートの通知を受け取る関数を追加します。

 

  • ブループリント側

Event

ブループリント側ではC++定義されたキャラクタークラスを継承すればFunctionsの中に先ほどBlueprintImplementableEvent定義したクラスがoverrideできます。これでバックグラウンドに行った時にアプリの途中経過を保存したり戻ってきた時の復帰処理などをブループリント側で実装できるようになりました。

 

・追記

またこの他にも以前のブログでジャイロセンサーを使う方法なども紹介させていただきましたので参考にしていただけたらと思います。

[UE4] Android端末でジャイロセンサーを使う方法

 

・小ネタ
Androidで実機確認したとき、ステータスバー&ナビゲーションバーが表示されてしまいます。
Screenshot_20160624-113816
ゲームではやっぱり画面広く使いたいですよね。実は全画面にする方法は設定で変えることができます。
Navi
Project SettingsのPlatforms/Android/APKPackaging/Enable FullScreen Immersive on Kitkat and above devices
にチェックを入れると。。。
Screenshot_20160624-113823
のように上下のバーが消え全画面で表示されます。
ちなみにバーは完全に消されてるわけではなくスワイプ動作をすることで表示されます。
  • このエントリーをはてなブックマークに追加

関連記事

コメントは利用できません。

カテゴリー

ページ上部へ戻る