投稿
ゆっくり yellow-setta
SPSETやSPOFSなどで同じキャラクターを設定したりすると写真のようにものすごい量になっねしまいます…… どうすれば減らすことができますか?
2そうだね
プレイ済み
返信[1]
親投稿
こう言うときこそ、FORや配列の出番になるわけですね〜
3そうだね
プレイ済み
返信[2]
親投稿
oo2 meidoin20021
とりあえずとっかかりとしてFORを使ったまとめてSPSETの方法 FOR I=0 TO 10  SPSET I,0 NEXT こうするとイチゴのスプライトを10個まとめて作成できます。 管理番号ごとにちがう定義番号を使いたいときはDATAなどを使ったりして工夫する必要があります。
1そうだね
プレイ済み
返信[3]
親投稿
RNDに関しては DIM EX[12](プチコンでは数字が-1されるため) FOR I=0 TO 11 EX[I]=RND(380) NEST などとした方が、省略できて便利です。 配列は、このようなときに便利です。 スペルミスあったらすみません。
0そうだね
プレイ済み
返信[4]
親投稿
ゆっくり yellow-setta
ありがとうございました! SPOFS,SPSETはかなり省略できました!FOR命令は前から知ってましたがここまで使える命令だったとは… たくさんのアドバイスありがとうございました!
0そうだね
プレイ済み
返信[5]
親投稿
ゆっくり yellow-setta
また質問をしてすみません…… 当たり判定にSPCOLとSPHITSPを使っているんですがなぜかうまくいきません……どうすればいいですか?
0そうだね
プレイ済み
返信[6]
親投稿
oo2 meidoin20021
推測なんだけど、 ループ初期値が2になっているから 恐らく管理番号0,1のスプライトに当たり判定を設定していないからかも。 ループ外に管理番号0,1のSPCOLを設定してみたらうまくいくかも?
0そうだね
プレイ済み
返信[7]
親投稿
ゆっくり yellow-setta
oo2»ありがとうございました! 当たり判定をつけれました!で、また質問ですが、自分の投げたたまに当たったかで判断をするようにしましたがそれでは、どれに当たったかがわかりません……どうすれば最後にどれに当たったかがわかりますか?
0そうだね
プレイ済み
返信[8]
親投稿
oo2 meidoin20021
ごめん、質問の意味がいまいち分かりにくいけど 指定したスプライトのぶつかった相手が知りたいなら方法として 確か 変数S=SPHITSP(管理番号A) ってしておくと管理番号Aがぶつかったあいての管理番号が変数Sに入るような。 間違えていたらすみません。
0そうだね
プレイ済み
返信[9]
親投稿
ゆっくり yellow-setta
わかりづらくすみません…… まず、やりたいことは「自分のたまにあたった」→「当たった敵に当たった時のアニメーションを入れる」というようなことをしたいのですが、そこで自分の攻撃のスプライトの管理番号が1で敵のスプライトの管理番号が2、もう一人の敵のスプライトの管理番号が2だとすると僕の使っている H=SPHITSP(1)では敵に当たったのはわかるのですが、これでは管理番号が1の敵に当たったのか、管理番号が2の敵に当たったのかがわからないのでどうすればいいですか? という意味です またわかりづらかったらすみません… oo2 s»SPHITSP(1,EN) ENというのは敵の管理番号を設定するときに使ったのですが FOR ES=2 TO EK SPSET ES,130 SPCOL ES,TREU NEXT のときに使っていたのでいいかと思ったのですが………どうすればいいですか?
0そうだね
プレイ済み
返信[10]
親投稿
oo2さんで言う変数Sの返り値はどうなっていますか? また、SPHITSP(0,1,10) とすると 管理番号1~10のどれがあたったか返り値に1を引けばわかります。
0そうだね
プレイ済み
返信[11]
親投稿
ゆっくり yellow-setta
しょぼーんさん»SPHITSPにはそんな使い方があったんですか!!
0そうだね
プレイ済み
返信[12]
親投稿
oo2 meidoin20021
ひとまず気になった点を1つ。 ループ変数だからってSPHITSP(1,EN)とすれば 「管理1がEN(管理2~…)とぶつかったとき」など、勝手に範囲指定してくれる訳ではなく、その方法だとFOR(ENをループ処理変数として)文を新規に作成し、その中に入れなくてはならなくなります。(分かりにくかったらすみません) ショボーンさんの方法でやってみてはどうでしょうか。
0そうだね
プレイ済み
返信[13]
親投稿
ゆっくり yellow-setta
oo2さん»そうしてみます!
0そうだね
プレイ済み
返信[14]
親投稿
無駄話ですが、私は配列を使ってみたら、4000バイト位減りました。 だいたいのことは、右上の?マークを調べたい命令、関数にあわせてタッチすれば、分かりづらい所がありますが、ヘルプがのっています。 スライドパットを横にずらすと、また違う表記方法などがあります。 SPSETなどは読みがいがあるので、是非読んでみてはどうでしょう。
1そうだね
プレイ済み