我正在使用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();
答案 0 :(得分:1)
我不太了解createjs Flash Extension,但我非常怀疑,从Flash Export中也没有办法简单地“改变”一种颜色 - 你可能有三种选择:
1)ColorMatrixFilter - 这涉及缓存等。我不会为你的目的推荐这个。
2)以所需颜色绘制另一个球,并将位图更改为另一个(不同颜色的)球。
3)或者如果它是一个简单的形状,您可以使用导出的lib.ball1()
方法并使用颜色参数扩展它。 - 在这种情况下,如果要在创建后更改颜色,则还必须更改引用位图/形状。