2

エラー1120 access of undefined propertyが発生しています

knop_stop.addEventListener(MouseEvent.CLICK,stopVideos);

ビデオを再生して、9つのボタンが必要です。ビデオがトリガーされると、ビデオを終了するためのボタンが表示されるため、別のボタンを押すと別のビデオを再生できます。

import fl.video.*;
import flash.events.MouseEvent;

stop();

knop_1.addEventListener(MouseEvent.CLICK,speel1);
knop_2.addEventListener(MouseEvent.CLICK,speel2);
knop_3.addEventListener(MouseEvent.CLICK,speel3);
knop_4.addEventListener(MouseEvent.CLICK,speel4);
knop_5.addEventListener(MouseEvent.CLICK,speel5);
knop_6.addEventListener(MouseEvent.CLICK,speel6);
knop_7.addEventListener(MouseEvent.CLICK,speel7);
knop_8.addEventListener(MouseEvent.CLICK,speel8);
knop_9.addEventListener(MouseEvent.CLICK,speel9);

knop_stop.addEventListener(MouseEvent.CLICK,stopVideos);
knop_stop.visible=false;

var videoArray:Array = new Array(
    "video/video01.flv",
    "video/video02.flv",
    "video/video03.flv",
    "video/video04.flv",
    "video/video05.flv",
    "video/video06.flv",
    "video/video07.flv",
    "video/video08.flv",
    "video/video09.flv"
 );

var filmAan = false;

function speel1(evtObj:MouseEvent):void {
    trace("knop 1: video 1");
    if (filmAan == false) {
        var myVideo1:FLVPlayback = new FLVPlayback();
        myVideo1.source = videoArray[0];
        addChild(myVideo1);
        myVideo1.x=340; 
        myVideo1.y=227;
        myVideo1.width=1360;
        myVideo1.height=908;
        filmAan = true;
        knop_stop.visible=true;
        function stopVideos(evtObj:MouseEvent):void {
            removeChild(myVideo1);          
        }
    } else {
        knop_stop.visible = false;
    }

}

私は何を間違えましたか?

4

2 に答える 2

1

イベント ハンドラーに stopVideos 関数を表示させたい場合は、 speel1 関数の外に stopVideos 関数を配置する必要があります。関数を別の関数内に配置すると、内部関数のスコープが親関数に制限されます。stopVidoes 関数を他のものから見えるようにしたい場合は、これを試してください:

function speel1(evtObj:MouseEvent):void {
    trace("knop 1: video 1");
    if (filmAan == false) {
        var myVideo1:FLVPlayback = new FLVPlayback();
        myVideo1.source = videoArray[0];
        addChild(myVideo1);
        myVideo1.x=340; 
        myVideo1.y=227;
        myVideo1.width=1360;
        myVideo1.height=908;
        filmAan = true;
        knop_stop.visible=true;
    } else {
        knop_stop.visible = false;
    }
}

function stopVideos(evtObj:MouseEvent):void {
        removeChild(myVideo1);          
}
于 2012-12-10T22:12:01.230 に答える
0

stopVideos関数を関数本体の外に置き、その関数の外でもspeel1定義myVideo1します。

var myVideo1:FLVPlayback = new FLVPlayback();
addChild(myVideo1);

function speel1(evtObj:MouseEvent):void {
    trace("knop 1: video 1");
    if (filmAan == false) {
        myVideo1.source = videoArray[0];
        myVideo1.x=340; 
        myVideo1.y=227;
        myVideo1.width=1360;
        myVideo1.height=908;
        filmAan = true;
        knop_stop.visible=true;

    } else {
        knop_stop.visible = false;
    }

}
function stopVideos(evtObj:MouseEvent):void {
            removeChild(myVideo1);          
        }
于 2012-12-11T09:08:55.400 に答える