2012-10-16 19 views
11

我正在研究需要定向燈的遊戲創意(2D)。基本上我想添加可以移動的光源,並且光線與場景中的其他物體相互作用。方向燈

我現在正在做的是使用傳感器(box2d)和ccDrawLine我可以實現類似於我想要的東西的一些測試。基本上,我從某個點發送一束傳感器,並使用光線檢測碰撞,獲取終點並在傳感器上劃線。

只是想獲得一些意見,如果這是一個很好的方式做這個或者是其他更好的選擇來構建這樣的東西?

另外我想知道如何在這個區域(傳感器區域)產生光效,以提供更好看的光效。有任何想法嗎?

+0

你能否提供一些關於你想製作什麼樣的燈光效果的細節?例如燈光應該投下陰影,還是在某些區域被遮擋?你想在場景中的身體上反射或散射光線嗎?等等。 –

+0

想象一下像燈籠一樣的效果,在燈籠範圍的末端燈光「變暗」。 – Setrio

回答

1

我可以想到一個很酷的效果,你可以申請。將一些粒子放在光線可見的區域內,如火花閃爍並非常緩慢地落下,類似於此picture

任何解決此問題的方法都需要使用碰撞檢測,所以如果您有限制box2d對象的數量。

其他的方法,當你有很多box2d對象我會想到的是使用純色(應該是快速)渲染你的屏幕紋理,並執行光線追蹤生成的紋理,以找到將要成爲像素受光影響。這樣,你僅限於解析box2d對象的數量。

0

關於2D空間中的動態和靜態燈光,有一個很好的源代碼here。 這是Ruby代碼,但易於理解,所以不應該很長才能將它移植到Obj-C/Cocos2D/box2D。

我真的希望它能幫助你,因爲它幫助了我。

0

嗯,有趣的問題。 Cocos2D確實提供了一些相當靈活的屏蔽效果。您可以在物體上放置一個漸變蒙版,其位置取決於「光線」的位置,從而達到您的物體被光線着色的效果。