一、建立戰爭迷霧類:
module gtm
private bitmap:egret.bitmap;
private bgsh:egret.shape;
private foglayer:egret.displayobjectcontainer;
public init(w:number, h:number):void
private con:egret.displayobjectcontainer;
private bitmaps:egret.bitmap = ;
private texture:egret.texture;
private getbitmap():egret.bitmap
return new egret.bitmap(this.texture);
} public updatefogs(fogs:):void
this.foglayer.blendmode = egret.blendmode.erase;//(這步很關鍵,fog.png層級必須在遮罩的上方,這樣erase相交才能擦除遮罩視野)
let rendertexture:egret.rendertexture = new egret.rendertexture();
rendertexture.drawtotexture(this.con);
for (let i:number = this.foglayer.numchildren - 1; i >= 0; i--)
if (this.bitmap.texture)
this.bitmap.texture = rendertexture;
} public dispose()
}}
在需要用到的類裡例項化fog類 然後開啟序列幀事件(每一幀都呼叫) egret舉例:this.mypage.addeventlistener(egret.event.enter_frame, this.enterframe, this);
讓我們來看看結果吧? 就是醬紫:哈哈 是不是很神奇
2D遊戲平滑的迷霧戰爭效果
近期剛好有做2d遊戲的點光源效果,然後就擴充套件一下。研究了一下戰爭迷霧的效果。主要是想實現相似魔獸爭霸那種人物走動,然後黑色的戰爭迷霧隨著人物的移動漸漸開啟的效果。使用具有漸變透明作為光源來使得戰爭迷霧呈現出平滑的效果。早期的紅警的戰爭迷霧大家應該也比較熟悉,只是看起來沒那麼平滑,應該是採用圖塊拼...
戰爭迷霧開源庫測評
博物納新 是uwa旨在為開發者推薦新穎 易用 有趣的開源專案,幫助大家在專案研發之餘發現世界上的熱門專案 前沿技術或者令人驚嘆的視覺效果,並探索將其應用到自己專案的可行性。很多時候,我們並不知道自己想要什麼,直到某一天我們遇到了它。戰爭迷霧在實際軍事戰爭中通常是指 由於對敵人情報不清楚,而無法確認除...
基於紋理繪製的戰爭迷霧
戰鬥迷霧 fog of war 是rts類 moba類遊戲中不可缺少的乙個部分。在2d遊戲中,使用磚塊地圖 tiled map 拼接,是最常用的實現方法。但在具體實現過程中發現,磚塊地圖實現的戰爭迷霧有一些不足,比如迷霧邊緣不柔和 解開迷霧時不流暢 繪製定點數過多,在低端手機上的幀數降低明顯等。這裡...