2014-07-02 33 views

回答

1

的「霜」效果如何工作

這由canvas元素下直接堆疊的圖像元素演示作品。

疊加畫布「隱藏」該圖像的半透明「霜」。霜由在畫布上繪製的中等不透明矩形組成。

通過使用合成來「擦除」拖動鼠標的地方的霜,效果「擦除」了霜凍。 「刪除」,實現使用:

context.globalCompositeOperation="destination-out"; 

// Now all new drawings will "erase" any existing pixels 

在繪製爲用戶這種效果新圈子拖動將「擦除」的霜。

添加Refrosting效果

如果你想 「refrost」 畫布:

開始通過將每個新的拖累圈[X,Y]數組中。

然後創建一個連續重繪霜層的動畫循環。

  • 清除畫布,

  • Refrost整個畫布,

  • 從陣列的開頭刪除幾個圈,

  • 重繪陣列中的每個剩餘的圈使用「目的地出「合成來消除霜凍。

+0

作爲邊評論,通過改變globalAlpha的([0.0; 1.0]),您可以調節「目的地去」的擦除效果。繪製一個圓時,繪製多個不同的不透明度的同心圓以平滑擦除效果可能會有一定意義。 – GameAlchemist

+0

很好的解釋謝謝,但你有一個例子嗎? – user1937021

+0

不客氣。我相信你可以編寫這個效果,因爲它相當簡單,你將會在這個過程中獲得合成學習的額外好處。祝你的項目好運! – markE