1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Gateboxの人感センサーでサクッとゲームを作る

Last updated at Posted at 2023-07-22

Gateboxの人感センサーを使ってゲームを作りました!!
こちらの書籍を元ネタにネコが矢をよけるゲームにしました。

Unityの教科書

image.png

コーディング

お作法でレシーバを登録します。

    void Start()
    {
        HumanSensor.RegisterListener(gameObject.name, "GateboxHumanSensorFunc");
    }

センサーの検知はBooleanで処理しています。
こちらの処理はセンサーの状態が変化しないと再処理されないので、移動はUpdateで行います。

    public void GateboxHumanSensorFunc(string message)
    {
        // Parse
        HumanSensor.Result result = JsonUtility.FromJson<HumanSensor.Result>(message);
        GameObject.Find("MoveText").GetComponent<Text>().text = "センサーの状態\n左:" + result.left + "右:" + result.right;

        // Move Player
        if (result.left == "true" && result.right == "false")
        {
            leftSensor = true;
            rightSensor = false;
        } else if (result.left == "false" && result.right == "true")
        {
            leftSensor = false;
            rightSensor = true;
        } else
        {
            leftSensor = false;
            rightSensor = false;
        }
    }

センサーのBooleanに応じてネコを移動させます。
(左センサー -> 左移動 / 右センサー -> 右移動)
ポジションの上限 / 下限は良しなに。

    void Update()
    {
        // Left Move
        if (leftSensor && !rightSensor)
        {
            if (transform.position.x > -4.0f)
            {
                transform.Translate(moveX * (-1f), 0, 0);
            }
        }

        // Right Move
        if (!leftSensor && rightSensor)
        {
            if (transform.position.x < 4.0f)
            {
                transform.Translate(moveX, 0, 0);
            }
        }
    }

いざ、実行

良い感じに動いています。
結構激しく運動する必要があります!!

image.png

1
0
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
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?