【问题标题】:How would I give the buttons in this image gallery a rollover effect, as well as assign each of them individual labels?我如何给这个图片库中的按钮一个翻转效果,以及为每个按钮分配单独的标签?
【发布时间】:2009-09-14 03:33:04
【问题描述】:

所以我试图让我的图片库中的这些“按钮”具有某种翻转效果(文本更改颜色),而不是说“Linus0”、“Linus1”、“Linus2”,我想分配每个都有自己的标签。我可以用数组做到这一点吗?另外 - 我做错了什么让它认为总共有六张图片?只有5个,我只需要5个按钮。提前致谢!到目前为止,这是我的代码:

var myPics:Array = new Array ("image0", "image1", "image2", "image3", "image4");

var totalItems: int = myPics.length;



function createLabels () : void {
for (var i:int=0; i<=totalItems; i++){
    var btn_label:TextField = new TextField ();
    this.addChild (btn_label);
    btn_label.name = "image"+i;

    var format:TextFormat = new TextFormat ();
    format.font = "Verdana";
    format.color = 0x000000;
    format.size = 12;


    btn_label.defaultTextFormat = format;

    btn_label.x = 55;
    btn_label.y = 50+ (i*20);

    btn_label.text = "Linus"+i;
}
};

function makeMenu ():void {
for (var i:int=0; i<=totalItems; i++) {
    var myBtn:button = new button;
    this.addChild (myBtn);
    myBtn.name = "image"+i;


    myBtn.x = 55;
    myBtn.y = 50+ (i*20);
    myBtn.addEventListener(MouseEvent.CLICK, btnPress);
    myBtn.addEventListener(MouseEvent.CLICK, btnPress);
trace(i);

    }
};

    createLabels ();
    makeMenu ();

    var myFrame: frame = new frame;
    this.addChild (myFrame);
    myFrame.name = "frame";
    myFrame.x = 200;
    myFrame.y = 70;

    var myLoader:Loader = new Loader ();

    function btnPress (event:MouseEvent):void{
        this.enabled = true;
        myLoader.load (new URLRequest("images/"+event.target.name+".jpg"));
        addChild(myLoader);
        myLoader.x = 201;
        myLoader.y = 71;
    };

【问题讨论】:

    标签: flash actionscript-3 arrays gallery


    【解决方案1】:

    你得到 6 而不是 5 的原因是你使用

    至于翻转效果,如果您只想更改文本颜色,那么应该这样做:

    btn_label.addEventListener(MouseEvent.MOUSE_OVER, labelOver);
    
    
    function labelOver(e:MouseEvent):void
    {
        e.target.defaultTextFormat.color = 0xFF0000;
        e.target.defaultTextFormat = format;
        btn_label.addEventListener(MouseEvent.MOUSE_OUT, labelOut);
    }
    
    function labelOut(e:MouseEvent):void
    {
        e.target.defaultTextFormat.color = 0x000000;
        e.target.defaultTextFormat = format;
        btn_label.removeEventListener(MouseEvent.MOUSE_OUT, labelOut);
    }
    

    【讨论】:

      【解决方案2】:

      +1 奥利弗所说的

      这个

      我也不想说“Linus0”、“Linus1”、“Linus2”,而是给每个人分配自己的标签。我可以用数组做到这一点吗?

      是的,您可以定义一个包含有效名称的字符串数组,然后用它填充您的按钮标签。

      【讨论】:

        猜你喜欢
        • 2016-09-09
        • 1970-01-01
        • 2020-04-08
        • 2012-02-07
        • 2016-01-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多