トップページ > 記事閲覧
Andoridタッチ画像判定について
名前:かみしろ 日時: 2021/09/23 04:00

 Androidにてタッチ判定箇所について悩んでいます。  タッチした箇所の画像を、差し替えたいです。  画像を配置した部分にタッチした判定は、GetTouchInputでいいと思うのですがうまくいきません。  何故か、どこをタッチしても画像が切り替わってしまいます。  まだ始めたばかりの初心者なので、おろらく基本的な部分と思いますが、どうか教えていただきたいです。  よろしくお願いします。 while (ScreenFlip() == 0 && ProcessMessage() == 0 && ClearDrawScreen() == 0) { DrawGraph(0, 0, GHandle, TRUE); DrawRotaGraph(135, 1120, 1.0, 0.0, s1, TRUE); //画像の描画 DrawRotaGraph(405, 1120, 1.0, 0.0, s2, TRUE); //画像の描画 DrawRotaGraph(675, 1120, 1.0, 0.0, s3, TRUE); //画像の描画 DrawRotaGraph(945, 1120, 1.0, 0.0, s4, TRUE); //画像の描画 if(CheckHitKey(KEY_INPUT_ESCAPE)) { goto start; } // タッチされている箇所の数だけ繰り返し for (int i = 0; i < GetTouchInputNum(); i++) { // タッチされている箇所の座標を取得 GetTouchInput(i, &PosX, &PosY, NULL, NULL); if (PosX, PosY == 675, 1120) { DrawRotaGraph(675, 1120, 1.0, 0.0, s3t, TRUE); //画像の描画 } } }
メンテ

Page: 1 |

Re: Andoridタッチ画像判定について ( No.1 )
名前:管理人 日時:2021/09/24 04:42

タッチした座標が x=675 y=1120 だった場合、という判定にされたいのでしたら if (PosX, PosY == 675, 1120) こちらの部分は if (PosX == 675 && PosY == 1120) となります よろしければお試しください m(_ _)m
メンテ
Re: Andoridタッチ画像判定について ( No.2 )
名前:かみしろ 日時:2021/09/24 08:13

 回答ありがとうございます!  基本的な考え方が間違っていたのですね  記述されたものに書き換えて実行してみたのですが、なぜかうまくいきません  タッチ座標が合えば、DrawRotaGraphを実行するのですが……  タッチ座標の表示も常時表示させてみました。座標の取得認識はできているみたいです  度々で申し訳ありません  お分かりになりますでしょうか  
メンテ
Re: Andoridタッチ画像判定について ( No.3 )
名前:はるかぜ 日時:2021/09/24 08:59

DrawRotaGraph(675, 1120, 1.0, 0.0, s3t, TRUE); //画像の描画 これがタッチされた時の一瞬に1度しか実行されないからだと思います 指定の座標をタッチした後にずっと表示したいのであればフラグ変数を用意して、タッチした時にフラグをtrueに変えてそのフラグがtrueの間はずっと DrawRotaGraph(675, 1120, 1.0, 0.0, s3t, TRUE); //画像の描画 これを実行するように変えてみてください
メンテ
Re: Andoridタッチ画像判定について ( No.4 )
名前:かみしろ 日時:2021/09/24 19:33

 回答ありがとうございます  そうですね、一瞬しか表示されないので、気づかなかったみたいです…  結果うまく動作しました  皆様のおかげです、ありがとうございました
メンテ

Page: 1 |

題名
名前
コメント
パスワード (記事メンテ時に使用)

   クッキー保存