所以在我的编程课上,我和我的项目合作伙伴正在尝试制作一个游戏,你可以用wasd在迷宫中移动角色。这是一个自顶向下的类型视图。(旁注,我们正在制作背景是整个迷宫的地方,当角色到达屏幕的一侧时,我们只需移动背景。但是屏幕上有多个墙。)所以我想出了当角色到达屏幕边缘时,如何让角色停止移动,背景开始移动(直到需要的停止位置),但是当他们再次按下键移动时,角色就离开了屏幕。我知道我可以用一个木板来解决这个问题,但我不知道如何阻止角色穿过墙壁,因为所有的墙壁都只是背景图像上的线条。我可以让角色在他们到达墙的时候停止移动,但是一旦角色停止移动,如果用户按下键再次走向墙,他们仍然可以行走。在
(旁注,所有字符和背景图像都使用变量移动,例如x_位置和y位置以及x_change和y_change) 我想让代码停止字符变成 基于主图像位置的字符位置 而不是==或某种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
在渲染之前,只要将位置重置为线之前,每次它穿过线。像这样:
对所有4个边界重复上述步骤,你就完成了
相关问题 更多 >
编程相关推荐