汇智学堂-phthon小游戏(太空阻击之四-飞碟入侵)

5.4飞碟入侵
现在我们来做飞碟入侵。飞碟入侵地球,就是飞碟从高空飞入地球表面的动画制作。在这里我们先假定有5个飞碟侵入地球。下面是我们要做的事情。
1、横坐标[0,400]、纵坐标[20,100]的位置随机生成五个飞碟。
2、制作飞碟入侵的动画。

实现代码如下:

running=1
flyingsaucers=[]
enemy = pygame.image.load(“resources/images/flyingsaucer.png”)

b=0

while running:
screen.blit(background,(0,0))
if b<5:
flyingsaucers.append([random.randint(0,400),random.randint(20,100)])
b+=1

for flyingsaucer in flyingsaucers:
    if flyingsaucer[1]<640:
        flyingsaucer[1]+=0.5
    screen.blit(enemy,flyingsaucer)
    pygame.display.update()

flyingsaucers=[]:我们创建一个数组,用来存放飞碟。

将代码整合起来,整合后完整代码如下:

import pygame
from pygame.locals import *
from sys import exit
import random

screen_width, screen_height = 480, 700
screen=pygame.display.set_mode((screen_width, screen_height))
background=pygame.image.load(“resources/images/background.png”)
pygame.display.set_caption(‘雷雷的太空大战’)
pygame.init()

running=1
flyingsaucers=[]
enemy = pygame.image.load(“resources/images/flyingsaucer.png”)

b=0

while running:
screen.blit(background,(0,0))
if b<5:
flyingsaucers.append([random.randint(0,400),random.randint(20,100)])
b+=1

for flyingsaucer in flyingsaucers:
    if flyingsaucer[1]<640:
        flyingsaucer[1]+=0.5
    screen.blit(enemy,flyingsaucer)
    pygame.display.update()
    #pygame.display.flip()

 #测试时关闭窗口用

for event in pygame.event.get():
    if event.type == KEYDOWN and event.key == K_ESCAPE:
            running = False
            pygame.display.quit()
    if event.type == pygame.QUIT:
        pygame.quit()
        exit()

运行这段代码,在画布上,我们看到深蓝色的太空中,五个不明飞行物,一步步逼近地球。见下图5-2、5-3。
在这里插入图片描述
图5-2
在这里插入图片描述

图5-3

猜你喜欢

转载自blog.csdn.net/weixin_39593940/article/details/88414294