创建具有 ColorPicker 组件的应用程序

以下示例在创作时将 ColorPicker 组件添加到应用程序。在此示例中,每当您在 ColorPicker 中更改颜色时,changeHandler() 函数将调用 drawBox() 函数,用您在 ColorPicker 中所选择的颜色绘制一个新的框。

创建具有 ColorPicker 组件的应用程序:

  1. 创建一个新的 Flash 文件 (ActionScript 3.0) 文档。
  2. 将一个 ColorPicker 组件从"组件"面板拖到舞台的中央,然后为其指定实例名 aCp
  3. 打开"动作"面板,在主时间轴中选择第 1 帧,然后输入以下 ActionScript 代码:
    import fl.events.ColorPickerEvent;
    
    var aBox:MovieClip = new MovieClip();
    drawBox(aBox, 0xFF0000);    //draw a red box
    addChild(aBox);
    
    aCp.addEventListener(ColorPickerEvent.CHANGE,changeHandler);
    
    function changeHandler(event:ColorPickerEvent):void {
        drawBox(aBox, event.target.selectedColor);
    }
    
    function drawBox(box:MovieClip,color:uint):void {
                box.graphics.beginFill(color, 1);
                box.graphics.drawRect(100, 150, 100, 100);
                box.graphics.endFill();        
    }
    
  4. 选择"控制">"测试影片"。
  5. 单击 ColorPicker,并选择要用于框的颜色。

以下示例使用 ColorPicker() 构造函数和 addChild() 在舞台上创建一个 ColorPicker。该示例将 colors 属性设置为红色 (0xFF0000)、绿色 (0x00FF00) 和蓝色 (0x0000FF) 的颜色值,以指定 ColorPicker 将显示的颜色。还会创建一个 TextArea 组件,每当您在 ColorPicker 中选择一种不同的颜色时,该示例将更改 TextArea 中文本的颜色,以与之匹配。

使用 ActionScript 创建 ColorPicker 组件:

  1. 创建一个新的 Flash 文件 (ActionScript 3.0) 文档。
  2. 将一个 ColorPicker 组件从"组件"面板拖到"库"面板中。
  3. 将一个 TextArea 组件从"组件"面板拖到"库"面板中。
  4. 打开"动作"面板,在主时间轴中选择第 1 帧,然后输入以下 ActionScript 代码:
    import fl.controls.ColorPicker;
    import fl.controls.TextArea;
    import fl.events.ColorPickerEvent;
    
    var aCp:ColorPicker = new ColorPicker();
    var aTa:TextArea = new TextArea();
    var aTf:TextFormat = new TextFormat();
    
    aCp.move(100, 100);
    aCp.addEventListener(ColorPickerEvent.CHANGE, changeHandler);
    
    aTa.text = "Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Vivamus quis nisl vel tortor nonummy vulputate. Quisque sit amet eros sed purus euismod tempor. Morbi tempor. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos hymenaeos. Curabitur diam. Suspendisse at purus in ipsum volutpat viverra. Nulla pellentesque libero id libero.";
    aTa.setSize(200, 200);
    aTa.move(200,100);
    
    addChild(aCp);
    addChild(aTa);
    
    function changeHandler(event:ColorPickerEvent):void {
        if(TextFormat(aTa.getStyle("textFormat"))){
            aTf = TextFormat(aTa.getStyle("textFormat"));
        }
        aTf.color = event.target.selectedColor;
        aTa.setStyle("textFormat", aTf);
    }
    
  5. 选择"控制">"测试影片"。