Python游戏开发 unit04_Pygame事件监听

14 篇文章 0 订阅
14 篇文章 1 订阅

一、事件监听

for event in pygame.event.get():
    pass

二、退出事件

if event.type == pygame.QUIT:
    pygame.quit()  #退出Pygame
    exit()  #结束程序

三、鼠标事件

event.type == pygame.MOUSEMOTION:  #鼠标移动
event.type == pygame.MOUSEBUTTONDOWN:  #鼠标按键按下
event.type == pygame.MOUSEBUTTONUP:  #鼠标按键弹起
pygame.mouse.get_pos()  #获取鼠标位置

四、键盘事件

event.type == pygame.KEYDOWN: #键盘按键被按下
event.type == pygame.KEYUP:  #键盘按键弹起
event.key == pygame.K_SPACE  #判断按键 https://www.pygame.org/docs/ref/key.html
# 按键同时按下
key_list = pygame.key.get_pressed()
if key_list[pygame.K_UP] and key_list[pygame.K_LEFT]:
    pass
# 长按某个键
pygame.key.set_repeat(delay, interval)

完整演示代码
 

import pygame

pygame.init()

pygame.display.set_caption('事件监听')

WIDTH = 750
HEIGHT = 600

screen = pygame.display.set_mode((WIDTH, HEIGHT))

screen.fill((255, 255, 255))

#长按多次触发事件
pygame.key.set_repeat(100, 30)

pygame.display.update()

while True:
    #左键和下键同时按下
    lst = pygame.key.get_pressed()
    if lst[pygame.K_LEFT] and lst[pygame.K_DOWN]:
        print('物体向左下方移动')
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            pygame.quit()
            exit()
        #if event.type == pygame.MOUSEMOTION:
        #    print('鼠标移动')
        if event.type == pygame.MOUSEBUTTONDOWN:
            print('鼠标按键被按下')
            pos = pygame.mouse.get_pos()
            print(pos)
        elif event.type == pygame.MOUSEBUTTONUP:
            print('鼠标按键被弹起')
        if event.type == pygame.KEYDOWN:
            if event.key == pygame.K_UP:
                print('键盘上键被按下')
            elif event.key == pygame.K_RIGHT:
                print('键盘右方向键被按下')

 

  • 3
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值