プレイ日記
Kyくん 987665
今、シューティングゲームを作ってます。そこで、しつもんです。 Aボタンを押すと、スプライト0からビーム出るというプログラムを作りたいのですが、教えてもらえませんか? 初心者なので、専門用語などを使わずに教えてもらえると嬉しいです。
1そうだね
プレイ済み
返信[1]
親投稿
otta777 otta777a
Aボタンを押したときにビーム発射中のフラグがオンで無ければ 自機の位置からビームの発射方向にずらした座標をビームの X,Y座標に設定してビーム発射中のフラグをオンにする。 ビーム発射中のフラグがオンならビームを発射方向に移動する。 ビームのX,Y座標が画面外になっていたらビーム発射中のフラグを オフにする。 ビームは自機と別のスプライト管理番号を使って下さい。
0そうだね
プレイ済み
返信[2]
親投稿
Kyくん 987665
それを文字にしたら、どうなるんですか?
0そうだね
プレイ済み
返信[3]
親投稿
otta777 otta777a
IF B AND #A && BF==FALSE THEN BX=X+16:BY=Y:BF=TRUE:BEEP 10 'ビーム発射 ENDIF IF BF==TRUE THEN BX=BX+1 'ビームの移動量 IF BX>399 THEN BX=-99:BF=FALSE '画面外の処理 SPOFS 1,BX,BY 'ビームのスプライトは管理番号1を使う ENDIF 13行目を上記の命令に置き換えれば自機の右側から画面の右端まで ビームが飛びます。 メインループの前にビームのスプライトの初期設定をして下さい。
0そうだね
プレイ済み
返信[4]
親投稿
otta777 otta777a
スプライトの倍率と向きは固定でいいのならSPSCALE命令とSPCHR命令は メインループの中では無くメインループの前でいいですよ。 スプライトの倍率が2倍でしたらBX=X+16をBX=X+32に変更して下さい。
0そうだね
プレイ済み
返信[5]
親投稿
Kyくん 987665
やってみたのですが、ビームが出ません。さらに、Aボタンを押してもビーム音は一回だけしか鳴らず、二回以降は、押しても無反応です。 どこか間違えてますか?
0そうだね
プレイ済み
返信[6]
親投稿
otta777 otta777a
25行目でビームのスプライトの座標を未使用の変数XXとYYを使って 設定しているため画面の左上にビームのスプライトが表示されていますよ。 22行目でビームのスプライトの座標を設定しているので25行目を消して下さい。
0そうだね
プレイ済み