2014-03-14 45 views
1

我是AS3的新手,但我知道基本知識。我正在創建一個繪圖應用程序,並且我想創建一個矩形,以便在每次選擇新顏色時更改爲所選顏色。我可以做簡單的事情,例如創建矩形等,但對於實際的顏色轉換,我有點失落。我還沒有找到與此直接的答案,我希望有人能指導我在正確的方向,謝謝!在AS3中爲繪圖應用程序創建顏色預覽

+0

閃光Professional擁有一個顏色選擇器組件;瞭解您是使用Flash Pro還是構建純粹的ActionScript項目會很有幫助。 –

回答

0

這是一個簡單的程序,在舞臺上創建一個紅色的按鈕。點擊後,它變成藍色。

import flash.display.MovieClip; 
import flash.events.MouseEvent; 

var ButtonA:MovieClip = new MovieClip(); 
ButtonA.buttonMode = true; 

ButtonA.graphics.lineStyle(1,0); 
ButtonA.graphics.beginFill(0xFF0000,1) 
ButtonA.graphics.drawRect(0,0,50,50); 

addChild(ButtonA); 
ButtonA.x = ButtonA.y = 20; 

ButtonA.addEventListener(MouseEvent.CLICK, changeColorHandler, false, 0, true); 
function changeColorHandler(event:MouseEvent) : void 
{ 
    var obj_color:ColorTransform = new ColorTransform(); 
    obj_color.color = 0x0000ff; 
    ButtonA.transform.colorTransform = obj_color; 
} 

此使用點擊事件,但你可以採取的處理程序中的代碼,並創建自己的顏色設置器的功能,你可以在任何地方,你想打電話。即:

function changeColor(obj:MovieClip, newColor:int) : void 
{ 
    var obj_color:ColorTransform = new ColorTransform(); 
    obj_color.color = newColor; 
    obj.transform.colorTransform = obj_color; 
} 
0

要更改矩形的顏色,當選擇新的顏色,我認爲你應該使用Flash Professional中的拾色器控制,請導入顏色選擇器控制和附加到你的項目

  function ColorPicker_Class() 
    { 
        colorPicker=new ColorPicker(); 
     addChild(colorPicker); 
     colorPicker.x=150; 
     colorPicker.addEventListener(ColorPickerEvent.CHANGE,onChangeColor); 

        rect=new Sprite(); 
     rect.x=300; rect.y=250; 
     addChild(rect); 
      } 
     function onChangeColor(event:ColorPickerEvent):void 
    { 
     var colorpick:ColorPicker=ColorPicker(event.currentTarget); 
     rect.graphics.lineStyle(1); 
     rect.graphics.beginFill(colorpick.selectedColor,1); 
     rect.graphics.drawRect(0,0,100,100); 
    } 
相關問題