'''
01-MyStar
满天星
1.下载 pygame模块
    1.1 打开运行===>cmd===>pip install pygame
    1.2 import pygame
    1.3新建窗口
2.绘制小星星
    2.1 第四区域 paint函数 绘制小星星
    2.2 第一区域 init函数中 设置100颗小星星的坐标值 self.xx self.yy
    2.3 第四区域 paint函数 循环绘制100颗小星星
    2.4 第四区域 paint函数 不灵不灵效果
    2.5 第三区域 action函数中 将100颗小星星进行移动操作

3.月亮
    3.1 第一区域 init函数中 设置月亮的坐标值
    3.2 第四区域 paint函数中 绘制月亮的图形图案

将满天星窗口 截图

'''

最终效果参见视频

具体代码:


import pygame,sys,randomclass MyStar(object):# 1.初始化函数(一次性函数)def __init__(self):# 1.1 设置窗口大小 (800*600) 元组 尺寸self.screen = pygame.display.set_mode((800,600))# 1.2 设置星星的坐标值self.xx = [random.randint(0,800) for i in range(100)]self.yy = [random.randint(0,600) for i in range(100)]# 1.3 设置月亮的坐标值self.x = 80self.y = 80# 2.程序主架构def menu(self):# 2.1 设置窗口的标题pygame.display.set_caption("满天星")# 2.2 死循环while True:# 2.3 设置窗口的背景颜色  RGB模式 (0,0,0)黑色self.screen.fill((0,0,0))# 2.4 调用业务执行函数self.action()# 2.5 调用绘制函数self.paint()# 2.6 设置刷新的频率 延迟10毫秒pygame.time.delay(10)# 2.7 设置刷新屏幕pygame.display.update()# 3.业务执行函数def action(self):# 3.1 获取pygame中所有的监听事件for event in pygame.event.get():# 3.2 判断是否退出if event.type == pygame.QUIT:sys.exit()# 3.3 修改星星的坐标for i in range(0,100):self.xx[i] += 1self.yy[i] += 1# 判断是否出界if self.xx[i] > 800:self.xx[i] = 0if self.yy[i] > 600:self.yy[i] = 0# 4.绘制函数def paint(self):'''4.5 绘制月亮self.screen 绘制在哪个窗口上(255,255,255) 绘制的颜色(self.x,self.y)绘制的坐标50            绘制圆的半径0               实心圆 非0代表 空心圆的宽度'''# 白色的圆pygame.draw.circle(self.screen,(255,255,255),(100,100),50,0)# 黑色的圆pygame.draw.circle(self.screen,(0,0,0),(self.x,self.y),50,0)# 4.1 初始化pygame字体演示pygame.font.init()# 4.2 设置字体样式以及字体大小(字体样式)ft = pygame.font.Font("msyhbd.ttc",20)'''循环遍历100次将设置小星星坐标'''for i in range(0,100):R = random.randint(0,255)G = random.randint(0, 255)B = random.randint(0, 255)# 4.3 绘制小星星(绘制内容,可见,(绘制颜色))statStr = ft.render("$", True, (R, G, B))# 4.4 绘制到窗口中(绘制内容,(坐标值x,y))self.screen.blit(statStr,(self.xx[i],self.yy[i]))if __name__ == '__main__':star = MyStar()star.menu()

【python】01以满天星和月亮为例,python中如何制作动画?相关推荐

  1. python 一行写多条件用分割,关于python,你必须知道这25例python专属骚技巧

    本文我总结了25个python专属骚操作,实属提高效率/同事吹牛只利器,确定不收藏吗? image.png 一.原地交换 Python 提供了一个直观的在一行代码中赋值与交换(变量值)的方法 x, y ...

  2. 《Python数据可视化编程实战》——5.5 用OpenGL制作动画

    本节书摘来异步社区<Python数据可视化编程实战>一书中的第5章,第5.5节,作者:[爱尔兰]Igor Milovanović,更多章节内容可以访问云栖社区"异步社区" ...

  3. python 温度 符号_【火马】Python学习小记01

    Python 学习小记 Life is short,you need Python! 写在前面 自从重新拾起2016年开始注册的公众号"火马编程",我就把TA当作了自己的一块&qu ...

  4. python免费教学视频400集-如何入门 Python 爬虫?400集免费教程视频带你从0-1全面掌握...

    学习Python大致可以分为以下几个阶段: 1.刚上手的时候肯定是先过一遍Python最基本的知识,比如说:变量.数据结构.语法等,基础过的很快,基本上1~2周时间就能过完了,我当时是在这儿看的基础: ...

  5. Python网络爬虫与信息提取笔记08-实例2:淘宝商品比价定向爬虫

    Python网络爬虫与信息提取笔记01-Requests库入门 Python网络爬虫与信息提取笔记02-网络爬虫之"盗亦有道" Python网络爬虫与信息提取笔记03-Reques ...

  6. 机器人中的数值优化|【二】最速下降法,可行牛顿法的python实现,以Rosenbrock function为例

    机器人中的数值优化|[二]最优化方法:最速下降法,可行牛顿法的python实现,以Rosenbrock function为例 在上一节中提到了我们详细探讨了数值优化/最优化理论中的基本概念和性质,现在 ...

  7. 【趣味编程】Python钢琴自动弹奏《月亮代表我的心》| 情人节特辑 程序员的浪漫

    今天是情人节,是时候展现我们理工科的浪漫了. 用Python自动弹奏钢琴曲<月亮代表我的心>,让你身边的她(他)感动到哭. 源码和音频文件,已经为大家打包好了.有需要的朋友私信我,资源拿走 ...

  8. 利用threading库实现python多线程以多线程音频实时输入为例

    利用threading库实现python多线程以多线程音频实时输入为例 threading详解 1. 线程的概念: 线程,有时被称为轻量级进程(Lightweight Process,LWP),是程序 ...

  9. python精彩编程200例-Python创意编程200例turtle篇

    简 介: Python是一种高阶计算机语言.它更接近自然语言,学习成本低,开发效率高.如今越来越多的中小学生都在开始学习Python了.我们可以预见,全民会Python的日子不久就会到来,各行各业的人 ...

最新文章

  1. android studio miui8,MIUI8上在Android Studio运行出错集及其解决方案
  2. oracle的读写过程,我在在oracle中统计读写量,用了v$filestat,操作过程如下,有些问题请问高手...
  3. 网络广告联盟和网站联盟全解析
  4. 40个最好的Tumblr主题
  5. CCF CSP 201403-1 相反数(C++)
  6. 软件工程概论课后作业01
  7. Spring boot中使用log4j记录日志
  8. Session共享的四种方法
  9. 《Algorithms》SortCompare 实现排序算法的比较
  10. IT测试时准确数据的技巧(IT总结之三去除旧数据)
  11. python实现仿射变换
  12. oracle:sql介绍及SQL基本查询 lt;四gt;
  13. Reinforcement Learning An Introduction~The 10-armed Testbed
  14. 高级控件及自动提示文本框与下拉列表
  15. mysql 速度评测_[评测]低配环境下,PostgresQL和Mysql读写性能简单对比(欢迎大家提出Mysql优化意见)...
  16. 我的世界java凋零_我的世界:玩家还原Java版已“消失”的三个结构,造型让人难忘?...
  17. OC - @preperty的一些修饰词
  18. C# 设计模式:创建型
  19. 商品分类 商品类型 商品属性
  20. 写一个26字母和0-9数字 不同长度组合的输出

热门文章

  1. 智慧电厂信息系统设计方案(上)
  2. Axure RP Extension for Chrome 修复损坏问题
  3. 看马克扎克伯格创建facebook——电影《社交网络》观后感
  4. 被抛弃的三十五岁IT女人 zt
  5. 赵雷_三十岁的女人_C调入门版_高音教编配
  6. coredump介绍
  7. matlab定积分矩形法实验报告,定积分的近似计算(数学实验报告matlab版).doc
  8. linux显示文件中特殊字符,Linux中的特殊符号与正则表达式
  9. 2022年总结——实习
  10. 数据结构笔记(2)——二叉树基本算法大全