我很難過。我無法使EaselJS的AlphaMaskFilter工作。我認爲我沒有做錯什麼,但沒有顯示出我的期望。它應該看起來像你在谷歌廣告牌上指着手電筒。 http://jsfiddle.net/mLn8e/讓EaselJS AlphaMaskFilter工作
var stage = new createjs.Stage("c");
var mask = new createjs.Shape();
mask.graphics.beginRadialGradientFill(["rgba(255, 255, 255, 1)","rgba(255, 255, 255, 0)"], [0, 1], 0, 0, 0, 0, 0, 20).drawCircle(0, 0, 20);
mask.cache(-20, -20, 40, 40);
mask.x = 100;
mask.y = 100;
var bg = new createjs.Shape();
bg.graphics.beginFill("#000000").rect(0, 0, 400, 400);
stage.addEventListener("stagemousemove", function(e) {
mask.x = e.stageX;
mask.y = e.stageY;
stage.update();
});
stage.addChild(bg, mask);
stage.update();
var img = new Image();
img.src = "https://www.google.nl/intl/en_ALL/images/logos/images_logo_lg.gif";
img.onload = function (e) {
var bmp = new createjs.Bitmap(e.target);
bmp.x = 0;
bmp.y = 0;
var amf = new createjs.AlphaMaskFilter(mask.cacheCanvas);
bmp.filters = [amf];
stage.addChild(bmp);
stage.update();
};
兩個最重要的線是德VAR AMF = ...線和bmp.filters = [AMF];行,這兩個打破該計劃。
在此先感謝!
謝謝!我總是喜歡這些東西,只要我到達電腦,我會立即嘗試! – bobismijnnaam 2013-04-21 16:02:23
此外,您將不得不緩存位圖才能工作。 GitHub上的examples文件夾中有一個AlphaMaskFilter,更新後的文檔有一些代碼示例。 http://www.createjs.com/Docs/EaselJS/classes/AlphaMaskFilter.html – Lanny 2013-04-22 01:04:29