<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      pygame小游戲飛機大戰(zhàn)_3玩家移動+面對對象編程

      玩家移動:

      設(shè)置x,y坐標(biāo)并新增按按鈕時改變其坐標(biāo)值

      將繪制玩家及背景放入循環(huán)中操作玩家的坐標(biāo)值

      x = 179
      y = 500
      while True:
          # 繪制背景
          screen.blit(background, (0, 0))
          # 繪制玩家
          screen.blit(player, (x, y))
          # 定義玩家x坐標(biāo)和y坐標(biāo)
          # 獲取事件
          for event in pygame.event.get():
              # 如果事件是QUIT事件,如點擊窗口的關(guān)閉按鈕,則退出循環(huán)
              if event.type == pygame.QUIT:
                  # 執(zhí)行退出游戲
                  pygame.quit
                  # 退出程序
                  exit()
              # 判斷按下鍵盤事件,打印上下左右文字,并對玩家x,y坐標(biāo)進行調(diào)整使玩家移動
              key_pressed = pygame.key.get_pressed()
              if key_pressed[K_w] or key_pressed[K_UP]:
                  print("上")
                  y -= speed
              if key_pressed[K_d] or key_pressed[K_RIGHT]:
                  print("右")
                  x += speed
              if key_pressed[K_a] or key_pressed[K_LEFT]:
                  print("左")
                  x -= speed
              if key_pressed[K_s] or key_pressed[K_DOWN]:
                  print("下")
                  y += speed
              if key_pressed[K_SPACE]:
                  print("空格")
          # 界面更新
          pygame.display.update()

      面向?qū)ο缶幊蹋?/strong>

      將所寫代碼用面對對象編程方式編寫

      # 引入飛機的類
      class Plane(object):
          # 創(chuàng)建玩家的方法,引入screen模塊
          def __init__(self,screen):
              # 引入圖片創(chuàng)建玩家
              self.player = pygame.image.load("./images/me1.png")
              # 設(shè)置速度變量
              self.speed = 10
      
              self.x = 179
              self.y = 500
              # 使screen變?yōu)轱w機類的一個屬性
              self.screen=screen
          # 創(chuàng)建玩家移動的方法
          def key_control(self):
              # 判斷按下鍵盤事件,對玩家x,y坐標(biāo)進行調(diào)整使玩家移動
              key_pressed = pygame.key.get_pressed()
              if key_pressed[K_w] or key_pressed[K_UP]:
                  self.y -= self.speed
              if key_pressed[K_d] or key_pressed[K_RIGHT]:
                  print("右")
                  self.x += self.speed
              if key_pressed[K_a] or key_pressed[K_LEFT]:
                  print("左")
                  self.x -= self.speed
              if key_pressed[K_s] or key_pressed[K_DOWN]:
                  print("下")
                  self.y += self.speed
              if key_pressed[K_SPACE]:
                  print("空格")
          def display(self):
              # 繪制玩家
              self.screen.blit(self.player, (self.x, self.y))

      完整代碼:

      # 引入pygame
      import pygame
      # 引入time模塊
      import time
      # 引入pygame中的所有方法
      from pygame.constants import K_UP, K_RIGHT, K_DOWN, K_LEFT, K_w, K_a, K_s, K_d, K_SPACE
      # 引入飛機的類
      class Plane(object):
          # 創(chuàng)建玩家的方法,引入screen模塊
          def __init__(self,screen):
              # 引入圖片創(chuàng)建玩家
              self.player = pygame.image.load("./images/me1.png")
              # 設(shè)置速度變量
              self.speed = 10
      
              self.x = 179
              self.y = 500
              # 使screen變?yōu)轱w機類的一個屬性
              self.screen=screen
          # 創(chuàng)建玩家移動的方法
          def key_control(self):
              # 判斷按下鍵盤事件,對玩家x,y坐標(biāo)進行調(diào)整使玩家移動
              key_pressed = pygame.key.get_pressed()
              if key_pressed[K_w] or key_pressed[K_UP]:
                  self.y -= self.speed
              if key_pressed[K_d] or key_pressed[K_RIGHT]:
                  print("右")
                  self.x += self.speed
              if key_pressed[K_a] or key_pressed[K_LEFT]:
                  print("左")
                  self.x -= self.speed
              if key_pressed[K_s] or key_pressed[K_DOWN]:
                  print("下")
                  self.y += self.speed
              if key_pressed[K_SPACE]:
                  print("空格")
          def display(self):
              # 繪制玩家
              self.screen.blit(self.player, (self.x, self.y))
      
      
      
      # 創(chuàng)建main函數(shù)創(chuàng)建主程序
      def main():
          # 創(chuàng)建一個窗口
          screen = pygame.display.set_mode((480, 700), 0, 32)
          # 引入圖片創(chuàng)建背景
          background = pygame.image.load("./images/background.png")
          # 引入圖片創(chuàng)建玩家
          player = pygame.image.load("./images/me1.png")
          # 引入玩家信息
          player = Plane(screen)
          # 設(shè)置速度變量
          speed = 10
      
          x = 179
          y = 500
          while True:
              # 繪制背景
              screen.blit(background, (0, 0))
              # 獲取事件
              for event in pygame.event.get():
                  # 如果事件是QUIT事件,如點擊窗口的關(guān)閉按鈕,則退出循環(huán)
                  if event.type == pygame.QUIT:
                      # 執(zhí)行退出游戲
                      pygame.quit
                      # 退出程序
                      exit()
              # 執(zhí)行飛機按鍵監(jiān)聽
              player.key_control()
              # 顯示飛機
              player.display()
              # 界面更新
              pygame.display.update()
              # 使程序每次運行時停留0.01秒
              time.sleep(0.01)
      
      
      if __name__ == '__main__':
          main()
      posted @ 2025-08-07 19:42  賽博郎中  閱讀(291)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 日韩高清亚洲日韩精品一区二区| 国产亚洲一二三区精品| 无码中文字幕热热久久| 亚洲国产日韩a在线亚洲| 久热这里只有精品视频六| 五月天国产成人av免费观看| 狠狠干| 欧美成人精品在线| XXXXXHD亚洲日本HD| av色欲无码人妻中文字幕| 麻豆国产va免费精品高清在线| 久久精品国产中文字幕| 日日碰狠狠添天天爽| 国产自拍偷拍视频在线观看| 免费人成网站免费看视频| 日产国产精品亚洲系列| 无码熟妇人妻av在线电影| 亚洲无av中文字幕在线| 精品福利一区二区三区免费视频 | 欧美人成精品网站播放| 国产福利萌白酱在线观看视频| 成人午夜av在线播放| 三级三级三级A级全黄| 久热综合在线亚洲精品| 日本牲交大片免费观看| 日韩一区二区三区无码a片| 国产亚洲情侣一区二区无| 欧美激情a∨在线视频播放| 久久精品国产一区二区三区| 国产91午夜福利精品| 美姑县| 男女啪啪网站| 亚洲人成电影网站 久久影视| 国产乱码精品一区二区三| 国产免费久久精品99reswag| 亚洲色一区二区三区四区| 一区二区三区四区自拍偷拍| 人妻少妇久久中文字幕| 国内揄拍国内精品少妇国语 | 国产美女被遭强高潮免费一视频| 99久久99久久精品国产片|