0

我正在开发一个游戏,其中用户必须使用用户单击时创建的颜色 splats 绘制形状。它适用于大多数颜色,但当两个橙色或紫色拼色叠加时,它会产生奇怪的颜色混合。您可以在此链接http://img812.imageshack.us/img812/1497/screenshot20130507at114.png上看到问题

我用来创建 splats 的代码是:

var the_color:uint;

        var splat = new splat_wrap;
        splat.rotation = (Math.random() * 360);
        var rand=Math.ceil(Math.random() * 2);
        splat.gotoAndStop(rand)
        splat.x=msx;
        splat.y=msy;
        this.splatMc.addChild(splat);


        if(this.color=='red')the_color=0xFF0000;
        else if(this.color=='yellow') the_color=0xFFFF00;
        else if(this.color=='blue') the_color=0x0000FF;
        else if(this.color=='green') the_color=0x00FF00;
        else if(this.color=='pink') the_color=0xFF00FF;
        else if(this.color=='black') the_color=0x000000;
        else if(this.color=='purple') the_color=0xCC3399;
        else if(this.color=='orange') the_color=0xFF8000;
        else the_color=0x00FF00;

        var ct:ColorTransform = new ColorTransform();
        ct.color=the_color;


        mat.identity();
        mat.rotate(splat.rotation/180*Math.PI)
        mat.translate(splat.x, splat.y)
        bmd.draw(splat,mat,ct, "add")

        this.splatMc.removeChild(splat);
4

1 回答 1

0

尝试将倒数第二行中的 blendMode “add”更改为以下混合模式之一(请参阅副标题“Public Constants”......“layer”或“alpha”的模式可能是您正在寻找的) http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/display/BlendMode.html

于 2013-05-07T18:44:10.510 回答