トピック

FORについて。

太鼓の達人のような同じSPを同時に動かすのってどうやるんですか?
1そうだね
プレイ済み
返信[1]
親投稿
「FORのついて」ってトピタイトルみて飛びついたら予想と違った… というのはさておき。 FORとNEXTの間に「何度もやりたい処理」をはさむのが基本です。 スプライトを動かす場合はFORとNEXTの間にSPOFSを入れるのです。
2そうだね
プレイ済み
返信[2]
親投稿
同時に出す事までは出来ているのかな? 複数のスプライトを同時に動かしたい場合、SPANIMを使うなどの方法もありますが、基本は1フレームに全てのスプライトを少しずつ動かす(そしてその繰り返しで動いているように見える)です。 コマ送りをイメージするとわかりやすいかもしれません。 ということでプログラムにはメインとなるループを用意して、そのループで1フレーム(通常VSYNC)毎に全てのスプライトを1フレーム分動かします。 全てのスプライトを処理する時は……、そうです、FORを使うのが便利ですね。 メインループが終わるまでの間に、全てのスプライトに対して(FOR)、一定の処理(例えば少し動かす)などをするのです。 という感じで、全てのスプライトを少し動かす、これを毎フレーム繰り返すことで全体としては複数のスプライトが動いているように見える、という感じになります。
1そうだね
プレイ済み
返信[3]
親投稿
あまさと しおんさん SPOFSで移動はできるんですけど。 同時にスクロールさせたいんです。
0そうだね
プレイ済み
返信[4]
親投稿
でんぺんさん 同時に複数は、出来ます。
0そうだね
プレイ済み
返信[5]
親投稿
今はこのような感じです。 複数表示は出来るんですが、1つしか動きません。
0そうだね
プレイ済み
返信[6]
親投稿
同時に動かしたければメインループ(画像のプログラムだと@LOOPからGOTO @LOOPの間)の中で各スプライトを動かさないといけないですね。 今はSPOFSで管理番号0のスプライトの座標しか移動してないので1つしか動かないですね。なのでこの中でFORを使って全てのスプライトを動かせば同時に複数を移動させることも出来ますよ。 例: FOR I=0 TO DON SPOFS I OUT X,Y 'スプライトの座標を変数に得る X=X-1 '位置移動 SPOFS I,X,Y '新しい座標でスプライトを移動させる NEXT
1そうだね
プレイ済み
返信[7]
親投稿
say sayer.exe
SPLINKはどうでしょう?
1そうだね
プレイ済み
返信[8]
親投稿
でんぺんさん出来ました。 ありがとうございます。
2そうだね
プレイ済み
返信[9]
親投稿
ごめんなさい sayさん今回はでんぺんさんの方でやらせてもらいました。 また機械があったらまた教えて下さい
0そうだね
プレイ済み