トップページ > 過去ログ > 記事閲覧
2Dの親子関係作成
名前:rikyo 日時: 2010/04/13 17:15

初心的な質問で申し訳ありません。 2Dで描画した複数の図形を親子関係にしたいのですが、どうすればいいのでしょうか。 ちなみにC++です。

Page: 1 |

Re: 2Dの親子関係作成 ( No.1 )
名前:いっち 日時:2010/04/13 21:35

> 2Dで描画した複数の図形を親子関係にしたいのですが 親子関係とは具体的にはどういった挙動になるのでしょうか?
Re: 2Dの親子関係作成 ( No.2 )
名前:rikyo 日時:2010/04/13 21:44

Mrドリラーのようなものを作っていて、 四角形を組み合わせた図形を一気に消せるような動きです。
Re: 2Dの親子関係作成 ( No.3 )
名前:いっち 日時:2010/04/14 00:45

複数の同じ色のブロックを同時に消すような感じでしょうか?(Mrドリラーをやったこと無いです) だとすると、ブロックどうしの関係は対等なので親子という表現はふさわしく無い気がします。 全体の実装に大きく関わるので確たることは言えませんが、シンプルにブロックが消えたら上下左右の 同じブロックをチェックするという方法が良いのではないでしょうか?
Re: 2Dの親子関係作成 ( No.4 )
名前:ネコ山 日時:2010/04/14 15:35

一度、ミスタードリラーっぽいものを つくったことありますので、参考になればと思い 書き込みさせていただきます。 基本的にブロックの部分は ぷよぷよ等の落ち物パズルゲームと同じなんです。 参考URL ttp://homepage2.nifty.com/natupaji/DxLib/dxprogram.html#N10 四角を組み合わせた図形を一気に消える動作の 考え方としてドリラーを例に説明させていただきます。 1、消す始点を決める(ドリラーでいう掘る動作) 2、そこを基点に上下左右が同じ色かを調べる 3、同じ色があったらそこに基点を移してまた 上下左右を調べる (例:↑→↓←の順番で調べていって→が同じ色だったら ↓と←を調べる前に基点を→に移してそこでまた 上下左右を調べる) 4、移した基点で上下左右のどれかに同じものがあったら3に戻って、3と4を繰り返す。 5、上下左右に同じ色がなかったら基点を一つ前に 戻して続きを調べる。 (例:先程→に同じ色があったので戻って来たときは↓と←をしらべて同じ色があったら3に戻る) 6、始点のところで全部調べ終わったら通ったところを全部消す。 これでブロックを纏めて消すということが できるはずです。 説明がわかりにくかもしれませんが、 参考URLのサンプルコードをみながらやれば 実装できると思いますので、 がんばってください!

Page: 1 |