投稿
グータラ guutarakt
スプライトの表示の仕方は分かったのですが、スプライトの動かし方(ランダム移動)がわかりません。教えてください!できればなぜそうなるかを教えていただけると嬉しいです!
0そうだね
プレイ済み
返信[1]
親投稿
イーブン rein-2000
ランダム移動という キーワードから関数のひとつである RND()を使う事はわかると思います。 RND()はR=RND(5)という書式で 書きます。 ()のなかには乱数の範囲を書きます。 この場合0~4までの5つの 数字のどれかをランダムに取得して くれます。注意するのは コンピュータは0から数えるので5の 場合1~5ではなく0~4の5つになります。
0そうだね
プレイ済み
返信[2]
親投稿
イーブン rein-2000
では、スプライトをランダムに 4方向に動かしたい場合どうすれば いいか?R=RND(4)として 0~3の4つの乱数を取得。 0なら上に移動させ、 1なら左。2なら下。3なら左と すればいいのです。 ただし、このままだと ただスプライトが プルプルするだけです。
0そうだね
プレイ済み
返信[3]
親投稿
イーブン rein-2000
なぜそうなるか? それは、RNDで取得する数字が変化 しているからです。 一周目は0で上に移動しても 次が0とは限りません。 次は1で左に移動するかもしれないし 2で下に移動するかもしれません。
0そうだね
プレイ済み
返信[4]
親投稿
イーブン rein-2000
それを防ぐ場合、どうすれば 良いのか?というと 新しく変数Cを用意します。 Cが1より小さいならRに乱数を取得し、Cを20にする。 そしてCを1フレームあたりに1ずつ 減らしていきます。 (1フレームというのはメインループを一周する時間が1フレームです。つまり上の文章では一周あたりに1ずつCの値を減らす。という意味です。)
0そうだね
プレイ済み
返信[5]
親投稿
イーブン rein-2000
上をプログラムにすると こうなります。 頑張ってくださいね!
1そうだね
プレイ済み
返信[6]
親投稿
グータラ guutarakt
丁寧に教えていただきありがとうございます! 頑張ります!
0そうだね
プレイ済み