こんにちは私は、バブルポップゲームのためにここにactionscriptコードを持っています。ゲームが始まると、ゲームのトップからボトムまで泡が落ち、30秒後にクリックまたはポップされたほとんどの泡のスコアが保持されます。バブルポップゲームActionscript:静的型クラスのリファレンスを使ってToString()メソッドを定義する
バブルのサイズは、コード内のinitializeメソッドで定義され、ToString()を使用してスコアを計算します。 ToStringは私に1061を与えます:おそらく定義されていないメソッドを呼び出します。このエラーはどこから来たのか分かりません。
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;
}
}
}
は、 'trace(myObj)'を書くときに 'toString()'が自動的に呼び出されるので、 'ToString'より常に' toString'を優先します。これを使用して、[Object object]で出てくるのではなく、どこでも 'trace(myObj.ToString())'を呼び出さなくても、あなたのオブジェクトに関する有益な情報を得ることができます – divillysausages