中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python怎么實現游戲中駕駛飛船不斷向右效果

發布時間:2021-11-30 15:38:21 來源:億速云 閱讀:164 作者:iii 欄目:大數據

這篇文章主要介紹“Python怎么實現游戲中駕駛飛船不斷向右效果”,在日常操作中,相信很多人在Python怎么實現游戲中駕駛飛船不斷向右效果問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”Python怎么實現游戲中駕駛飛船不斷向右效果”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

用法分析

玩家按住右箭頭鍵不放時,我們希望飛船不斷地向右移動,直到玩家松開為止。我們將讓游戲檢測pygame.KEYUP 事件,以便玩家松開右箭頭鍵時我們能夠知道這一點;然后,我們將結合使用KEYDOWN 和KEYUP 事件,以及一個名為moving_right 的標志來實現持續移動。

飛船不動時,標志moving_right 將為False 。玩家按下右箭頭鍵時,我們將這個標志設置為True ;而玩家松開時,我們將這個標志重新設置為False 。

飛船的屬性都由Ship 類控制,因此我們將給這個類添加一個名為moving_right 的屬性和一個名為update() 的方法。方法update() 檢查標志moving_right 的狀態,如果這個標志為True ,就調整飛船的位置。每當需要調整飛船的位置時,我們都調用這個方法。

代碼實例

#======================================================
#功能:ship類
#作者:python小哥
#時間:2020-7-10
#微信公眾號:DJXY00001
#微信名稱:Python提升課堂
#Version:1.0
#======================================================
class Ship():def __init__(self, screen):    --snip--    # 將每艘新飛船放在屏幕底部中央    self.rect.centerx = self.screen_rect.centerx    self.rect.bottom = self.screen_rect.bottom    # 移動標志    ? self.moving_right = False    ? def update(self):        """根據移動標志調整飛船的位置"""        if self.moving_right:          self.rect.centerx += 1      def blitme(self):      --snip--

在方法__init__() 中,我們添加了屬性self.moving_right ,并將其初始值設置為False (見?)。接下來,我們添加了方法update() ,它在前述標志為True 時向右移動飛船(見?)。

下面來修改check_events() ,使其在玩家按下右箭頭鍵時將moving_right 設置為True ,并在玩家松開時將moving_right 設置為False :

#======================================================
#功能:game_functions 類
#作者:python小哥
#時間:2020-7-10
#微信公眾號:DJXY00001
#微信名稱:Python提升課堂
#Version:1.0
#======================================================
def check_events(ship):    """響應按鍵和鼠標事件"""    for event in pygame.event.get():        --snip--        elif event.type == pygame.KEYDOWN:            if event.key == pygame.K_RIGHT:                # 修改向右移動飛船標志位?               ship.moving_right = True?       elif event.type == pygame.KEYUP:            if event.key == pygame.K_RIGHT:                ship.moving_right = False

在?處,我們修改了游戲在玩家按下右箭頭鍵時響應的方式:不直接調整飛船的位置,而只是將moving_right 設置為True 。在?處,我們添加了一個新的elif 代碼塊,用于響應KEYUP 事件:玩家松開右箭頭鍵(K_RIGHT )時,我們將moving_right 設置為False 。

最后,我們需要修改alien_invasion.py 中的while 循環,以便每次執行循環時都調用飛船的方法update() :

#======================================================
#功能:alien_invasion類
#作者:python小哥
#時間:2020-7-10
#微信公眾號:DJXY00001
#微信名稱:Python提升課堂
#Version:1.0
#======================================================
# 開始游戲主循環while True:    gf.check_events(ship)    ship.update()    gf.update_screen(ai_settings, screen, ship)

到此,關于“Python怎么實現游戲中駕駛飛船不斷向右效果”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

平乡县| 娄烦县| 六盘水市| 尼木县| 花莲市| 定日县| 林芝县| 黄龙县| 安徽省| 漾濞| 西昌市| 开江县| 郓城县| 丰顺县| 凤城市| 沁源县| 进贤县| 通州区| 梁平县| 克什克腾旗| 秭归县| 益阳市| 阿尔山市| 凤凰县| 大宁县| 福建省| 金堂县| 新龙县| 彭水| 唐山市| 深泽县| 特克斯县| 大邑县| 江津市| 南康市| 仙桃市| 永顺县| 明光市| 资讯| 台州市| 乾安县|