LoginSignup
3
1

More than 3 years have passed since last update.

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

Last updated at Posted at 2020-11-29

この記事でできること

  • 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;
        }
    }
}



その他の情報

3
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
1