gpt4 book ai didi

java - 如何实现java瓦片 map 灯?

转载 作者:太空宇宙 更新时间:2023-11-04 14:49:23 31 4
gpt4 key购买 nike

我有一个用java编写的2D瓦片 map (使用libgdx,没有瓦片 map 编辑器),由正方形组成,我希望瓦片逐渐变暗,直到它们不可见。所以基本上我不想要圆形光。我知道的唯一选择是使用 Alpha channel 并使来自源(即玩家)的每个图 block 变得不那么可见。我想知道如何使用着色器来实现这一点。我想用 spritebacth 正常渲染我的 map ,然后将着色器应用到我的 spritebacth,这样我就可以渲染灯光效果。每个图 block 都应该有自己的可见性。使用我想要的闪电类型的游戏示例是:http://www.desura.com/games/fragile-soul

最佳答案

通过 SpriteBatch 渲染每个图 block 本身,并使用具有不同“灰色”值的 spriteBatch.setColor(r, g, b, a)

玩家所在的图 block 将从白色开始,因此在渲染该图 block 之前先进行spriteBatch.setColor(1, 1, 1, 1)。然后线性降低周围半径内其他的亮度。

例如,玩家旁边的所有图 block 可能会获得 spriteBatch.setColor(0.8f, 0.8f, 0.8f, 1f) ,从而导致图 block 稍微暗一些。执行此操作,直到通过 spriteBatch.setColor(0, 0, 0, 1) 达到黑色。所有这些图 block 都将是全黑的。

关于java - 如何实现java瓦片 map 灯?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23981237/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com