1
我一直在獲取錯誤1120:在Flash中爲簡單徑向重力模擬器的兩個不同的符號訪問未定義的屬性。到目前爲止,下列修補程序不起作用:Actionscript 3.0錯誤1120:即使在實例化對象上訪問未定義的屬性
給該實例一個名稱。這個問題最常見的建議是爲對象命名一個實例。在我的其中一個符號的屬性面板中,它表示它是一個圖形和「Instance of:Earth」(對不起,我不能發佈圖像,直到我有10個代表)
將它放入包中。這對我沒有任何影響。
下面的代碼:
var yVelocity:Number = 0;
var xVelocity:Number = 0;
var gravityConstant:Number = 1;
var earthMass:Number = 5000;
var canPlay:Boolean = true;
function findAcceleration():Number {
var distance:Number = Point.distance(Ship, Earth);
return gravityConstant * earthMass/Math.pow(distance, 2);
}
function findAngle():Number {
var angle:Number = Math.atan((Ship._y - Earth._y)/(Ship._x - Earth._x));
return (180/Math.PI) * angle; //converts from radians to degrees
}
function findXAcceleration():Number {
return findAcceleration() * Math.cos(findAngle());
}
function findYAcceleration():Number {
return findAcceleration() * Math.sin(findAngle());
}
function gravity():void {
yVelocity += findYAcceleration();
xVelocity += findXAcceleration();
Ship._x += xVelocity;
Ship._y += yVelocity;
}
do
{
gravity();
} while (canPlay == true);
的canPlay布爾是要稍後才能實現。
我將它們從符號轉換爲影片剪輯,以便將它們導出到動作腳本。現在我不再收到錯誤1120,但它告訴我錯誤1119:通過靜態類型類的引用訪問可能未定義的屬性(x和y)。我假設它指的是地球的位置,因爲這個代碼現在在船上。你知道如何在船級中使用地球的x位置嗎? –