turtle爆炸粒子效果源码

turtle爆炸粒子效果源码

turtle explode particle爆炸粒子效果

turtle explode particle爆炸粒子效果

turtle explode particle爆炸粒子效果


本程序只有一个海龟对象,可是为什么会有这么多粒子呢?以下是部分代码预览:

"""
   爆炸粒子效果,本程序实现了一个爆炸类。它生成的对象可重复使用爆炸方法。
   所有粒子都是画出来的,它们飞出后速度会越来越慢直到消失。
   相对于传统的编程方法,需要生成很多对象,而本程序只用一个对象,从而大大节约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资源。)

李兴球

李兴球的博客是Python创意编程原创博客

评论已关闭。