对于一个 compsci 项目,我正在用 python/pygame 制作一个多人游戏,在两台电脑上玩。该游戏是 1v1 射击游戏,我打算让一个玩家在关卡的一侧生成,而另一个玩家在另一侧生成(玩家将无法从他们的窗口看到对方,必须遍历关卡才能找到彼此)。我如何编写代码,以便每个玩家首先在关卡的不同一侧生成,并且他们的相机侧滚动以跟随他们各自的角色?非常感谢,如果我解释得不够,请提出任何问题!
我无法弄清楚如何实现横向滚动机制并将其链接到多人/网络方面。任何帮助将不胜感激。
要实现横向滚动机制,您将需要创建一个摄像机来跟随玩家角色在关卡中移动。实现此目的的一种方法是创建一个“摄像机矩形”,它代表应显示在屏幕上的关卡部分。这个矩形应该以玩家的位置为中心,然后 blit 到屏幕以更新显示。
要在关卡的不同侧生成玩家,您可以简单地定义两个生成点,每个玩家一个。您可以在游戏开始时随机选择每个玩家使用哪个重生点,或者让玩家选择他们的重生点。
对于网络,您需要实现客户端-服务器架构。一台计算机将充当服务器,而另一台计算机将充当客户端。服务器将跟踪游戏状态并向客户端发送更新,而客户端将向服务器发送输入命令。
首先,您可以创建一个基本服务器来侦听来自客户端的传入连接。建立连接后,服务器可以将游戏状态发送给客户端。然后客户端可以向服务器发送输入命令,服务器将更新游戏状态并将更新后的状态发送回客户端。
可以使用Python内置的套接字库进行网络通信。您还可以使用像 Pygame 的“sprite”模块这样的库来创建和管理游戏实体(玩家、子弹等)及其在屏幕上的移动。
我希望这可以帮助您开始您的项目!