投稿
In Japan rajimaru
質問です。 今、電車を走らせる的なゲームを作っているのですが線路のスクロールができません(画面中央)十字キーでスクロールしたいのですが何か方策はありますか? 公開キー[T3NNH3JJ]
1そうだね
プレイ済み
返信[1]
親投稿
spsetをつかってないんですか?
0そうだね
プレイ済み
返信[2]
親投稿
In Japan rajimaru
レバーに使っています
1そうだね
プレイ済み
返信[3]
親投稿
なるほど
0そうだね
プレイ済み
返信[4]
親投稿
In Japan rajimaru
緑枠内の線路を十字キーでスクロールしたいのです。
0そうだね
プレイ済み
返信[5]
親投稿
otta777 otta777a
線路のデータを文字配列変数に読み込んでおいて線路を 表示します。 FOR I=0 TO 29 LOCATE ,I:PRINT MAP$[YPOS+I]; NEXT 十字キーでYPOSを加減算して表示し直せばスクロール してるように見えると思います。
1そうだね
プレイ済み
返信[6]
親投稿
そんなことより早くやりたい人 コンソールだと8dot単位になるよ
1そうだね
プレイ済み
返信[7]
親投稿
In Japan rajimaru
すいません、定期考査あってコメントできませんでした… 試してみます、ありがとうございました!
1そうだね
プレイ済み
返信[8]
親投稿
In Japan rajimaru
このようにやったらエラーになってしまいました… エラー名[Subscript out of range]
0そうだね
プレイ済み
返信[9]
親投稿
otta777 otta777a
マップを表示するときに PRINT A$[YPOS+I]としているためYPOS+Iが0以下になったり 文字配列変数A$[n]の要素で指定できる数値を超えると エラーになってしまいます。YPOSを加算するときは 文字配列変数A$の要素数(LEN(A$)で求められます)-29 以下であるときに加算、減算するときは0以上の時と 条件を増やすとSubscript out of rangeは出なくなります。
0そうだね
プレイ済み
返信[10]
親投稿
otta777 otta777a
他には5行目のLOCATE I,はLOCATE 0,IとしてY軸方向の 表示位置指定に変更して下さい。 十字キーをスキャンスしてYPOSを加減算する処理は FOR~NEXTの外に出して下さい。 WENDの前にVSYNC 1を入れて処理待ちをしないと とんでもないスピードで画面が切り替わってしまいます。
0そうだね
プレイ済み
返信[11]
親投稿
In Japan rajimaru
ありがとうございます! 試してみます。 わからないことがあったらまた聞くかもしれませんがその時はよろしくお願いします!
1そうだね
プレイ済み