- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
因此,与许多人一样,我正在阅读有关在 Python 中使用 libtcod 的 roguelikes 的教程。 http://www.roguebasin.com/index.php?title=Complete_Roguelike_Tutorial,_using_python%2Blibtcod,_part_3
我终于让所有东西都运行起来了,但是我在执行特定命令时遇到错误,我不知道如何修复它或者它到底出了什么问题。它似乎在教程中使用相同的命令工作,据我所知,我的代码实际上是相同的,我正在使用作者提供的下载链接。我的项目文件夹中有 libtcodpy、dundalk12x12_gs_tc.png、libtcod.dll 和 SDL2.dll(复制并粘贴)。如果您需要查看 .py 的其余部分,那么只需查看教程第 3 部分地牢生成中的代码。和我的一模一样,唯一看不到的是他的libtcodpy文件夹,但是是他的下载链接。错误是:
C:\Python27\python.exe C:/Users/Chris/PycharmProjects/untitled/KingKong.py
Traceback (most recent call last):
File "C:/Users/Chris/PycharmProjects/untitled/KingKong.py", line 233, in <module>
render_all()
File "C:/Users/Chris/PycharmProjects/untitled/KingKong.py", line 172, in render_all
libtcod.console_set_char_background(con, x, y, color_dark_wall, libtcod.BKGND_SET )
File "C:\Users\Chris\PycharmProjects\untitled\libtcodpy\__init__.py", line 822, in console_set_char_background
_lib.TCOD_console_set_char_background(con, x, y, col, flag)
WindowsError: exception: access violation reading 0x0000000000640000
24 bits font.
key color : 0 0 0
24bits greyscale font. converting to 32bits
Process finished with exit code 1
问题出在 renderall 函数中,当它调用libtcod.console_set_char_background(con, x, y, color_dark_wall, libtcod.BKGND_SET)
def render_all():
global color_dark_wall, color_light_wall
global color_dark_ground, color_light_ground
# Go through all tiles, and set their background color
for y in range(MAP_HEIGHT):
for x in range(MAP_WIDTH):
wall = map[x][y].block_sight
if wall:
libtcod.console_set_char_background(con, x, y, color_dark_wall, libtcod.BKGND_SET )
else:
libtcod.console_set_char_background(con, x, y, color_dark_ground, libtcod.BKGND_SET )
# Draw all objects in the list
for Object in objects:
Object.draw()
# Blit the contents of "con" to the root console
libtcod.console_blit(con, 0, 0, SCREEN_WIDTH, SCREEN_HEIGHT, 0, 0, 0)
这是库函数
def console_set_char_background(con, x, y, col, flag=BKGND_SET):
_lib.TCOD_console_set_char_background(con, x, y, col, flag)
libtcodpy 在我的项目文件夹中,还有 libtcod.dll 和 SDL2.dll。所有都是 64 位的,包括 python 和我在 64 位 Windows 10 上的 PyCharm IDE。之前尝试过 32 位,找不到 SDL2.dll。虽然我自己已经修好了这些东西。现在我只是无法弄清楚什么是错误的以及如何在教程 XX 中重写它。抱歉,第一次在这里发帖,没有在另一个线程中看到确切的解决方案,还有一些关于 SDL 问题和 32 位与 64 位的问题。
请给我找一个关于如何在 python 中正确设置 libtcodpy 的详尽、防延迟的 youtube 视频,或者让我知道我搞砸了什么。
最佳答案
我在 Windows 7 64 位、Python 2.7 上遇到了同样的问题,dll 也是 64 位的。
好像只有颜色代码。删除任何颜色更改允许它运行。
给出的错误消息(例如 0x0000000000640000)只是颜色的十六进制代码,因此错误消息代码因使用的颜色而异。
我在 init.py 脚本中挖掘了 libtcod 的代码,它加载了 dll,颜色代码使用了 dll,因此错误可能在 libtcod.dll 甚至 sdl2 中。 dll,因为 sdl2.dll 执行所有渲染。
遗憾的是,我对 python 的了解并不多,我才刚刚开始,但如果有人能为我和 Chris 提供答案,那就太好了。
关于python - Python 中的 Libtcod 访问冲突错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40419042/
我正在浏览 Roguebasin python/libtcod roguelike tutorial .我遇到的问题是,每次调用 key = libtcod.console_wait_for_keyp
我正在使用 libtcod 和 c,但我的移动函数不响应输入,这是函数被调用时的样子 TCOD_key_t key; move_entity(player.x, player.y, k
我正在尝试静态链接 libtcod我的 C++ 项目没有成功。我遇到很多链接错误,包括: ./tuto: 加载共享库时出错:libtcodxx.so.1: 无法打开共享对象文件:没有这样的文件或目录
我最近为我的 rougelike 从 SFML 切换到 libtcod,因为我发现 libtcod 对于这类游戏更方便。我找不到任何解决方案的一个问题是如何存储键盘绑定(bind)函数。 在 SFML
每次我运行这个窗口都会立即关闭,并返回 3 #include "libtcod.hpp" int main() { TCODConsole::initRoot(80,50, "j", fals
因此,与许多人一样,我正在阅读有关在 Python 中使用 libtcod 的 roguelikes 的教程。 http://www.roguebasin.com/index.php?title=Co
我有一个辅助函数,它接受一个字符串和一个用于格式化字符串的颜色 vector ,现在我的解决方案是手动检查颜色 vector 的大小,并使用相同数量的颜色调用控制台打印颜色。 假设我有一个 4 的颜色
在Python/Libtcod tutorial在 Roguebasin控制角色的基本代码使用上下左右键。有没有办法让它使用 WSAD 或任何其他 key ? Libtcod 只允许我使用“特殊”键,
我正在尝试使用 C++ 和 libtcod 制作一个简单的 rouge 类游戏。我正在尝试编译使用 TCODColor 声明 col 变量的代码 TCODColor col; 这是实际的错误: 错误:
我正在使用 Libtcod 和 Python 构建一个回合制策略游戏。游戏 map 具有可变地形,每个方 block 可以是 5 种类型中的一种: 平原 - 移动成本 1 森林 - 成本 2 河流 -
我正在尝试使用 tcod-rs 向我的 roguelike 添加图形 block 图书馆。 根控制台的 put_char_ex 函数(或 C 版本,TCOD_putwchar)都只接受 char。要使
我是一名优秀的程序员,十分优秀!