Pygame编程(4)event模块

Pygame编程(4)event模块

  • 函数
  • 示例

函数

  • pygame.event.pump
    让 Pygame 内部自动处理事件
  • pygame.event.get
    从队列中获取事件
  • pygame.event.poll
    从队列中获取一个事件
  • pygame.event.wait
    等待并从队列中获取一个事件
  • pygame.event.peek
    检测某类型事件是否在队列中
  • pygame.event.clear
    从队列中删除所有的事件
  • pygame.event.event_name
    通过 id 获得该事件的字符串名字
  • pygame.event.set_blocked
    控制哪些事件禁止进入队列
  • pygame.event.get_blocked
    检测某一类型的事件是否被禁止进入队列
  • pygame.event.set_allowed
    控制哪些事件允许进入队列
  • pygame.event.set_grab
    控制输入设备与其他应用程序的共享
  • pygame.event.get_grab
    检测程序是否共享输入设备
  • pygame.event.set_keyboard_grab
    控制键盘设备与其他应用程序的共享
  • pygame.event.get_keyboard_grab
    检测键盘设备是否与其他应用程序的共享
  • pygame.event.post
    放置一个新的事件到队列中
  • pygame.event.custom_type
    自定义用户事件类型
  • pygame.event.Event
    创建一个新的事件对象

示例

import sys
import pygame
from pygame import *pygame.init()pygame.display.set_mode((800, 480), flags=RESIZABLE)while True:for event in pygame.event.get():print(event)if event.type == QUIT:pygame.quit()sys.exit()# 键盘事件if event.type == KEYDOWN:print('Event:KEYDOWN')if event.key == K_LEFT:print('K_LEFT DOWN')if event.type == KEYUP:print('Event:KEYUP')if event.key == K_LEFT:print('K_LEFT UP')if event.type == KEYMAPCHANGED:print('Event:KEYMAPCHANGED')# 鼠标事件if event.type == MOUSEBUTTONDOWN:print('Event:MOUSEBUTTONDOWN')if event.button == 1:print('鼠标左键')if event.button == 2:print('鼠标滚轮')if event.button == 3:print('鼠标右键')if event.type == MOUSEBUTTONUP:print('Event:MOUSEBUTTONUP')if event.type == MOUSEWHEEL:print('Event:MOSUEWHEEL')if event.type == MOUSEMOTION:print('Event:MOUSEMOTION')#<Event(1024-MouseMotion {'pos': (524, 423), 'rel': (5, 15), 'buttons': (0, 0, 0), 'touch': False, 'window': None})>mouse_x, mouse_y = event.posrel_x, rel_y = event.relbtns = event.buttonsevent.touchprint(mouse_x, mouse_y)# 键盘输入事件if event.type == TEXTEDITING:print('Event:TEXTEDITING')#  <Event(770-TextEditing {'text': 'abcdkfa', 'start': 7, 'length': 0, 'window': None})>print(event.text)print(event.start)print(event.length)if event.type == TEXTINPUT:print('Event:TEXTINPUT')# <Event(771-TextInput {'text': 'abcdkfa', 'window': None})>print(event.text)# 游戏杆事件if event.type == JOYBUTTONDOWN:print('Event:JOYBUTTONDOWN')if event.type == JOYBUTTONUP:print('Event:JOYBUTTONUP')if event.type == JOYHATMOTION:print('Event:JOYHATMOTION')if event.type == JOYAXISMOTION:print('Event:JOYAXISMOTION')if event.type == JOYBALLMOTION:print('Event:JOYBALLMOTION')if event.type == JOYDEVICEADDED:print('Event:JOYDEVICEADDED')if event.type == JOYDEVICEREMOVED:print('Event:JOYDEVICEREMOVED')# 窗口事件if event.type == WINDOWENTER:print('Event:WINDOWENTER')if event.type == WINDOWCLOSE:print('Event:WINDOWCLOSE')if event.type == WINDOWSHOWN:print('Event:WINDOWSHOW')if event.type == WINDOWHIDDEN:print('Event:WINDOWHIDDEN')if event.type == WINDOWMINIMIZED:print('Eevent:WINDOWMINNMIZED')if event.type == WINDOWMAXIMIZED:print('Event:WINDOWMAXIMIZED')if event.type == WINDOWMOVED:print('Event:WINDOWMOVED')if event.type == WINDOWRESIZED:print('Event:WINDOWRESIZED')if event.type == WINDOWSIZECHANGED:print('Event:WINDOWSIZECHANGED')if event.type == WINDOWENTER:print('Event:鼠标移入窗口')if event.type == WINDOWLEAVE:print('Event:鼠标移出窗口')if event.type == WINDOWFOCUSGAINED:print('Evvent:窗口获取焦点')if event.type == WINDOWFOCUSLOST:print('Event:窗口失去焦点')if event.type == WINDOWDISPLAYCHANGED:print('Event:WINDOWDISPLAYCHANGED')        

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/56457.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

私有化部署即时通讯平台,30分钟替换钉钉和企业微信

随着企业对即时通讯和协作工具的需求不断增长&#xff0c;私有化部署的即时通讯平台成为企业的首选。WorkPlus作为有10余年行业深耕经验与技术沉淀品牌&#xff0c;以其安全高效的私有化部署即时通讯解决方案&#xff0c;帮助企业在30分钟内替换钉钉和企业微信。本文将深入探讨…

JavaWeb学习-Day10

SpringBootWeb案例 准备工作 开发流程&#xff1a; 开发接口步骤&#xff1a; 删除部门&#xff1a; 新增部门&#xff1a; 简化代码&#xff1a; limit:分页展示&#xff0c;公式&#xff1a;&#xff08;页数-1&#xff09;*页面总数&#xff0c;页面总数 目前出现的问题&am…

STM32 CubeMX (H750)RGB屏幕 LTDC

STM32 CubeMX STM32 RGB888 LTDC STM32 CubeMX一、STM32 CubeMX 设置时钟树LTDC使能设置屏幕参数修改RGB888的GPIO 二、代码部分效果 RGB屏幕线束定义&#xff1a; 一、STM32 CubeMX 设置 时钟树 这里设置的时钟&#xff0c;关于刷新速度 举例子&#xff1a;LCD_CLK24MHz 时…

穿越网络迷雾的神奇通道 - WebSocket详解

WebSocket&#xff0c;作为一项前端技术&#xff0c;已经成为现代Web应用不可或缺的一部分。本文将深入解析WebSocket&#xff0c;介绍其工作原理和用途&#xff0c;并通过简单的代码示例&#xff0c;让你对这个神奇的网络通信协议有更深入的了解。 WebSocket是什么&#xff1…

【大数据知识】大数据平台和数据中台的定义、区别以及联系

数据行业有太多数据名词&#xff0c;例如大数据、大数据平台、数据中台、数据仓库等等。但大家很容易混淆&#xff0c;也很容易产生疑问&#xff0c;今天我们就来简单聊聊大数据平台和数据中台的定义、区别以及联系。 大数据平台和数据中台的定义 大数据平台&#xff1a;一个…

Mysql索引+事务+存储引擎

索引 索引的概念 索引是一个排序的列表&#xff0c;在这个列表中存储着索引的值和包含这个值的数据所在行的物理地址&#xff08;类似于C语言的链表通过指针指向数据记录的内存地址&#xff09;。 使用索引后可以不用扫描全表来定位某行的数据&#xff0c;而是先通过索引表找…

浅谈 Linux 下 vim 的使用

Vim 是从 vi 发展出来的一个文本编辑器&#xff0c;其代码补全、编译及错误跳转等方便编程的功能特别丰富&#xff0c;在程序员中被广泛使用。 Vi 是老式的字处理器&#xff0c;功能虽然已经很齐全了&#xff0c;但还有可以进步的地方。Vim 可以说是程序开发者的一项很好用的工…

代码随想录Day_48打卡

①、打家劫舍 你是一个专业的小偷&#xff0c;计划偷窃沿街的房屋。每间房内都藏有一定的现金&#xff0c;影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统&#xff0c;如果两间相邻的房屋在同一晚上被小偷闯入&#xff0c;系统会自动报警。 给定一个代表每个房…

STM32之17.PWM脉冲宽度调制

一LED0脉冲宽度调制在TIM14_CHI&#xff0c;先将LED&#xff08;PF9&#xff09;代码配置为AF推挽输出模式&#xff0c;将PF9引脚连接到TIM14&#xff0c; #include <stm32f4xx.h>static GPIO_InitTypeDef GPIO_InitStruct;void Led_init(void) {//打开端口F的硬件时钟&a…

Yolo系列-yolov2

YOLO-V2 更快&#xff01;更强&#xff01; YOLO-V2-BatchNormalization BatchNormalization&#xff08;批归一化&#xff09;是一个常用的深度神经网络优化技术&#xff0c;它可以将输入数据进行归一化处理&#xff0c;使得神经网络更容易进行学习。在YOLOv2中&#xff0c;B…

《C和指针》笔记11: external和internal链接属性

当组成一个程序的各个源文件分别被编译之后&#xff0c;所有的目标文件以及那些从一个或多个函数库中引用的函数链接在一起&#xff0c;形成可执行程序。然而&#xff0c;如果相同的标识符出现在几个不同的源文件中时&#xff0c;它们是像Pascal那样表示同一个实体&#xff1f;…

HashSet 和 TreeSet 的区别

HashSet 和 TreeSet 都是 Java 中的集合类&#xff0c;用于存储一组不重复的元素。它们的主要区别在于内部实现和性能方面。 内部实现&#xff1a; HashSet 使用哈希表实现&#xff0c;通过散列函数将元素存储在数组中&#xff0c;这样可以快速地查找元素。TreeSet 使用红黑树实…

Apache StreamPark系列教程第二篇——项目打包和开发

一、项目打包 项目依赖maven、jdk8.0、前端(node、npm) //下载代码 git clone//maven打包相关内容 mvn -N io.takari:maven:wrapper //前端打包相关内容 curl -sL https://rpm.nodesource.com/setup_16.x | bash - yum -y install nodejs npm -v npm install -g pnpm默认是h2…

手把手教你搭建Serv-U FTP服务器共享文件并实现外网远程访问「无公网IP」

文章目录 1. 前言2. 本地FTP搭建2.1 Serv-U下载和安装2.2 Serv-U共享网页测试2.3 Cpolar下载和安装 3. 本地FTP发布3.1 Cpolar云端设置3.2 Cpolar本地设置 4. 公网访问测试5. 结语 1. 前言 科技日益发展的今天&#xff0c;移动电子设备似乎成了我们生活的主角&#xff0c;智能…

Unity字符串性能问题

前言 分享一些通过书籍和网络学到的知识 每次动态创建一个string&#xff0c;C#都会在堆内存分配一个内存用来分配字符串&#xff0c;因为C#没有对字符串的缓存机制&#xff0c;会导致每次连接、切割、组合的时候都会申请新的内存&#xff0c;并且抛弃原来的内存&#xff0c;等…

大数据处理 正则表达式去除特殊字符 提取中文英文数字

在文本处理中&#xff0c;经常会碰到含有特殊字符的字符串。 比如用户昵称&#xff0c; 小红书文案&#xff0c;等等 都包含了大量表情特殊字符。 这些特殊字符串在ETL处理过程中&#xff0c;经常会引起程序报错&#xff0c;导致致命错误&#xff0c;程序崩溃&#xff1b;或者导…

TensorBoard的使用

TensorBoard&#xff1a;对图像进行变换 1. SummaryWriter的使用 ctrl类出现注释解析&#xff1a; 将条目直接log_dir写入要成为由TensorBoard使用。 “摘要编写器”类提供了一个高级 API 来创建事件文件&#xff0c;并在给定目录中添加摘要和事件。该类更新文件内容异步。…

Yolo系列-yolov3

YOLO-V3 这张图讲道理真的过分了&#xff01;&#xff01;&#xff01;我不是针对谁&#xff0c;在座的各位都是 终于到V3了&#xff0c;最大的改进就是网络结构&#xff0c;使其更适合小目标检测特征做的更细致&#xff0c;融入多持续特征图信息来预测不同规格物体 先验框更丰…

Linux TCP编程流程

一、TCP编程流程 TCP 提供的是面向连接的、可靠的、字节流服务。TCP的服务器端和客户端编程流程如下&#xff1a; 1.socket()方法 用来创建一个套接字&#xff0c;有了套接字就可以通过网络进行数据的收发。这也是为什么进行网络通信的程序首先要创建一个套接字。创建套接字时…

ASL芯片CS5366带DSC影像解压 替代PS186替代RTD2173替代AG9411 集睿致远方案设计优势

CS5366是ASL集睿致远推出的2LAN带PD&#xff08;最高100W&#xff09;可拉U3口的高集成度芯片&#xff0c;分辨率支持4K60HZ。在刷新率上&#xff0c;CS5366作为升级一代&#xff0c;超越了CS5266达到60HZ&#xff0c;同时在各个方面做到了优越性&#xff0c;极具性价比的一代&…