Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x 如何使用turtle在Python中制作焰火_Python 3.x_Turtle Graphics - Fatal编程技术网

Python 3.x 如何使用turtle在Python中制作焰火

Python 3.x 如何使用turtle在Python中制作焰火,python-3.x,turtle-graphics,Python 3.x,Turtle Graphics,我对python非常陌生,我正在尝试在背景中为我正在使用turtle制作的东西制作一个无休止的动画焰火表演,但不知道如何使其动画化,也就是说,使它们向外爆炸,然后消失,我需要帮助使其无休止地继续下去。请帮忙! 以下是我当前的代码: import random import turtle t = turtle.Turtle() t.speed(0) #firework color def pen(color): t.color(color) pen('red') def move()

我对python非常陌生,我正在尝试在背景中为我正在使用turtle制作的东西制作一个无休止的动画焰火表演,但不知道如何使其动画化,也就是说,使它们向外爆炸,然后消失,我需要帮助使其无休止地继续下去。请帮忙! 以下是我当前的代码:

import random
import turtle
t = turtle.Turtle()
t.speed(0)

#firework color
def pen(color):
    t.color(color)

pen('red')

def move():
    t.pu()
    x = random.randint(-165,165)
    y = random.randint(-165,165)
    t.goto(x,y)
    t.pd()

def sky(colour):
     wn = turtle.Screen()
     wn.bgcolor(colour)

sky('black')

def firework(size):
    for num in range (20):
         t.fd(size)
         t.rt(180-(360/20))

firework(50)
move()
pen('yellow')
firework(75)
move()

pen('orange')
firework(199)   
firework(50)
move()

pen('blue')
firework(75)
move()

pen('pink')
firework(199)
firework(50)
move()

pen('yellow')
firework(75)
move()

pen('orange')
firework(199)   
firework(50)
move()

pen('blue')
firework(75)
move()

pen('pink')
firework(199)
firework(50)
move()

pen('yellow')
firework(75)
move()

pen('orange')
firework(199)   
firework(50)
move()
pen('blue')
firework(75)
move()

pen('pink')
firework(199)
firework(50)
move()

pen('yellow')
firework(75)
move()

pen('orange')
firework(199)   
firework(50)
move()

pen('blue')
firework(75)
move()

pen('pink')
firework(199)  

可以使用t.clear清除图形,它将清除整个图形。问题是,您的代码的格式有点混乱,所以我假设您希望所有空行都消失

import random
import turtle
t = turtle.Turtle()
t.speed(0)

def pen(color):
    t.color(color)

pen('red')

def move():
    t.pu()
    x = random.randint(-165,165)
    y = random.randint(-165,165)
    t.goto(x,y)
    t.pd()

def sky(colour):
     wn = turtle.Screen()
     wn.bgcolor(colour)

sky('#10102a')

def firework(size):
    for num in range(20):
         t.fd(size)
         t.rt(180-(360/20))

# Begin Config #
C_BRIGHT_MIN = 0x10
C_BRIGHT_MAX = 0xef
F_SIZE_MIN = 15
F_SIZE_MAX = 200
FIREWORK_PER_CLEAR = 2
# End Config #

while True:
    # this generates a random color sequence using RGB
    color_r = hex(random.randint(C_BRIGHT_MIN, C_BRIGHT_MAX))[2:]
    color_g = hex(random.randint(C_BRIGHT_MIN, C_BRIGHT_MAX))[2:]
    color_b = hex(random.randint(C_BRIGHT_MIN, C_BRIGHT_MAX))[2:]
    pen('#'+color_r+color_g+color_b)
    for i in range(FIREWORK_PER_CLEAR):
        firework(random.randint(F_SIZE_MIN, F_SIZE_MAX))
        move()
    t.clear()

它不会爆炸,如果您希望它像这样,您可以尝试tkinter或pygame,这对图形优化得多

您可以使用t.clear清除图形,这将清除整个图形。问题是,您的代码的格式有点混乱,所以我假设您希望所有空行都消失

import random
import turtle
t = turtle.Turtle()
t.speed(0)

def pen(color):
    t.color(color)

pen('red')

def move():
    t.pu()
    x = random.randint(-165,165)
    y = random.randint(-165,165)
    t.goto(x,y)
    t.pd()

def sky(colour):
     wn = turtle.Screen()
     wn.bgcolor(colour)

sky('#10102a')

def firework(size):
    for num in range(20):
         t.fd(size)
         t.rt(180-(360/20))

# Begin Config #
C_BRIGHT_MIN = 0x10
C_BRIGHT_MAX = 0xef
F_SIZE_MIN = 15
F_SIZE_MAX = 200
FIREWORK_PER_CLEAR = 2
# End Config #

while True:
    # this generates a random color sequence using RGB
    color_r = hex(random.randint(C_BRIGHT_MIN, C_BRIGHT_MAX))[2:]
    color_g = hex(random.randint(C_BRIGHT_MIN, C_BRIGHT_MAX))[2:]
    color_b = hex(random.randint(C_BRIGHT_MIN, C_BRIGHT_MAX))[2:]
    pen('#'+color_r+color_g+color_b)
    for i in range(FIREWORK_PER_CLEAR):
        firework(random.randint(F_SIZE_MIN, F_SIZE_MAX))
        move()
    t.clear()

它不会爆炸,如果你想让它变成那样,你可以尝试tkinter或pygame,这对图形来说是非常优化的

你能试着让代码无休止地运行,并且让焰火不重叠吗?谢谢对因为我不知道你想要什么,所以我在那里设置了一个配置,C_BRIGHT_MIN和C_BRIGHT_MAX是可以使用的颜色范围,避免了光谱的两端。F_SIZE_MIN和F_SIZE_MAX是烟花大小的两个界限。烟花爆竹是指在它们消失之前的数量。你能试着让代码无休止地继续下去,并且让烟花也不要重叠吗?谢谢对因为我不知道你想要什么,所以我在那里设置了一个配置,C_BRIGHT_MIN和C_BRIGHT_MAX是可以使用的颜色范围,避免了光谱的两端。F_SIZE_MIN和F_SIZE_MAX是烟花大小的两个界限。烟火是在它们消失之前的多少次。