2011-10-10 81 views
3

我創建了一個簡單的視頻,我嘗試附加一個鼠標點擊事件,但事件並未觸發。這裏是我的代碼:AS3 Video MouseEvent點擊不起作用

var connection:NetConnection; 
var stream:NetStream; 
var video:Video; 

connection = new NetConnection(); 
connection.connect(null); 

stream = new NetStream(connection); 
stream.client = this; 

video = new Video(425, 320); 
stage.addChild(video); 


video.attachNetStream(stream); 

stream.bufferTime = 1; 

stream.receiveAudio(true); 
stream.receiveVideo(true); 

stream.play("freshprince.flv"); 

video.addEventListener(MouseEvent.CLICK, function() { 

    trace("Video Clicked");             
}); 

它是什麼問題,爲什麼不會鼠標事件工作?在一個MovieClip

回答

2

認沽視頻並添加事件的MovieClip

video = new Video(425, 320); 
var mc:MovieClip = new MovieClip(); 
mc.addChild(video); 
stage.addChild(mc); 

mc.addEventListener(MouseEvent.CLICK, function() { 
    trace("Video Clicked");             
}); 

注意:Video類不是InteractiveObject類的子類,因此它無法調度鼠標事件。但是,您可以在包含Video對象的顯示對象容器上調用addEventListener()方法。 (http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/media/Video.html?filter_flash=cs5 & filter_flashplayer = 10.2 & filter_air = 2.6)

+1

ymutlu是正確的。您需要一個從InteractiveObject繼承的類。但是,據我所知,沒有必要使用MovieClip。一個更簡單的DisplayObjectContainer,比如Sprite可能更適合和更輕量級。 – Djip