国产乱子伦高清露脸对白-国产精品欧美久久久久天天影视-国产91视频一区-亚洲欧美日产综合在线网-黄视频网站在线看-国产欧美亚洲精品第1页-亚洲www在线-大学生女人三级在线播放-日本在线视频www鲁啊鲁-国产成人精品一区二区仙踪林-69精品欧美一区二区三区-成人欧美亚洲-日本污污网站-中国妞xxxhd露脸偷拍视频-国产精品aⅴ在线观看-精品中文字幕在线

極客小將

您現在的位置是:首頁 » python編程資訊

資訊內容

用python和pygame游戲編程入門-控制角色移動

極客小將2020-10-30-
如何使用鍵盤事件控制角色移動,解決只能按一下動一下的問題,在鍵盤一直按下的狀態,角色一直移動。

pygame游戲編程入門控制角色移動

在上一節中我們知道了事件,以及如何捕捉鍵盤事件進行響應,本屆我們結合第一節何上一節的內容,做一個用鍵盤控制角色移動的功能,代碼如下:

#!/usr/bin/env python
#指定圖像文件名稱
background_image_filename = './img/Underwater.png'
mouse_image_filename = './img/octopus.png'
#導入pygame庫
import pygame
#導入一些常用的函數和常量
from pygame.locals import *
#向sys模塊借一個exit函數用來退出程序
from sys import exit

#初始化pygame,為使用硬件做準備
pygame.init()

 #創建了一個窗口
screen = pygame.display.set_mode((960, 720), 0, 32)
#設置窗口標題
pygame.display.set_caption("海底世界")
#加載并轉換圖像
background = pygame.image.load(background_image_filename).convert()
kcursor = pygame.image.load(mouse_image_filename).convert_alpha()
#游戲主循環
x, y = 0, 0
move_x, move_y = 0, 0
while True:
    for event in pygame.event.get():
        if event.type == QUIT:
           exit()
        if event.type == KEYDOWN:
            #鍵盤有按下?
            if event.key == K_LEFT:
                #按下的是左方向鍵的話,把x坐標減一
                move_x = -1
            elif event.key == K_RIGHT:
                #右方向鍵則加一
                move_x = 1
            elif event.key == K_UP:
                #類似了
                move_y = -1
            elif event.key == K_DOWN:
                move_y = 1
        elif event.type == KEYUP:
            #如果用戶放開了鍵盤,圖就不要動了
            move_x = 0
            move_y = 0
        #計算出新的坐標
        x+= move_x
        y+= move_y

        screen.fill((0,0,0))
        screen.blit(background, (0,0))
        screen.blit(kcursor, (x,y))
        #在新的位置上畫圖
        pygame.display.update()

當我們運行這個程序的時候,按下方向鍵就可以把章魚移動,但是等等!為什么我只能按一下動一下啊……

因為KEYDOWN事件只有在你按下鍵的那一刻才發生一次,也就是for循環需要有事件發生才會再次執行,你可以試試在按下方向鍵不松開的時候不停的移動鼠標,這時候章魚就會一直移動了。

啊??這么麻煩,怎么修改呢?

因為當你按下按鍵的時候變量值已經進行了修改,所以只需要把計算新坐標后面的代碼縮進調整一下,放在跟for循環并列的位置,這樣事件發生只會修改坐標的變化數據,不斷更新坐標的任務就在while循環里執行了。

修改后的代碼;


#!/usr/bin/env python
#指定圖像文件名稱
background_image_filename = './img/Underwater.png'
mouse_image_filename = './img/octopus.png'
#導入pygame庫
import pygame
#導入一些常用的函數和常量
from pygame.locals import *
#向sys模塊借一個exit函數用來退出程序
from sys import exit

#初始化pygame,為使用硬件做準備
pygame.init()

 #創建了一個窗口
screen = pygame.display.set_mode((960, 720), 0, 32)
#設置窗口標題
pygame.display.set_caption("海底世界")
#加載并轉換圖像
background = pygame.image.load(background_image_filename).convert()
kcursor = pygame.image.load(mouse_image_filename).convert_alpha()
#游戲主循環
x, y = 0, 0
move_x, move_y = 0, 0
while True:
    for event in pygame.event.get():
        if event.type == QUIT:
           exit()
        if event.type == KEYDOWN:
            #鍵盤有按下?
            if event.key == K_LEFT:
                #按下的是左方向鍵的話,把x坐標減一
                move_x = -1
            elif event.key == K_RIGHT:
                #右方向鍵則加一
                move_x = 1
            elif event.key == K_UP:
                #類似了
                move_y = -1
            elif event.key == K_DOWN:
                move_y = 1
        elif event.type == KEYUP:
            #如果用戶放開了鍵盤,圖就不要動了
            move_x = 0
            move_y = 0
    #計算出新的坐標
    x+= move_x
    y+= move_y

    screen.fill((0,0,0))
    screen.blit(background, (0,0))
    screen.blit(kcursor, (x,y))
    #在新的位置上畫圖
    pygame.display.update()



本站部分內容轉載自網絡,如有侵權請聯系管理員及時刪除。

預約試聽課

已有385人預約都是免費的,你也試試吧...

国产乱子伦高清露脸对白-国产精品欧美久久久久天天影视-国产91视频一区-亚洲欧美日产综合在线网-黄视频网站在线看-国产欧美亚洲精品第1页-亚洲www在线-大学生女人三级在线播放-日本在线视频www鲁啊鲁-国产成人精品一区二区仙踪林-69精品欧美一区二区三区-成人欧美亚洲-日本污污网站-中国妞xxxhd露脸偷拍视频-国产精品aⅴ在线观看-精品中文字幕在线

        少妇av一区二区三区无码| 国模吧无码一区二区三区| 国产无套内射久久久国产| 久久精品亚洲天堂| 手机在线看福利| 国产一区亚洲二区三区| 男人午夜视频在线观看| 日韩精品一区中文字幕| 日本三级黄色网址| 男人草女人视频| 日韩 欧美 高清| 天天操精品视频| 青青草视频在线免费播放| 美女黄色片视频| 99热一区二区三区| 男女av免费观看| 992tv成人免费观看| 5月婷婷6月丁香| 污网站在线免费| www..com日韩| 国产乱叫456| 精品这里只有精品| 美国av在线播放| 老司机午夜av| 久久亚洲国产成人精品无码区| 能在线观看的av| 91看片淫黄大片91| 天天爽天天爽夜夜爽| 精品国偷自产一区二区三区| 污污网站免费观看| 欧美老熟妇喷水| 午夜啪啪福利视频| 亚洲成熟丰满熟妇高潮xxxxx| 无码人妻aⅴ一区二区三区日本| 欧美 日韩 国产一区| 好吊色视频988gao在线观看| 久久综合伊人77777麻豆最新章节| 精品久久久无码人妻字幂| 天堂av8在线| 成人在线激情网| 欧美视频在线播放一区| 大地资源网在线观看免费官网| 在线免费观看av的网站| 国产裸体舞一区二区三区| 日韩精品视频在线观看视频| 波多野结衣在线免费观看| 天天爽人人爽夜夜爽| 欧美日韩亚洲第一| 精品这里只有精品| 久久亚洲中文字幕无码| 黄网站色视频免费观看| 国产又粗又长又爽视频| 亚洲AV无码成人精品一区| 亚洲性生活网站| 国产精品涩涩涩视频网站| 国产免费一区二区三区视频| 9久久9毛片又大又硬又粗| 成人免费性视频| 日韩av在线第一页| 国产日产欧美视频| 欧美 国产 小说 另类| 99久久国产宗和精品1上映| 人妻丰满熟妇av无码区app| 欧美少妇性生活视频| 搡女人真爽免费午夜网站| 91网址在线播放| 潘金莲激情呻吟欲求不满视频| 69久久久久久| 亚洲一区二区偷拍| 日本五级黄色片| 成人在线免费在线观看| 女性隐私黄www网站视频| 一本久道综合色婷婷五月| av网站在线不卡| 日韩 国产 一区| 亚洲精品偷拍视频| 欧美精品久久久久久久自慰| 亚洲熟妇无码另类久久久| 国产aaa一级片| www.cao超碰| 一本大道东京热无码aⅴ| 人妻熟妇乱又伦精品视频| 在线免费观看视频黄| 欧洲美女和动交zoz0z| 久久国产精品视频在线观看| 啊啊啊国产视频| 免费日韩在线观看| 成人小视频在线看| 精品一区二区成人免费视频| 欧美精品久久久久久久自慰 | 日韩在线观看a| 少妇高清精品毛片在线视频 | 91视频福利网| 日韩欧美国产综合在线| 欧美激情第3页| 玩弄中年熟妇正在播放| 亚洲一级片av| 免费黄色日本网站| 中文 日韩 欧美| 国产真实乱子伦| www.日本三级| 中文字幕12页| 波多野结衣家庭教师视频| 国产91av视频在线观看| 女人另类性混交zo| 欧美激情亚洲天堂| 欧美一级免费在线| 欧美成人免费高清视频| 国产精品自拍合集| 色综合五月婷婷| 国产精品无码av无码| 免费一级特黄特色毛片久久看| 五月天激情播播| 日本久久久久久久久久久久| 男人天堂a在线| 日本三日本三级少妇三级66| 午夜欧美福利视频| 亚洲国产精品成人天堂| 精品嫩模一区二区三区| 日本中文字幕二区| 亚洲一区二区蜜桃| 99精品在线免费视频| 性生活免费观看视频| 在线观看国产福利| 色综合天天色综合| 国产视频一区二区三区在线播放 | 漂亮人妻被中出中文字幕| 青青草国产免费| 国产天堂视频在线观看| 国产麻豆电影在线观看| 国产性生活一级片| 深爱五月综合网| 亚洲成人手机在线观看| 97超碰人人爽| 亚洲免费999| 亚洲第一天堂久久| 一区二区在线免费看| 中文字幕资源在线观看| 日本精品一区在线| 香蕉视频在线网址| 污污污污污污www网站免费| 国产午夜精品视频一区二区三区| 9l视频自拍9l视频自拍| 天天想你在线观看完整版电影免费| 91制片厂免费观看| 日韩成人三级视频| 欧美三级一级片| 午夜国产一区二区三区| 视频在线观看免费高清| а 天堂 在线| 国产精品视频网站在线观看| 精品少妇人妻av免费久久洗澡| 俄罗斯av网站| 久久99爱视频| 中国老女人av| 欧美成人三级在线视频| 精品久久久久久无码国产| 伊人网在线综合| 国内少妇毛片视频| aa在线免费观看| 午夜免费视频网站| 国产午夜福利在线播放| 无需播放器的av| 人人妻人人澡人人爽欧美一区| 久久久久久久久久网| 波多野结衣天堂| 97久久国产亚洲精品超碰热| 啊啊啊一区二区| 亚洲精品乱码久久久久久动漫| 福利视频免费在线观看| 国产综合免费视频| 中国一级黄色录像| av免费在线播放网站| 黄色录像特级片| 91激情视频在线| 国产 日韩 欧美在线| www.这里只有精品| 夜夜添无码一区二区三区| www.夜夜爽| 六月激情综合网| 99热这里只有精品免费| 天天色综合天天色| 9久久9毛片又大又硬又粗| 手机精品视频在线| 999精品网站| 日韩亚洲欧美视频| 国产精品中文久久久久久| 日本激情视频在线| 免费看日本毛片| 日本免费成人网| 99亚洲精品视频| 在线观看国产一级片| 免费成人午夜视频| 国产黄色激情视频| 国内av免费观看| 粉色视频免费看| 三年中国国语在线播放免费| 欧美丰满熟妇bbbbbb百度| 久久精品xxx| 超碰人人爱人人|