投稿
てっみえ qwdfbnjkop
プチコン日記 4/4 8方向移動を覚えたよ。 それよりこのプログラムでSPを 動かせません。助けて下さい(
0そうだね
プレイ済み
返信[1]
親投稿
いぶき ibuki426
spsetはaclsのつぎにおいて、 locate x,yではなく、spofs 0,x,yとするとうまくいきます。 ちなみにlocateは、printでひょうじする位置を指定するものです。
0そうだね
プレイ済み
返信[2]
親投稿
いぶきさんの言うとおりです〜。 ちょっとだけ補足するとおそらく前はコンソール(文字)で動かしたり出来ていたんだと思いますがSPだとちょっとやり方がかわります。 一つは、毎回消さなくてもSPの位置を変えれば前のキャラは消える(ので移動する)のでループの中や移動前のCLSは不要です。 またスプライトはSPSETで表示させますが、これも一度表示したらSPCLRなどで消さない限りは消えないので、ループの前に置けばOKです。(ただしACLSでは全て消えるのでその後にしてください) もう一つは移動するときはいぶきさんのアドバイスのようにSPOFSでの変更になります。なのでLOCATEは文字を表示する位置を決めるための命令なので不要になります。 ということでいぶきさんのアドバイス通りの結果になります。いぶきさんが書いてない(書き忘れた?)点はCLSが不要ってところぐらいですね。
0そうだね
プレイ済み
返信[3]
親投稿
あ、あともう一点! スプライトは座標系が文字(LOCATE)とは違うので、上画面だとしたらXは0〜399、Yは0〜239までになります。なので上記の例のIFのままだと範囲が狭くてちょっとしか移動出来ないので広げた方がいいと思いますし、1を足すのでは遅く感じたら数字を増やしたりする必要が出てくると思います。(VSYNCも1でいいかも)
0そうだね
プレイ済み
返信[4]
親投稿
てっみえ qwdfbnjkop
皆さんありがとうございます! とても勉強になりました! やっぱりこのコミュニティはいい人がたくさん居ますね!
0そうだね
プレイ済み