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

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
アバター
雨ガエル
記事: 34
登録日時: 13年前
住所: 新潟
連絡を取る:

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

#1

投稿記事 by 雨ガエル » 12年前

現在2Dアクションゲーム用のステージエディタを作っています。
大まかに完成して使える状態になったのですが、
ペイントソフトなどにある”バケツ”の機能をつけたいと考えています。

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

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

アバター
雨ガエル
記事: 34
登録日時: 13年前
住所: 新潟
連絡を取る:

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

#2

投稿記事 by 雨ガエル » 12年前

ちなみにチップの並びはbyte[,]Dataという2次元配列に入っています。

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 14年前
住所: 東海地方
連絡を取る:

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

#3

投稿記事 by softya(ソフト屋) » 12年前

一種の画像処理ですから次のサイトが参考になると思います。
「画像処理におけるアルゴリズム」
http://homepage2.nifty.com/tsugu/sotuke ... ec3-2.html
「ラベリング処理アルゴリズム 画像処理ソリューション」
http://imagingsolution.blog107.fc2.com/ ... y-193.html
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

アバター
雨ガエル
記事: 34
登録日時: 13年前
住所: 新潟
連絡を取る:

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

#4

投稿記事 by 雨ガエル » 12年前

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

閉鎖

“C言語何でも質問掲示板” へ戻る