import pygame as py
import math
import random
py.init()
mysize = width,height=800,600
screen = py.display.set_mode(mysize)
fullscreen=False                                                      #全屏开关
py.display.set_caption("游戏测试")
class Point:speed=0upspeed=1;direction=0position=[0,0]size=1def __init__(self,position,speed,direction,size):self.position=positionself.speed=speedself.direction=directionself.size=sizereturn              #坐标,速度,方向,点大小def run(self,):if(self.position[0]<=0 or self.position[0]>=width):self.direction=-self.direction+math.piif(self.position[1]<=0 or self.position[1]>=height):self.direction=-self.directionif(self.distance(py.mouse.get_pos())>130 and self.distance(py.mouse.get_pos())<200):y=(py.mouse.get_pos()[1]-self.position[1])x=(py.mouse.get_pos()[0]-self.position[0])if x!=0:self.mouse_direction=math.atan2(y,x)self.upspeed=3x=self.upspeed*self.speed*math.cos(self.mouse_direction)y=self.upspeed*self.speed*math.sin(self.mouse_direction)if x!=0 and (self.distance(py.mouse.get_pos())<110 or self.distance(py.mouse.get_pos())>130):self.position[0]+=x/abs(x)*math.ceil(abs(x))if y!=0 and (self.distance(py.mouse.get_pos())<110 or self.distance(py.mouse.get_pos())>130):self.position[1]+=y/abs(y)*math.ceil(abs(y))                       else :self.upspeed=1x=self.upspeed*self.speed*math.cos(self.direction)y=self.upspeed*self.speed*math.sin(self.direction)if x!=0 and (self.distance(py.mouse.get_pos())<110 or self.distance(py.mouse.get_pos())>130):self.position[0]+=x/abs(x)*math.ceil(abs(x))if y!=0 and (self.distance(py.mouse.get_pos())<110 or self.distance(py.mouse.get_pos())>130):self.position[1]+=y/abs(y)*math.ceil(abs(y))                                                 #运动def show(self):self.position=[int(i+0.5) for i in self.position]py.draw.circle(screen,(44,67,116),self.position,self.size)                                                #图像变动def distance(self,other):                                          #求点距return math.sqrt((self.position[0]-other[0])**2+(self.position[1]-other[1])**2)
class Graph:pointlist=[]                                                       #点列表def __init__(self,number):self.pointlist.append(Point([0,0],0,0,0))for i in range(number):self.pointlist.append(Point([random.randint(1,width),random.randint(1,height)],random.randint(1,3),i/number*2*math.pi,3))                                     #根据number创建点个数def run(self):for it in self.pointlist:it.run()                                                  #运动def show(self):for it in self.pointlist:it.show()self.line()                                                 #图像变动def line(self):                                                    #画线color=[0,0,0]self.pointlist[0].position=py.mouse.get_pos()for i in self.pointlist:for j in self.pointlist:s=i.distance(j.position)if s<150:color=[int(s*1.6),int(80+s),int(180+s*0.5)]py.draw.aaline(screen,color,i.position,j.position,5)mygraph=Graph(40)                                #画线
while True:screen.fill((255,255,255))for each in py.event.get():if each.type==py.KEYDOWN:if each.key==py.K_F11:fullscreen=not fullscreenif fullscreen:mysize=width,height=1920,1080screen = py.display.set_mode((1920,1080),py.FULLSCREEN|py.HWSURFACE)               else:mysize = width,height=800,600screen = py.display.set_mode(mysize)mygraph.run()mygraph.show()py.display.flip()py.time.Clock().tick(150)

python 粒子动画相关推荐

  1. python 粒子动画_初试PyOpenGL四 (Python+OpenGL)GPU粒子系统与基本碰撞

    我认为比较完善的GPU粒子系统应该如下,粒子初始化可以放在CPU里,但是相关数据运算首先要放在GPU里,并且运算后的数据也应该放在显存里,而不是内存里.故用第三篇实现GPU粒子系统不满足,因为他数据是 ...

  2. python 粒子动画_python-盒子中有很多粒子-物理模拟

    我目前正在尝试模拟盒子周围弹跳的许多粒子. 我考虑了@kalhartt的建议,这是改进的代码,用于初始化框内的粒子: import numpy as np import scipy.spatial.d ...

  3. python 粒子动画_python-pygame-粒子效果

    您可能只想制作一个由矩形构成的类,每次更新烟熏时,它们都会向上和向左或向左随机移动.然后在需要时将它们制成大量.我将在下面尝试创建一个示例代码,但是我无法保证它会起作用.您可以为其他粒子效果创建类似的 ...

  4. python实现“粒子动画”

    python讨论qq群:996113038 导语: 最近浏览网页的时候经常看见一些炫酷的网页,其中影响最深刻的就是粒子动画.每次用鼠标点击一个位置.就会有相应的点和线的变化.虽然是非常简单的几何图形. ...

  5. canvas粒子动画

    2019独角兽企业重金招聘Python工程师标准>>> 周末在家玩了一下canvas粒子动画,先看看效果,用的图是我们微众银行的干爹'qq',先看看效果 ##1.获取图片信息 ### ...

  6. canvas学习之粒子动画

    项目地址:http://pan.baidu.com/s/1ccTptc 粒子动画意思就是把一个图片粒子画,然后使用粒子作出动画效果,主要两个问题:一个图片如何粒子化,这里面我们使用canvas的get ...

  7. vuejs粒子动画特效 npm安装插件vue-particles(particles.js) - 代码篇

    文章目录 1. npm 安装插件`vue-particles` 2. 效果图: 3. 代码截图: 4. 代码示下: 5. 附件 · 文章阅读: 1. npm 安装插件vue-particles npm ...

  8. 惊艳的HTML5粒子动画特效

    转自:http://geek.csdn.net/news/detail/201487?ref=myread HTML5确实非常强大,很多时候我们可以利用HTML5中的新技术实现非常炫酷的粒子动画效果, ...

  9. 带着canvas去流浪系列之九 粒子动画

    [摘要] canvas实现粒子动画 示例代码托管在:http://www.github.com/dashnowords/blogs 一. 粒子特效 粒子特效一般指密集点阵效果,它并不是canvas独有 ...

最新文章

  1. python之vscode中手动选择python解释器(mac)
  2. 第十一周编程总结--助教
  3. 全排列(含递归和非递归的解法)
  4. 7. Docker - 网络管理
  5. vb6 打印选项对话框_办公必备技能,Word打印问题及解决方案全在这,轻松解决打印难题...
  6. C++11 function用法 可调用对象模板类
  7. Spring Cloud学习笔记-009
  8. 比特币在推特上的活跃度正接近2017年水平
  9. Centos/Linux桌面偏移
  10. [转]让内网MOSS门户也用域名访问
  11. python根据url链接下载文件
  12. 关于钱学森定义复杂网络一事的探究
  13. 非常逆天的六款Photoshop插件!
  14. 解读《海纳云智慧城市白皮书》:智慧城市的风吹向何处?
  15. 赋值语句的四元式【编译原理】
  16. ORA-20011: Approximate NDV failed: ORA-06564: object EXPDDDP does not exist
  17. PCB芯片散热焊盘如何设计?
  18. Windows Server - AD域 副域控
  19. CobaltStrike 生成office宏病毒进行钓鱼攻击
  20. uniqueidentifier 的插入用法

热门文章

  1. 打造H5里的“3D全景漫游”秘籍
  2. 光纤跳线和光纤尾纤的异同点
  3. 优化 | 谈谈运筹学在工业界应用的心得体会
  4. RFC2581 TCP拥塞控制
  5. 小唐开始学 Spring Boot——(2)Spring Boot核心配置与注解
  6. IR_SC2红外线发射模拟器
  7. 遥感卫星遇上北斗导航卫星,将擦出怎样的火花?
  8. eDNA专题|今年超火的eDNA技术是什么
  9. 梯度消失和梯度爆炸_从零开始学Pytorch之梯度消失、梯度爆炸
  10. python龟速爬取整本小说