首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用平铺和pytmx显示平铺地图?

如何使用平铺和pytmx显示平铺地图?
EN

Stack Overflow用户
提问于 2015-03-14 20:12:44
回答 1查看 3.6K关注 0票数 1

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

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

这是我一直收到的错误: Traceback (最近一次调用):文件"C:\Users\b\Desktop\Frozen Map Textures\test.py",第32行,在screen.blit(imagesi,(x*32,y*32)) TypeError:参数1必须是pygame.Surface,而不是无

如果有人知道如何解决这个问题,我将非常感激!谢谢你的帮助!

守则如下:

代码语言:javascript
复制
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()
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-03-14 23:08:04

我对pytmx不是很熟悉,但我认为问题是变量i0运行到第一个for-loop中的2600 ( images列表中有2600个条目/图像/瓷砖)。但是,当您创建平铺位置列表(imageLocs)时,i只从0运行到49,因此您有一个list 50不同的位置。

这意味着你没有足够的位置为每个瓷砖。

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

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

代码语言:javascript
复制
#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

我希望这有帮助:)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29053680

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档