【问题标题】:How can I make a color picker, choosing three differents colors?如何制作颜色选择器,选择三种不同的颜色?
【发布时间】:2012-01-07 09:43:43
【问题描述】:

我希望能够从颜色选择器中选择三种不同的颜色。我想在红色、绿色和蓝色之间进行选择。如何更改下面的代码来执行此操作?我应该在自己的类中使用我的颜色选择器吗?

    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) 代码中没有颜色选择器,也没有任何提示您想在哪里/如何使用它。 2)你们的cmet不是英文的,很多人(包括我)听不懂。
  • 是的,它不是我代码中的颜色选择器,这就是我想要的。我希望能够从颜色选择器中选择红色、绿色和蓝色三种不同的颜色,并使用这些颜色进行绘制。
  • 那么问题到底是什么? “如何更改下面的代码”太笼统了。您不知道如何创建带有红色、绿色、蓝色的调色板,或者您不知道如何检测鼠标单击它们,或者您不知道如何存储选定的颜色或什么?是的,你应该有不同类的颜色选择器,以便可以重复使用。
  • 为什么没有 3 个不同的颜色选择器?
  • 是的,它不是我代码中的颜色选择器,这就是我想要的。我希望能够从颜色选择器中选择红色、绿色和蓝色三种不同的颜色,并使用这些颜色进行绘制。

标签: actionscript-3 flash-cs5


【解决方案1】:

也许你想要这个

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-08-09
    • 1970-01-01
    • 2020-08-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多