我不認爲有可能對這種形狀的顏色進行動畫製作,因爲您的形狀的繪圖可能包含許多不同的顏色,Tween應該如何知道要修改哪些顏色? 有跡象表明,我能想到的權兩個方面認識:
方法1)使用createjs.ColorFilter
,將其應用到您的形狀,然後補間的濾波器的特性:
var shape = new createjs.Shape();
//making the shape shape white, so we can work with the multiplyers of the filter
shape.graphics.beginFill(createjs.Graphics.getRGB(255, 255, 255));
shape.graphics.drawCircle(0, 0, 10);
stage.addChild(shape);
var filter = new createjs.ColorFilter(1,0,0,1); //green&blue = 0, only red and alpha stay
shape.filters = [filter];
var tween = createjs.Tween.get(filter, { loop: true }).
to({redMultiplier:0, greenMultiplier:1 }, 1000);
我沒有測試這個,所以...讓我知道這是有效的。還要注意,只有在調用shape上的cache()或updateCache()時纔會應用/更新過濾器,因此您必須將其添加到您的記號功能中。
方法2)或者你只是重新繪製每一幀的形狀......但1)可能更容易。
我會盡快測試,並接受你的答案,如果它的工作原理。在此先感謝 – lhk
雖然這工作,我似乎無法讓它正常工作,當我想要的形狀充滿透明的顏色。我試着用alphaOffset設置ColorFilter,但是我無法讓它工作。相反,我使用了Jason Savage的解決方案。 – gmetzker
這裏有一個工作示例小提琴:http://jsfiddle.net/jinglesthula/6x0f8nff/ – jinglesthula