Hallo Ich habe den ActionScript-Code hier für ein Bubble Popping-Spiel. Wenn das Spiel beginnt, fallen Blasen von der Oberseite des Spiels nach unten und die Punktezahl wird für die meisten Blasen gehalten, die in 30 Sekunden angeklickt oder gepoppt werden.Bubble-Pop-Spiel Actionscript: Definition der ToString() -Methode durch eine Referenz mit einer statischen Klasse
Die Größe der Blase wird durch die Initialisierungsmethode im Code definiert und verwendet ToString() zur Berechnung der Punktzahl. ToString gibt mir einen 1061: Aufruf an eine möglicherweise undefinierte Methode Random durch eine Referenz mit statischem Typ uint. Dieser Fehler, den ich nicht herausfinden kann, woher er kommt.
Wenn jemand mit Erfahrung in AS3 mir einige Hinweise auf meine Fehler geben könnte, würde ich es sehr schätzen. Danke.
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;
}
}
}
bevorzugen Sie immer 'toString' über' ToString', wenn Sie 'trace (myObj)' schreiben, wird 'toString()' automatisch aufgerufen. Sie können dies verwenden, um nützliche Informationen über Ihr Objekt zu erhalten, anstatt es bei "[Object object]" auszugeben oder "trace (myObj.ToString())" überall aufzurufen – divillysausages