2014-01-23 61 views
1

我一直在獲取錯誤1120:在Flash中爲簡單徑向重力模擬器的兩個不同的符號訪問未定義的屬性。到目前爲止,下列修補程序不起作用:Actionscript 3.0錯誤1120:即使在實例化對象上訪問未定義的屬性

  1. 給該實例一個名稱。這個問題最常見的建議是爲對象命名一個實例。在我的其中一個符號的屬性面板中,它表示它是一個圖形和「Instance of:Earth」(對不起,我不能發佈圖像,直到我有10個代表)

  2. 將它放入包中。這對我沒有任何影響。

下面的代碼:

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布爾是要稍後才能實現。

回答

0

您是否將動畫片段導出到actionscript中?

庫:右鍵單擊影片剪輯>屬性>高級>選中「導出到actionscript」框,在「class」中輸入您希望訪問movieclip的名稱。

+0

我將它們從符號轉換爲影片剪輯,以便將它們導出到動作腳本。現在我不再收到錯誤1120,但它告訴我錯誤1119:通過靜態類型類的引用訪問可能未定義的屬性(x和y)。我假設它指的是地球的位置,因爲這個代碼現在在船上。你知道如何在船級中使用地球的x位置嗎? –

相關問題