首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >来自box2dlights集的box2d标度

来自box2dlights集的box2d标度
EN

Stack Overflow用户
提问于 2013-09-13 13:18:00
回答 1查看 478关注 0票数 0

我正在用libGDX制作一个游戏,我决定用box2dlights来渲染灯光。到目前为止,我没有那么多地使用相机,因为我已经用纯LWJGL完成了大部分代码。有两个主要的操作,我需要做的坐标的一切。

第一种方法是将屏幕转换为地图的位置(地图比屏幕大,播放机的位置定义了地图的哪个部分是可见的)。例如,如果玩家在(50,30),我用(-50,-30)翻译所有的东西,这样播放器就在中间。

第二件事是用一个常量乘以所有的东西,即从box2d米到屏幕上的像素的转换。

但是,由于我没有访问box2dlights呈现的权限,所以我需要将这两个信息传递给射线处理程序,而唯一的方法就是通过相机。因此,我创建了一个正交相机,并将其在deltaS中翻译成每个滴答,而不是从每个坐标手工减去deltaS。那部分工作得很完美。另一方面,变焦功能似乎不起作用,因为它是在屏幕中间的基础上放大的。例如,如果我设置了缩放= 2,屏幕就会缩小两次,但它是以屏幕为中心的。坐标(0,0)不是(0,0),正如我所期望的那样,而是屏幕. would /4。

有任何方法来设置相机,使它把每个坐标乘以一个数字,你会假设缩放函数应该做,或者有任何方法可以直接在box2dlights上做吗?我不知道我的问题是很清楚还是很常见,但我在任何地方都找不到任何东西。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-09-16 11:53:47

我终于想出来了!问题是,我需要在使用之前设置缩放

代码语言:javascript
复制
camera.setToOrtho(true, SCREEN_WIDTH, SCREEN_HEIGHT);

因为该方法使用当前缩放设置其属性。希望这能有所帮助!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18787331

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档