• 締切済み

プログラミング初心者です。お知恵を貸してください。

閲覧ありがとうございます。 最近プログラミングを学び始めたのですが以下の処理がうまくいかず悩んでいます。 if (画像の現在位置X + 40  <  タッチした位置の座標X,     画像の現在位置X - 40  >  タッチした位置の座標X,     画像の現在位置Y + 40  <  タッチした位置の座標Y ,     画像の現在位置Y - 40  >  タッチした位置の座標Y){ touch = true; } 画像の真ん中(添付した画像の水色の枠内)にポインタを置くとtouchがtrueになるようにしたいのですが真ん中以外にポインタを置いてもtouchがtrueになってしまいます。 数学も苦手で不等号の向きが間違っているのかなんなのか解りません。お知恵を貸してください。

みんなの回答

  • LOHA
  • ベストアンサー率52% (203/388)
回答No.5

No3です。 C, C++カテでしたね。言語については無視して下さい。すみません。 #対象の環境は書いたほうが良いと思いますが。

  • Vivi0726
  • ベストアンサー率33% (1/3)
回答No.4

px = 画像の現在位置X; py = 画像の現在位置Y; tx = タッチした位置の座標X; ty = タッチした位置の座標Y; width = 水色枠の幅 = 80; height = 水色枠の高さ = 80; だったら、   if ( ((px -width/2) < tx ) && ( tx < (px+width/2) ) && ((py-height/2) < ty) && ( ty < (py+height/2) ) touch = true;   else touch = false; だけど、水色枠が画面のどの位置なのかも決めないと、画面の左上に水色枠がはりついたことになりますよ。 この程度の数式が理解できないと、プログラミングはできませんよ。 簡単な数式だけでも理解できるように、頑張ってください。

  • LOHA
  • ベストアンサー率52% (203/388)
回答No.3

まず言語はなんでしょう?C?Java?JavaScript?その他? 対象の環境はなんでしょう?Android?ブラウザ? ifのandはカンマではなく&&だと思われます。 #言語がわからないのでアレですが。 左上が原点の場合、不等号が逆だと思います。 #対象が分からないのでアレですが。

  • SOGYO
  • ベストアンサー率26% (17/65)
回答No.2

And条件が間違ってる(カンマじゃなくて&&) なのは前の回答者さんが指摘した通りだとして さらにおかしいのが ・画像の位置と言うのは,通常画像の左上の座標のことを指すので 画像の中心を計算しておかないと図の通りにはならない. ・不等号が全部逆向きなので,中央の領域以外がtouch=trueになる領域になってしまっている の2点です.

回答No.1

各条件を && でつなぐ。 # カンマでつなぐなんて誰に習ったんだ...

関連するQ&A

専門家に質問してみよう