0

我正在使用 Flash CS4 制作视频播放器。我正在尝试构建播放器,以便当用户将鼠标移到 Flash 对象上时,播放控件会出现,而当用户将鼠标移出 Flash 对象时,控件会消失。

我设法将一些代码放在一起,这些代码适用于除一个浏览器之外的所有浏览器:Internet Explorer。好吧,它“有效”,但前提是您将鼠标缓慢移出闪光灯对象的左侧。

我已经在谷歌上做了很多搜索来寻找答案,但我似乎找不到有类似问题的人。

代码如下:

动作脚本代码:


_root.onLoad = function(){
    _root.clip.skinAutoHide=true;
    _root.clip.skinFadeTime=0;
}

_root.onRollOver = function () {
    _root.clip.skinAutoHide=false;
}

_root.onRollOut = function () {
    _root.clip.skinAutoHide=true;
    _root.clip.skinFadeTime=0;
}

网站代码(插入闪存应该去的地方):


var hasRightVersion = DetectFlashVer(requiredMajorVersion, requiredMinorVersion, requiredRevision);
if(hasRightVersion) {  // if we've detected an acceptable version
    // embed the flash movie
    AC_FL_RunContent(
        'codebase', 'http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,24,0',
        'width', '280',
        'height', '280',
        'src', '01clip1',
        'quality', 'best',
        'pluginspage', 'http://www.adobe.com/go/getflashplayer',
        'align', 'middle',
        'play', 'true',
        'loop', 'true',
        'scale', 'noscale',
        'wmode', 'transparent',
        'devicefont', 'false',
        'id', '01clip1',
        'bgcolor', '#ffffff',
        'name', '01clip1',
        'menu', 'true',
        'allowFullScreen', 'false',
        'allowScriptAccess','sameDomain',
        'movie', '01clip1',
        'salign', ''
        ); //end AC code
} else {  // flash is too old or we can't detect the plugin
    var alternateContent = 'Alternate HTML content should be placed here.'
        + 'This content requires the Adobe Flash Player.'
        + 'Get Flash';
    document.write(alternateContent);  // insert non-flash content
}

任何见解将不胜感激。

4

1 回答 1

1

好吧,我修好了。问题在于,在这种情况下,显然用于处理 mouseover/mouseout 的 AS2 方法并不能很好地工作。我将闪存更新为使用 AS3 并使用以下代码:


/*
Code lifted and slightly modified from:
http://board.flashkit.com/board/showthread.php?t=714795
*/
clip.skinAutoHide = false;
clip.skinBackgroundAlpha = 0;
clip.skin = "";

stage.addEventListener(Event.MOUSE_LEAVE, hideSkin);
stage.addEventListener(MouseEvent.MOUSE_MOVE, showSkin);

function showSkin(evt:Event=null):void {
    clip.skinBackgroundAlpha = 0.30;
    clip.skin = "SkinOverPlaySeekMute.swf";
}

function hideSkin(evt:Event=null):void {
    clip.skinBackgroundAlpha = 0;
    clip.skin = "";
}

我不完全确定为什么必须这样做,但这里的代码仍然适用于所有其他人用你的头撞到你的桌子上。

干杯。

于 2011-03-24T20:07:33.723 回答