マップファイルのセーブ
投稿者 : ごま太郎(i218-47-139-88.s02.a001.ap.plala.or.jp)
- 2005/01/25(Tue) 07:51
No.7730
|
|
|
|
|
.cmmlファイルを実行すると自動的に読み込まれる.mapファイル(test.cmmlならtest.map)と同じものをfilesフォルダに保存することはできないでしょうか。 $map.saveMapFileがそれかと思ったのですが、プログラムを覗いてみたところ引数もなさそうだったりするなど使い方が分かりませんでした。 $map.setによって書き換えた情報もセーブをしたいです。 用途は、マップエディターです。Tonyu標準のマップ描写ツールでは少々不満があったため、色々と描写する必要があるRPGなどで使いたいと思っています。 よろしく御願いいたします。
|
Re: マップファイルのセーブ
投稿者 : hoge-(ppp02.kake.info.waseda.ac.jp)
- 2005/01/25(Tue) 13:53
No.7731
|
|
|
|
ちょっと試してみないとわかりませんが、 Mapクラスのをまるまるコピーして
saveMapFile、loadMapFileを変更したらうまくいくかもしれません。
function saveMapFile() { var wrt,cc,gen,s,a,b; // 変更 wrt=new DataWriter(new FileWriter("file.txt")); // 変更おわり wrt.writeInt(1); //version 1 supports pattern ずれる a=getResource("usr.patterns"); b=a.getSubRes(); wrt.writeInt( b.size() ); for (a in b) { wrt.writeString ( a.getName() ); wrt.writeInt( getGlobal(a.getName()) ); } cc=0; while (cc<width*height) { wrt.writeInt(data.get(cc)); cc+=1; } wrt.close(); (if文の } をとる) }
function loadMapFile() { var tbl,i,ver,s,xx,yy,gen,lastofs; print ("マップを読み込んでいます"); // 変更 s=new DataReader(new FileReader("file.txt")); // 変更おわり ver=s.readInt(); //version (以下略)
|
Re: マップファイルのセーブ
投稿者 : hoge-(ppp02.kake.info.waseda.ac.jp)
- 2005/01/25(Tue) 14:08
No.7732
|
|
|
|
補足
Map.tonyuをまるまるコピーする必要はありません。Mapを継承してsaveMapFileとloadMapFileを上記の通り再定義しておきます。
クラス名(例): FileMap.tonyu extends Map;
function saveMapFile() { : } function loadMapFile() { : }
あと、プログラムが始まったら
$map=new FileMap(); $map.init(200,100,32,32); (横縦のマップチップ数、マップチップ1枚の大きさ) $map.loadMapFile();
とやっておく必要があります
動くかどうかかなり自信ないので後で試してみます
|
Re: マップファイルのセーブ
投稿者 : ごま太郎(i60-42-27-37.s02.a001.ap.plala.or.jp)
- 2005/01/25(Tue) 18:30
No.7734
|
|
|
|
7734.zip
まずは情報をありがとうございました。 やってみたところ、エラーの嵐(笑) この仕組みは…マップは配列に入れて扱われてるんでしょうか。 いったいぜんたいどこでマップの描写をやっているやらw マップファイルの暗号化(?)&解読方法が分かれば別の方法もありそうですが…。 どこを訂正すべきか御願いしますm(_ _)m
|
Re: マップファイルのセーブ
投稿者 : hoge(210-20-66-85.rev.home.ne.jp)
- 2005/01/25(Tue) 21:31
No.7735
|
|
|
|
Re: マップファイルのセーブ
投稿者 : ごま太郎(i220-99-131-234.s02.a001.ap.plala.or.jp)
- 2005/01/26(Wed) 00:55
No.7736
|
|
|
|
ありがとうございました。 いえ、こちらこそお手をわずらわせて申し訳ありませんでしたm(_ _)m チマチマ時間を見つけながら、マップエディターを完成させたいと思います。
|
Re: マップファイルのセーブ
投稿者 : xsb007(YahooBB219171009010.bbtec.net)
- 2005/01/26(Wed) 21:04
No.7737
|
|
|
|
filesフォルダへの保存はできませんが、$map.saveMapFile();で.mapファイルが上書きされます。 そのため、このコマンドを実行することにより、$map.setが反映されます。 ただし、プログラムの暴走でマップが破壊されることが考えられるので、自動歴代バックアップソフトの利用をおすすめします。
|
|