问题标签 [pytmx]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
53 浏览

python - PyTmx 播放器移动

我遵循了本教程:https ://www.trccompsci.online/mediawiki/index.php?title=PyGame_Platform&diff=5514&oldid=5513

我遇到了这个问题

在此处输入图像描述

玩家不动,地图移动。

我不知道这个问题是从哪里来的。

这是代码:

预先感谢您的帮助。

0 投票
0 回答
69 浏览

pygame - 如何让玩家看起来像在树的后面?

我有这个带有pygame的python,请不要介意忽略评论。一切正常,但我需要知道如何让玩家低于树。我已经尝试先显示字符然后显示树,但问题是当我导入另一个 TILED TMX 时,它有一个黑色背景,我看不到透明的设置。简要信息: LoadFileMap 是 tmx 打开的位置,然后在此处显示地图:

例子

我的主要代码:

这是它渲染地图的文件(Makemaps.py)

0 投票
1 回答
468 浏览

python - 使用 Pytmx 处理平铺对象

所以我正在尝试构建一个横向滚动平台游戏,并使用平铺地图编辑器创建了一张地图。我已经使用我编写的以下类成功地将非平铺对象和平铺加载到我的游戏中:

现在我正在尝试加载我的背景图像,根据 Tile Map Editor 文档,我已将其制成一个大的瓷砖对象并放入背景层。但我不知道如何使用 Pytmx 加载平铺对象,我尝试查看源代码,它似乎确实支持平铺对象。我知道这些平铺对象具有 gid 属性,但不确定如何使用该属性加载平铺对象图像。

我是 pygame 和 pytmx 的新手,但不一定是 python 的新手。谢谢!

0 投票
1 回答
503 浏览

python - 没有名为“pytmx”的模块,但已安装 pytmx

我正在通过 YouTube 教程系列https://www.youtube.com/watch?v=QIXyj3WeyZM学习基于 Python Pygame 拼贴的游戏

我的代码与视频中的代码相同。(我已经检查了很多次错误。)

当我运行程序时,我得到这个错误:

它认为我缺少 pytmx,但我pip install pytmx在视频中使用终端安装了它。

我收到了那个错误,所以我卸载了它,然后重新安装了它,但还是有同样的错误。

我正在使用 Python 3.8 运行我的代码,pytmx 的安装路径是 C:\Users\PC\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.8_qbz5n2kfra8p0\LocalCache\local-packages\Python38\site-packages\pytmx

0 投票
1 回答
92 浏览

python - Tiled / pytmx - 在不同地图中为相同图像获取相同 gid 的问题

我总是为地图中的第一个元素获取 gid == 1,即使使用相同的图块集也是如此。保存的文件“example.tmx”具有使用 CVS 编码的值。我用 txt 编辑器打开文件,它看起来像这样:

这很棒。第一个元素是第 24 个图块。但是当我用 pytmx 加载地图时,我尝试获取 x, y, gid 它是不同的。

打印值为(第一个 == x,第二个 == y,第三个 == gid,最后一个 == id):

它适用于所有地图,第一个 gid 始终为“1”,但它描述了不同地图中的不同图块。

使用 ti(gid) / get_tile_image_by_gid 可以获得正确的图像。但我想将 gid 号码用于其他想法,例如:

0 投票
0 回答
95 浏览

python - pygame中的碰撞与pytmx对象不起作用

我正在尝试执行此代码来打印“你击中了红块!!” 但不工作

0 投票
1 回答
236 浏览

python - 如何减少 pygame 中的延迟和 CPU 使用率?(pytmx 用于加载地图)

我的游戏有很大的延迟问题。我的游戏有一张很大的地图。地图为 250x250 瓷砖。每个图块为 32x32。请注意,我使用的是旧笔记本电脑。当我打开任务管理器时,它说我的 CPU 使用率高达 50%,但内存使用率只有 30-40 MB。我是初学者,所以我会很感激任何帮助。我正在使用从一些 YouTube 教程中获得的代码。我对其进行了一些修改以使其与我的项目一起使用。

我成功导入了地图,它现在可以工作,但滞后非常大。我很困惑,我不知道如何解决这个问题。我会很感激帮助。提前致谢。

0 投票
1 回答
256 浏览

python - Pytmx 从 Tiled 地图渲染动画瓷砖

所以我已经在一个项目上工作了一段时间,我真的很想在游戏中加入动画瓷砖。我用 pygame 创建了一个 2d 像素艺术风格的游戏,我使用名为 Tiled 的编辑器来创建地图。Tiled 会生成一个 .tmx 文件以及一个用于渲染地图的 .tsx 文件。我已经让地图渲染没有任何问题。问题来自渲染动画图块。他们只是没有动画。我了解动画的基本原理。我只需要获取动画的第一张图像,等待帧之间的持续时间,然后渲染下一帧。但我只是不知道如何让它工作。pytmx 以及它如何从 Tiled 文件中读取动画的文档很少。

这是 .tmx 文件:

这是 .tsx 文件:

这就是我目前渲染瓷砖的方式:

这是它在 Pytmx github 上所说的:

任何帮助是极大的赞赏!这是GitHub上的项目,如果它有任何用途:D

0 投票
1 回答
45 浏览

python - 使用 pytmx、pygame 在精确的时间启动动画对象

我遇到了麻烦,我正试图在我的比赛中打开大门。我正在使用 pygame 和 pytmx,我已经建立了一个用房间制作的关卡,并且在每个房间中我都有一个使用 pytmx 的渲染器,我想要实现的是例如在 0 级玩家必须移动到一扇门打开它进入关卡 1,我的目标是在玩家敲门时启动并绘制动画。

我试图让我的 Door 对象(他的父对象是 pygame Sprite 类)更新,它有点工作,但当然对象被修改和显示,但是平铺的地图对象也停留在地图的后面,所以我试图只是不初始化我在瓷砖地图中的对象,但如果是这样,门根本不会咬。然后我尝试修改平铺对象图像并重新加载我的渲染但仍然无法正常工作,你们中的任何人有任何想法吗?

下面是部分代码,方便大家理解

所以现在我想做的是使用动画平铺对象并从 tmx 数据启动动画,但我什至不明白如何在第一次渲染时启动动画。

预先感谢您的回答。

0 投票
1 回答
90 浏览

python - 使用 python 和 pytmx 渲染和刷新 tmx 文件映射

我正在使用 pytmx 用 pygame 加载我的地​​图,但是有些项目需要设置为精灵并显示在表面上方,所以分层不会留下来,我将向您展示 2 个示例,一个是玩家显示在装饰物的顶部(在装饰下的点层)另一个是显示在墙壁上方的门。

我试图通过重写渲染器中的 make_map() 和 render(surface) 函数来用我的播放器和门对象刷新我的地图,但是我没有传递对象,而是将它们扔到了原来的 blit 上,它有显示,但仍然没有分层,还有一半的 FPS 下降。

如果有人知道如何在播放器和其他用于渲染动画精灵的对象的情况下保持分层,我很乐意得到您的帮助。

玩家在装饰品上 在我的地图编辑器中分层 我的游戏中的门 地图编辑器中的门

这是我尝试使用分层每次刷新地图的代码(它正在显示,但它具有完全相同的结果,就好像我只绘制表面然后在上面绘制精灵一样):