国产乱子伦高清露脸对白-国产精品欧美久久久久天天影视-国产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ⅴ在线观看-精品中文字幕在线

        www.se五月| 天天操天天摸天天爽| 五月天婷婷在线观看视频| 久久精品免费一区二区| 亚洲不卡中文字幕无码| 欧美一级视频免费看| 国产二区视频在线播放| 亚欧在线免费观看| 日本在线一二三区| 国产精品99久久久久久大便| ijzzijzzij亚洲大全| 国产精品视频网站在线观看| 欧美 日本 亚洲| 国产无套粉嫩白浆内谢的出处| 午夜视频你懂的| 亚洲欧美日韩网站| 成人在线观看你懂的| 精品这里只有精品| 亚洲精品久久久久久宅男| 国产精品探花在线播放| av在线观看地址| 男女男精品视频站| a级网站在线观看| 成人免费aaa| 青娱乐精品在线| 成年人视频观看| 久久精品国产露脸对白| 日本免费黄色小视频| 99蜜桃臀久久久欧美精品网站| 婷婷免费在线观看| 真人抽搐一进一出视频| 亚洲一区日韩精品| 成年人网站免费视频| 中文字幕永久有效| 97av视频在线观看| 黑人巨大国产9丨视频| 成年人在线观看视频免费| 国产精品igao激情视频| 日本熟妇人妻中出| 一本久道高清无码视频| 久国产精品视频| 欧美日韩怡红院| 久久亚洲国产成人精品无码区| 亚洲一区在线不卡| 黄www在线观看| 很污的网站在线观看| 91精品视频国产| 中文久久久久久| aa免费在线观看| 国产午夜福利在线播放| ijzzijzzij亚洲大全| 亚洲第一狼人区| 国产成人综合一区| 日本wwww视频| 欧美黄网站在线观看| 日韩在线观看a| 青青草综合视频| a级网站在线观看| 色播五月综合网| 激情综合网俺也去| 北条麻妃在线观看| 精品视频无码一区二区三区| 凹凸国产熟女精品视频| 久久久久久久中文| 日本韩国欧美在线观看| 玩弄中年熟妇正在播放| 国产av国片精品| 青青草原成人网| jizzjizzxxxx| 嫩草影院国产精品| 亚洲va在线va天堂va偷拍| 日韩av片免费观看| 91社在线播放| 日韩欧美精品免费| 夜夜添无码一区二区三区| 免费网站在线观看视频| 黄色成人在线免费观看| av动漫在线免费观看| 你真棒插曲来救救我在线观看| 777精品久无码人妻蜜桃| 国产l精品国产亚洲区久久| 大肉大捧一进一出好爽动态图| 亚洲乱码中文字幕久久孕妇黑人| 黄色国产精品视频| 亚洲精品第三页| 小泽玛利亚av在线| jizzjizzxxxx| 97超碰成人在线| 波多野结衣激情| 国产男女在线观看| 九九热99视频| 欧美a在线视频| 97超碰人人看| 久久婷婷国产精品| 99久re热视频精品98| 成年人视频网站免费观看| 激情五月俺来也| 成人性生活视频免费看| 在线观看免费不卡av| 国产女主播自拍| 中国黄色片一级| av观看免费在线| 黄色一级片黄色| 天堂在线一区二区三区| 哪个网站能看毛片| 91精品国产吴梦梦| 午夜一级免费视频| 黄色高清无遮挡| 91成人在线观看喷潮教学| 中文字幕综合在线观看| 青青草原国产在线视频| 日韩精品一区二区免费| 欧美亚洲视频一区| 99热这里只有精品7| 日本美女高潮视频| www.射射射| 日韩中文字幕在线不卡| 加勒比av中文字幕| 免费观看成人网| 日韩精品 欧美| 国产精品无码免费专区午夜| 91欧美视频在线| 中文字幕视频在线免费观看| 国产免费成人在线| 国产av无码专区亚洲精品| 波多野结衣乳巨码无在线| 超碰10000| 男的插女的下面视频| av片在线免费| 日韩中文字幕在线免费| a级黄色一级片| 超碰97人人射妻| 冲田杏梨av在线| 亚洲第一区第二区第三区| 天天综合天天添夜夜添狠狠添| 一二三级黄色片| 18视频在线观看娇喘| 三级在线免费观看| 韩日视频在线观看| 成年人免费在线播放| 高清一区在线观看| 国产系列第一页| 久久久久久www| 成人小视频在线看| 美女在线视频一区二区| 国产成年人在线观看| 中文字幕色呦呦| 女性女同性aⅴ免费观女性恋| 99草草国产熟女视频在线| 欧美男女交配视频| 久久综合久久久久| 久久人妻精品白浆国产| 国产探花在线看| 日韩精品在线视频免费观看| 国内外免费激情视频| 国产一级片自拍| 国产3p露脸普通话对白| 亚洲精品怡红院| 久久亚洲精品无码va白人极品| 无码人妻丰满熟妇区毛片| 精产国品一二三区| 日韩在线一级片| www亚洲国产| 日韩手机在线观看视频| 久久天天东北熟女毛茸茸| 97成人在线观看视频| 三年中文高清在线观看第6集| 少妇人妻大乳在线视频| 中文字幕亚洲影院| 欧美日韩中文在线视频| 久久久久久久久影视| 五月天亚洲视频| 欧美精品自拍视频| 丰满女人性猛交| 欧美成年人视频在线观看| 国产av麻豆mag剧集| av磁力番号网| 日本黄色a视频| 99国产精品久久久久久| 茄子视频成人免费观看| 免费视频爱爱太爽了| 美女黄色片网站| 男生操女生视频在线观看| 麻豆传传媒久久久爱| 欧美一级欧美一级| 日本精品久久久久久久久久| 亚洲AV无码成人精品一区| 中文字幕第一页在线视频| 亚洲福利精品视频| 日本熟妇人妻中出| 天天天干夜夜夜操| av五月天在线| 婷婷激情四射五月天| 在线免费视频一区| 亚洲精品一二三四五区| 成人性生生活性生交12| 日韩av手机版| 午夜免费福利网站| 亚洲小说欧美另类激情| 亚洲小视频在线播放|