围绕相机旋转后的 Libgdx 坐标

2024-03-26

相机旋转后,坐标让我感到困惑。

我有一台相机、一个角色和一张地图。 该玩家仅沿以下方向行走:北(90°)、南(270°)、东(0°)、西(180°)。

从玩家“camera.rotateAround (..., ..., ...)”的位置旋转相机后,玩家由于旋转而开始向新方向移动。

有没有办法在不将地图移动到原始位置的情况下将原始位置重新定位回坐标?

  • 注意:赛道图是临时的,然后有这些松散粘合的边缘。

我很感激你的帮助。


首先你需要存储地图的旋转角度。 那么当玩家移动时你需要考虑地图的旋转角度。

camera.rotatearound(...)//I guess you rotating +90 or -90 in this game 
maprotation+=... //+90 or -90 depends on side you turn.
//i ll assume rotation direction is counter clock wise. 

现在您已经了解了旋转,因此您可以使用三角学来设置玩家的移动。

在player.moveup(浮动地图旋转)方法中或在您编写向北移动的代码的任何地方。

x+=MathUtils.cosDeg(90-maprotation)*speed;//90 degree for moving up
y+=MathUtils.sinDeg(90-maprotation)*speed;// - maprotation for correction 

正如您所看到的,当相机旋转时方向也会旋转。所以你只需要减去地图旋转即可纠正。

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

围绕相机旋转后的 Libgdx 坐标 的相关文章

  • Facebook 登录按钮:应用自定义样式

    我在使用新的 Facebook android sdk 4 时遇到了一个奇怪的问题 对于旧的 sdk 版本 我使用的是
  • 如何使用appium自动化Android手机后退按钮

    我正在使用 Appium python 客户端库 对 Android 上的混合移动应用程序进行测试自动化 我无法找到任何方法来自动化或创建手势以使用 电话后退 按钮返回到应用程序的上一页 有没有可以使用的驱动函数 我尝试了 self dri
  • Eclipse:对 Java 1.7 的失望(未绑定库)

    我在全新安装的 Eclipse 中处理全新项目时遇到问题 重现步骤 下载此版本的 Eclipse http www eclipse org downloads packages eclipse ide java developers hel
  • opengl 覆盖在相机视图上

    我仍然没有找到在相机预览顶部显示 opengl 叠加层的正确方法 有一个 hack 你可以调用 setContentView GLSurfaceView addContentView MyCameraSurfaceView 但它无法正常工作
  • .NET 中的 Class.forName() 等效项?

    动态获取对象类型然后创建它的新实例的 C 方法是什么 例如 如何在 C 中实现以下 Java 代码的结果 MyClass x MyClass Class forName classes MyChildClass newInstance Lo
  • 用于计算句子中单词数的正则表达式

    public static int getWordCount String sentence return sentence split a zA Z0 9 a zA Z0 9 1 length sentence replaceAll a
  • Android,在连接wifi的情况下与移动数据通信,无需上网

    我有一个汽车配套应用程序 需要与 WiFi 和移动数据网络进行通信 我的车辆控制单元提供了一个无需互联网访问的 WiFi 网络 它公开了我们可以从应用程序调用的 API 服务 除此之外 我们还需要使用手机移动数据 3G 4G 与另一个可通过
  • 如何在静音模式下启用媒体声音

    即使在静音模式下如何启动声音 我的音频文件位于我的原始文件夹中 我已经编写了一些代码 但是当我进入 Android 的声音设置时 铃声和闹钟是唯一更改为最大值的设置 但媒体部分没有更改 这是我的代码 public void playSoun
  • 多次调用 startService 时实际会发生什么

    我正在打电话startService 多次对同一服务有不同的意图 很明显 任何时候都只存在一个服务实例startCommand 被称为每个startService 我的问题是 调用时有性能影响吗startService 多次 意图会按照调用
  • 通过命令行参数更改默认的 ant 目标

    最近我被分配了一个任务 让ant能够为不同的环境构建war包 除了一项功能外 我几乎完成了 蚂蚁接受一个env参数类似 Denv DEV 并使用不同的配置文件来制作war包 但默认目标是start它将构建 部署并启动 tomcat 我不希望
  • 在 Android 模拟器中更改屏幕亮度

    Android模拟器可以测试屏幕亮度变化吗 我尝试过各种示例 它们都使用以下代码片段 WindowManager LayoutParams lp window getAttributes lp screenBrightness some f
  • android.media.Ringtone.play() 在播放 28 次后停止工作

    我有一个打开了几个小时的应用程序 并使用后台服务并附加了前台通知 每隔一段时间就会使用以下方式播放声音 try Ringtone r RingtoneManager getRingtone context uri r play catch
  • java.lang.Object#getClass() 的 Eclipse 外部空注释

    我正在使用 Eclipse Mars 中提供的外部空注释工具 我正在尝试添加外部注释java lang Object getClass 但似乎无法正确签名 我尝试过以下变体 NonNull Class getClass L1java lan
  • Tomcat 与 Weblogic JNDI 查找

    我们使用的 Weblogic 服务器已配置为允许 JNDI 数据源名称 例如 appds 对于开发 本地主机 我们可能会运行 Tomcat 并且在 server xml 的 部分中声明时 Tomcat 会将 JNDI 数据源挂在 JNDI
  • 删除子类中的注释?

    我有一个子类 需要一个注释 在删除的父类中声明 做这个的最好方式是什么 public class Parent MyAnnoation String foobar public class Child extends Parent here
  • 为什么永久代空间不断增长?

    我读过几篇文章 我理解以下内容 如果我错了 请纠正我和 或编辑问题 java堆是这样分段的 年轻代 创建的对象放在这里 这部分被频繁且廉价地垃圾收集 老一代 在年轻代的垃圾收集中幸存下来的对象会移到此处 该区域的垃圾收集频率较低 并且使用对
  • Java中精确的时间测量

    Java 提供了两种获取当前时间的方法 System nanoTime and System currentTimeMillis 第一个给出的结果以纳秒为单位 但实际精度比这要差得多 许多微秒 JVM 是否已经为每台特定机器提供了最佳的价值
  • 如何像 youtube 一样在纸板中观看普通视频

    我有一个可以正常播放的应用程序VR视频 我的应用程序有两个玩家可以玩这两种类型 在我的VrVideoView有一个按钮可以让视频播放立体声模式 我的问题是 我怎样才能观看正常的视频Cardboard就像YouTube app None
  • Java 中的下载管理器 [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我需要通过 FTP HTTP 从 Java 获取几个大文件 几个演出 有现成的库 java 命令行工具
  • 如何将 Hibernate 5 安装到 Apache Karaf v4 中

    我已经安装了 Apache Karaf v4 03 并查询了 Hibernate 的可用功能列表 如下所示 不幸的是 我使用的是 Hibernate v5 hibernate 3 3 2 GA Uninstalled enterprise

随机推荐