--------

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
2011-11-05

タッチがうまくとれない

引き続きenchant.jsを使ってゲーム製作。
クリアするたびにボールの数を変えて難易度を上げるのと
ボールの挙動をすこしそれっぽくしてみました。

ボール飛ばし 2011-11-04 - jsdo.it - share JavaScript, HTML5 and CSS



前に、enchant.jsの標準の機能では画像のアラインがセンターセンターにできない件について書きましたが、
なんか公式のプラグインとして配布していました。
enchant.jsでオブジェクトの回転軸を変更するプラグイン
次に作るゲームから使おうと思います。

今回は、タッチ関係の処理を主に変更しました。

タッチ処理は、enchantの'touchXXX'系のイベントでPCの場合はマウス操作
スマホの場合はタッチパッド操作の処理を設定できるのでそれを使っていましたが
ボールが小さいのか、スマホの場合だとボールの位置を性格にタッチしないと反応せず
いささかストレスがたまる操作感になってしまいました。

なので、タッチ可能領域を広げようかと思い
ボールの中心から一定距離までをタッチ可能領域にしようと試してみましたが
'touchXXX'系のイベントで関数に渡される引数には
ブラウザ上の座標が入っており、WEBページ自体が拡大縮小されている場合は
この値と実際のボールの座標が異なった値になっていました。

これを解決するためには拡大縮小を禁止する必要があり
実際に試してみたのですが、iPhoneで実行してみるとなぜか拡大されてしまい
うまく座標がとれません。仕方がないのでゲームのどこをタッチしても反応するようにしました。

次の課題はスマホとPCの入力の互換性をどう保つかになりそうです。

自分はiPhone4しかもっていないので、それでテストプレイしてみたところ
ボール25個くらいから処理落ちが目に付き始めてきました。
もっと旧世代だと早い段階で処理落ちしそうな勢いです。

この辺を調整する環境を作る必要が出てきそうですね。

次はボール飛ばしをいったん切り上げて、スマホ特有のマルチタッチや
各種センサ系を使った簡単なゲームを作ってみようかと思います。
スポンサーサイト

theme : JavaScript
genre : コンピュータ

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。