1. 程式人生 > >[easyx遊戲開發]---實現透明背景效果

[easyx遊戲開發]---實現透明背景效果

easyx人物背景透明

本人正在做一個冒險島的單機遊戲,素材是從遊戲wz解析出來的。程式碼直接用putimage會有黑邊,所以我就處理了一下,用ps把背景改為透明

mark

但還是會有黑邊。

mark

easyx自帶的幫助文件裡有三元光柵操作碼(即位操作模式),挨個試過只有SRCPAINT有類似透明背景的效果,但圖片嚴重失真

mark

檢視easyx貼吧,發現有很多老鐵遇到和我一樣的情況。大神提供了一種方法,使用精靈圖和掩碼圖製造透明效果。

精靈圖:就是你要繪製的圖片,希望該圖片某些區域透明。
掩碼圖:和精靈圖對應,要顯示的區域用白色,透明的區域用黑色。

先上效果圖。

mark

可以看到,基本上已經實現透明背景了。

下面講實現步驟

  • 開啟ps,新建一張圖,寬高和圖片大小一致,

mark

  • 然後點編輯–>填充–>選黑色
  • 點選開啟–>選擇對應的圖片

mark

  • 按V點選原圖將原圖移到黑圖上
  • 點選左欄快速選擇工具

mark

mark

選單欄->影象->模式->灰度

影象->調整->閾值:

閾值讓選區和背景區儘量分明,取值1

影象->調整->反向:

最後效果

mark

然後在程式碼中執行階段,每次繪製都這樣做:
putimage(x, y, 掩碼圖, NOTSRCERASE);
putimage(x, y, 精靈圖, SRCINVERT);
這樣就能有同上的效果了。