ページ 11

C# ステージエディタのバケツツール

Posted: 2012年11月10日(土) 16:27
by 雨ガエル
現在2Dアクションゲーム用のステージエディタを作っています。
大まかに完成して使える状態になったのですが、
ペイントソフトなどにある”バケツ”の機能をつけたいと考えています。

ステージエディタのバケツツールでは
「同じチップが並んでいる範囲に別のチップを敷き詰める」
ということをやりたいです。
SnapCrab_No-0000.png
SnapCrab_No-0000.png (2.16 KiB) 閲覧数: 2792 回
(たとえばこの画像の状態でブロックが並んでいるところをクリックすると別のチップに置き換わる)

同じチップが並んでいる範囲を見つける方法が思い浮かばず困っています。
よろしくお願いします。

Re: C# ステージエディタのバケツツール

Posted: 2012年11月10日(土) 16:48
by 雨ガエル
ちなみにチップの並びはbyte[,]Dataという2次元配列に入っています。

Re: C# ステージエディタのバケツツール

Posted: 2012年11月10日(土) 16:58
by softya(ソフト屋)
一種の画像処理ですから次のサイトが参考になると思います。
「画像処理におけるアルゴリズム」
http://homepage2.nifty.com/tsugu/sotuke ... ec3-2.html
「ラベリング処理アルゴリズム 画像処理ソリューション」
http://imagingsolution.blog107.fc2.com/ ... y-193.html

Re: C# ステージエディタのバケツツール

Posted: 2012年11月10日(土) 23:30
by 雨ガエル
softyaさん、参考URLありがとうございます。
とても参考になりました。
ステージデータにラベリング処理をして別の2次元配列に結果を書き込んで、
マウスでクリックした座標のラベルの部分を別のチップで置き換えれば
よさそうです。
がんばってみます。