玩蛇系列之Pygame教程(六)-- 事件Event

pygame里常用的事件如下表:

事件 产生途径 参数
QUIT 用户按下关闭按钮 none
ACTIVEEVENT Pygame被激活或者隐藏 gain, state
KEYDOWN 键盘被按下 unicode, key, mod
KEYUP 键盘被放开 key, mod
MOUSEMOTION 鼠标移动 pos, rel, buttons
MOUSEBUTTONDOWN 鼠标按下 pos, button
MOUSEBUTTONUP 鼠标放开 pos, button
VIDEORESIZE Pygame窗口缩放 size, w, h

测试程序如下:

# -*- coding: UTF-8 -*-
'''
Created on 2016年11月21日

@author: 小峰峰
'''
import pygame, sys # 声明 导入需要的模块

from pygame.locals import *

# 定义颜色
WHITE = (255, 255, 255)

pygame.init()# 初始化pygame

DISPLAYSURF = pygame.display.set_mode((400,300), 0, 32)# 设置窗口的大小,单位为像素

pygame.display.set_caption('Event')# 设置窗口的标题

DISPLAYSURF.fill(WHITE)# 设置背景


while True: # 程序主循环

    for event in pygame.event.get():# 获取事件
     
        if event.type == QUIT:# 判断事件是否为退出事件
            
            pygame.quit()# 退出pygame
            
            sys.exit()# 退出系统
         
        # 获得鼠标当前的位置   
        if event.type ==MOUSEMOTION:
            print event.pos
 
  
        # 获得鼠标按下的位置
        if event.type ==MOUSEBUTTONDOWN:
            print "鼠标按下:",event.pos
            
        # 获得鼠标抬起的位置
        if event.type ==MOUSEBUTTONUP:
            print "鼠标抬起:",event.pos 
         
            
        
        # 获得键盘按下的事件    
        if event.type == KEYDOWN:
            
            if(event.key==K_UP or event.key==K_w):
                print "上"
                
            if(event.key==K_DOWN or event.key==K_s):
                print "下"
                
            if(event.key==K_LEFT or event.key==K_a):
                print "左"
                
            if(event.key==K_RIGHT or event.key==K_d):
                print "右"
        
        
            # 按下键盘的Esc键退出
            if(event.key==K_ESCAPE):
                pygame.quit()# 退出pygame
                sys.exit()# 退出系统
                
            
    pygame.display.update()# 绘制屏幕内容

运行结果:

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,026评论 19 139
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,699评论 25 708
  • 一,Pygame简介 Pygame是一组专门为编写游戏设计的Python模块,增加了SDL库功能。可以使你在Pyt...
    峰峰小阅读 6,238评论 0 4
  • 经历了一夜的风景,已耗干了所有的激情,只剩下干瘪的生命。天空 注定要洒下黎明,而晨曦中有鸡鸣,还有老狗抖擞精神,只...
    李一十八阅读 347评论 1 0
  • 并不是每一个想创业的人,都具备【资格】寻找合伙人。 【资格】:高情商, 无论如何争执,永远都能保持团队最初的向心力...
    年少如初阅读 263评论 0 0