Beytoioの中身(toio SDK for Unityでtoioをベイ化)


この記事でできること

  • toio SDK for Unity を導入した直後に、あなたのtoioがベイ化します。

どんなことをやったか

  • チュートリアルでtoioの制御について一通り遊んだ触れたあと、
  • ①時間経過で回転速度をあげてみた
    • 「cube.Move」の使用
  • ②衝突判定をつけてみた(音が鳴る)
    • 「cube.PlayPresetSound」の使用
  • ③衝突時に逆回転するようにした
    • 「OnCollision」の使用
    • 逆回転は、「cube.Move」内の引数に対して-1をかけることによって実現

実際の動画はコチラから

環境設定について

コード

  • プロジェクト内から、試行錯誤したゴミコメントを消したので、コピペして動かなかったらご連絡ください。

using UnityEngine;
using toio;

namespace toio.tutorial
{
    public class BasicScene : MonoBehaviour
    {
        float intervalTime = 0.05f;
        float elapsedTime = 0;
        Cube cube;

        int RotNum = 3;

        // 非同期初期化
        // C#標準機能であるasync/awaitキーワードを使用する事で、検索・接続それぞれで終了待ちする
        // async: 非同期キーワード
        // await: 待機キーワード
        async void Start()
        {
            // Bluetoothデバイスを検索
            var peripheral = await new NearestScanner().Scan();
            // デバイスへ接続してCube変数を生成
            cube = await new CubeConnecter().Connect(peripheral);
            // コールバック登録
            cube.collisionCallback.AddListener("BasicScene", OnCollision);
        }

        void Update()
        {
            // Cube変数の生成が完了するまで早期リターン
            if (null == cube) { return; }
            // 経過時間を計測
            elapsedTime += Time.deltaTime;

                cube.Move( (RotNum * (int)elapsedTime), (-1 * RotNum * (int)elapsedTime), 0);
        }

        void OnCollision(Cube c)
        {
            cube.PlayPresetSound(2);
            RotNum = -1 * RotNum;
        }
    }
}



その他の情報