今日目标:
利用python编写一个笨鸟先飞的小程序。
主要思路:
1.从网络中下载需要的图片资源
2.设置背景图片
3.制作移动的管道
4.实现小鸟扑腾翅膀效果
5.判断小鸟是否触碰到管道或是离开画面
6.实现动画效果
操作详细:
从网络中下载需要的图片资源:
下载所需要的库
在联网的情况进行以下操作:
WIN+R–>CMD=>输入“pip install pygame”
设置背景图片
因为要建立一个游戏,这里要运用到pygame。
首先要制作一个屏幕:
import pygame # 调用pygame库
pygame.init() # pygame库初始化
map_width = 284 # 容器的宽
map_height = 512 # 容器的高
gameScreen = pygame.display.set_mode((map_width, map_height)) # 初始化一个屏幕
然后设置背景图片:
background = pygame.image.load("background.png") # 设置背景图片
制作移动的管道:
from random import randrange
pipes = [[180, 4]] # 定义一个队列(用于绘制管道)
pipe_body = pygame.image.load("pipe_body.png")
pipe_end = pygame.image.load("pipe_end.png")
def draw_pipes():
global pipes
for n in range(len(pipes)):
for m in range(pipes[n][1]):
gameScreen.blit(pipe_body, (pipes[n][0], m*32))
for m in range(pipes[n][1]+6, 16):
gameScreen.blit(pipe_body, (pipes[n][0], m*32))
gameScreen.blit(pipe_end, (pipes[n][0], (pipes[n][1])*32))
gameScreen.blit(pipe_end, (pipes[n][0], (pipes[n][1]+5)*32))
pipes[n][0] -= 1 # 使管道向左移动
实现小鸟翅膀扑动
我们的思路是利用翅膀一上一下的图片交互出现实现扑动
bird_wing_up = bird_wing_up_copy = pygame.image.load("bird_wing_up.png") # 小鸟翅膀向上和向下的图片,其中copy用于实现小鸟翻转
bird_wing_down = bird_wing_down_copy = pygame.image.load("bird_wing_down.png")
bird = [40, map_height//2-50]
def draw_bird(x, y): # 定义一个函数使得在(x,y)处显示小鸟图片
global frame # 引用全局变量frame
if 0 <= frame <= 30:
gameScreen.blit(bird_wing_up, (x, y)) # 在屏幕中(x,y)处显示小鸟
frame += 1
elif 30 < frame <= 60:
gameScreen.blit(bird_wing_down, (x, y))
frame +=