0

我已经使用 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();
4

1 回答 1

1

我对 createjs Flash 扩展了解不多,但我高度怀疑,从 Flash 导出中也没有办法简单地“更改”颜色 - 您可能有三个选项:

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

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

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

于 2013-09-24T13:15:09.740 回答