したらばTOP ■掲示板に戻る■ 全部 1-100 最新50 | |
レス数が900を超えています。1000を超えると投稿できなくなるよ。

【初心者歓迎】プチコンなんでも相談室【質問専用スレ】

756名無しさん:2015/04/20(月) 20:22:35 ID:zEjBTUmw
とりあえず「SPSWOW」ではないです。

●なぜ移動が止まらないのか。
3秒間、移動し続けるようにプログラムされているからです。
「SPANIM 0,0,-180,PCX,PCY,1」
の「-180」の意味は、「移動に180フレームかける」という意味になります。
1秒は60フレームなので、180フレームは3秒間です。
▼止まるようにするには
止めるための条件を、例えば「ボタンを離した時」とした場合、
ボタンを離したことを検知して、移動を止めるプログラムを書き加えたり、
現在の「ボタンを押した瞬間、3秒間の移動を開始する」という仕様を止めて
「ボタンを押している間だけ移動させる」というプログラムに
大幅に書き換える。などが考えられます。

●なぜ画面外に移動するのか。
画面外に行かないようにするプログラムが作られていないからです。
何でもかんでも、面倒を見てやるプログラムを作る必要があるんです。
▼画面外に行かないようにするには
まず、スプライト番号0番の自機の位置を知ることから始まります。
たとえば「SPOFS 0 OUT X,Y」と書いたとして、
変数XとYの中身が、自機の位置を指す数値になります。
XSCREEN 4の場合、画面の範囲は、横が0〜319、縦が0〜479です。
変数Xは自機の横の位置、変数Yは縦の位置になっているので、
この数値を0や319の数値と比較するなどして、
「画面外に出て行ってしまっているのか、あるいは出て行ってしまいそうな状況か」
を判断します。そして必要に応じて、「画面の範囲内に押し戻す」ようにすると、
結果として自機は画面の範囲外に行かなくなります。

●なぜ弾が撃てないのか。
発射を「開始する位置」を指定していないからです。
発射ボタンを押すと、弾は現在の位置から移動するようになっています。
▼弾の発射が自機から開始するようするには
弾のスプライトに対して移動させる命令を出す前に、
SPOFS命令を使い、弾の位置を自機と同じ位置や近くの位置に移動させましょう。
あるいは、SPANIM命令自体に、移動する先の位置だけでなく
移動が始まる位置も設定する方法もあります。


新着レスの表示


名前: E-mail(省略可)

※書き込む際の注意事項はこちら

※画像アップローダーはこちら

(画像を表示できるのは「画像リンクのサムネイル表示」がオンの掲示板に限ります)

掲示板管理者へ連絡 無料レンタル掲示板