使用 ColorPicker 組件

此ColorPicker 組件可以讓使用者從色票清單中選取顏色。ColorPicker 的預設模式會在方形按鈕中顯示單一顏色。當使用者按一下該按鈕時,可使用的顏色清單就會伴隨文字欄位出現在色票面板中,而文字欄位會顯示目前選取顏色的十六進位值。

您只需將 ColoPicker 的 colors 屬性設定為希望顯示的顏色值,即可設定組件所要顯示的顏色。

與 ColorPicker 組件的使用者互動

ColorPicker 可以讓使用者選取顏色,並將該顏色套用到應用程式中的另一個物件。例如,若您要讓使用者能夠將應用程式的元素 (背景顏色或文字顏色等) 個人化,便可加入 ColorPicker 並套用使用者選取的顏色。

使用者可以按一下面板中某個顏色的色票,或是在文字欄位中輸入該顏色的十六進位值,藉以選擇該顏色。一旦使用者選取某個顏色之後,您便可以使用 ColorPicker 的 selectedColor 屬性,將該顏色套用到應用程式中的文字或另一個物件。

如果使用者將指標移動到 ColorPicker 實體上方或使用 Tab 鍵瀏覽至該實體,它就會成為焦點。當 ColorPicker 的色票面板開啟時,您可以使用下列按鍵加以控制:

按鍵

說明

首頁

將色票面板中的選取項目移至第一個顏色。

向上鍵

將色票面板中的選取項目上移一列。

向下鍵

將色票面板中的選取項目下移一列。

向右鍵

將色票面板中的選取項目向右移動一個顏色。

向左鍵

將色票面板中的選取項目向左移動一個顏色。

End

將色票面板中的選取項目移至最後一個顏色。

ColorPicker 組件參數

您可以在「屬性」檢測器或「組件檢測器」中,為每個 ColorPicker 實體設定下列編寫參數: selectedColor showTextField 。這些參數都具有相對應的 ActionScript 同名屬性。如需有關這些參數可能值的詳細資訊,請參閱 Flash Professional 的 ActionScript 3.0 參考 中的 ColorPicker 類別。

建立具有 ColorPicker 組件的應用程式

下列範例會在編寫期間,將 ColorPicker 組件加入應用程式。在此範例中,每一次變更 ColorPicker 中的顏色時, changeHandler() 函數都會呼叫 drawBox() 函數,繪製具有您在 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 並選取顏色,為方塊上色。

使用 ActionScript 建立 ColorPicker

此範例會使用 ColorPicker() 建構函式和 addChild() ,在「舞台」上建立 ColorPicker。接著將 colors 屬性設定為紅色的顏色值 (0xFF0000)、綠色的顏色值 (0x00FF00) 與藍色的顏色值 (0x0000FF),以指定 ColorPicker 將要顯示的顏色。另外還會建立 TextArea。每當您從 ColorPicker 選取不同的顏色時,TextArea 中的文字顏色隨即變更為相符的顏色。

  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.colors = [0xff0000, 0x00ff00, 0x0000ff]; 
    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. 選取「控制 > 測試影片」。