【Unity】Playmaker 公式チュートリアル動画を日本語で読み解く02 - Orientation Event
デバイスの向きを変えるとそれを検知して画面の色が変わるというアプリを作ります。
それでは解説します。
02 - Orientation Event(デバイスの向きのイベントについて)
デバイスの向きの名称について
前のおさらいでもあるが、デバイスの頭がある方向が、オリエンテーションイベントの名前となる。
Portrait = 縦持ち
Portrait Upside Down = 上下逆
Landscape Right = 頭が右、ボタンが左
Landscape Left = 頭が左、ボタンが右
Face Up = 空を見上げるような形
Face Down = 地面側に向けている形
Unknown Orientation = 変な持ち方をしていて上記4つの向きではないとき
デバイスの向きを検知するアプリを作る。
ボタンを配置して、それを押すとデバイスの向きの検知をして、テキストと背景の色が変わるというアプリを作る。
(GUI TextとGUI Buttonを設置する。)
動画にはないので、補足。
最新版のUnityだと、GUI TextとGUI Buttonは表面上からいなくなってしまっているため、まずは空のGame Objectを2つ作る。
Hierarchyで右クリックして、Create Emptyを押下。
InspectorのAdd Componentボタンを押して、GUI Textを検索して設置。ただ、GUI Buttonはもう存在しないため、(Buttonはあるがここで設定してしまうと、Playmakerでいじれない。)Buttonは何もAdd Componetせずそのままに。
Buttonステートを作成。
まずはFMS上で右クリック、Add Statement。ステートをButtonとして、アクションブラウザから GUI TextとGUI Buttonを探し、以下のように内容を作る。
最新版のUnityだとボタン画像を設定しないと味気ないが、とりあえず字だけで満足すべし。
Buttonsステートの下のget_orientationの作り方は、二つ下のEventの作り方を見る。
矢印は適宜矢印の向き先が出来上がったら、ステートの箱?をググッと中から外へ矢印を引っ張り出す気持ちでドラッグすると矢印が出てくるので、それを行き先にくっつける。
Orientation Check ステートを作成。
アクションブラウザよりDevice Orientation Eventを7つ設置。(向きの数が7つあるため)
下の図のように、それぞれオリエンテーションを選択し、Send Eventもそれぞれ同じものを選択。全てのEventに適用する。
(Send Eventの送り先のEventの作り方)
動画にはないので、補足。Eventsタブにして、Add Eventでそれぞれ名前を入れて、エンターすると、このようにイベントが追加される。こののちに、上の画面にあるようにSend Eventの候補の中に、下記が現れる。get_orientationもここで作る。
それぞれ、向きを検知した後どんな行動をするかのステートを追加する。
アクションブラウザより「Set GUI Text」と「Set Background Color」を選択。
下の図のように設定する。ステートを右クリックして、FINISHEDも選択しておく。
Every Frameにチェックはつけない。一度向きを検知したら、スタートに戻すため。
下の図はPortraitだが、他の7つも同じように設定する。Textをそれぞれ該当するものにし、色を適宜7色違う色を選んでおけばOK。
デバイスで確認する。
Runの仕方は前回説明済み。
字が見にくい・・。
向きを変えると、テキストも変わる。
プレイヤーセッティングでUnityにどの向きも検知すると設定しているため、このようになっている。
ボタンを押していないので、まだ色は変わらない。
向きを変えてボタンを押すとこうなる。
以上で完成!
デバイスを回しながら、Unknownになる角度を探すのは意外と難儀な模様。
次の記事はこちら
前の記事はこちら