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

pygame里常用的事件如下表:

事件 產(chǎn)生途徑 參數(shù)
QUIT 用戶按下關(guān)閉按鈕 none
ACTIVEEVENT Pygame被激活或者隱藏 gain, state
KEYDOWN 鍵盤被按下 unicode, key, mod
KEYUP 鍵盤被放開 key, mod
MOUSEMOTION 鼠標(biāo)移動(dòng) pos, rel, buttons
MOUSEBUTTONDOWN 鼠標(biāo)按下 pos, button
MOUSEBUTTONUP 鼠標(biāo)放開 pos, button
VIDEORESIZE Pygame窗口縮放 size, w, h

測試程序如下:

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

@author: 小峰峰
'''
import pygame, sys # 聲明 導(dǎo)入需要的模塊

from pygame.locals import *

# 定義顏色
WHITE = (255, 255, 255)

pygame.init()# 初始化pygame

DISPLAYSURF = pygame.display.set_mode((400,300), 0, 32)# 設(shè)置窗口的大小,單位為像素

pygame.display.set_caption('Event')# 設(shè)置窗口的標(biāo)題

DISPLAYSURF.fill(WHITE)# 設(shè)置背景


while True: # 程序主循環(huán)

    for event in pygame.event.get():# 獲取事件
     
        if event.type == QUIT:# 判斷事件是否為退出事件
            
            pygame.quit()# 退出pygame
            
            sys.exit()# 退出系統(tǒng)
         
        # 獲得鼠標(biāo)當(dāng)前的位置   
        if event.type ==MOUSEMOTION:
            print event.pos
 
  
        # 獲得鼠標(biāo)按下的位置
        if event.type ==MOUSEBUTTONDOWN:
            print "鼠標(biāo)按下:",event.pos
            
        # 獲得鼠標(biāo)抬起的位置
        if event.type ==MOUSEBUTTONUP:
            print "鼠標(biāo)抬起:",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()# 退出系統(tǒng)
                
            
    pygame.display.update()# 繪制屏幕內(nèi)容

運(yùn)行結(jié)果:

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 134,937評論 18 139
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 173,333評論 25 708
  • 一,Pygame簡介 Pygame是一組專門為編寫游戲設(shè)計(jì)的Python模塊,增加了SDL庫功能。可以使你在Pyt...
    峰峰小閱讀 6,209評論 0 4
  • 經(jīng)歷了一夜的風(fēng)景,已耗干了所有的激情,只剩下干癟的生命。天空 注定要灑下黎明,而晨曦中有雞鳴,還有老狗抖擻精神,只...
    李一十八閱讀 335評論 1 0
  • 并不是每一個(gè)想創(chuàng)業(yè)的人,都具備【資格】尋找合伙人。 【資格】:高情商, 無論如何爭執(zhí),永遠(yuǎn)都能保持團(tuán)隊(duì)最初的向心力...
    年少如初閱讀 262評論 0 0