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

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

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

      pygame小游戲飛機大戰(zhàn)_4發(fā)射子彈

      創(chuàng)建子彈的類:

      # 引入子彈的類
      class Bullet(object):
          def __init__(self,screen,x,y):
              # 定義坐標(biāo)
              self.x = x+51-2
              self.y = y
              # 引入子彈圖片
              self.image = pygame.image.load("./images/bullet1.png")
              # 顯示窗口
              self.screen = screen
              #定義速度
              self.speed = 10
          #定義顯示子彈的方法
          def display(self):
              # 顯示子彈到窗口
              self.screen.blit(self.image,(self.x,self.y))

      在飛機類中創(chuàng)建子彈的列表并運用顯示子彈的方法:

      # 引入飛機的類
      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
              # 定義裝子彈的列表
              self.bullets = []
          # 創(chuàng)建玩家移動的方法
          def key_control(self):
              # 判斷按下鍵盤事件,對玩家x,y坐標(biāo)進(jìn)行調(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]:
                  self.x += self.speed
              if key_pressed[K_a] or key_pressed[K_LEFT]:
                  self.x -= self.speed
              if key_pressed[K_s] or key_pressed[K_DOWN]:
                  self.y += self.speed
              if key_pressed[K_SPACE]:
                  # 按下空格鍵發(fā)射子彈
                  bullet =Bullet (self.screen,self.x, self.y)
                  # 將子彈存入列表
                  self.bullets.append(bullet)
      
          def display(self):
              # 繪制玩家
              self.screen.blit(self.player, (self.x, self.y))
              # 遍歷所有子彈
              for bullet in self.bullets:
                  # 顯示子彈
                  bullet.display()

      讓子彈飛起來:

       在子彈類中加入讓子彈飛起了的方法:

      #定義移動子彈的方法
      def auto_move(self):
          # 修改子彈y坐標(biāo)使子彈飛起來
          self.y-=self.speed

       在飛機類中引入子彈飛起來的方法:

      #引入讓子彈飛起來的方法
      bullet.auto_move()

       完整代碼:

      # 引入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
              # 定義裝子彈的列表
              self.bullets = []
          # 創(chuàng)建玩家移動的方法
          def key_control(self):
              # 判斷按下鍵盤事件,對玩家x,y坐標(biāo)進(jìn)行調(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]:
                  self.x += self.speed
              if key_pressed[K_a] or key_pressed[K_LEFT]:
                  self.x -= self.speed
              if key_pressed[K_s] or key_pressed[K_DOWN]:
                  self.y += self.speed
              if key_pressed[K_SPACE]:
                  # 按下空格鍵發(fā)射子彈
                  bullet =Bullet (self.screen,self.x, self.y)
                  # 將子彈存入列表
                  self.bullets.append(bullet)
      
          def display(self):
              # 繪制玩家
              self.screen.blit(self.player, (self.x, self.y))
              # 遍歷所有子彈
              for bullet in self.bullets:
                  #引入讓子彈飛起來的方法
                  bullet.auto_move()
                  # 顯示子彈
                  bullet.display()
      
      # 引入子彈的類
      class Bullet(object):
          def __init__(self,screen,x,y):
              # 定義坐標(biāo)
              self.x = x+51-2
              self.y = y
              # 引入子彈圖片
              self.image = pygame.image.load("./images/bullet1.png")
              # 顯示窗口
              self.screen = screen
              #定義速度
              self.speed = 10
          #定義顯示子彈的方法
          def display(self):
              # 顯示子彈到窗口
              self.screen.blit(self.image,(self.x,self.y))
          #定義移動子彈的方法
          def auto_move(self):
              # 修改子彈y坐標(biāo)使子彈飛起來
              self.y-=self.speed
      
      
      
      
      # 創(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()

       演示如下:

      屏幕錄制 2025-08-08 194609

      posted @ 2025-08-08 19:47  賽博郎中  閱讀(81)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 国产午夜精品视频在线播放| 亚洲av永久无码精品天堂久久| 国产一区二区三区小说| 国产福利在线观看免费第一福利| 亚洲另类激情专区小说婷婷久| 另类 亚洲 图片 激情 欧美| 精品不卡一区二区三区| 色综合久久中文综合久久激情| 无码毛片一区二区本码视频| 沾化县| 亚洲熟妇色自偷自拍另类| 国产一区二区三区综合视频| 中文字幕无码视频手机免费看| 亚洲一区二区精品极品| 国产精品久久久久久亚洲色| 日韩人妻无码精品久久久不卡 | 成人网站免费观看永久视频下载| 精品国产午夜福利在线观看| 亚洲中文字幕无码久久2020| 国产精品中文字幕日韩| 成人乱码一区二区三区av| 中文国产人精品久久蜜桃| 亚洲永久精品一区二区三区| 亚洲V天堂V手机在线| 亚洲精品美女一区二区| 熟女丝袜潮喷内裤视频网站| 中文字幕无码成人免费视频| 亚洲一区二区精品偷拍| 日本边添边摸边做边爱的网站| 视频一区视频二区亚洲视频| 国产欲女高潮正在播放| 沂源县| 欧美亚洲另类制服卡通动漫| 亚洲欧美中文日韩V日本| 最新国产精品好看的精品| 四虎亚洲国产成人久久精品| 亚洲a毛片| 亚洲av日韩av永久无码电影| 不卡一区二区三区在线视频| 少妇人妻无码专区视频| 亚洲av日韩av一区久久|