見出し画像

Swift Playgroundsのコンテンツが大幅アップデート!(2)【センサーを学ぶをやってみた】

Swift5.0対応の「センサーを学ぶ」では、iPadに搭載されている様々なセンサーを活用して、プログラムにデータを送ることができます。

「センサーを学ぶ」で対応するセンサーは下記のとおりです。

音・ノイズ(マイク)
画面上の動き(タッチセンサー)
明るさ、色(iPadのカメラ)

センサーとはそもそも何なのか

センサーは音や光、接触などの物理的現象に応じて、電気的抵抗が変化する素子です。

簡単に言うと、センサーを流れる電流が、音センサーだったら音に応じて、光センサーだったら光に応じて、接触センサーだったら接触に応じて変化することによって、機械は音や光、接触を知ることができるのです。

そして、Swiftではそれらの変化を私たちにわかりやすい形、「数字」として処理することができます。

センサーとプログラムはどう機能するのか

センサーから受けた電流をSwiftは波のデータとして解釈し、「イベント」が発生します。

イベントは、それぞれのセンサーに対応したプログラムがあり、そのイベントに応じた「イベントハンドラ」があります。

「イベントハンドラ」とは、それぞれのセンサーから受けたデータをもとにして起動したイベントのデータを活用したプログラムを書くための関数です。

私たちの体で考えてみる

私たちもたとえば大きな音が急になったらびっくりすることを考えてみましょう。

「音センサー」としての耳があり、「大きな音」というイベントが起きた時、「体がこわばる」という反応をする一連の動作と同じです。

ここで言うイベントは、音を受け取った時、そして私達の脳には「大きい音」というイベントハンドラとして「体がこわばる」というプログラムがされている、とも言えますよね。

実際にはiPadではそれぞれのセンサーで得られたデータ(数値)がそのまま入ってくるので条件分岐などを活用して、音が大きい時、小さい時などを設定することができます。これがイベントハンドラです。

Swift Playgrounds「センサーを学ぶ」

Swift Playgroundsの「センサーを学ぶ」では、センサーを使ったゲームを制作するプロセスの「センサー導入部分」だけを体験して「センサーとイベント、イベントハンドラ」の使い方を学ぶためのものです。

センサーを使えばゲームの幅も広がります。ぜひ学んでみてくださいね!

この記事が参加している募集

ただ続けることを目的に、毎日更新しております。日々の実践、研究をわかりやすくお伝えできるよう努力します。