11

我正在研究需要定向灯的游戏创意(2D)。基本上我想添加可以移动的光源,并且光线与场景中的其他物体相互作用。

我现在正在做的是一些使用传感器 (box2d) 和 ccDrawLine 的测试,我可以实现与我想要的类似的东西。基本上我从某个点发送一堆传感器,并通过光线投射检测碰撞,获取端点并在传感器上画线。

只是想获得一些意见,如果这是这样做的好方法,还是其他更好的选择来构建这样的东西?

另外我想知道如何在这个区域(传感器区域)上制作灯光效果,以提供更好看的灯光效果。有任何想法吗?

4

3 回答 3

1

我能想到一种你可以应用的很酷的效果。将一些粒子放在可见光的区域内,就像火花一样闪烁并非常缓慢地落下,就像这张照片上的东西

无论如何,任何解决这个问题的方法都需要使用碰撞检测,所以如果你有有限数量的 box2d 对象,你就很好了。

当您有很多 box2d 对象时,我会想到的其他方法是仅使用纯色(应该很快)将屏幕渲染为纹理,并在生成的纹理上执行光线追踪以查找将受光影响的像素。这样您就仅限于分辨率而不是 box2d 对象的数量。

于 2012-10-26T09:23:21.647 回答
0

这里有一个很好的关于 2D 空间中动态和静态灯光的源代码。它是 Ruby 代码,但易于理解,因此将其移植到 Obj-C/Cocos2D/box2D 应该不长。

我真的希望它能帮助你,因为它帮助了我。

于 2012-11-05T17:27:55.700 回答
0

嗯,有趣的问题。Cocos2D 确实提供了一些相当灵活的遮罩效果。您可以在对象上放置一个渐变蒙版,其位置取决于“光”的位置,从而产生对象被光着色的效果。

于 2013-10-07T11:54:55.030 回答