Warning: Use of undefined constant user_level - assumed 'user_level' (this will throw an Error in a future version of PHP) in /home/gogoweb/55w.jp/public_html/techblog/wp-content/plugins/ultimate-google-analytics/ultimate_ga.php on line 524
Facebook にシェア
[`evernote` not found]
LINEで送る

9leapで加速度センサーを使ったゲームが投稿されていました。
すごいなどうやってやっているのだろう?と調べてみると、iOS4.2から加速度センサーをjavascriptで取得できるAPIが実装されていたとのこと。それはすごく面白そうということで、enchant.jsで使えるように色々調べてみました。

window.addEventListener('devicemotion', function(e){
gravity  = e.accelerationIncludingGravity;
game.gx = gravity.x;
game.gy = gravity.y;
game.gz = gravity.z;
},true);

上の文をgame = new game();の下あたりに追加してください。
後はiphoneを傾けるたびにgame.gxで横 game.gyで前後、game.gzで上下の傾きを感知します。

参考 JavaScript で iPhone の加速度センサーを扱う方法
iPhone4だともう少し正確に値を取得できるっぽいですが、iphone3gsしかもっていないので未検証です。