0

こんにちは、バブルポップゲームのアクションスクリプトコードがあります。ゲームが開始されると、バブルはゲームの上部から下部に落下し、30秒以内にクリックまたはポップされたバブルのほとんどについてスコアが保持されます。

バブルのサイズは、コードのinitializeメソッドによって定義され、ToString()を使用してスコアを計算します。ToStringは私に1061を与えます:静的タイプuintの参照を介して、おそらく未定義のメソッドRandomを呼び出します。どこから来たのかわからないこのエラー。

AS3の経験がある人が私の欠点へのいくつかの指針を私に与えることができれば、私はそれを大いに感謝します。ありがとうございました。

package  {
    import flash.display.MovieClip;
    import flash.events.Event;
    import flash.media.Sound;

    public class Ball extends MovieClip{

        static public var burstCounter: uint;
        private var vx: Number;
        private var vy: Number;
        private var gravity: Number;
        private var stageWidth;
        private var stageHeight;
        private var bubble:Ball = new Ball();
        private var score: uint=0;

        public function Ball() {
            bubble.addEventListener(Event.ADDED_TO_STAGE, initialize)
            bubble.addEventListener(MouseEvent.CLICK, burst)
            bubble.addEventListener(Event.ENTER_FRAME, dropping)
        }

        public function initialize (e:Event):void
        {
            bubble.x = Math.random() * stageWidth;
            bubble.y = 0;

            stageWidth = stage.stageWidth;
            stageHeight = stage.stageHeight;

            bubble.vx = Math.random() * 2 - 1;
            bubble.vy = Math.random() * 2 + 1;
            gravity = 0.1;

            var sizeScale = Math.random() * 1.2 + .6;
            bubble.scaleX = bubble.scaleY = sizeScale;
            score = (10 / sizeScale);
            scoreValue.text = score.ToString();

            var colorTran = new ColorTransform();
            colorTran.color = Math.random() * 0xFFFFFF;
            transform.colorTransform = colorTran;
            addChild(bubble);
        }
        function dropping(e: Event) :void
        {
            x += vx;
            y += vy;
            vy += gravity;

            if((x<0) || (x>stageWidth) || (y<0) || (y>stageHeight))
            {
                if(parent != null)
                {
                    parent.removeChild(this);
                }
                removeEventListener(Event.ENTER_FRAME, dropping)
            }
        }
        function burst (e:Event):void
        {
            var ballonPopping: Sound = new BalloonPopping();
            bubble.removeEventListener(Event.ADDED_TO_STAGE, initialize);
            bubble.removeEventListener(Event.ENTER_FRAME, dropping);
            removeChild(bubble);

            ballonPopping.play();

            burstCounter += score;
        }
    }

}
4

4 に答える 4

1

代わりに試してくださいMath.random()...

于 2012-04-03T22:42:09.790 に答える
0

発生するたびに変更する必要があります

Math.Random()

Math.random()

小文字のrに注意してください

または...ToString()のこの質問を編集したように見えるので

試す

toString()

エラーがどれほど似ているかに注意してください。これらの両方に存在しないメソッドを呼び出すことになります。キャピタライゼーションの問題VARはvarと同じではありません

于 2012-04-03T22:42:18.693 に答える
0

uintToString()メソッドもありませんが、toString()があります。

メソッド名では大文字と小文字が重要です。:)

于 2012-04-03T22:56:17.827 に答える
0

プロパティまたはメソッドに名前を付けて呼び出すときは、大文字と小文字が重要であることに注意してください。

JBossはpascalCasing、メンバーを含むメンバーに使用しstaticます。定数はを使用しますALL_CAPS

あなたがやってきたように使用するActionScriptのクラスメンバーは考えられませんCamelCasing-私が知る限り、何もありません。

于 2012-04-03T23:11:07.460 に答える