关于解决python中使用pygame开发联机游戏中鼠标、键盘事件监测无限循环和数据不间断接收导致游戏无法响应问题。

基本问题:

在使用Pygame开发设计小游戏程序时,基本开发框架是引入pygame,初始化、进行无限循环(监听事件、对事件进行响应、刷新屏幕)。

如果你要实现网络联机游戏,那还需要一个无限循环:就是不断的监听接收数据,并根据接收的数据进行响应。

而这两个循环如果不使用Thread线程,将导致程序进行无法响应状态,无法正常运行。

解决方法:

首先单独写一个循环接收数据的函数,函数并对收的数据进行处理响应。确保游戏双方游戏屏幕的的同步刷新。

第二步,建立一个线程,实现数据接收函数的调用。

第三步,并将线程在游戏开始之前运行(.start())

第四步,运行游戏的主程序,进行无限循环(监听事件、对事件进行响应、刷新屏幕),实现游戏双方的同步效果。

部分代码:

连接服务器函数:

def __init__(self):
        """定义基数连接参数"""
        filename='serveradd.txt'
        with open(filename,encoding='utf-8') as f:    #读取文件中地址和端口号
            serveradd = f.readlines()
        

        self.HOST = (serveradd[0].rstrip())
        self.PORT = int(serveradd[1])
        self.ADDR

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值