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


HSPTV!掲示板


未解決 解決 停止 削除要請

2006
1116
時雨。ロード処理4解決


時雨。

リンク

2006/11/16(Thu) 16:16:48|NO.3507

セーブ用のテキストファイルに、シナリオファイルの行数(数値)を
記録させる方法でセーブを行い、セーブ用のテキストファイルに
記録した行数(数値)からシナリオファイルを実行させる方法で
ロードをしているのですが、ロードの処理がうまくいきません。
アドバイスお願いします。

po=0 ; シナリオ読み取り位置
//背景 //背景のところでセーブ notesel aa cd = po*11+2 aa=str(cd) notesave "save.txt" notesel txbf //背景画像の表示 noteget cgfn,po*11+2 *bg buffer 1 picload cgfn gsel 0 redraw 0 gmode 0 pos 0,0 gcopy 1,0,0,640,480 *OnCommand switch (wparam & 0xFFFF) case CMD_RO ; ロード dialog "ロードしますか?", 2, "確認" if stat = 6 { notesel save ; ノートバッファの設定 noteload "save.txt" ; ノートバッファにセーブファイルを読み込む noteget load,0 load = int(load) notesel txbf ; シナリオ用ノートバッファの設定 noteload "sinario_11.txt" ; ノートバッファにシナリオファイルを読み込む noteget cgfn,load ; cgfnにloadの値入れる po=cgfn/10 ; cgfnの値に応じてpoの値を決める goto *bg ; *bgラベルにジャンプ } swbreak default swbreak swend return



この記事に返信する


KIMU

リンク

2006/11/16(Thu) 16:56:30|NO.3509

> load = int(load)
こっちは直してるけど

> po=cgfn/10 ; cgfnの値に応じてpoの値を決める
こっちはそのまま・・・
両方int形じゃないの?

直接動かないスクリプトは、ここに載せる時に間違ったのか元からなのか判断付かないので

>ロードをしているのですが、ロードの処理がうまくいきません。
うまく行かないの内容が重要
どこで期待通りの動作になってないのかを
使用している変数を表示したりして、チェックしてみて



時雨。

リンク

2006/11/16(Thu) 17:29:42|NO.3510

レスありがとうございます。
> po=cgfn/10 ; cgfnの値に応じてpoの値を決める
>こっちはそのまま・・・
>両方int形じゃないの?
ここには記述していませんが、プログラム内でint型に直しています。

>>ロードをしているのですが、ロードの処理がうまくいきません。
>うまく行かないの内容が重要
>どこで期待通りの動作になってないのかを
>使用している変数を表示したりして、チェックしてみて
はい。すみません。
自分なりに考えたところでは、load = int(load)の部分が
正常に動作しない原因ではないかと思いました。
loadの部分を数値に変えると、正常に動くので・・・。
noteget cgfn,load→noteget cgfn,13
とすると正常に動きます。
おそらくint型への変換がしっかりと行われていないのではないかと・・・。
また
notesel save ; ノートバッファの設定
noteload "save.txt" ; ノートバッファにセーブファイルを読み込む noteget load,0
の部分も正常に動きます。(mes命令で読み込みを確認しました)



KIMU

リンク

2006/11/16(Thu) 23:14:35|NO.3537

>ここには記述していませんが、プログラム内でint型に直しています。
そんな事は、貴方以外誰も分かりません。

>の部分も正常に動きます。(mes命令で読み込みを確認しました)
load = int(load)
の次に stop 入れてデバグウィンドウで確認しても数値や型は正しい?
それならNO.3507のスクリプトには不都合部分が
含まれて居ない可能瀬があります。
(3507のスクリプは問題だらけですが・・・)


txbf="あ\nい\nう\nえ\nお" save="3" notesel save noteget load,0 notesel txbf load=int(load) noteget cgfn,load mes cgfn+" "+load

不都合の再現が出来ないので、答えようがありません・・・



時雨。

リンク

2006/11/17(Fri) 11:18:15|NO.3551

KIMUさんのアドバイスをもとに、一行ずつ調べてみましたところ、
とても単純なミスで動かなかったことがわかりました・・・。
詳しい状況を書くことができなかったにも関わらず、
適切なアドバイスを下さり、ありがとうございました。
そしてご迷惑をおかけしてしまってすみませんでした。
これから、スクリプトの何処の部分が問題なのかよく考えてみようと思います。



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