Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/329.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Box2d灯光-雪碧上的灯光_Java_Libgdx_Box2d_Light_Box2dlights - Fatal编程技术网

Java Box2d灯光-雪碧上的灯光

Java Box2d灯光-雪碧上的灯光,java,libgdx,box2d,light,box2dlights,Java,Libgdx,Box2d,Light,Box2dlights,我想问一下,是否可以使用box2d灯光,以便只看到灯光区域中的对象。例如,我有一个手电筒,只想在灯光下看到游戏对象。我设法做到了这一点,但问题是游戏对象的精灵失去了它们的颜色强度,因为我在精灵顶部渲染灯光,而游戏本身也因此不好看(尽管这是我想要的效果)。我使用了box2d实体和包含精灵的用户数据。我想不出任何出路。是否有合适的方法使用box2d灯光库使这些对象可见并具有真实颜色?(我正在将灯光设置为X射线来执行此操作;我还在java中的libgdx中使用它)。这可能是因为默认设置是不使用漫反射灯

我想问一下,是否可以使用box2d灯光,以便只看到灯光区域中的对象。例如,我有一个手电筒,只想在灯光下看到游戏对象。我设法做到了这一点,但问题是游戏对象的精灵失去了它们的颜色强度,因为我在精灵顶部渲染灯光,而游戏本身也因此不好看(尽管这是我想要的效果)。我使用了box2d实体和包含精灵的用户数据。我想不出任何出路。是否有合适的方法使用box2d灯光库使这些对象可见并具有真实颜色?(我正在将灯光设置为X射线来执行此操作;我还在java中的libgdx中使用它)。

这可能是因为默认设置是不使用
漫反射灯光。您必须设置
raydhandler.useDiffuseLight(true)


我不太清楚你在问什么——你问某件事是否可能,但你说你已经做了,但不喜欢效果。你的代码目前做什么?你希望它有什么不同的做法?试着发布一个和一些示例图片,我们将从那里开始。我有一个迷宫和一个角色。我希望所有东西都是暗的,在迷宫中看到的唯一方法就是用闪光灯,玩家拿着闪光灯,这是一个锥形灯。问题是要隐藏精灵,必须先在循环中渲染灯光,然后再渲染精灵,因为libgdx按照放置顺序绘制对象。此外,渲染灯光时,除照亮区域外的所有区域都将变暗。我之前说过的问题是,这样做闪光灯区域的精灵没有我正常绘制它们时的颜色。对不起,重复评论,但第一条太长了,我想添加一些非常基本的代码,让人们知道我想说什么。基本代码:
public void render(float delta){renderSprites();renderLights();}
渲染灯光将是一个附加了光线处理程序的世界,方法是
raydhandler.updateAnderder()将在绘制精灵后调用,这将导致在您将灯光置于精灵上时颜色被真正洗掉。