HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2008
1019
のくさんぶる当たり判定7解決


のくさんぶる

リンク

2008/10/19(Sun) 09:17:24|NO.20310

よく当たり判定で
if (x+32>150) and (x<190) and (y+32>150) and (y<190)

などとありますが、(x+32>150)&他三つがどこの位置なのかよく分かりません。 どういうことなのですか?教えてください。



この記事に返信する


Kpan

リンク

2008/10/19(Sun) 09:40:30|NO.20312

その1行のコードだけでは判断に困りますが・・・(^^;


color $FF boxf 119, 119, 189, 189 repeat x = mousex y = mousey if (x+32>150) and (x<190) and (y+32>150) and (y<190) { title "入 "+x+" x "+y } else { title "出 "+x+" x "+y } wait 10 loop



のくさんぶる

リンク

2008/10/19(Sun) 11:05:39|NO.20315

えーと、
何故xに+をしなければならないのかを教えてほしいのですが、
其の前後のスクリプトも入れたほうがいいでしょうか?



p

リンク

2008/10/19(Sun) 11:23:45|NO.20316

なんで+32かなんて、ソース書いた本人にしか分からなくね?
+32が気持ち悪いなら右辺にまとめればいいこと。



sl

リンク

2008/10/19(Sun) 12:18:19|NO.20318

xに+をしなければならないわけではない。
可視性の問題だろ。



じった

リンク

2008/10/19(Sun) 16:13:05|NO.20322

正確なところは当然ソースを書いた本人しかわかりませんので
あくまで推測ですが…

例えばキャラクターサイズが縦・横それぞれ32ドットの時などに
このような書き方をすることが考えられます。

キャラクターの表示座標を(X,Y)とした場合、
キャラクターの左端は X
キャラクターの右端は X+32
同様に
キャラクターの上端は Y
キャラクターの下端は Y+32
となるからです。

(ただ、それにしては例文の式はちょっと変な感じがします。
 if (x+32>150) and (x<190) and (y+32>150) and (y<190) では無く
 if (x>150) and (x+32<190) and (y>150) and (y+32<190) なら判る気がするけど)



夢現因果

リンク

2008/10/19(Sun) 19:33:58|NO.20335

よく使われるものをして横軸を「X」縦軸を「Y」とします

今回の場合はキャラクターの右端が150より大きくキャラクターの左端が190より小さい時
尚且つキャラクターの下部が150より大きくキャラクターの上部が190より小さい時の条件になります

じったさんは指摘されましたが今回はキャラクターとキャラクターとの当たり判定とするとのくさんぶるさんのままで良いと思います

じったさんの例はキャラクターが範囲内に全て納まった例でのくさんぶるさんの例は少しでも当たるというものです



のくさんぶる

リンク

2008/10/20(Mon) 04:55:33|NO.20341

そういう意味だったのですね。
どうも感覚がつかめなくて・・・
皆さんありがとうございます。



ONION software Copyright 1997-2021(c) All rights reserved.