更改 LibGDX 中的坐标系 (Java)

2023-12-24

LibGDX 有一个坐标系,其中 (0,0) 位于左下角。 (就像这张图片:https://i.stack.imgur.com/jVrJ0.png https://i.stack.imgur.com/jVrJ0.png)

这让我头撞墙,主要是因为我正在移植一个我已经用常用坐标系(其中 0,0 位于左上角)制作的游戏。

我的问题:有没有简单的方法来改变这个坐标系?


如果您使用相机(您应该使用相机),则更改坐标系非常简单:

camera= new OrthographicCamera(Gdx.graphics.getWidth(), Gdx.graphics.getHeight());
camera.setToOrtho(true, Gdx.graphics.getWidth(), Gdx.graphics.getHeight());

如果您使用TextureRegions和/或TextureAtlas,那么除此之外您需要做的就是调用region.flip(false, true)。

我们默认使用 y-up 的原因(您可以轻松更改,如上所示)如下:

  • 您的模拟代码很可能会使用带有 y-up 的标准欧几里德坐标系
  • 如果你选择 3D,你就成功了
  • OpenGL 中的默认坐标系是右手坐标系,y 向上。当然,您可以使用一些矩阵魔法轻松更改它。

libgdx 中我们使用 y-down 的唯一两个地方是:

  • 像素图坐标(左上角原点,y轴向下)
  • 以窗口坐标给出的触摸事件坐标(左上角原点,y 轴向下)

同样,您可以使用相机或一点点矩阵数学轻松地将所使用的坐标系更改为您想要的任何坐标系。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

更改 LibGDX 中的坐标系 (Java) 的相关文章

随机推荐

  • 我需要录制我们的应用程序的演示。谁能推荐一款好用的录屏软件? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我需要录制我们的应用程序的演示 谁能推荐一款好用的录屏软件 我尝试过 CamStudio 但它抛出错误
  • 如何在 Powershell 中自动回答“是”?

    如何在 Powershell 中自动对提示回答 是 Write Host Deleting all files and subfolders Get ChildItem Path C Users 333 Downloads Recurse
  • Vue3 路由器 + 转换警告

    我有一个带有转换的包装组件 Wrapper vue
  • app.yaml 上的错误处理程序

    如何处理应用程序引擎上的不同错误代码 在我的 app yaml 文件中 我有 error handlers file error notfound html error code over quota file error over quo
  • 移动赋值运算符上的异常说明符如何影响移动构造函数的异常说明符?

    我一直在 C 14 模式下使用 GCC 5 2 和 clang 3 6 进行测试 它们给出相同的输出 对于以下代码 include
  • Web API 和 EF 导致 InvalidOperationException

    我的解决方案中有 3 个项目 DataModel EF DAL 它与 DataModel 和 MVC Web API 中的实体一起使用 只有 2 个非常简单的实体 Person Address 每个实体都有 3 个简单字段 Person 具
  • iphone CLLocationmanager 区域监控回调未触发

    我正在尝试使用监控区域来跟踪用户是否访问过地标 位置管理器与地图套件一起在视图控制器中初始化 在视图控制器的 viewDidLoad 中 if self locationManager nil NSLog creating location
  • C++ 中变量、方法等的良好命名约定是什么? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • Websphere Liberty:JMS 会话不起作用

    我正在将 EJB 应用程序从 websphere 9 0 迁移到 Liberty 我正在使用应用程序服务器迁移实用程序来帮助我进行迁移 列出的问题之一是 移植的本地事务 JMS 会话在 Liberty 中不起作用 我查看了帮助中提到的详细信
  • 如何强制 jQuery“监听”未来的 AngularJS ng-repeat 元素并激活插件?

    对 jQuery 有相当的经验 对 AngularJS 很陌生 我有一个页面 其中包含颜色列表 可变数字 并附有 jQuery 颜色选择器 由类 colorpicker 标记 在 PHP 生成的静态页面版本上 效果很好 但是将其转换为 ng
  • 使用 vanilla JS 突出显示活动选项卡

    我正在创建一个选项卡式导航栏 其中当选项卡处于活动状态时 它应该将其颜色更改为我设置的颜色 使用选项卡浏览页面效果很好 但活动选项卡上的颜色突出显示似乎不起作用 到目前为止 这是我的代码 HTML section class tab sec
  • Jenkins 构建时的 java.nio.file.AccessDeniedException

    我正在 MacOSX 服务器上设置 Jenkins 系统 以便在 svn 签入后自动构建 但是当构建开始时 我在控制台输出中收到这些 java 错误 有谁有詹金斯和这些错误的经验吗 Gestartet durch Benutzer anon
  • 在 Java 中创建一个新线程的成本有多高?我们什么时候应该考虑使用线程池?

    我想知道应该使用线程池的界限在哪里 在不使用线程池的情况下 每秒可以创建多少个新线程 仍然可以避免明显的性能损失 是否有任何可观察的开源线程池实现 考虑到成本 唯一有效的答复是亲自测试它 不是那么优雅的方式告诉你我从未做过这样的测试 也永远
  • 保存和恢复事件处理程序

    我的类包含数据集 TDataSet 我的班级的用户可以为此数据集分配事件处理程序 ds FieldByName ID OnChange ID OnChange 然后我必须重新打开数据集 ds Close ds Open 之后所有事件处理程序
  • C# 中的枚举有成员数量限制吗?

    我想知道枚举结构类型对其成员是否有限制 我有一个非常大的 变量 列表 我需要将其存储在枚举中或作为类中的常量 但我最终决定将它们存储在类中 但是 我对成员的限制有点好奇枚举 如果有 那么 枚举在 Net 上有限制吗 是的 会员人数具有独特的
  • Typescript - 为类成员设置默认值

    我有一个简单的模型 export class Profile extends ServerData name string email string age number 当我调用服务器 Angular 4 http 时 我经常得到以下响应
  • 在 Ruby 中按数组中对象的值排序

    我的数组中有一堆对象 想按每个对象具有的值进行排序 每个对象中的相关属性都是一个数值 例如 1 bunch of other stuff 5 12 3 会成为 1 bunch of other stuff 3 5 12 我想按每个对象中存储
  • 如何将大小相等的正方形网格减少到最小的矩形集?

    如果我有一个由相同大小的正方形组成的任意大小的网格 它们之间没有间距 我需要知道一种有效的方法将它们减少为minimum矩形的数量 例如 如果每个星号代表一个正方形 那么这可以减少为一个大矩形 虽然这可以减少为两个矩形 gt 1 2 一个明
  • 如何检查 Android 应用是否是设备所有者?

    我正在使用机器人框架执行一个测试用例 我必须安装一个应用程序并将其设置为设备所有者 然后检查同一应用程序是否已成为设备所有者 我已经搜索了 Stack Overflow 和其他搜索引擎结果 但在那里 他们提到了如何使应用程序成为设备所有者
  • 更改 LibGDX 中的坐标系 (Java)

    LibGDX 有一个坐标系 其中 0 0 位于左下角 就像这张图片 https i stack imgur com jVrJ0 png https i stack imgur com jVrJ0 png 这让我头撞墙 主要是因为我正在移植一