如何使用Tiled和pytmx在Pygame中显示平铺地图?

克里斯蒂安·埃尔曼

我知道有一个类似的问题,但是答案不够具体,无法在我的情况下使用。

我正在尝试创建一个程序,该程序可以显示在Tiled中创建并使用pytmx上传到Pygame的平铺地图。我唯一遇到的问题是在Pygame中将图像拖到屏幕上。

这是我一直收到的错误:追溯(最近一次通话):文件“ C:\ Users \ b \ Desktop \ Frozen Map Textures \ test.py”,位于screen.blit(images [i],(( x * 32,y * 32))TypeError:参数1必须是pygame.Surface,而不是None

如果有人知道如何解决此问题,我将不胜感激!感谢你的帮助!

代码如下:

import pygame
from pytmx import load_pygame
import random


white = (255,255,255)


#create window
screenSize = (800,600)
screen = pygame.display.set_mode(screenSize)
pygame.display.set_caption("GameName")
screen.fill(white)


gameMap = load_pygame("Frozen.tmx")


#creates list of single tiles in first layer
images = []
for y in range(50):
    for x in range(50):
        image = gameMap.get_tile_image(x,y,0)
        images.append(image)


#displays tiles in locations
i = 0
for y in range(50):
    for x in range(50):
        screen.blit(images[i],(x*32,y*32))
        i += 1


#main loop
running = True
while running:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            running = False

    pygame.display.flip()

pygame.quit()
优雅的

我对pytmx不太熟悉,但是我认为问题是变量在第一个-loop中i0运行列表中有2600个项目/图像/图块)。但是当你创建瓦片位置(名单),仅运行,让你有一个名单不同的位置。2600forimagesimageLocsi04950

这意味着您没有每个图块的“足够”位置。

除此之外,您不需要for i in rang(value)在python-loop中增加任何变量,因为i运行会抛出(即被分配给)range()函数返回的所有值

您可以更新代码来避免此问题:

#Original code    

#create a list of 2600 single tiles in first layer
images = []

for y in range(50):
    for x in range(50):
        image = gameMap.get_tile_image(x,y,0)
        images.append(image)

#blit all tiles onto the screen
i = 0 #runs from 0 to 2600

for y in range(50):
    for x in range(50):
        screen.blit(images[i],(x * 32, y * 32))
        i += 1

#Orginal code

我希望这有帮助 :)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何使用Tiled和pytmx在Pygame中显示平铺地图?

来自分类Dev

Pygame中的非平铺地图

来自分类Dev

如何在pygame中添加多个平铺地图级别?

来自分类Dev

如何在pygame中创建二维滚动平铺地图?

来自分类Dev

什么是平铺地图以及如何声明

来自分类Dev

在画布中绘制平铺地图

来自分类Dev

数组中Java的平铺地图

来自分类Dev

平铺地图对象未显示(无错误)

来自分类Dev

如何正确解析文本文件中的平铺地图?

来自分类Dev

如何在Love2d中使用导出为Lua的平铺地图/瓷砖

来自分类Dev

平铺地图中的GID

来自分类Dev

使Libgdx平铺地图变暗

来自分类Dev

平铺地图中的GID

来自分类Dev

我的平铺地图未在 libgdx 中呈现

来自分类Dev

平铺地图未在 HTML5 中呈现

来自分类Dev

使用SDL2渲染平铺地图的最快方法

来自分类Dev

LIBGDX平铺地图不使用透明度

来自分类Dev

使用 Libgdx 在 Eclipse 上导出平铺地图

来自分类Dev

为什么我的带有平铺地图的pygame游戏落后?

来自分类Dev

用Java创建平铺地图

来自分类Dev

平铺地图未加载某些图像

来自分类Dev

在平铺地图周围创建边界

来自分类Dev

AndEngine动态更改TMX平铺地图

来自分类Dev

Libgdx 平铺地图不透明

来自分类Dev

Kibana 4.0.1中的GeoHash聚合下不存在“平铺地图geo.location”字段

来自分类Dev

从Slick2D中的文本文件加载平铺地图

来自分类Dev

在Sprite Kit中加载.tmx(平铺地图)吗?

来自分类Dev

为迷宫创建平铺地图n * n

来自分类Dev

在Sprite Kit中加载.tmx(平铺地图)吗?