2013-07-21 67 views
2

是否可以在cocos2d中模拟蜡烛。所以场景会变黑,然后当蜡烛出现时,它会以现实的方式减弱房间。照亮房间Cocos2d

如果可能,我将如何实现该效果?任何重定向,指导都是值得欢迎的。

谢谢。

请注意,我不想光反射算法,因为这只是为了简单的使用。我只是需要一个游戏,玩家的生活是看到房间的能力。

回答

1

你应该检查光线投射。如果您设置Cocos2d以使用Box2d,则可以使用Box2d的光线投射方法来实现此效果。你可以在你房间的墙壁上制作刚体,然后从你的蜡烛起点到它周围的圆上的许多点进行光线投射。如果raycast与墙壁相交,则标记交叉点的位置。然后在最后,您可以使用由所有raycast交点创建的多边形内的光线填充该区域。

+0

你知道吗,如果你能得到raycast十字路口的距离?因为这是模拟光线所需要的,所以远处的物体不应该像接近的物体那样减光。 – chrs

+0

@Chrene你可以在[raywendelich.com](http://www.raywenderlich.com/4653/intermediate-box2d-physics-forces-ray-casts-and-sensors)上的Box2d raycasting上阅读一个很好的教程。 raycast回调会在ReportFixture方法中存储多条信息 - 包括交点**点** b2Vec2。只要您知道光线投射的起点,您就可以轻松计算出原点与此交点之间的距离。 – Benolds