更改flash cs6 createjs导出的lib对象的颜色

时间:2013-09-24 07:33:49

标签: html5 createjs

我正在使用createjs + box2dweb测试一些代码,我导出了一个由flash cs 6绘制的蓝色矢量球,这里是代码的一部分。

var birds = (function() {

    var spawn = function() {
        //circle = new lib.ball1();
        //var birdBMP = new createjs.Bitmap("images/bird.png");
        var birdBMP = new lib.ball1();
        birdBMP.x = Math.round(Math.random()*500);
        birdBMP.y = -30;
        birdBMP.regX = 60.75;   // important to set origin point to center of your bitmap
        birdBMP.regY = 60.75; 
        birdBMP.snapToPixel = true;
        birdBMP.mouseEnabled = false;
        stage.addChild(birdBMP);
        box2d.createBird(birdBMP);
    }

    return {
        spawn: spawn
    }
})();

这里我想改变蓝色球的颜色,我该怎么做?

** * *** 更新 * ** * ***

包括js

更改代码

birdBMP.cache(0, 0, 121.5, 121.5);
colorRan1 = Math.round(Math.random()*255);
colorRan2 = Math.round(Math.random()*255);
colorRan3 = Math.round(Math.random()*255);

birdBMP.filters = [
     new createjs.ColorFilter(0,0,0,1, colorRan1,colorRan2,colorRan3,0)
];

birdBMP.updateCache();

1 个答案:

答案 0 :(得分:1)

我不太了解createjs Flash Extension,但我非常怀疑,从Flash Export中也没有办法简单地“改变”一种颜色 - 你可能有三种选择:

1)ColorMatrixFilter - 这涉及缓存等。我不会为你的目的推荐这个。

2)以所需颜色绘制另一个球,并将位图更改为另一个(不同颜色的)球。

3)或者如果它是一个简单的形状,您可以使用导出的lib.ball1()方法并使用颜色参数扩展它。 - 在这种情况下,如果要在创建后更改颜色,则还必须更改引用位图/形状。