hello,大家好,我是wangzirui32,今天我们来学习如何用Pygame制作一场漂亮的流星雨。
开始学习吧!
前言
最近几乎没有比较大型的流星雨可以欣赏,当我正在家里“愁眉不展”时,我看到了Python。于是,就想用Python模拟一场流星雨,妙~啊!
1. 素材图片
完成这个程序,你需要一张月亮图片:
moon.jpg
和笔者画的一颗小星星:
star.png
2. 项目结构
结构如下:
demo/
star.py
demo.py
star.png
moon.jpg
其中,star.py文件主要存放Star类,这个类要处理星星移动等操作,demo.py是项目的主文件,我们将在这里编写窗口代码,至于star.png和moon.jpg可以自行导入上面的素材。
3. 编写代码
3.1 Star类
打开star.py,输入以下代码:
# -*- coding: utf-8 -*-
import pygame
import random
class Star(pygame.sprite.Sprite):
def __init__(self, screen, width, height):
super(Star, self).__init__() # 继承精灵类
self.screen = screen
# 加载图片并获取rect矩形
self