Как сделать палитру цветов, выбрав три разных цвета? - PullRequest
0 голосов
/ 07 января 2012

Я хочу иметь возможность выбирать три разных цвета из палитры цветов. Я хочу выбирать между красным, зеленым и синим. Как я могу изменить свой код ниже, чтобы сделать это? Должен ли я иметь палитру цветов в своем классе?

    public class SuperDraw extends Sprite
{
    private var loadImage:LoadImage;
    private var saveImage:SaveImage;
    private var graphic:GameGraphic;
    private var bmp:Bitmap;
    private var pencilDraw:Shape;
    private var p:Point;
    //private var backGroundGame:backGround;

    private var backGroundDraw:drawTabel;

    private static var penSprite:Sprite;
    private static var mouseDownFlag:Boolean;

    protected var penSprite:Sprite = new Sprite();    

    // Bitmap där ritandet sparas.
    protected var canvasBitmap:Bitmap;    

    public function SuperDraw()
    {   
        graphic = new GameGraphic();
        loadImage = new LoadImage();
        saveImage = new SaveImage();
        backGroundDraw = new drawTabel();

        //-------------------------------------------

        // Skapa en backgrund där ritandet ska visas.  
        this.canvasBitmap = new Bitmap( new BitmapData( this.stage.stageWidth, this.stage.stageHeight ), "auto", true );

        // Adda alla klasser och ha graphic klassen ovanför penSprite.
        this.addChild(graphic);
        this.addChild(backGroundDraw);
        this.addChild(penSprite);
        this.addChild(saveImage);
        this.addChild(loadImage);

        this.penSprite.graphics.lineStyle(3, 0x000000 );

        this.stage.addEventListener(MouseEvent.MOUSE_DOWN, this.mouseDown);
    }

    private function mouseDown(e:MouseEvent):void 
    {
        this.stage.addEventListener(MouseEvent.MOUSE_MOVE, this.mouseMove);
        this.stage.addEventListener(MouseEvent.MOUSE_UP,   this.mouseUp);
    }

    private function mouseMove(e:MouseEvent):void 
    {
        penSprite.graphics.lineTo( e.localX, e.localY );
    }

    // Skapar funktionen mouseUp.
    private function mouseUp(e:MouseEvent):void
    {
        // Ritar och sparar till bitmapData.
        canvasBitmap.bitmapData.draw( penSprite, null, null, null, null, true );

        // Ta bort alla listeners. 
        this.stage.removeEventListener(MouseEvent.MOUSE_MOVE, mouseMove);
        this.stage.removeEventListener(MouseEvent.MOUSE_UP,   mouseUp);
    }           
}

1 Ответ

0 голосов
/ 10 января 2012

может быть, вы хотите это

import fl.controls.ColorPicker;

var cp:ColorPicker = new ColorPicker();
cp.colors = [ 0xff0000,0x00ff00,0x0000ff];
addChild(cp);

для получения дополнительной информации, вы можете посетить http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/fl/controls/ColorPicker.html

...