Commented by: ごま太郎
at 2005-10-05 19:14:38
要望そのものには私も同様なので、以下は当分の間の代替策です。
<要望その1 マップエディタについて>
私のマップエディターで、塗りつぶし機能程度はサポートしています。マップの縦横とマップチップサイズの縦横を読み込むページの設定と統一しておいてください。ファイルは、「ファイル名.map」のファイルです。リネームして、本来のマップファイルと取り替えれば問題なく読み込んでくれるはずです。DLは↓。
http://www4.atwiki.jp/gomatarou/pages/6.html
ただし、私が使えればいいや仕様なのでかなりクセがあり使いづらいです^^;
よっぽど塗りつぶしなどの機能が使いたいというのでない限りお勧めできません。
「お手軽な塗りつぶし方法」
一つのマップチップで画面を覆いつくしたいのであれば、マップの縦横サイズを1にして一箇所を塗ります。それから実行すると画面全体が塗りつぶされますので、その後、マップの縦横サイズを必要な値に設定し直してください。
<要望その2 マップの複数面化>
私も切実に願っています。以下の代替策ではどうしても動作が重くなるので…。
$mapの本体は配列とパネルオブジェクトです(maybe)。んなわけで、自前でマップを複数レイヤー用意するにはパネルオブジェクトを用意すればいいわけです。
とはいえ、マップサイズ分のパネルをどどーんと用意するととんでもなく動作が重くなりますので、画面サイズ分のパネルオブジェクトを用意し、あとはCやHSPなどのマップ描写の手法を真似てみるのが現実的です(これでも遅い!)。
もう少しロースペックパソにやさしい手法は、スプライトキャラやdrawspriteメソッドで複数レイヤー分のマップなどを描写してやる方法です。
drawspriteならばかなり高速。スプライトキャラなら数次第…ってところです。
参考:http://www4.atwiki.jp/gomatarou/pages/31.html
<要望その3 キャラクタパターンの幅と高さ表示>
getpatwidth()とgetpatheight()を使うときには、画像名.getpatwidth()とするように気をつけましょう。
てきとうなスプライトキャラで、print(p.getpatwidth());とやればちゃんと動作しているのを確認できます。
え~、長々と申し訳ありませんでした。
特にマップについては色々説明不足なのですが、とりあえずこのへんで。。。
アップ板TDRCスレなどにもマップ複数レイヤー化のサンプルがあります。ご参考にどうぞ。
|