91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

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

普定县| 库尔勒市| 比如县| 文水县| 迁西县| 石嘴山市| 大埔区| 中山市| 呼玛县| 门源| 芷江| 渑池县| 长白| 石狮市| 二连浩特市| 莱州市| 新晃| 伽师县| 顺昌县| 麻栗坡县| 内丘县| 商河县| 湖北省| 恩平市| 云浮市| 响水县| 封丘县| 二连浩特市| 黎川县| 和顺县| 华宁县| 临朐县| 顺昌县| 阜城县| 徐闻县| 临城县| 永川市| 九台市| 贵州省| 东辽县| 滁州市|