本程序只有一个海龟对象,可是为什么会有这么多粒子呢?以下是部分代码预览:
"""
爆炸粒子效果,本程序实现了一个爆炸类。它生成的对象可重复使用爆炸方法。
所有粒子都是画出来的,它们飞出后速度会越来越慢直到消失。
相对于传统的编程方法,需要生成很多对象,而本程序只用一个对象,从而大大节约CPU及内存资源。
"""
import time
from turtle import *
from random import *
__author__ = '李兴球'
__date__ = '2019/10/3'
class Explosion(Turtle):
"""
继承自Turtle的爆炸类,生成一定数量的点,这些点的坐标存储在cors列表中。
"""
def __init__(self,color,pos=(0,0)):
Turtle.__init__(self,visible=False)
self.color(color) # 粒子颜色
self.initpos = pos # 爆炸坐标
self.up() # 抬笔
self.amounts = 100 # 粒子数量
self.init() # 初始化其它
def main():
"""
主要执行函数
"""
colors = ['red','orange','yellow','green','cyan','blue',
'purple','pink','magenta','brown']
width,height = 480,360
screen = Screen()
screen.bgcolor("white")
screen.title("爆炸粒子效果 by lixingqiu")
screen.tracer(0,0)
ps = []
def 爆炸():
[e.explode() for e in ps]
screen.ontimer(爆炸,3000)
爆炸()
screen.mainloop()
if __name__ == "__main__":
main()
如需要查看完整源代码,请
需要浏览更多吗?
成为会员后,登陆才能继续浏览!联系微信scratch8即可办理会员。
(会员专属:能浏览所有文章,下载所有带链接的Python资源。)

