用python编写了一个绘制满天星的效果代码(升级版)
原先的满天星是静止的,现在升级成动态 45 度向下移动。
下面在 paint() 中添加月亮的代码:
# 画圆
# screen -> 画在哪里
# (255, 255, 0) --> 颜色值
# (100, 100) --> 圆的圆心点
# 50 --> 圆的半径
# 0 --> 圆是否填充 0 填充 其他数字: 边的宽度
pygame.draw.circle(screen, (255, 255, 0), (100, 100), 50, 0)
# 用背景黑色画小圆覆盖在大圆上形成月牙
pygame.draw.circle(screen, (0, 0, 0), (80, 80), 50, 0)
# 画线
pygame.draw.aaline(screen, (255, 255, 0), (300, 300), (200, 200))
在 action() 中添加星星移动的代码
# 星星的移动
for i in range(0, 255):
xx[i] += 1
yy[i] += 1
# 移动的循环
if xx[i] > 800:
xx[i] = 0
if yy[i] > 600:
yy[i] = 0
在 main() 主函数中加入刷新频率
# 调整刷新的频率
pygame.time.delay(10)
修改后的完整代码如下:
import pygame, sys, random
# 设置窗口大小,默认为 宽:800 高:600
screen = pygame.display.set_mode((800, 600))
# 图形绘制
def paint():
# 画圆
# screen -> 画在哪里
# (255, 255, 0) --> 颜色值
# (100, 100) --> 圆的圆心点
# 50 --> 圆的半径
# 0 --> 圆是否填充 0 填充 其他数字: 边的宽度
pygame.draw.circle(screen, (255, 255, 0), (100, 100), 50, 0)
# 用背景黑色画小圆覆盖在大圆上形成月牙
pygame.draw.circle(screen, (0, 0, 0), (80, 80), 50, 0)
# 画线
pygame.draw.aaline(screen, (255, 255, 0), (300, 300), (200, 200))
# 设置字体,字体初始化
pygame.font.init()
# 设置字体样式
ft = pygame.font.Font("font/msyhbd.ttc", 28)
# 星星文本
for i in range(0, 100):
R = random.randint(0, 255)
G = random.randint(0, 255)
B = random.randint(0, 255)
wd = ft.render("★", True, (R, G, B))
# 绘制星星
screen.blit(wd, (xx[i], yy[i]))
# 定义列表和初始化函数
xx = []
yy = []
def init():
# 初始化列表
for i in range(0, 100):
xx.append(random.randint(0, 800))
yy.append(random.randint(0, 600))
# 业务函数
def action():
# 监听退出事件
for event in pygame.event.get():
# 判断是否退出
if event.type == pygame.QUIT:
sys.exit()
# 星星的移动
for i in range(0, 100):
xx[i] += 1
yy[i] += 1
# 移动的循环
if xx[i] > 800:
xx[i] = 0
if yy[i] > 600:
yy[i] = 0
# 主函数
def main():
# 设置窗口标题
pygame.display.set_caption("满天星")
# 主循环
while True:
# 填充窗口的背景色
screen.fill((0, 0, 0))
# 调用逻辑层
action()
# 绘制星星
paint()
# 调整刷新的频率
pygame.time.delay(10)
# 更新屏幕
pygame.display.update()
if __name__ == '__main__':
# 初始化函数
init()
# 调用主函数
main()
运后的效果如下:
相关说明:
1、终身VIP会员无限制任意下载,免积分。即前往开通>>
2、下载积分可通过日常 签到 以及 积分兑换 等途径获得!
3、本站资源无解压密码.
4、本站资源大多存储在云盘,如出现链接失效请评论反馈。
5、本站提供的免费源码、模板、软件工具等其他资源,均不包含技术服务,请大家谅解!资源仅供参考学习只用,请勿用于任何商业用途,请支持正版。
6、源码、模板等资源会随着技术、环境的升级而存在部分问题,还请慎重选择。
本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。南方小强 » 用python编写了一个绘制满天星的效果代码(升级版)