当前位置:首页 » 《随便一记》 » 正文

Python Turtle:小海龟创意绘画,仰望星空,脚踏实地,配有背景音乐哦!(附源码,可以学习如何添加背景音乐,如何使用渐变色)_Griffy650的博客

5 人参与  2022年02月18日 12:17  分类 : 《随便一记》  评论

点击全文阅读


国庆放假,给大家带来一些治愈心灵的小创作!!!

网盘里的文件大家可以直接看效果(永久有效)!!有背景音乐记得打开电脑声音哦)

链接:https://pan.baidu.com/s/1RrnwQX7EGRe6Kh4iwurchg 
提取码:y3ie 

目录

1.渐变色的背景

2.画四角繁星

3.添加背景音乐

4.繁星随机出现

5.源码在这里


先来一张效果图(实际有背景音乐)

 1.渐变色的背景

    t.bgcolor('black')          #首先设置背景色,为黑色
    t.colormode(255)
    t.pensize(50)               #笔头粗一点,刷上去颜色
    for i in range(0,150):      #for循环调整画笔位置和颜色,调出渐变效果
        red=i
        green=i
        blue=i
        t.color(red,green,blue)  #调色
        t.up()
        y=3*i
        t.goto(-350,150-y)       #调位置
        t.down()
        t.forward(700)

2.画四角繁星

    t.pensize(1)
    t.color('#FFE62F')
    t.begin_fill()
    for n in range(4):   #这里是一些重复的步骤
        t.right(30)
        t.forward(a)
        t.left(120)
        t.forward(a)
    t.end_fill()

3.添加背景音乐

import pygame
    
file=r'little_star_music.mp3'     #这里填的是背景音乐的文件路径
pygame.mixer.init()
track=pygame.mixer.music.load(file)
pygame.mixer.music.play(loops=2)

4.繁星随机出现

for i in range(15):
    x=random.randrange(-300,300,60)  #这里设置了步长,主要是想让星星散布在画布上
    y=random.randrange(70,300,60)
    t.up()
    t.goto(x,y)                    #星星位置随机
    t.down()
    a=random.randint(3,10)         #随机数控制星星大小
    draw_star(a)                   #这里是打包的一个画星星的函数(参照上文),a是控制星星的大小的
    t.left(30)

5.源码在这里

(背景音乐需要大家自己下一个mp3,或者直接用网盘里的,网盘里的文件打开可以直接看效果)

#Author:Griffy
#Date:2021-10-01
#Description:画出漫天的繁星和仰望星空的小人,有背景音乐
#version:1.0

import turtle as t
import random
import pygame
import time

#播放背景音乐
def play_music():
    file=r'little_star_music.mp3'  #最好把背景音乐文件和代码文件放在一个文件夹下,这里填背景音乐文件路径
    pygame.mixer.init()
    track=pygame.mixer.music.load(file)
    pygame.mixer.music.play(loops=2)

#画渐变色的夜空
def dark_sky():
    t.bgcolor('black')          #首先设置背景色,为黑色
    t.colormode(255)
    t.pensize(50)               #笔头粗一点,刷上去颜色
    for i in range(0,150):      #for循环调整画笔位置和颜色,调出渐变效果
        red=i
        green=i
        blue=i
        t.color(red,green,blue)#调色
        t.up()
        y=3*i
        t.goto(-350,150-y)     #调位置
        t.down()
        t.forward(700)

#画四角繁星
def draw_star(a):
    t.speed(0)
    t.pensize(1)
    t.color('#FFE62F')
    t.begin_fill()
    for n in range(4):
        t.right(30)
        t.forward(a)
        t.left(120)
        t.forward(a)
    t.end_fill()

#仰望星空的小人
def mini_man():
    t.color('white')
    t.speed(2)
    t.pensize(5)
    t.up()
    t.goto(-160,-250)
    t.seth(110)
    t.down()
    t.forward(80)
    t.seth(30)
    t.circle(40,300)
    t.seth(-110)
    t.forward(80)
    t.up()
    t.color('black')
    t.goto(-190,-145)
    t.down()
    t.seth(110)
    t.forward(25)
    t.up()
    t.goto(-200,-160)
    t.seth(30)
    t.pensize(8)
    t.color('pink')
    t.down()
    t.forward(10)
#画小人脚下的土地
    t.up()
    t.speed(0)
    t.goto(450, -1030)
    t.seth(90)
    t.color('#4F310D', '#4F310D')
    t.down()
    t.begin_fill()
    t.circle(800, 90)
    t.end_fill()
#画土地上的小草
    t.speed(1)
    t.up()
    t.goto(-150, -250)
    t.seth(75)
    t.color('green')
    t.down()
    t.forward(10)
    t.up()
    t.goto(-150, -250)
    t.seth(105)
    t.down()
    t.forward(10)
#画土地上的小花
    t.up()
    t.goto(-135, -255)
    t.seth(90)
    t.down()
    t.forward(10)
    t.dot(15, '#F85124')
#画小人的小心心
    t.up()
    t.goto(-200, -210)
    t.down()
    t.pensize(1)
    t.color('red', 'red')
    t.begin_fill()
    t.seth(45)
    t.forward(10)
    t.circle(5, 180)
    t.right(90)
    t.circle(5, 180)
    t.forward(4)
    t.end_fill()

#写字
def write_content():
    t.color('white')   ##FFFDBB
    t.up()
    t.goto(-180, 0)
    t.down()
    t.write('Look up at the STARS', font=('MV Boli', 30, 'bold'))
    t.up()
    t.goto(-180, -50)
    time.sleep(1)
    t.down()
    t.write('Down to Earth', font=('MV Boli', 30, 'bold'))


####这里开始执行
#背景音乐
play_music()
t.hideturtle()
t.speed(0)
t.setup(600,600)
#天空
dark_sky()
#繁星
for i in range(15):
    x=random.randrange(-300,300,60)
    y=random.randrange(70,300,60)
    t.up()
    t.goto(x,y)                    #星星位置随机
    t.down()
    a=random.randint(3,10)
    draw_star(a)
    t.left(30)
#小人
mini_man()
time.sleep(1)
#写字
write_content()

t.done()

最后,愿大家都能做到 “脚踏实地,仰望星空!” 

码字不易,给个赞吧!!!谢谢uu们


点击全文阅读


本文链接:http://m.zhangshiyu.com/post/34918.html

<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

关于我们 | 我要投稿 | 免责申明

Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1