如何限制角色在pygame中的移动位置?

时间:2017-11-09 16:24:57

标签: python pygame

所以在我的编码课上,我的项目合作伙伴和我正在尝试制作一个游戏,你可以通过迷宫使用isd来移动角色。它是一个自上而下的类型视图。 (注意,我们正在制作背景是整个迷宫的制作,我们只是在角色到达屏幕一侧时移动背景。然而,屏幕上有多个墙壁。)所以我想通了当角色到达屏幕边缘时,如何使角色停止移动并且背景开始移动(直到需要停止位置),但是当他们按下键再次移动时角色离开屏幕。我知道我可以用一个角色不能离开的边境来解决这个问题,但我不知道如何防止角色穿过墙壁,因为所有墙壁都只是背景图片。我可以让角色在到达墙壁时停止移动,但是一旦角色停止移动,如果用户按下键再次朝墙壁移动,他们就可以走路了。

(旁注,所有字符,背景图像使用x_position和y-position以及x_change和y_change等变量移动) 我想过将代码停在角色之类的代码 if main_char_x> =(基于位置参数的背景图像的x位置) 而不是==或某种类型的while循环,但我认为这会导致角色慢慢向前进。

我会发布我们的代码示例,但我们的迷宫/背景尚未完成,所以我不知道寄宿生的确切位置,或背景图像的位置。 AKA我没有例子,因为我们还没有实际编写程序的这一部分,我正在计划如何编写它。

    if (background_x <= (certain point) and background_x >= (certain point)) and (background_y >= (certain position) and background_y <= (certain position)):
        if main_char_x == (wall position):
            main_char_x_change = 0

^^^我的思维过程的快速例子

如果我需要澄清任何事情,请问。

我们正在使用pygame和PyCharm Edu 3.5

1 个答案:

答案 0 :(得分:0)

在渲染之前,只要将每次穿过线条的位置重置为线条之前。像这样:

if char_x >= background_line_x:
   char_x = background_line_x - 1

对所有4个边界重复,然后重新设置