天天看點

cocos2d-x 手電筒效果

常見的手電筒效果,可以通過CCRenderTexture來實作。主要是通過修改渲染表面的alpha值來達到手電筒光照範圍内的透明效果。此方法純原創,如有雷同,英雄所見略同。這裡由于本人沒有什麼圖檔,這裡直接用矩形區域來代替圓形區域。通過以下幾個基本步驟來完成這個效果。

首先建立一個全黑的渲染表明覆寫在場景之上。

在ccTouchBegan()函數中透明處使用者點選的區域

在ccTouchMoved()函數中,首先抹黑原來的區域(這裡為了保險,我們直接抹黑整個渲染表面),另外透明出新的區域

在ccTouchEnded()和ccTouchCanceled()函數中,抹黑整塊渲染表面。

好了,我們實作了這個“矩形"的手電筒效果。最好使用png圖檔來弄出手電筒光圈和透明區域來。

另外:其中BY開頭的宏是我個人寫的一些宏,以便本人加快程式設計速度。你可以通過字面意思猜到我的宏實作方法,呵呵。

繼續閱讀