A009 《源码皮影戏》编程 源码

奋斗吧
奋斗吧
擅长邻域:未填写

标签: A009 《源码皮影戏》编程 源码 博客 51CTO博客

2023-07-07 18:24:22 43浏览

A009 《源码皮影戏》编程 源码,这次是发表文章第9课啦!感谢大家的支持!这节课主要内容是多支画笔


一、课程介绍

本节课将使用 turtle.Pen() 创造多只画笔,并学习图层的概念来创造皮影戏的效果。

A009   《源码皮影戏》编程 源码_图层


二、知识重难点解析

A009   《源码皮影戏》编程 源码_图层_02多只画笔

在python中,可以创建多只名字不同的画笔,分别绘制图形。

p1 = turtle.Pen()   # 创建画笔 p1
p2 = turtle.Pen()   # 创建画笔 p2
p3 = turtle.Pen()   # 创建画笔 p3

A009   《源码皮影戏》编程 源码_一语_03图层

绘制图像的时候,后画的图形会遮盖住之前画的图形

A009   《源码皮影戏》编程 源码_一语_04

A009   《源码皮影戏》编程 源码_一语_05


三、单词卡

curtain [ˈkɜːrtn] 幕布

coral [ˈkɒrəl] 珊瑚色


四、小试牛刀

4.1 源码操作

A009   《源码皮影戏》编程 源码_一语_06

海龟编辑器内直接运行上面的代码,报“max.gif”背景图片找不到,删除代码行 turtle.bgpic('max.gif') 即可运行了,必须将源代码保存在和背景图片在同一个文件夹内才能正常运行!!!!

### 代码 ###

import turtle
turtle.bgpic('max.gif')
p1 = turtle.Pen()
p1.pencolor('coral')
p1.pensize(5)

p2 = turtle.Pen()
p2.pencolor('yellow')
p2.pensize(5)

length = 40

p1.left(90)
p1.forward(length * 2)
p1.left(90)
p1.forward(length * 3)
p1.right(90)
p1.forward(length * 2)
p1.left(90)
p1.forward(length * 4)

p2.forward(length * 9)
p2.left(90)
p2.forward(length * 4)

turtle .done()


4.2 源码操作

编写代码,实现“关公”发射火球消灭细菌的效果。

A009   《源码皮影戏》编程 源码_多支画笔_07

import turtle
p1 = turtle.Pen()
p2 = turtle.Pen()
p3 = turtle.Pen()

p1.penup()
p2.penup()
p3.penup()

turtle.addshape('facebook6.png')
turtle.addshape('virus.gif')
turtle.addshape('fireball.gif')

p1.shape('facebook6.png')
p2.shape('virus.gif')
p3.shape('fireball.gif')
p3.ht()

p1.forward(-200)
p2.forward(300)
p3.forward(-100)

n = 60
for i in range(3):
    p1.forward(-100)
    p1.forward(100)
    p3.st()
    p3.forward(400)
    p3.dot(n, 'white')
    p3.ht()
    p3.forward(-400)
    n = n + 100

turtle.done()

提示:1、关公:facebook4.png;

2、细菌:virus.gif;

3、火球:fireball.gif。


五、扩展练习

A009   《源码皮影戏》编程 源码_一语_08

### 代码 ###

import turtle
turtle.bgpic("curtain.gif")

p=turtle.Pen()
p.dot(300,"coral")

turtle.addshape("jy.gif")
p.penup()
p.right(90)
p.forward(200)
p.shape("jy.gif")

p2=turtle.Pen()
p2.penup()
p2.forward(250)
p2.right(90)
p2.forward(110)
turtle.addshape("tz.gif")
p2.shape("tz.gif")
p.right(90)
for i in range(500):
    p.forward(1)

turtle.done()


六、自由发挥

Hi!

A009   《源码皮影戏》编程 源码_多支画笔_09

### 代码 ###

import turtle
p=turtle.Pen()
p2=turtle.Pen()
p2.pencolor("skyblue")
p2.pensize(5)
p.pencolor("red")
p.pensize(5)

p.forward(50)
p.left(90)
p.forward(70)
p.forward(-140)
p.forward(70)
p.left(90)
p.forward(50)
p.right(90)
p.forward(70)
p.forward(-140)
p2.penup()
p2.forward(120)
p2.right(90)
p2.pendown()
p2.forward(70)
p2.forward(-70)
p2.penup()
p2.forward(-20)
p2.dot(10)

p.ht()
p2.ht()
turtle .done()

好博客就要一起分享哦!分享海报

此处可发布评论

评论(0展开评论

暂无评论,快来写一下吧

展开评论

您可能感兴趣的博客

客服QQ 1913284695