距離センサーを使って衝突回避ゲーム
糸通しやFlappy Birdのように、迫りくる壁を回避するゲームです。
距離センサーによって自分の手を動かして操作するので、直感的に遊べます。 
コンテンツ
今回すること
糸通しやFlappy Birdのように、迫りくる壁を回避するゲームです。
距離センサーによって自分の手を動かして操作するので、直感的に遊べます。
用意するもの
- obniz Board
 - 電源
 - GP2Y0A21YK0F(赤外線距離センサー) x1
 - ブラウザが使えるPC/スマートフォン x1
 
組み立て方
配線
以下の表や図のように配線します。
| obniz | GP2Y0A21YK0F (赤外線距離センサー) | 
|---|---|
| 0 | Vcc | 
| 1 | GND | 
| 2 | signal | 

プログラム
HTML5のcanvasを使ってブラウザ内に描画します。
canvasの詳しい使い方は、こちらを参照して下さい。
<canvas id="field" width="300" height="300"/>
  let canvas = document.getElementById('field');
  let ctx = canvas.getContext('2d');
距離センサーからの入力は inputHeight 変数に自動で入るように設定しておき、使いたいタイミングで使うようにします。
  let inputHeight = 0;
  let obniz = new Obniz("OBNIZ_ID_HERE");
  obniz.onconnect = async function () {
    let sensor = obniz.wired("GP2Y0A21YK0F", {vcc:0, gnd:1, signal:2});
    sensor.start(function (height) {
      inputHeight = height;
    })
  };
コードの中の {vcc:0, gnd:1, signal:2} は距離センサを接続した場所によって変えます。「配線」にて同じように接続していれば、そのままで大丈夫です。
ここで取得した値は、毎フレーム内の処理の際に入力値として使っています。
let input = (300 - inputHeight); input = Math.min(Math.max(0, input), canvas.height); dot.push(input);
完成したプログラム