2012年8月31日金曜日

PlaymakerでOSイベントに対応

今回はPlaymakerでOSイベントに対応する方法について。

Playmaker公式フォーラムのQAより翻訳します:

http://hutonggames.com/playmakerforum/index.php?topic=1591.0
July 17, 2012, 01:20:49 PM


質問
Playmakerでアプリケーションの終了、中断、フォーカス(onApplicationQuit, onApplicationPause and onApplicationFocus)をグローバルイベントとして登録する方法はないの?

iOSの場合onApplicatonPauseイベント(およびその引数)に対応できることは重要だし、そのタイミングでデータ保存しないといけない。これはユーザが電話を受けたときやホームボタンを押下したときに発生する。

ホントに、中断(onApplicatonPause)が自分にとっては一番重要で次に終了(onApplicationQuit)フォーカスで、最後にフォーカス(onApplicationFocus)の順でどうにかならないかな?(自分はonApplicationFocusがどの場合に発生するかもよくわかってないけど)

回答
次のスクリプトを試してみたらいけるよ。空のオブジェクトでも何でもアタッチするだけだから。
using UnityEngine;
using System.Collections;
using HutongGames;

public class ApplicationEventsBridge : MonoBehaviour {
 
 
 void OnApplicationQuit()
 {
  PlayMakerFSM.BroadcastEvent("APPLICATION QUIT");
 }
 void OnApplicationPause()
 {
  PlayMakerFSM.BroadcastEvent("APPLICATION PAUSE");
 }
 void OnApplicationFocus()
 {
  PlayMakerFSM.BroadcastEvent("APPLICATION FOCUS");
 }
 
}

それからはFSMのなかで次のグローバルイベントを呼べば良い。
APPLICATION QUIT
APPLICATION PAUSE
APPLICATION FOCUS

このスクリプトがやることは、単純に3つのグローバルイベントをブロードキャストするということで、それによって任意のFSMに通知することが出来る。
------

そういえばUnityでゲームをさわるようになってから、あまりOSイベントを気にしなくなってたな(爆)

EclipseでAndroid開発してたころもXCodeでiOS開発するときもOSイベントやら画面のXMLを検討するやらやってたけど、あらためてUnityやPlaymakerが便利になってもそのころの知識を大事にすべきだと認識を改めた(キリッ)

Playmakerで完成度の高いゲームを作ろうぜ!

0 件のコメント:

コメントを投稿

ブックマークに追加

このエントリーをはてなブックマークに追加

自己紹介

自分の写真
Unity3D公式マニュアル翻訳やってる人がスマホ(iPhone, Android)のゲーム開発しています。気軽に面白く初心者が遊べる内容がモットー。Blogでは開発情報をひたすら、Twitterではゲーム作成の過程で参考にしている情報を中心につぶやきます

ページビューの合計

過去7日間の人気投稿

ブログ アーカイブ