1

ここにコードがあります

package
{
import flash.display.MovieClip;
import flash.events.MouseEvent;

public class Main extends MovieClip
{
    var startPage:StartPage;
    var hillPage:HillPage;
    var pondPage:PondPage;

    public function Main()
    {
        startPage = new StartPage;
        hillPage = new HillPage;
        pondPage = new PondPage;
        addChild(startPage);

        //Add event listeners
        startPage.hillButton.addEventListener(MouseEvent.CLICK, onHillButtonClick);
        startPage.pondButton.addEventListener(MouseEvent.CLICK, onPondButtonClick);
        hillPage.backToStartButton.addEventListener(MouseEvent.CLICK, onBackButtonClick_Hill);
        pondPage.backToStartButton.addEventListener(MouseEvent.CLICK, onBackButtonClick_Pond);
    }
    //Event handlers
    function onHillButtonClick(event:MouseEvent):void
    {
        addChild(hillPage);
        removeChild(startPage);
    }
    function onPondButtonClick(event:MouseEvent):void
    {
        addChild(pondPage);
        removeChild(startPage);
    }
    function onBackButtonClick_Hill(event:MouseEvent):void
    {
        addChild(startPage);
        removeChild(hillPage);
    }
    function onBackButtonClick_Pond(event:MouseEvent):void
    {
        addChild(startPage);
        removeChild(pondPage);
    }
}
}

だから私はHillButtonとPondButtonに問題なくアクセスできますが、backToStartButtonは未定義の用語を私に投げているようです。

コードと fla ファイルを見たい場合は、ここをクリックしてください。

4

2 に答える 2

0
function onBackButtonClick_Hill(event:MouseEvent):void
{
    addChild(startPage);
    removeChild(hillPage);
}

この関数ではremoveChild(hillPage)、を呼び出しますが、クラスhillPageの子ではありません。Mainこのページを子として追加するか、次のようなものを試してくださいif(this.contains(hillPage)) removeChild(hillPage);

于 2012-09-24T13:58:24.580 に答える
0

HillPage.backToStartButton と PondPage.backToStartButton を参照していますが、ライブラリ内のこれらのアイテムを参照していますが、それらのボタンにインスタンス名を付けていないようで、未定義のエラーが発生しました。また、これらのアイテムは動的に作成されず、カスタム クラスを実装しないため、この場合は不要な AS リンケージも作成しました。あなたは物事を混乱させているようです.ASリンケージは、コードを介してインスタンスを参照するために使用されていません.

したがって、特定の状況で物事を機能させるには、ライブラリの as リンケージ名を削除し、hillPage と PondPage を編集します。これらのアイテム内の [戻る] ボタンをクリックし、コードがボタンを参照するために使用するインスタンス名を設定します。

于 2012-09-24T16:09:33.840 に答える