0

documenttopPanellistPaneldetailsPanelの4つのクラスがあります。この特定の例では、topPanelはadvanceDay (ドキュメント内の関数)をいつ進めるかをチェックします。AdvanceDayがアクティブ化されると、ドキュメントtopPanelcalculateDateを、listPanelsortListに、detailsPanelrefreshDetailsに指示します。計算日次に、日付を計算して動的テキストフィールドを更新しようとしますが、そのインスタンスが見つかりません。sortListrefreshDetailsに関しても同様の問題が発生します。

topPanel:

function advanceLoop(a:Event)
{
    loopCounter +=  simSpeed;
    if ((loopCounter >= 24))
    {
        loopCounter = 0;
        document.advanceDay();
    }
}

public static function calculateDate()
{
    ... // sets moonCounter and yearCounter using day
    date.text = document.prettyNumbers[moonCounter] + " moon of the year " + yearCounter + " B.C.";
}

資料:

public static var prettyNumbers:Array = ["Zeroth","First","Second","Third","Fourth","Fifth","Sixth","Seventh","Eighth","Ninth","Tenth","Eleventh","Twelfth","Thirteenth","Fourteenth"];

...

public static function advanceDay()
{
    topPanel.day++;
    topPanel.calculateDate();           
    listPanel.sortList();
    detailsPanel.refreshDetails();
}

返されたエラー:

Line 278 1120: Access of undefined property date.

dateは、topPanel内のインスタンス(動的テキストフィールド)の名前です。calculateDate関数は、 advanceDay関数がtopPanelクラスにあり、「publicstatic」ビットが削除されている場合に完全に機能します。読んでくれてありがとう、そしてあなたが助けてくれることを願っています!

4

1 に答える 1

0

staticとマークされた関数は、それ自体が静的であるプロパティにのみアクセスできます。「date」は静的メンバー変数ではないと私は信じています。そのため、コンパイラーは、必要な「static」修飾子を持つ「date」が見つからないと言っています。

于 2013-02-03T08:41:41.750 に答える