この前はありがとうございました。
今回も、質問があります。
回答のほうよろしくお願いします。
ポケモン(ゲーム)の会話のように、
会話文を読んだら(Aボタンを押したら)次の会話文を表示するというのをつくりたいのです。
そこで、自分なりにソースを書いてみたのですが、うまい具合に文字が表示されず、
最後のほうの文字だけずれてしまいます。
この現象が私にはさっぱりわからないのです。
時間のある方、教えていただけませんか。
よろしくお願いします。
*スペースキーがポケモンでいうAボタンです
↓問題のプログラム↓
word = {"あいうえおかきくけこさしすせそたちつてとなに あいうえおかきくけこさしすせそたちつてとなに あいうえおかきくけこさしすせそたちつてとなに あいうえおかきくけこさしすせそたちつてとなに あいうえおかきくけこさしすせそたちつてとなに あいうえおかきくけこさしすせそたちつてとなに あいうえおかきくけこさしすせそたちつてとなに あいうえおかきくけこさしすせそたちつてとなに"} notesel word //wordという文字列型変数をnote命令で扱えるようにする mes_max = noteinfo( 0 ) //word の全体の行数を数える times = mes_max/4+1 //後の、リピート回数を指定 if mes_max\4 = 0 : times-- //行数が4の倍数のときに、リピート回数を修正 repeat times cls if mes_max > 4 : message(cnt) = strmid( word , cnt*182 , 182 ) //全体の行数が5行以上なら、4行抜きだして message(cnt) に格納。 if mes_max <= 4 : message = word //全体の行数が4行以下ならそのまま表示する。 pos 0,0 mes message(cnt) repeat -1 stick key,16 if key = 16 : break //spaceキーが押されたとき、ループを脱出する await 50 loop message(cnt) = "" //メッセージの中を空にしておく repeatcnt++ //実際のリピート回数をカウントする if repeatcnt = times : break //リピート回数と実際にリピートした回数がおなじになれば終了 wait 10 loop end
↓表示する文字数を減らしたもの↓ (これは思いどうりに動きます)
word = {"あいうえお かきくけこ さしすせそ たちつてと なにぬねの はひふへほ まみむめも やいゆえよ"} notesel word //wordという文字列型変数をnote命令で扱えるようにする mes_max = noteinfo( 0 ) //word の全体の行数を数える times = mes_max/4+1 //後の、リピート回数を指定 if mes_max\4 = 0 : times-- //行数が4の倍数のときに、リピート回数を修正 repeat times cls if mes_max > 4 : message(cnt) = strmid( word , cnt*48 , 48 ) //全体の行数が5行以上なら、4行抜きだして message(cnt) に格納。 if mes_max <= 4 : message = word //全体の行数が4行以下ならそのまま表示する。 pos 0,0 mes message(cnt) repeat -1 stick key,16 if key = 16 : break //spaceキーが押されたとき、ループを脱出する await 50 loop message(cnt) = "" //メッセージの中を空にしておく repeatcnt++ //実際のリピート回数をカウントする if repeatcnt = times : break //リピート回数と実際にリピートした回数がおなじになれば終了 wait 10 loop end