在 LIBGDX 中绘制弯曲的自定义对象?

2023-12-29

我最近一直在研究LibGDX,似乎碰壁了,如图所示,蓝点代表用户的手指,它本身的地图生成是我似乎陷入困境的地方,LibGDX是否提供了动态绘制的方法弯曲的物体?我可以简单地自己将它们生成为图像,但是图像会被极大地拉伸到手指可以容纳 3 个手指的间隙!但还需要 1000 PX 高才能适应整个关卡设计。

我是否应该将数百个多边形靠在一起绘制一条曲线? 另一方面,我需要一种方法来确定对象何时从下到上,以便我可以生成另一个“块”地图。


您不需要数百个多边形来绘制您所绘制的曲线。你可以在左边使用 40 个四边形,在右边使用 40 个四边形,看起来会非常平滑。将每边的值提高到 100,它看起来几乎完全平滑,并且任何现代设备都不会在以 60 fps 运行时遇到任何问题。

您可以使用 Mesh 类为每一面生成程序网格。您可以使网格留在一个位置,锁定到相机,并修改它的顶点和 UV,使其看起来像是在沿着无限长的走廊平移。这需要预先进行大量的数学计算,但一旦掌握了这些,应该会很顺利。

基本上,您的关卡设计可以基于某种以 Y 偏移作为输入的方程。或者它可能是一长串偏移,您可以使用样条方程或线性方程在它们之间进行插值。输出将是 UV 和 X 坐标,可用于更新两个网格的每个顶点。

您可以使用顶点着色器来有效地更新 UV 坐标,使用更新每个帧的恒定偏移统一参数。这样您就不必每帧都将 UV 数据移动到 GPU。

对于顶点位置,请使用网格体的底层float[]并打电话setVertices()每帧更新它。信息here https://github.com/libgdx/libgdx/wiki/Meshes.


实际上,如果您保留 UV 和 X 位置,而只向上滚动 Y 位置,效果可能会更好。在屏幕顶部和底部保留几个四边形的填充,并在滚动离开屏幕后将顶部四边形移动到底部。

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

在 LIBGDX 中绘制弯曲的自定义对象? 的相关文章

  • 图像作为电子邮件附件

    我想构建一个应用程序 我可以在电子邮件中附加图像 打开图像并将其设置为我的壁纸 我想让它跨平台 所以你能告诉我是否可以使用phonegap 或者我是否必须为iphone和android构建一个本机应用程序 您好 如果您只想通过电子邮件附加图
  • tomcat 中受密码保护的应用程序

    我正在使用 JSP Servlet 开发一个Web应用程序 并且我使用了Tomcat 7 0 33 as a web container 所以我的要求是tomcat中的每个应用程序都会password像受保护的manager applica
  • okhttp 获取失败响应

    我已经在我的 android 客户端中实现了 okhttp 来进行网络调用 当我收到失败响应时 我会收到失败代码以及与该代码相关的文本作为消息 但我没有收到服务器发送给我的自定义失败响应 在我实施的代码中的失败响应中 我收到的消息只是 错误
  • 获取文件的总大小(以字节为单位)[重复]

    这个问题在这里已经有答案了 可能的重复 java 高效获取文件大小 https stackoverflow com questions 116574 java get file size efficiently 我有一个名为 filenam
  • Android 中如何通过彩信发送图片?

    我正在开发多媒体应用程序 我正在通过相机捕获一张图像 并希望将该图像和文本发送到其他号码 但我不知道如何通过彩信发送图像 MMS 只是一个 http post 请求 您应该使用执行请求额外的网络功能 final ConnectivityMa
  • 使用 AsyncTask 传递值

    我一直在努力解决这个问题 但我已经到了不知道该怎么办的地步 我想做的是使用一个类下载文件并将其解析为字符串 然后将该字符串发送到另一个类来解析 JSON 内容 所有部件都可以单独工作 并且我已经单独测试了所有部件 我只是不知道如何将值发送到
  • Android 2.3 模拟器在更新位置时崩溃

    我正在使用 Eclipse 编写和调试 Android 应用程序 我需要做的事情之一是更新设备的位置 因此我尝试使用模拟器控制窗口中的位置控制面板 在 手动 选项卡上 我选择 十进制 输入有效的纬度和经度 然后单击 发送 不幸的是 接下来发
  • 我应该释放或重置 MediaPlayer 吗?

    我有自己的自定义适配器类 称为 WordAdapter 并且我正在使用媒体播放器 名为pronounce WordAdapter 类中的全局变量 我有不同的活动 其中每个列表项都有线性布局 名为linearLayout 我正在设置onCli
  • 如何使用 jUnit 将测试用例添加到套件中?

    我有 2 个测试类 都扩展了TestCase 每个类都包含一堆针对我的程序运行的单独测试 如何将这两个类 以及它们拥有的所有测试 作为同一套件的一部分执行 我正在使用 jUnit 4 8 在 jUnit4 中你有这样的东西 RunWith
  • 如何在 Android 中从 WorkManager 取消工作?

    我已经保存了 WorkManagerUUID转换成String在领域数据库中 这是代码 Constraints constraints new Constraints Builder setRequiredNetworkType Netwo
  • 您使用什么物理 Android 设备进行测试?

    有什么好的推荐用于测试目的的物理 Android 设备吗 我正在苹果阵营寻找像 iPod touch 这样的设备 可以帮助 iOS 开发人员测试他们的东西 我知道有 Nexus One 但那东西相当昂贵 而且我并不真正关心手机的东西 而是可
  • Dagger 2 没有生成我的组件类

    我正在使用 Dagger 2 创建我的依赖注入 几个小时前它还在工作 但现在不再生成组件 这是我创建组件的地方 public class App extends Application CacheComponent mCacheCompon
  • Eclipse 启动时崩溃;退出代码=13

    I am trying to work with Eclipse Helios on my x64 machine Im pretty sure now that this problem could occur with any ecli
  • Opencv Java 灰度

    我编写了以下程序 尝试从彩色转换为灰度 Mat newImage Imgcodecs imread q1 jpg Mat image new Mat new Size newImage cols newImage rows CvType C
  • Android - 以编程方式选择菜单选项

    有没有办法以编程方式选择菜单选项 基本上 我希望视图中的按钮能够执行与按特定菜单选项相同的操作 我正在考虑尝试调用 onOptionsItemSelected MenuItem item 但我不知道要为菜单项添加什么 是的 有一种方法可以选
  • 没有用于警告的设置器/字段 Firebase 数据库检索数据填充列表视图

    我只是想将 Firebase 数据库中的数据填充到我的列表视图中 日志显示正在检索数据 但适配器不会将值设置为列表中单个列表项中的文本 它只说 没有二传手 场地插入值 这让我觉得我的设置器没有正确制作 但 Android Studio 自动
  • 在java中为组合框分配键

    我想添加一个JComboBox在 Swing 中这很简单 但我想为组合中的每个项目分配值 我有以下代码 JComboBox jc1 new JComboBox jc1 addItem a jc1 addItem b jc1 addItem
  • Android:如何从网络异步获取搜索建议?

    我创建了一个可搜索的活动 现在 我想添加从网络服务获取的搜索建议 我想异步获取这些建议 根据添加自定义建议 http developer android com guide topics search adding custom sugge
  • 使用 svn 1.8.x、subclise 1.10 的 m2e-subclipse 连接器在哪里?

    我读到 m2e 的生产商已经停止生产 svn 1 7 以外的任何版本的 m2e 连接器 Tigris 显然已经填补了维护 m2e subclipse 连接器的空缺 Q1 我的问题是 使用 svn 1 8 x 的 eclipse 更新 url
  • Spring Rest 和 Jsonp

    我正在尝试让我的 Spring Rest 控制器返回jsonp但我没有快乐 如果我想返回 json 但我有返回的要求 完全相同的代码可以正常工作jsonp我添加了一个转换器 我在网上找到了用于执行 jsonp 转换的源代码 我正在使用 Sp

随机推荐

  • automake环境变量条件

    我有一个文件 Makefile am 我用来生成 Makefile 在生成的 Makefile 中我想要类似的内容 ifndef SOURCECODEPATH SOURCECODEPATH home root source code pat
  • 如何允许 NSMutableDictionary 接受“nil”值?

    我有这样的声明 custData setObject rs stringForColumnIndex 2 forKey email where rs stringForColumnIndex 2 从 SQLite3 d b 获得的值为nil
  • jQuery UI 自动完成的 JSON 格式

    的文档jQuery UI 自动完成 http docs jquery com UI Autocomplete指出source属性可以设置为以 JSON 格式返回建议项目的 URL 但是 它没有进一步详细说明此 JSON 结果的结构应该是什么
  • 绘制平均值和标准差

    我在不同的 x 点有多个函数值 我想在 python 中绘制平均值和标准差 就像答案一样这个问题 https stackoverflow com questions 19797846 plot mean standard deviation
  • 尝试读取不存在的文件夹`/private/tmp/CocoaPods/Lint/Pods/

    AM 在验证 pod 规格时得到此信息 Attempt to read non existent folder private tmp CocoaPods Lint Pods Test 请帮忙 你需要跑git tag x x x and g
  • C# YamlDotNet 库是否支持合并键?

    我对 C YamlDotNet 库有疑问http www aaubry net page YamlDotNet http www aaubry net page YamlDotNet 您知道该库是否支持 合并键 吗 http yaml or
  • asp.net core RC2图像不显示

    我想做的是显示网络根文件夹中的图像 这就是我尝试执行此操作的方式 下面的课程只是实验性的 只是我尝试的例子 目前正在读取的文件夹中只有一张图像 rootPath 也取自 hostingEnvironment WebRootPath publ
  • 在 python 中将一个 tar 中的文件添加到另一个 tar 中

    我想制作一份 tar 的副本 删除一些文件 基于它们的名称以及可能的其他属性 如符号链接等 因为我已经在 python 中打开了 tar 文件 所以我想在 python 中执行此操作 我知道 TarFile getmembers 返回 Ta
  • 在项目中包含 Paragonie Halite 找不到变量和函数

    我已经在 Windows 上为 PHP 7 安装了 libsodium 并且正在使用 PHPStorm 开发我的项目 我还安装了 Paragonie 的 Halite 如果 libsodium 扩展安装不正确 它甚至无法安装 IDE 还会找
  • 使连续的数字列名称带有字母前缀

    我想向我的数据集添加标签 然而 问题是我的数据集中有太多列 因此手动添加标签很费力 我有 33 列 包括label列在末尾 如下所示 features lt c f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
  • vue-chartjs:您可能需要适当的加载器来处理此文件类型,当前没有配置加载器来处理此文件

    我按照说明添加了 vue chartjs https vue chartjs org ja guide https vue chartjs org ja guide 纱线添加 vue chartjs 电子邮件受保护 cdn cgi l em
  • 有人可以转换代码,以便它使用 EXEC @sql 而不是 EXEC sp_executesql 吗?

    这是我想要转换的存储过程 ALTER PROCEDURE GetName ClientName nVarchar max AS BEGIN DECLARE sql NVARCHAR MAX DECLARE name NVARCHAR MAX
  • PHP 自动生存

    更新 我提出这个问题的初衷是确定 PHP 是否确实具有此功能 这在答案对标量问题的关注中被忽略了 请参阅这个新问题 PHP 有自动生存功能吗 https stackoverflow com questions 5964420 does ph
  • 使用反射的 F# 通用 Map.count

    这是对此的后续上一个问题 https stackoverflow com questions 55877793 f pattern matching on a generic type map 55878543 55878543 但有不同的
  • Openstack.Net SDK无法访问带区域的服务

    使用我们自己的硬件 我们安装了带有所有组件的普通 openstack 但是由于区域问题 我在访问除身份之外的服务时遇到问题 使用的代码如下 使用我们创建的管理员帐户和管理员租户进行调用 public static void TestAcce
  • 从组件分派操作时未调用 ngrx 效果

    我遇到了 ngrx 存储问题 没有发送一个动作来处理它 这是尝试分派的组件 signin this formStatus submitted true if this formStatus form valid this store dis
  • 将 Android 模拟器快照移动到另一台计算机

    因此 我需要制作一个可供多人 跨多台计算机使用的快照 我正在做一些测试 需要设置很多东西来测试一件事 设置需要一些时间 我希望能够只创建一个 avd 并让几个人使用它 我以为我可以通过制作一个然后拍一张快照来做到这一点 但无论我做什么 我就
  • 在 EPPlus 中设置*两者*值和公式

    有什么办法可以设置吗both the Value Formula单元格的属性以便它们保留到写入的 XLSX 文件中 由于EPPlus不计算公式 它依赖excel来计算 所以我为用户预先计算结果 这样 如果他们不打开文件 而是重新上传文件 则
  • 服务器事件中的最终消息直到心跳才被推送

    我们在通过服务堆栈发送的最终消息等待下一个心跳发送时遇到问题 我们认为它类似于 Servicestack 服务器发送事件 https stackoverflow com questions 25960723 servicestack ser
  • 在 LIBGDX 中绘制弯曲的自定义对象?

    我最近一直在研究LibGDX 似乎碰壁了 如图所示 蓝点代表用户的手指 它本身的地图生成是我似乎陷入困境的地方 LibGDX是否提供了动态绘制的方法弯曲的物体 我可以简单地自己将它们生成为图像 但是图像会被极大地拉伸到手指可以容纳 3 个手