Python pygame-像素碰撞贴图

Python pygame-像素碰撞贴图,python,pygame,Python,Pygame,我正在用pygame创建一个游戏,我需要一个地图,用户可以在地图上单击选择一个国家 有人能帮帮我吗?除非你能找到解决办法,否则我看不出有什么简单的办法- 当然,你必须从拥有一张世界地图开始——维基百科上的这张地图似乎是一个不错的起点: -啊,我从你的评论看你画了地图- 是的。如果你只需要点击一下就可以得到颜色,那就容易多了- 使用鼠标事件为单击拾取单击坐标: e = pygame.event.poll() if e == pygame.MOUSEBUTTONDOWN: pos = e.

我正在用pygame创建一个游戏,我需要一个地图,用户可以在地图上单击选择一个国家


有人能帮帮我吗?

除非你能找到解决办法,否则我看不出有什么简单的办法- 当然,你必须从拥有一张世界地图开始——维基百科上的这张地图似乎是一个不错的起点:

-啊,我从你的评论看你画了地图- 是的。如果你只需要点击一下就可以得到颜色,那就容易多了- 使用鼠标事件为单击拾取单击坐标:

e = pygame.event.poll()
if e == pygame.MOUSEBUTTONDOWN:
    pos = e.pos
    # where "screen" is your variable holding the screen surface color = screen.get_at((pos))

如果每个国家都有另一种颜色,并且您知道它,您可以通过以下方式检测它:

import pygame
pygame.init()
screen = pygame.display.set_mode([100,100])
print(screen.get_at([50,50]))#returns tuple with color values
pygame.quit()

我希望这有助于解决您的问题

顶部提示:尝试这样做,如果您有特定的问题需要解决,请回来。这听起来有点像你希望有人为你做这件事。我建议你从这本书开始:你的地图是位图图像吗?这些国家的颜色不同吗?这是一张png图像,我可以尝试使用不同的颜色,这就是为什么我寻求帮助我创建了每个国家的图像,然后尝试像素完美碰撞,但或者所有国家都被选中或没有。另一个想法是创建一个“看不见”的图像,因此当点击时,我会检查点击的颜色并了解国家,但我不知道如何从点击中获取颜色有点旧,但我想我会把我的想法加入,你可以设置第二个图像,而不是绘制与你用来查找的另一个图像相同的大小,这意味着你不需要国家有纯色