2013-09-24 26 views
0

我測試了一些使用createjs + box2dweb的代碼,我導出了一個由flash cs 6繪製的藍色矢量球,這裏是代碼的一部分。改變flash的顏色cs6 createjs導出的lib對象

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 
    } 
})(); 

這裏我想要改變藍色球的顏色,我該怎麼做?

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

inclucde 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

我不知道太多關於createjs Flash擴展程序,但我高度懷疑,從閃存出口也沒有辦法簡單地「變」色 - 你有可能三個選項:

1)ColorMatrixFilter - 這涉及緩存等。我不會爲你的目的推薦這個。

2)以所需的顏色繪製另一個球並將Bitmap更改爲其他顏色(不同顏色)的球。

3)或者如果它是一個簡單的形狀,您可以使用導出的lib.ball1()方法並使用顏色參數對其進行擴展。 - 在這種情況下,如果要更改創建後的顏色,還必須更改參考位圖/形狀。

+0

我解決了,看到更新 – hkguile