プレイ日記
korokke131 origuti31
[画面右側に薬が50個ほど出てきて自機の方に飛んでくる] というプログラムをつくりたいのですが… どなたか優しい方改善方法を教えていただけませんか?
3そうだね
プレイ済み
返信[1]
親投稿
0 TO 50 1個多い様だ それと、変数Aを使わないで、変数Iを使うことができる
1そうだね
プレイ済み
返信[2]
親投稿
korokke131 origuti31
ごめんなさい! 「動かせるか?」という質問です。 すいません すいやせん すいあせん さいあせん さーせん
1そうだね
プレイ済み
返信[3]
親投稿
ΖΕΧ ZEX256
12行目の前にSPANIM A,"XY",-120,X,Y
1そうだね
プレイ済み
返信[4]
親投稿
みむ*mim hidemimtp
スプライト0が自機であれば、薬はスプライト1~50の50個が必要になります。ので、7行目はFOR I=1 TO 50です、10,11行目はAではなくIで。12行目のINCは不要。 で、50個のキャラを動かす場合はやり方は色々ありますが、X1,X2という変数1組だけだとダメです。 1.座標用の変数を50個持つ(配列などを使う) 2.SPOFS SP OUT X1,X2 でX1,X2に加減数してからSPOFS SP,X1,Y1 3.SPANIMを使う 4.SPFUNCを使う(上級者向け) など。
1そうだね
プレイ済み
返信[5]
親投稿
otta777 otta777a
メインループの中の薬の移動をする部分が1個分しかないので 画面右側に留まったままになりますね。 移動処理は A=1:FOR I=0 TO 50 SPOFS A OUT X1,Y1 X1,Y1に関する処理(長いので省略) SPOFS A,X1,Y1 NEXT SPの当たり判定は IF SPHITSP(0,1,51)!=-1 THEN BREAK とするか WHILE 1を WHILE SPHITSP(0,1,51)==-1に変更して どちらかでメインループを抜ければ良いかと。
1そうだね
プレイ済み
返信[6]
親投稿
みむ*mim hidemimtp
2.の方法なら、18、23,24,25,27行目をひとまとめにして、18行目あたりに FOR I=1 TO 50 SPOFS I OUT X1,X2 (18、23,24,25,27行目の内容を移動) NEXT とすればいいかな。 3.のSPANIMを使うなら12行目にでも SPANIM I,"XY",-180,X,Y,0 と一行書いておけば、3秒掛けて自機の方に移動します。 この場合、18,23,24、27行目は不要です(というか消さないとうまく動きません) テストしないで書いたので細かい文法など間違っていたらすみません。 やり方がだいたい分かれば、あとは調べながらやってみてください。
1そうだね
プレイ済み