日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python的pygame游戏开始结束信息_从0开始学python第14.8节-pygame射击游戏(一)

發布時間:2024/8/5 python 88 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python的pygame游戏开始结束信息_从0开始学python第14.8节-pygame射击游戏(一) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

我們在pycharm里新建一個工程,起名字為star-wars。工程創建好后,我們新建一個src文件夾用來存放代碼。接下來在src下創建Main.py,代碼如下:import pygame

from src.plane import plane

WIDTH = 360

HEIGHT = 480

FPS = 30

# 定義顏色常量

BLACK = (0, 0, 0)

# 1. 初始化游戲

pygame.init()

pygame.mixer.init() ?## For sound

screen = pygame.display.set_mode((WIDTH, HEIGHT))

pygame.display.set_caption("設計游戲")

clock = pygame.time.Clock()

# 2.游戲里的所有角色

all_sprites = pygame.sprite.Group()

# 3.游戲主循環

running = True

while running:

# 4.設置游戲幀率

clock.tick(FPS)

# 5. 處理用戶輸入

for event in pygame.event.get():

if event.type == pygame.QUIT:

running = False

# 6. 更新所有角色

all_sprites.update()

# 7. 渲染游戲背景

screen.fill(BLACK)

# 8. 渲染所有角色

all_sprites.draw(screen)

## 9. 更新游戲畫面

pygame.display.flip()

pygame.quit()

我們運行Main.py,游戲效果如下:

定義飛機類

定義完游戲主框架后,我們來創建自己的飛機類,我們新增一個python文件,起名字為plane。plane代碼如下:import pygame

class Plane(pygame.sprite.Sprite):

def __init__(self):

super(plane, self).__init__()

self.image = pygame.image.load('../assets/plane1.png')

self.rect = self.image.get_rect()

def update(self, *args):

self.rect.x = self.rect.x - 1

在main.py里,做如下更改:

1)我們在代碼的最上面引入planefrom src.plane import plane。

2)往all_sprite里增加我們的planeplane = Plane()

all_sprites.add(plane)

此時,游戲運行效果如下:

飛機上下左右移動

接下來,我們用鍵盤的上下左右鍵來移動飛機。

1)修改plane類,在里面增加上下左右移動方法。def update(self, *args):

pass

def move_up(self):

self.rect.y -= self.speed

def move_down(self):

self.rect.y += self.speed

def move_right(self):

self.rect.x += self.speed

def move_left(self):

self.rect.x -= self.speed

2)在Main.py里獲取用戶按下的按鍵# 獲得用戶所有的鍵盤輸入序列(如果用戶通過鍵盤發出“向上”的指令,其他類似)

key_pressed = pygame.key.get_pressed()

3)在代碼開頭引入pygame的按鍵常量:from pygame.locals import *?,根據按鍵不同來調用plane的移動方法if key_pressed[K_w] or key_pressed[K_UP]:

plane.move_up()

if key_pressed[K_s] or key_pressed[K_DOWN]:

plane.move_down()

if key_pressed[K_a] or key_pressed[K_LEFT]:

plane.move_left()

if key_pressed[K_d] or key_pressed[K_RIGHT]:

plane.move_right()

此時,游戲效果如下:

為了防止飛機飛出屏幕,我們做一下邊界檢查:

1)plane類:def move_up(self):

if self.rect.y > 0:

self.rect.y -= self.speed

else:

self.rect.y = 0

def move_down(self):

# 注意這里還有一個飛機本身的高度

if self.rect.y < self.bg_size[1] - 60:

self.rect.y += self.speed

else:

self.rect.y = self.bg_size[1] - 60

def move_left(self):

if self.rect.x > 0:

self.rect.x -= self.speed

else:

self.rect.x = 0

def move_right(self):

# 注意這里還有一個飛機本身的寬度

if self.rect.x < self.bg_size[0] - 60:

self.rect.x += self.speed

else:

self.rect.x = self.bg_size[0] - 60

2)main.pyplane = Plane((WIDTH, HEIGHT))

all_sprites.add(plane)

下節課,我們來完成添加子彈和敵艦。

總結

以上是生活随笔為你收集整理的python的pygame游戏开始结束信息_从0开始学python第14.8节-pygame射击游戏(一)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。