HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2009
0206
匿男テキストの読み込み6解決


匿男

リンク

2009/2/6(Fri) 20:56:25|NO.23255

文字を表示させる時、bloadなんかを使ってテキストファイルから読み込む方法がありますが、
編集する時、個人的に1つのファイルに全部がまとまっている方がみやすいので
ファイルを分けずにスクリプトエディタ1つだけで作ろうかと思ってます。(ノベルゲーム)
その場合、凄く重くなったり、スクリプトが書きにくくなったりしますか?
文章の長さはまだ分かんないですが、多くて1万文字(原稿用紙25枚分)くらいみたいです
文章の表示は、

*st0 color 0,0,0 : boxf 0,0,640,480 pos 50,50 : font "MS 明朝",22,1 gosub *st sdim t_one,100 sdim char,3 : line_now=0 : counter=0 x=50 : y=50 line_max = notemax repeat noteget t_one,line_now gosub *st1 line_now++ if line_now = line_max : break wait 1 loop gosub *st2 ss++ : goto *st0 stop *st1 counter = strlen(t_one) repeat counter/2 char = strmid(t_one,cnt*2,2) color 200,200,200 : pos x,y : mes char x+=21 wait 1 loop x=50 : y+=30 wait 7 return *st2 repeat stick key if key=256 : return wait 1 loop *st if ss=4 : end data.0="むかしむかしあるところに\nおじいさんとおばあさんが\nすんでいました。" data.1="おじいさんは山へしばかりに、\nおばあさんは川へ洗濯に\n行きました。" data.2="おばあさんが川で洗濯をしていると、\nどんぶらこっこ、どんぶらこっこと\n桃が流れてきました。" data.3="めでたしめでたし。\n \nおしまい" sdim st00,,4 : notesel data.ss return
のような感じで表示させる予定です。



この記事に返信する


ANTARES

リンク

2009/2/6(Fri) 21:43:34|NO.23258

短所
1 「data=""」とか改行のかわりに「\n」を書くのが面倒
2 1の分だけexeファイルがでかくなり、メモリも余分に消費する
3 exeファイルがでかくなる(別ファイルにしてもpackするなら同じですけど)

 このくらいですかね。

 速度は変わりませんし、スクリプトの組みやすさはデータの持ち方によるので、
テキストファイルから読み込むか、直接代入するかで変わったりはしません。



匿男

リンク

2009/2/6(Fri) 21:49:47|NO.23259

分かりました
ありがとうございます



ANTARES

リンク

2009/2/6(Fri) 21:51:10|NO.23260

4 パックしない場合に比べると、データのみの再配布ができない

 暗号化が簡単という長所もあるが、外部ファイルをDPMファイルにするという
手もあるので必ずしも長所とは言えない



ANTARES

リンク

2009/2/6(Fri) 21:58:19|NO.23261

5 外部ファイルの読み込みを分散させることにより、初期化の重さを軽減するという手が使えない



ANTARES

リンク

2009/2/6(Fri) 22:35:42|NO.23263

6 1万行もあると、HSPの知られざるバグに引っかかる恐れもあるので、その場合、
 別ファイルの方が最小限の修正で済む

 5も初期化が重くなければ短所にならないので、一度、ダミーデータを1万行作って
テストしてみることをお勧めします



ANTARES

リンク

2009/2/6(Fri) 22:50:39|NO.23264

 以下のように書いておくことをお勧めします。HSPのバグに引っかかった場合のほか、
何かの都合でデータの持ち方を変えたくなった場合でも、エディタの置換機能で
何とかなるので。
 しかも、「i++: data.i=""」をコピペしておけば、少なくとも入力の手間は
かなり軽減されます。さらに、データの増減があっても番号を振り直さなくてすみます。

i=-1 i++: data.i="むかしむかしあるところに\nおじいさんとおばあさんが\nすんでいました。" i++: data.i="おじいさんは山へしばかりに、\nおばあさんは川へ洗濯に\n行きました。"



ONION software Copyright 1997-2023(c) All rights reserved.