jsWaffle質問掲示板(雑談やTips歓迎)

jsWaffleについて質問する掲示板です。(雑談や発見したTipsの投稿も大歓迎です!)
[一覧へ] > (@19) [普通] [質問]
@19■ (#62) マルチタッチが出来なくて困っています。 - まる四 (2011-06-16 15:11) /普通 質問
【質問事項】どのような問題ですか?
ピンチイン・ピンチアウトのサンプルが動きません

【再現方法】サンプルソース、再現手順など
Chapter4 > column10 > TouchTest
を、実機で動かしてもマルチタッチに反応しない

【調べた事】
document.ontouchstart で、touches.length を
alert で表示すると 1 が表示されます。

【jsWaffleバージョン】確認したjsWaffleバージョン
1.180

【Androidのバージョン】確認したAndroidバージョン
Android OS 2.2

【機種名】
XPeria arc

【その他】

(#69) おやっ?! - クジラ飛行机 (2011-06-20 09:01) /普通 返信
筆者の端末(Galaxy S)では、問題なくマルチタッチが行われています。
何が問題でしょうか。

念のため、プロジェクトのプロパティを表示して、Androidの項目をクリック、対応SDKをAndroid2.1以降に設定して試してみてください。

編集部でもXPeriaでチェックしてくれたので、XPeriaが問題というわけではなさそうです。

ちなみに、alert()を使うと、そこで処理が止まってしまうので、
シングルタッチの時点でダイアログが表示されてしまうでしょう。

そこで、droid.log()を使って、DDMSにデバッグ出力させてみると良いかもです。
http://d.aoikujira.com/jsWaffle/wiki/index.php?%E3%83%9E%E3%83%8B%E3%83%A5%E3%82%A2%E3%83%AB%252F%E3%83%AD%E3%82%B0%E3%81%AE%E5%87%BA%E5%8A%9B

(#72) やはり、できませんでした。。。 - まる四 (2011-06-20 15:07) /普通 返信
> 念のため、プロジェクトのプロパティを表示して、Androidの項目をクリック、対応SDKを
> Android2.1以降に設定して試してみてください。

ご教示いただいた事を、
TouchTestのプロパティーの
AndroidのProject Build Target の事と理解して以下を実施しました。

今までも、2.2で実施してきましたが、再度、
TouchTestのプロパティーの
AndroidのProject Build Targetを
Android 2.1-update1  APIレベル7
Android 2.2      APIレベル8
の2通りで実施しましたが、
マルチタッチに反応しません。

また、index.html の
  document.ontouchstart = function (e) {
の下には、次の行を挿入して、
  droid.log("ontouchstart len = " + e.touches.length);
マルチタッチをすると、
ontouchstart len = 1
が、DDMSログへ出力されます。

PS.
TouchTestプロジェクトには、
小さな黄色い▲!マークが付いていて
ディレクトリを下がっていくと、
src -> com -> kujirahand -> jsWaffle -> utils - ContactAccessor3_4.java
の8,9,10,15,28,31,34,37,38,41行に黄色▲!マーク
それと、
AndroidManifest.xml
の最初の行にも黄色▲!マーク
が付いています、何か関係ありでしょうか?


※マルチタッチを有効にして
ピンチイン・アウトが使えるアプりを作ろうとしています
何卒よろしくお願いします。

(#81) 何か思い当たる方いらっしゃいますか? - クジラ飛行机 (2011-06-25 14:27) /普通 返信
おかしいですね。
手元の Galaxy Sでは問題なく、マルチタッチできています。
他に、再現する方や思い当たる節のある方いらっしゃいますでしょうか?

ところで、マルチタッチは、WebKit(ブラウザ)の機能をそのまま利用しています。
jsWaffleのフレームワークを使わず、ソースをWebサイトに配置してみて
マルチタッチができるか確かめていただけませんでしょうか?

(#82) Webサイトではできましたが、Aptanaデバッグではダメでした、、 - まる四 (2011-06-25 21:27) /普通 質問
Webサイトではできましたが、
Aptanaのデバッグでは出来ませんでした。
トホホ、、

(#85) ソースコード - クジラ飛行机 (2011-06-26 17:47) /普通 返信
なぜか、動かないとのこと、とても、残念です。

同じWebKitで、同じAndroidで、アプリのときだけ、マルチタッチができないというのは何かの設定がおかしいのだと思います。

同じソースコードと思いますので、気休めですが、新規プロジェクトを作って、
念のため、以下のソースコードで試していただけますか?

添付の画像 photo.png を使って、
ピンチイン、ピンチアウトができないでしょうか?

===
<!DOCTYPE html>  
<html><head><meta charset="utf-8">
<script type="text/javascript" src="jsWaffle.js"></script>
<script type="text/javascript">
window.onload = function() {
  var tx_start = 0; // 初期間隔
  var tx_value = 0; // 移動量
  var tx_total = 0; // 移動量のトータル
  document.ontouchstart = function (e) {
    if (e.touches.length >= 2) { // マルチタッチされた時
      tx_start = Math.abs(e.touches[0].pageX - e.touches[1].pageX);
      e.preventDefault();
    }
  };
  document.ontouchmove = function (e) {
    if (e.touches.length >= 2) { // マルチタッチされた時
      e.preventDefault();
      var x2 = Math.abs(e.touches[0].pageX - e.touches[1].pageX);
      tx_value = x2 - tx_start; // 移動量を計算
      // 移動量に合わせてピンチイン/アウト処理
      $("pic").width = 200 + tx_total + tx_value;
      $("pic").height  = 200 + tx_total + tx_value;
    }
  };
  document.ontouchend = function(e){
    tx_total += tx_value; // トータル移動量に加算
  };
};  
</script>
</head><body>
  <img id="pic" src="photo.png"/>
</body></html>
===


http://d.aoikujira.com/jsWaffle/tasukeai/attach/85-photo.png




(#88) 色々ありがとうございました。 - まる四 (2011-06-27 11:07) /普通 質問
示していただいたソースコードで
新たなプロジェクトでやってみましたが、ダメでした。
私のPCの環境か、何かの設定がおかしいのだと思います。

PC持参で教えを請いに伺いたいところですが
それもままなりません(第一ご迷惑ですね)
ここは、一旦あきらめる事といたします。
m(__)m

(#62)へ返信する:

名前
タイトル
本文
困った度
状態
確認キー お手数ですが、いたずら防止のために、半角数字で「8932」と入力してください。
編集キー 編集時に使うキーを入力(省略可能)
添付ファイル 画像ファイル(最大300KB)を添付可能