【问题标题】:Mouse over help in ActionScript 3 Flash将鼠标悬停在 ActionScript 3 Flash 中的帮助上
【发布时间】:2012-02-17 08:58:14
【问题描述】:

我对 actionscript 3 非常陌生,但我似乎无法将旧的 action script 转换为最新版本 (as3)。当鼠标悬停在按钮上时,我正在尝试将我的影片剪辑从 alpha(透明)设置为可见。这是我的旧代码。

//btnOver is a gaint button over my screen that is transparent

function btnOver(event:MouseEvent):void{
    button_overlay._visible = false;
on(rollOver){
    minutes_mc._visible = true;
    hours_mc._visible = true;
    seconds_mc._visible = true;
}
on(rollOut){
    minutes_mc._visible = false;
    hours_mc._visible = false;
    seconds_mc._visible = false;
}

这是我在 AS3 中的其余(或全部)代码。

import flash.events.MouseEvent;

var date:Date;
var theDate:Date = new Date(  );
var day = theDate.toLocaleDateString()
var time = theDate.toLocaleTimeString()


addEventListener(Event.ENTER_FRAME, refreshHour);
addEventListener(MouseEvent.ROLL_OVER, btnOver);


function refreshHour(event:Event):void{

    date = new Date();

    hour_mc.rotation = date.getHours()*30 + (date.getMinutes()/2);
    hours_mc.rotation = date.getHours()*30 + (date.getMinutes()/2);
    minutes_mc.rotation = date.getMinutes()*6 + (date.getSeconds()/10);
    minute_mc.rotation = date.getMinutes()*6 + (date.getSeconds()/10);
    seconds_mc.rotation = date.getSeconds()*6 + (date.getMilliseconds()/(1000/6));
    second_mc.rotation = date.getSeconds()*6 + (date.getMilliseconds()/(1000/6));
}

date_txt.text = day;

//btnOver is a gaint button over my screen that is transparent

function btnOver(event:MouseEvent):void{
    button_overlay._visible = false;
on(rollOver){
    minutes_mc._visible = true;
    hours_mc._visible = true;
    seconds_mc._visible = true;
}
on(rollOut){
    minutes_mc._visible = false;
    hours_mc._visible = false;
    seconds_mc._visible = false;
}

我基本上是在做一个闪光手表,当你翻过来时它会发光:)

谢谢 乔

【问题讨论】:

    标签: flash actionscript-3 transparency mouseevent rollover


    【解决方案1】:
    const GLOW:GlowFilter = new GlowFilter(0xFF0000);
    
    screen.addEventListener(MouseEvent.ROLL_OVER, _rollOver);
    screen.addEventListener(MouseEvent.ROLL_OUT, _rollOut);
    
    function _rollOver(e:Event):void
    {
        watch.filters = [GLOW];
    }
    
    function _rollOut(e:Event):void
    {
        watch.filters = [];
    }
    

    【讨论】:

    • 很好,我以前从未想过这样做。太好了,我可以试试这个!
    【解决方案2】:

    在这里,您需要使用两个功能,一个用于结束,另一个用于输出。示例:

    addEventListener(MouseEvent.ROLL_OVER, btnOver);
    addEventListener(MouseEvent.ROLL_OUT, btnOut);
    
    function btnOver(event:MouseEvent):void{
        // do everything here you want when the mouse goes over
        button_overlay._visible = true;
        minutes_mc._visible = true;
        hours_mc._visible = true;
        seconds_mc._visible = true;
    }
    
    function btnOut(event:MouseEvent):void{
        // do everything here you want when the mouse goes out
        button_overlay._visible = false;
        minutes_mc._visible = false;
        hours_mc._visible = false;
        seconds_mc._visible = false;
    }
    

    【讨论】:

    • 谢谢!!!!唯一的问题是 _visible 必须是 .visible 再次谢谢!
    猜你喜欢
    • 1970-01-01
    • 2013-09-29
    • 2010-11-02
    • 2018-10-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多