0

ユーザーがさまざまな色のボックスをクリックして、どれが正しいかを確認する推測ゲームを作成しようとしています。どの色(後の画像)を使用するかを決定する公開変数があります。コードは私のアップデートでこれです:

        if (FlxG.mouse.justPressed())
    {

        block2.distributionp = Math.random() * 2;
        block2.colorArray = block2.distributionp;
        block2.colorUnit = block2.colorArray;

    }

(colorUnit と colorArray はどちらも distributionp に等しく、クラス ファイルでは 2 の乱数です)

このコードを実行すると、変更は行われますが、切り替えは 1 回だけのようです。それ以外の場合は無視されます。後で使用できる乱数を継続的に切り替えるにはどうすればよいですか?

前もって感謝します!

4

2 に答える 2

0

私が取得している値は、0 から 2 までの整数全体です。私がやろうとしているのは、クリックするたびに値を変更することです。何が起こるかわかりません。今さら頼むべきではなかったのかもしれません。情報が入り次第また質問します。ごめん。

于 2013-01-02T02:04:27.827 に答える
0

Math.random() * 20.000000000000 から 2.00000000 の範囲の数値を返します。これには、0.123456789 や 1.99999999 などの数値が含まれます (小数点以下の桁数が正確にはわかりませんが、整数 0、1、2 だけが返されるわけではありません)。よくわかりませんが、問題は範囲にあると思います。より良い範囲が必要な場合は、このコードを使用してください。

MIN_VALUE * Math.random() + (MAX_VALUE - MIN_VALUE);

整数のみを取得したい場合は、次のいずれMath.ceil()かを使用できますMath.floor():
Math.ceil(MIN_VALUE * Math.random() + (MAX_VALUE - MIN_VALUE));

これが役に立たない場合は申し訳ありませんが、そうでない場合はお知らせください。

于 2013-01-02T00:32:45.893 に答える