SlideShare a Scribd company logo
1

センサー類を使ったアプ
リ
深水 拓郎 @uzuki_aoba
2

Coronaにおけるセンサー
使えるセンサー
 heading (方位)
 location (位置)
 accelerometer (加速度)
 gyroscope (ジャイロ)

使い方
 使用可能か調べる:system.hasEventSource()
 値を取得したときのリスナーを登録する:
Runtime:addEventListener()
 リスナーで値を使う(保存、表示、etc…)
3

コード例

 system.hasEventSource(“heading”)でコンパスが使えるか確認
する
 使えるならRuntime:addEventListener(“heading”, リスナー関数)
で、方位を取得した場合の処理を登録する
 これは方位が変化する度に呼び出される

 使えない場合の処理も必要です。(例では使えない旨を表記)
4

build.settingsで許可
 androidでGPSを使うにはパーミッション(許可)設定が必要
12/02/24  プロジェクトのフォルダにあるbuild.settingsに記述する
http://developer.anscamobile.com/content/configuring-projects#Application_Permissions_Android

•
•

build.settingsについて:
• http://developer.anscamobile.com/content/configuring-projects
Androidのパーミッション設定の項目について:
• http://developer.android.com/reference/android/Manifest.permission.html
5

「シュベーレ・グスタフごっ
こ。」

 ナショジオのミリタリーアワー見ながら何造るか考えてたらこんな
ことになりました。
 ナチス・ドイツが誇るトンデモ兵器である80cm列車砲“シューベー
レ・グスタフ(Schwerer Gustav)”をシュミレートします。
 方角と発射角度をセンサーで決定して、飛距離と着弾地点を算出し
ます。
 兵器の威力と恐ろしさを伝えます。
6

特長
 センサーを使いました
 使ったセンサー
 heading
 location
 accelerometer (所持してるAndroid端末がgyroscope非搭載だったの
で)

 使い方はAnscaのテンプレートやAPIレファレンスの例とほぼ同
じです。

 マップを表示します
 Androidはネイティブのマップが呼び出せません(多様性がある
ため)
 native.showWebPopupでhtmlファイルを表示し、html側で
JavaScriptを使ってGoogle Mapを呼び出しています。
 GETメソッドで値は渡しています。
 CDNで他所にあるスクリプトを読み込んで使うのもOKです。
7

デモ
 HTC EVOでデモします
8

感想
 センサー類の実装はネイティブの開発環境よりシンプル
 何も考えなくてもだいたいは動く
 そして、だいたいはAnscaのサンプル書き換えでOK

 マップが呼べない等端末差異やサポートしてない機能も有る
けれど、native.showWebPopup()でJavaScriptに仕事させれ
ば何とかなる
 センサー類は実機でないと試せないので、デバッグが少し面
倒
 appMobi XDKみたいに本体傾きや位置のエミュレートが出来る
とうれしい…

 locationイベントの発生が遅いのはなんでだろう・・・
 50秒くらいかかる
9

感想(2)
 Android端末の間でもセンサーのズレがありますね。個体差
かしら。
 もともと精度は期待できないので仕方ないけど。
10

付録: native.showWebPopup()を
使ったmap表示
 htmlを経由することで、Androidでも
iOSでも共通の実装でmapを表示でき
ます。
 Google Static Map APIを表示していま
すが、ちゃんと組めば動かせるMapも
出せると思います(未検証
 表示用のHTMLはプロジェクトフォル
ダにつっこんでます。
 jQueryが使えるので、だいたいの事は
できます。
←グスタフごっこでは着弾地点の表示に使ってます
11

やり方:Corona側
 Anscaが公開してるnative.showWebPopupの利用例とほぼ同じ。
 Map表示用に準備したHTMLファイルをWebPopupで開く。
 表示したいマーカーの座標と、スクリーンサイズをGETメソッドで渡
しています。
 下が該当部分です(urlRequestListener等は省略してますが、Anscaの
サンプル通りでOK)
12

やり方: HTML側
 metaタグをちゃんと指定する。
 スマートフォン用のviewpointの設定で良いです

 map表示用のエレメント(Static Mapの場合img)と、ローディン
グ中の代替表示用のエレメント、閉じるボタン用のエレメント
を準備する
 Corona側で拾うために、閉じるボタンはformとsubmitで作ります。

 jQueryを読み込む
 他のライブラリでも良いですし、ネイティブ実装でも良いです

 JavaScriptでHTMLのロード時の処理を書く
 GETメソッドでパラメータを取得する
 map表示用のエレメントのサイズを、Corona側から渡した画面サイ
ズを基に調節する
 Google Static Map APIに投げるリクエストURLを組み立てて、map
表示用のimgエレメントのsrc属性に入れる
 画像のロード完了時にローディング表示を消してmapを表示する

More Related Content

Similar to センサー類を使ったアプリ

ActiveResourceが面白すぎる件
ActiveResourceが面白すぎる件ActiveResourceが面白すぎる件
ActiveResourceが面白すぎる件
Kazuki MATSUMOTO
 
Node.jsv0.8からv4.xへのバージョンアップ ~大規模Push通知基盤の運用事例~
Node.jsv0.8からv4.xへのバージョンアップ ~大規模Push通知基盤の運用事例~Node.jsv0.8からv4.xへのバージョンアップ ~大規模Push通知基盤の運用事例~
Node.jsv0.8からv4.xへのバージョンアップ ~大規模Push通知基盤の運用事例~
Recruit Technologies
 
RDS(MySQL)の利用と注意点
RDS(MySQL)の利用と注意点RDS(MySQL)の利用と注意点
RDS(MySQL)の利用と注意点Hiroyasu Suzuki
 
スマートニュースの世界展開を支えるログ解析基盤
スマートニュースの世界展開を支えるログ解析基盤スマートニュースの世界展開を支えるログ解析基盤
スマートニュースの世界展開を支えるログ解析基盤
Takumi Sakamoto
 
Node-v0.12の新機能について
Node-v0.12の新機能についてNode-v0.12の新機能について
Node-v0.12の新機能についてshigeki_ohtsu
 
Apache geode at-s1p
Apache geode at-s1pApache geode at-s1p
Apache geode at-s1p
Masaki Yamakawa
 
Das 2015
Das 2015Das 2015
エキ Py 読書会02 2010/9/7
エキ Py 読書会02 2010/9/7エキ Py 読書会02 2010/9/7
エキ Py 読書会02 2010/9/7Tetsuya Morimoto
 
今日からできる!簡単 .NET 高速化 Tips
今日からできる!簡単 .NET 高速化 Tips今日からできる!簡単 .NET 高速化 Tips
今日からできる!簡単 .NET 高速化 Tips
Takaaki Suzuki
 
海外ゲーム技術勉強会#1 OGRE3D
海外ゲーム技術勉強会#1 OGRE3D海外ゲーム技術勉強会#1 OGRE3D
海外ゲーム技術勉強会#1 OGRE3D
Kazuhisa Minato
 

Similar to センサー類を使ったアプリ (11)

ActiveResourceが面白すぎる件
ActiveResourceが面白すぎる件ActiveResourceが面白すぎる件
ActiveResourceが面白すぎる件
 
Node.jsv0.8からv4.xへのバージョンアップ ~大規模Push通知基盤の運用事例~
Node.jsv0.8からv4.xへのバージョンアップ ~大規模Push通知基盤の運用事例~Node.jsv0.8からv4.xへのバージョンアップ ~大規模Push通知基盤の運用事例~
Node.jsv0.8からv4.xへのバージョンアップ ~大規模Push通知基盤の運用事例~
 
RDS(MySQL)の利用と注意点
RDS(MySQL)の利用と注意点RDS(MySQL)の利用と注意点
RDS(MySQL)の利用と注意点
 
スマートニュースの世界展開を支えるログ解析基盤
スマートニュースの世界展開を支えるログ解析基盤スマートニュースの世界展開を支えるログ解析基盤
スマートニュースの世界展開を支えるログ解析基盤
 
Node-v0.12の新機能について
Node-v0.12の新機能についてNode-v0.12の新機能について
Node-v0.12の新機能について
 
Apache geode at-s1p
Apache geode at-s1pApache geode at-s1p
Apache geode at-s1p
 
Das 2015
Das 2015Das 2015
Das 2015
 
エキ Py 読書会02 2010/9/7
エキ Py 読書会02 2010/9/7エキ Py 読書会02 2010/9/7
エキ Py 読書会02 2010/9/7
 
今日からできる!簡単 .NET 高速化 Tips
今日からできる!簡単 .NET 高速化 Tips今日からできる!簡単 .NET 高速化 Tips
今日からできる!簡単 .NET 高速化 Tips
 
海外ゲーム技術勉強会#1 OGRE3D
海外ゲーム技術勉強会#1 OGRE3D海外ゲーム技術勉強会#1 OGRE3D
海外ゲーム技術勉強会#1 OGRE3D
 
Effective Java 輪読会 項目66-68
Effective Java 輪読会 項目66-68Effective Java 輪読会 項目66-68
Effective Java 輪読会 項目66-68
 

Recently uploaded

論文紹介:Deep Learning-Based Human Pose Estimation: A Survey
論文紹介:Deep Learning-Based Human Pose Estimation: A Survey論文紹介:Deep Learning-Based Human Pose Estimation: A Survey
論文紹介:Deep Learning-Based Human Pose Estimation: A Survey
Toru Tamaki
 
ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---
ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---
ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---
Matsushita Laboratory
 
This is the company presentation material of RIZAP Technologies, Inc.
This is the company presentation material of RIZAP Technologies, Inc.This is the company presentation material of RIZAP Technologies, Inc.
This is the company presentation material of RIZAP Technologies, Inc.
chiefujita1
 
遺伝的アルゴリズムと知識蒸留による大規模言語モデル(LLM)の学習とハイパーパラメータ最適化
遺伝的アルゴリズムと知識蒸留による大規模言語モデル(LLM)の学習とハイパーパラメータ最適化遺伝的アルゴリズムと知識蒸留による大規模言語モデル(LLM)の学習とハイパーパラメータ最適化
遺伝的アルゴリズムと知識蒸留による大規模言語モデル(LLM)の学習とハイパーパラメータ最適化
t m
 
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアルLoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
CRI Japan, Inc.
 
キンドリル ネットワークアセスメントサービスご紹介 今のネットワーク環境は大丈夫? 調査〜対策までご支援します
キンドリル ネットワークアセスメントサービスご紹介 今のネットワーク環境は大丈夫? 調査〜対策までご支援しますキンドリル ネットワークアセスメントサービスご紹介 今のネットワーク環境は大丈夫? 調査〜対策までご支援します
キンドリル ネットワークアセスメントサービスご紹介 今のネットワーク環境は大丈夫? 調査〜対策までご支援します
Takayuki Nakayama
 
Generating Automatic Feedback on UI Mockups with Large Language Models
Generating Automatic Feedback on UI Mockups with Large Language ModelsGenerating Automatic Feedback on UI Mockups with Large Language Models
Generating Automatic Feedback on UI Mockups with Large Language Models
harmonylab
 
JSAI_類似画像マッチングによる器への印象付与手法の妥当性検証_ver.3_高橋りさ
JSAI_類似画像マッチングによる器への印象付与手法の妥当性検証_ver.3_高橋りさJSAI_類似画像マッチングによる器への印象付与手法の妥当性検証_ver.3_高橋りさ
JSAI_類似画像マッチングによる器への印象付与手法の妥当性検証_ver.3_高橋りさ
0207sukipio
 

Recently uploaded (8)

論文紹介:Deep Learning-Based Human Pose Estimation: A Survey
論文紹介:Deep Learning-Based Human Pose Estimation: A Survey論文紹介:Deep Learning-Based Human Pose Estimation: A Survey
論文紹介:Deep Learning-Based Human Pose Estimation: A Survey
 
ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---
ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---
ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---
 
This is the company presentation material of RIZAP Technologies, Inc.
This is the company presentation material of RIZAP Technologies, Inc.This is the company presentation material of RIZAP Technologies, Inc.
This is the company presentation material of RIZAP Technologies, Inc.
 
遺伝的アルゴリズムと知識蒸留による大規模言語モデル(LLM)の学習とハイパーパラメータ最適化
遺伝的アルゴリズムと知識蒸留による大規模言語モデル(LLM)の学習とハイパーパラメータ最適化遺伝的アルゴリズムと知識蒸留による大規模言語モデル(LLM)の学習とハイパーパラメータ最適化
遺伝的アルゴリズムと知識蒸留による大規模言語モデル(LLM)の学習とハイパーパラメータ最適化
 
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアルLoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
 
キンドリル ネットワークアセスメントサービスご紹介 今のネットワーク環境は大丈夫? 調査〜対策までご支援します
キンドリル ネットワークアセスメントサービスご紹介 今のネットワーク環境は大丈夫? 調査〜対策までご支援しますキンドリル ネットワークアセスメントサービスご紹介 今のネットワーク環境は大丈夫? 調査〜対策までご支援します
キンドリル ネットワークアセスメントサービスご紹介 今のネットワーク環境は大丈夫? 調査〜対策までご支援します
 
Generating Automatic Feedback on UI Mockups with Large Language Models
Generating Automatic Feedback on UI Mockups with Large Language ModelsGenerating Automatic Feedback on UI Mockups with Large Language Models
Generating Automatic Feedback on UI Mockups with Large Language Models
 
JSAI_類似画像マッチングによる器への印象付与手法の妥当性検証_ver.3_高橋りさ
JSAI_類似画像マッチングによる器への印象付与手法の妥当性検証_ver.3_高橋りさJSAI_類似画像マッチングによる器への印象付与手法の妥当性検証_ver.3_高橋りさ
JSAI_類似画像マッチングによる器への印象付与手法の妥当性検証_ver.3_高橋りさ
 

センサー類を使ったアプリ