【Unity】スマホが振られたときにイベントを起こす(シェイク)

Unityメモ

お疲れ様です。
はるさらと申します。

 

今回はUnityの備忘録記事となります。

スマホを振ったことに反応して
スクリプトの処理が動くように
実装したのでご参考までに載せておきます。

やりたい事

今、Unityで簡単な脱出ゲームを作成していて

「棚の上にある鍵を
スマホが振られたこと(シェイク)に反応して
鍵が落ちてくる。」

というギミックを作りたかったので
色々調べてみました。

 

ただ、あまり内容を理解していないため
このサイトを参考にして
こんな風にコードを書いたら動いたよ
といった感じで記載させていただきます。

参考にさせていただいたサイト

https://qiita.com/pilkul/items/d0b4117bc1f7edb9394f

Qiita「pilkul」様2016年09月10日
投稿された記事を参考にさせていただきました。

処理の解説も記載してくださっているため
詳しく知りたい方は、ご覧になって下さい。

 

ソース

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;

public class Stage4Manager : MonoBehaviour {
    private Vector3 Acceleration;
    private Vector3 preAcceleration;
    float DotProduct;
    public static int ShakeCount;

    public GameObject shelfKeyPicture;
    public Sprite shelfPicture;

    // Update is called once per frame
    void Update() {
        preAcceleration = Acceleration;
        Acceleration = Input.acceleration;
        DotProduct = Vector3.Dot(Acceleration, preAcceleration);
        if (DotProduct < 0) { ShakeCount++; } if (ShakeCount > 5) {
            shelfKeyPicture.GetComponent().sprite = shelfPicture;
        }
    }
}

 

上記のスクリプトを
こちらのシーンに紐づけており

実機にビルドを行い
先ほどの画面が表示されている状態で
何度か端末を振ることで
ShakeCount変数 が加算されていき

画像を置き換える処理が動いてくれました♪

間違い探しのようですが、
「棚の上に鍵がある画像」から
「棚の上に鍵がない画像」に置き換わっています。
 

少しでも参考になれば幸いです。

 

Unity勉強方法のおすすめ

今、Unity,C#勉強中なのですが
目標はAndroidでゲームをリリースして
みんなに遊んでもらうことです!!
(あわよくば広告収益も・・・)

 

Unity初心者の私が勉強につかっている書籍なのですが
「いたのまんぼう」さんが執筆された
こちらの本を見て勉強しています!

【UnityではじめるC# 基礎編】

【Unityの寺子屋 定番スマホゲーム開発入門】

ご存じの方も多いであろう、
Unity2Dゲーム界では有名な書籍です。

「知識ゼロでも大丈夫」
実際に、この本を見ながら進めていけば
・脱出ゲーム
・2D横スクロールゲーム
・パズルゲーム
・クッキークリッカー風ゲーム

等を作成することができます。

 

同じような書籍に乗っている
コードのサンプルなどって、
ゲームの一部分しか載っておらず。

他の機能を搭載しようとすると
自力で調べなければなりません。。

調べている間に混乱してきて・・・

よくわかんないや。やーめよ

 

なんて事象が、プログラミングの学習などに
よく見受けられるのですが・・・。

せっかく勉強しようと思ったのに
もったいないですよね・・?

 

上記の書籍はアプリとしての完成度が高く

タイトル画面を表示して、
遊ぶゲームを作って、
結果画面や、次のステージが解放される仕組みを作って
BGMや効果音を付けるなどなど。

ゲームアプリとして必要な知識や手順が
分かりやすく説明してあります。

 

正直な話、こちらの手順を見ながら
画像やタイトル、BGMなどを自己流に変えてしまえば
すぐにリリースできるくらいのアプリは完成してしまいます・・・!

アプリをリリースする。といったゴールが明確にあると
モチベーションの維持にもつながりますので
とてもおすすめの書籍になります!!

それではまたー!!