最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python基于pygame實現(xiàn)響應游戲中事件的方法(附源碼)

 更新時間:2015年11月11日 12:31:16   作者:Hongten  
這篇文章主要介紹了python基于pygame實現(xiàn)響應游戲中事件的方法,實例分析了Python基于pygame針對鍵盤及鼠標事件的響應方法,具有一定參考借鑒價值,需要的朋友可以參考下

本文實例講述了python基于pygame實現(xiàn)響應游戲中事件的方法。分享給大家供大家參考,具體如下:

先看一下我做的demo效果:

當玩家按下鍵盤上的:上,下,左,右鍵的時候,后臺會打印出玩家所按鍵的數(shù)字值,而圖形會隨之移動

這是客觀上面存在的現(xiàn)象。

那么啥是事件呢?

你叫我做出定義,我不知道,我只能舉個例子說明,例如接下來的代碼中,列出來一些關于游戲中的事件

'''
  事件             產生途徑              參數(shù)
  QUIT            用戶按下關閉按鈕          none
  ATIVEEVENT         Pygame被激活或者隱藏          gain, state
  KEYDOWN          鍵盤被按下              unicode, key, mod
  KEYUP           鍵盤被放開              key, mod
  MOUSEMOTION        鼠標移動              pos, rel, buttons
  MOUSEBUTTONDOWN      鼠標按下              pos, button
  MOUSEBUTTONUP       鼠標放開              pos, button
  JOYAXISMOTION       游戲手柄(Joystick or pad)移動      joy, axis, value
  JOYBALLMOTION       游戲球(Joy ball)?移動      joy, axis, value
  JOYHATMOTION        游戲手柄(Joystick)?移動      joy, axis, value
  JOYBUTTONDOWN       游戲手柄按下              joy, button
  JOYBUTTONUP        游戲手柄放開              joy, button
  VIDEORESIZE        Pygame窗口縮放          size, w, h
  VIDEOEXPOSE        Pygame窗口部分公開(expose)      none
  USEREVENT         觸發(fā)了一個用戶事件          code
'''

如鼠標按下事件,鼠標放開事件,鍵盤按下事件.....

這些事件的發(fā)生都伴隨著一個動作的發(fā)生,正是因為有動作的發(fā)生,所以我們才可以撲捉到這些動作,從而做出相應的反應

如,我們按下鍵盤的左鍵,圖片就向左移動一段距離...

代碼部分如下:

#handle the key event
import pygame
from pygame.locals import *
from sys import exit
'''
  事件             產生途徑              參數(shù)
  QUIT         用戶按下關閉按鈕          none
  ATIVEEVENT         Pygame被激活或者隱藏          gain, state
  KEYDOWN         鍵盤被按下              unicode, key, mod
  KEYUP         鍵盤被放開              key, mod
  MOUSEMOTION         鼠標移動              pos, rel, buttons
  MOUSEBUTTONDOWN     鼠標按下              pos, button
  MOUSEBUTTONUP     鼠標放開              pos, button
  JOYAXISMOTION     游戲手柄(Joystick or pad)移動      joy, axis, value
  JOYBALLMOTION     游戲球(Joy ball)?移動      joy, axis, value
  JOYHATMOTION     游戲手柄(Joystick)?移動      joy, axis, value
  JOYBUTTONDOWN     游戲手柄按下              joy, button
  JOYBUTTONUP         游戲手柄放開              joy, button
  VIDEORESIZE         Pygame窗口縮放          size, w, h
  VIDEOEXPOSE         Pygame窗口部分公開(expose)      none
  USEREVENT         觸發(fā)了一個用戶事件          code
'''
__author__ = {'name' : 'Hongten',
       'mail' : 'hongtenzone@foxmail.com',
       'QQ'  : '648719819',
       'Version' : '1.0'}
BG_IMAGE = 'C:\\py\\ball.png'
pygame.init()
screen = pygame.display.set_mode((500, 500), 0, 32)
bg = pygame.image.load(BG_IMAGE).convert()
x, y = 0, 0
move_x, move_y = 0, 0
while 1:
  for event in pygame.event.get():
    #print(event.type)
    if event.type == QUIT:
      exit()
    if event.type == KEYDOWN:
      print(event.key)
      #event.key返回的是一個數(shù)字值,而K_LEFT,K_UP,K_RIGHT,K_DOWN等都是常量,
      #他們代表的也是一個數(shù)字值,這些數(shù)字值可以用:print(event.key)獲取到
      #如:K_LEFT = 276
      #  K_UP = 273
      #所以下面的代碼可以替換為:
      #if event.key == 276:
      #  move_x = -10
      if event.key == K_LEFT:
        move_x = -10
      elif event.key == K_UP:
        move_y = -10
      elif event.key == K_RIGHT:
        move_x = 10
      elif event.key == K_DOWN:
        move_y = 10
    elif event.type == KEYUP:
      move_x = 0
      move_y = 0
    x += move_x
    y += move_y
    #print(x, y)
    screen.fill((0, 0, 0))
    screen.blit(bg, (x, y))
    pygame.display.update()

完整實例代碼代碼點擊此處本站下載

希望本文所述對大家Python程序設計有所幫助。

相關文章

  • Python如何獲取文件路徑/目錄

    Python如何獲取文件路徑/目錄

    這篇文章主要介紹了Python如何獲取文件路徑/目錄,幫助大家更好的利用python處理文件,感興趣的朋友可以了解下
    2020-09-09
  • 基于Python實現(xiàn)語音識別和語音轉文字

    基于Python實現(xiàn)語音識別和語音轉文字

    這篇文章主要為大家詳細介紹了如何利用Python實現(xiàn)語音識別和語音轉文字功能,文中的示例代碼講解詳細,感興趣的小伙伴可以了解一下
    2022-09-09
  • Python Django簡單實現(xiàn)session登錄注銷過程詳解

    Python Django簡單實現(xiàn)session登錄注銷過程詳解

    這篇文章主要介紹了Python Django簡單實現(xiàn)session登錄注銷過程詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-08-08
  • python錯誤提示:Errno?2]?No?such?file?or?directory的解決方法

    python錯誤提示:Errno?2]?No?such?file?or?directory的解決方法

    我相信很多人在學習Python的時候,特別是在open文件的時候總還碰到,還報錯IOError:[Errno?2]沒有這樣的文件或目錄:'E://aaa.txt',這篇文章主要給大家介紹了關于python錯誤提示:Errno?2]?No?such?file?or?directory的解決方法,需要的朋友可以參考下
    2022-02-02
  • Python使用MD5加密算法對字符串進行加密操作示例

    Python使用MD5加密算法對字符串進行加密操作示例

    這篇文章主要介紹了Python使用MD5加密算法對字符串進行加密操作,結合實例形式分析了Python實現(xiàn)md5加密相關操作技巧,需要的朋友可以參考下
    2018-03-03
  • Python使用BeautifulSoup抓取和解析網(wǎng)頁數(shù)據(jù)的操作方法

    Python使用BeautifulSoup抓取和解析網(wǎng)頁數(shù)據(jù)的操作方法

    在數(shù)據(jù)分析和機器學習領域中,數(shù)據(jù)是不可或缺的資源,網(wǎng)頁數(shù)據(jù)作為豐富的信息來源,往往需要通過爬蟲抓取,Python的BeautifulSoup是處理HTML和XML的利器,本篇文章將詳細介紹BeautifulSoup的基本用法,并通過一個實際案例演示如何使用BeautifulSoup抓取和解析網(wǎng)頁數(shù)據(jù)
    2024-11-11
  • Python裝飾器基礎概念與用法詳解

    Python裝飾器基礎概念與用法詳解

    這篇文章主要介紹了Python裝飾器基礎概念與用法,結合實例形式詳細分析了Python裝飾器的概念、功能、用法及相關操作注意事項,需要的朋友可以參考下
    2018-12-12
  • 使用Python調用天地圖接口

    使用Python調用天地圖接口

    天地圖是中國國家測繪地理信息局推出的一款權威、全面的在線地理信息系統(tǒng),本文將詳細介紹如何使用Python調用天地圖接口,感興趣的可以了解下
    2024-12-12
  • Python在后臺自動解壓各種壓縮文件的實現(xiàn)方法

    Python在后臺自動解壓各種壓縮文件的實現(xiàn)方法

    這篇文章主要介紹了Python在后臺自動解壓各種壓縮文件的實現(xiàn)方法,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-11-11
  • Python制作圣誕樹和圣誕樹詞云

    Python制作圣誕樹和圣誕樹詞云

    本文主要介紹了利用Python制作三種不同形狀的圣誕樹和圣誕樹詞云,文中的示例代碼講解詳細,對我們學習Python有一定的幫助,快跟隨小編一起學習吧
    2021-12-12

最新評論

沾化县| 邯郸县| 道真| 贡嘎县| 曲阜市| 宣恩县| 恭城| 柏乡县| 红桥区| 视频| 伊金霍洛旗| 丹凤县| 泌阳县| 景谷| 军事| 普安县| 武冈市| 湘西| 阳谷县| 西安市| 将乐县| 天津市| 吉林省| 阳原县| 合山市| 扎囊县| 逊克县| 青铜峡市| 茌平县| 句容市| 麦盖提县| 永春县| 沂水县| 闸北区| 平原县| 九寨沟县| 昆山市| 诸城市| 陆川县| 夏河县| 天台县|