玩蛇系列之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()# 绘制屏幕内容

运行结果:

玩蛇系列之Pygame教程(六)-- 事件Event_第1张图片

你可能感兴趣的:(玩蛇系列之Pygame教程(六)-- 事件Event)