掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
FormにImageが触れているかを判定するには? (ID:101287)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
Point メソッドを使えば、指定した座標の色が分かりますので、 それで、Line 描画の有無を判定する事ができるかと思います。 しかし、描画した画像の状態から判定するのではなく、 地図情報を別に管理しておき、その状態に基づいて 壁判定や描画処理を行った方が、応用しやすいかと思いますよ。 たとえば、縦横 8 マスの単純な迷路があったとして、それぞれのマスは 「空白」(通過できるマス) 「壁」(通過できないマス) 「スタート」(開始地点:通過できるマス) 「ゴール」(到達地点) の 4 種の状態になっているとします。 図形化すると下記のようなイメージです。 0 1 2 3 4 5 6 7 8 9 0 ■■■■■■■■■■ 1 ■□□□■■□□.S.■ 2 ■■□□□□□■□■ 3 ■■■□■■■■□■ 4 ■□□□■□□□□■ 5 ■□■■■□■■□■ 6 ■□□□□□□■■■ 7 ■■■■□■□□□■ 8 ■.G.□□□■□■□■ 9 ■■■■■■■■■■ この場合、上記を縦横10マスの二次元配列に格納しておくようにすれば、 現在位置の座標から、壁判定が可能になるかと思います。 たとえば、現在位置が (1,8) の座標だとすれば、 それを配列に照らし合わせることで 今(1,8) は「S(スタート地点)」のマスである。 上(0,8) は「■(壁)」なので進めない。 右(1,9) は「■(壁)」なので進めない。 下(2,8) は「□(道)」なので通過できる。 左(1,7) は「□(道)」なので通過できる。 といった状態判定を行うのは、さほど難しくは無いですよね。 また、迷路を描画する場合、上記の地図情報を基にして、 最初はテキストのまま表示するようにし、次のバージョンでは ┏━━━┳┳━━━┓ ┃□□□┗┛□□.S.┃ ┣┓□□□□□┃□┃ ┣┻━□┏━━┛□┃ ┃□□□┃□□□□┃ ┃□━━┛□━┓□┃ ┃□□□□□□┗━┃ ┣━━━□┃□□□┃ ┃.G.□□□┃□┃□┃ ┗━━━━┻━┻━┛ のようなラインを引き、さらに次のバージョンでは、それを発展させて、 壁の部分も画像化する…といった拡張もしやすくなるでしょうし、 道の種類を増やす(ワープゾーン等)といった変化もつけやすいかな、と。
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.