我正在看使用這個插件。在我的版本中,我會有雪,一旦用戶擦掉了50%的畫布,我想再次出現一部分雪(帆布),好像它再次凍結,但像有人正在吹熱氣一樣放慢動畫在上面。html canvas在動畫上結冰
http://minimal.be/lab/jQuery.eraser/
有沒有一種辦法,這能否實現?
我正在看使用這個插件。在我的版本中,我會有雪,一旦用戶擦掉了50%的畫布,我想再次出現一部分雪(帆布),好像它再次凍結,但像有人正在吹熱氣一樣放慢動畫在上面。html canvas在動畫上結冰
http://minimal.be/lab/jQuery.eraser/
有沒有一種辦法,這能否實現?
的「霜」效果如何工作
這由canvas元素下直接堆疊的圖像元素演示作品。
疊加畫布「隱藏」該圖像的半透明「霜」。霜由在畫布上繪製的中等不透明矩形組成。
通過使用合成來「擦除」拖動鼠標的地方的霜,效果「擦除」了霜凍。 「刪除」,實現使用:
context.globalCompositeOperation="destination-out";
// Now all new drawings will "erase" any existing pixels
在繪製爲用戶這種效果新圈子拖動將「擦除」的霜。
添加Refrosting效果
如果你想 「refrost」 畫布:
開始通過將每個新的拖累圈[X,Y]數組中。
然後創建一個連續重繪霜層的動畫循環。
清除畫布,
Refrost整個畫布,
從陣列的開頭刪除幾個圈,
重繪陣列中的每個剩餘的圈使用「目的地出「合成來消除霜凍。
作爲邊評論,通過改變globalAlpha的([0.0; 1.0]),您可以調節「目的地去」的擦除效果。繪製一個圓時,繪製多個不同的不透明度的同心圓以平滑擦除效果可能會有一定意義。 – GameAlchemist
很好的解釋謝謝,但你有一個例子嗎? – user1937021
不客氣。我相信你可以編寫這個效果,因爲它相當簡單,你將會在這個過程中獲得合成學習的額外好處。祝你的項目好運! – markE
我不知道它是如何做 – user1937021