与Tile Map Python 3.6上的Tiles碰撞

时间:2018-05-16 01:42:54

标签: python python-3.x pygame collision-detection

我正在为我的AP Econ课程制作一个小游戏,并且已经按照教程创建了一个平铺地图并且遇到了碰撞困难。我已经搜索了这个网站上的问题以及我能找到编程相关问题的任何其他地方(主要是这里),但是找不到任何没有手工制作的地图(手工建立地图)在文本文档中或直接在带有列表的python文件中)。我是python的新手,所以答案可能是相当直接的XD。

Main Program: https://pastebin.com/VbGVzJab

Textures: https://pastebin.com/iTBpiub3

Colors: https://pastebin.com/ywMKv6Z1

Globals: https://pastebin.com/E40a7Kss

Map_Engine: https://pastebin.com/PJgnSFJP

Map_Editor: https://pastebin.com/mvgaYBDF

Tutorial I have been following: https://www.youtube.com/watch?v=sxk4Oi9QOrM&t=997s

This is how my folders are set up:

我的问题是我的角色(玩家)继续走路而不是停在水面上(或者指定的任何一种瓷砖类型(在我的情况下它当前是水)。谢谢你们提前!!

1 个答案:

答案 0 :(得分:0)

我不知道这是否会有所帮助,但您可以尝试制作移动变量来表示该人是否可以移动,当您遇到该坐标区域(水)时,您可以设置那些坐标为False。如果你制作了坐标(x和y来移动你的角色),那就不难了。

请注意我只是使用随机坐标区域

MOVE_RIGHT = True
MOVE_LEFT = True
MOVE_UP = True
MOVE_DOWN = True
if x == 250:
    MOVE_RIGHT = False
if event.key == K_RIGHT and MOVE_RIGHT == True:
    x += 1

希望这有帮助!