zoukankan      html  css  js  c++  java
  • python入门教程

    动画①

    python```
    import turtle
    a=turtle.Turtle()
    a.getscreen().bgcolor("black")
    a.penup()
    a.goto(-200, 100)
    a.pendown()
    a.color("yellow")
    a.speed(25)
    def star(turtle, size):
    if size<=10:
    return
    else:
    turtle.begin_fill()
    for i in range (5):
    turtle.pensize(2)
    turtle.forward(size)
    star(turtle, size/3)
    turtle.left(216)
    turtle.end_fill()
    star(a, 360)
    turtle.done()

    
    ### 动画②
    python```
    import turtle
    
    def getPosition(x, y):
            turtle.setx(x)
            turtle.sety(y)
            print(x, y)
    
    class Pikachu:
    
        def __init__(self):
            self.t = turtle.Turtle()
            t = self.t
            t.shape('turtle')
            t.pensize(3)
            t.speed(9)
            t.ondrag(getPosition)
    
    
    
        def noTrace_goto(self, x, y):
            self.t.penup()
            self.t.goto(x, y)
            self.t.pendown()
    
        def leftEye(self, x, y):
            self.noTrace_goto(x, y)
            t = self.t
            t.seth(0)
            t.fillcolor('#333333')
            t.begin_fill()
            t.circle(22)
            t.end_fill()
    
            self.noTrace_goto(x, y+10)
            t.fillcolor('#000000')
            t.begin_fill()
            t.circle(10)
            t.end_fill()
    
            self.noTrace_goto(x+6, y + 22)
            t.fillcolor('#ffffff')
            t.begin_fill()
            t.circle(10)
            t.end_fill()
    
        def rightEye(self, x, y):
            self.noTrace_goto(x, y)
            t = self.t
            t.seth(0)
            t.fillcolor('#333333')
            t.begin_fill()
            t.circle(22)
            t.end_fill()
    
            self.noTrace_goto(x, y+10)
            t.fillcolor('#000000')
            t.begin_fill()
            t.circle(10)
            t.end_fill()
    
            self.noTrace_goto(x-6, y + 22)
            t.fillcolor('#ffffff')
            t.begin_fill()
            t.circle(10)
            t.end_fill()
    
        def mouth(self, x, y):
            self.noTrace_goto(x, y)
            t = self.t
    
            t.fillcolor('#88141D')
            t.begin_fill()
    
            l1 = []
            l2 = []
            t.seth(190)
            a = 0.7
            for i in range(28):
                a += 0.1
                t.right(3)
                t.fd(a)
                l1.append(t.position())
    
            self.noTrace_goto(x, y)
    
            t.seth(10)
            a = 0.7
            for i in range(28):
                a += 0.1
                t.left(3)
                t.fd(a)
                l2.append(t.position())
    
    
    
            t.seth(10)
            t.circle(50, 15)
            t.left(180)
            t.circle(-50, 15)
    
            t.circle(-50, 40)
            t.seth(233)
            t.circle(-50, 55)
            t.left(180)
            t.circle(50, 12.1)
            t.end_fill()
    
    
            self.noTrace_goto(17, 54)
            t.fillcolor('#DD716F')
            t.begin_fill()
            t.seth(145)
            t.circle(40, 86)
            t.penup()
            for pos in reversed(l1[:20]):
                t.goto(pos[0], pos[1]+1.5)
            for pos in l2[:20]:
                t.goto(pos[0], pos[1]+1.5)
            t.pendown()
            t.end_fill()
    
    
            self.noTrace_goto(-17, 94)
            t.seth(8)
            t.fd(4)
            t.back(8)
    
    
        def leftCheek(self, x, y):
            turtle.tracer(False)
            t = self.t
            self.noTrace_goto(x, y)
            t.seth(300)
            t.fillcolor('#DD4D28')
            t.begin_fill()
            a = 2.3
            for i in range(120):
                if 0 <= i < 30 or 60 <= i < 90:
                    a -= 0.05
                    t.lt(3)
                    t.fd(a)
                else:
                    a += 0.05
                    t.lt(3)
                    t.fd(a)
            t.end_fill()
            turtle.tracer(True)
    
        def rightCheek(self, x, y):
            t = self.t
            turtle.tracer(False)
            self.noTrace_goto(x, y)
            t.seth(60)
            t.fillcolor('#DD4D28')
            t.begin_fill()
            a = 2.3
            for i in range(120):
                if 0 <= i < 30 or 60 <= i < 90:
                    a -= 0.05
                    t.lt(3)
                    t.fd(a)
                else:
                    a += 0.05
                    t.lt(3)
                    t.fd(a)
            t.end_fill()
            turtle.tracer(True)
    
        def colorLeftEar(self, x, y):
            t = self.t
            self.noTrace_goto(x, y)
            t.fillcolor('#000000')
            t.begin_fill()
            t.seth(330)
            t.circle(100, 35)
            t.seth(219)
            t.circle(-300, 19)
            t.seth(110)
            t.circle(-30, 50)
            t.circle(-300, 10)
            t.end_fill()
    
    
        def colorRightEar(self, x, y):
            t = self.t
            self.noTrace_goto(x, y)
            t.fillcolor('#000000')
            t.begin_fill()
            t.seth(300)
            t.circle(-100, 30)
            t.seth(35)
            t.circle(300, 15)
            t.circle(30, 50)
            t.seth(190)
            t.circle(300, 17)
            t.end_fill()
    
    
        def body(self):
            t = self.t
    
            t.fillcolor('#F6D02F')
            t.begin_fill()
    
            t.penup()
            t.circle(130, 40)
            t.pendown()
            t.circle(100, 105)
            t.left(180)
            t.circle(-100, 5)
    
    
            t.seth(20)
            t.circle(300, 30)
            t.circle(30, 50)
            t.seth(190)
            t.circle(300, 36)
    
    
            t.seth(150)
            t.circle(150, 70)
    
    
            t.seth(200)
            t.circle(300, 40)
            t.circle(30, 50)
            t.seth(20)
            t.circle(300, 35)
            #print(t.pos())
    
    
            t.seth(240)
            t.circle(105, 95)
            t.left(180)
            t.circle(-105, 5)
    
    
            t.seth(210)
            t.circle(500, 18)
            t.seth(200)
            t.fd(10)
            t.seth(280)
            t.fd(7)
            t.seth(210)
            t.fd(10)
            t.seth(300)
            t.circle(10, 80)
            t.seth(220)
            t.fd(10)
            t.seth(300)
            t.circle(10, 80)
            t.seth(240)
            t.fd(12)
            t.seth(0)
            t.fd(13)
            t.seth(240)
            t.circle(10, 70)
            t.seth(10)
            t.circle(10, 70)
            t.seth(10)
            t.circle(300, 18)
    
            t.seth(75)
            t.circle(500, 8)
            t.left(180)
            t.circle(-500, 15)
            t.seth(250)
            t.circle(100, 65)
    
    
            t.seth(320)
            t.circle(100, 5)
            t.left(180)
            t.circle(-100, 5)
            t.seth(220)
            t.circle(200, 20)
            t.circle(20, 70)
    
            t.seth(60)
            t.circle(-100, 20)
            t.left(180)
            t.circle(100, 20)
            t.seth(300)
            t.circle(10, 70)
    
            t.seth(60)
            t.circle(-100, 20)
            t.left(180)
            t.circle(100, 20)
            t.seth(10)
            t.circle(100, 60)
    
    
            t.seth(180)
            t.circle(-100, 10)
            t.left(180)
            t.circle(100, 10)
            t.seth(5)
            t.circle(100, 10)
            t.circle(-100, 40)
            t.circle(100, 35)
            t.left(180)
            t.circle(-100, 10)
    
    
            t.seth(290)
            t.circle(100, 55)
            t.circle(10, 50)
    
            t.seth(120)
            t.circle(100, 20)
            t.left(180)
            t.circle(-100, 20)
    
            t.seth(0)
            t.circle(10, 50)
    
            t.seth(110)
            t.circle(100, 20)
            t.left(180)
            t.circle(-100, 20)
    
            t.seth(30)
            t.circle(20, 50)
    
            t.seth(100)
            t.circle(100, 40)
    
    
            t.seth(200)
            t.circle(-100, 5)
            t.left(180)
            t.circle(100, 5)
            t.left(30)
            t.circle(100, 75)
            t.right(15)
            t.circle(-300, 21)
            t.left(180)
            t.circle(300, 3)
    
    
            t.seth(43)
            t.circle(200, 60)
    
    
            t.right(10)
            t.fd(10)
    
            t.circle(5, 160)
            t.seth(90)
            t.circle(5, 160)
            t.seth(90)
    
    
            t.fd(10)
            t.seth(90)
            t.circle(5, 180)
            t.fd(10)
    
            t.left(180)
            t.left(20)
            t.fd(10)
            t.circle(5, 170)
            t.fd(10)
            t.seth(240)
            t.circle(50, 30)
    
    
            t.end_fill()
            self.noTrace_goto(130, 125)
            t.seth(-20)
            t.fd(5)
            t.circle(-5, 160)
            t.fd(5)
    
    
            self.noTrace_goto(166, 130)
            t.seth(-90)
            t.fd(3)
            t.circle(-4, 180)
            t.fd(3)
            t.seth(-90)
            t.fd(3)
            t.circle(-4, 180)
            t.fd(3)
    
    
            self.noTrace_goto(168, 134)
            t.fillcolor('#F6D02F')
            t.begin_fill()
            t.seth(40)
            t.fd(200)
            t.seth(-80)
            t.fd(150)
            t.seth(210)
            t.fd(150)
            t.left(90)
            t.fd(100)
            t.right(95)
            t.fd(100)
            t.left(110)
            t.fd(70)
            t.right(110)
            t.fd(80)
            t.left(110)
            t.fd(30)
            t.right(110)
            t.fd(32)
    
            t.right(106)
            t.circle(100, 25)
            t.right(15)
            t.circle(-300, 2)
            ##############
            #print(t.pos())
            t.seth(30)
            t.fd(40)
            t.left(100)
            t.fd(70)
            t.right(100)
            t.fd(80)
            t.left(100)
            t.fd(46)
            t.seth(66)
            t.circle(200, 38)
            t.right(10)
            t.fd(10)
            t.end_fill()
    
    
    
    
            t.fillcolor('#923E24')
            self.noTrace_goto(126.82, -156.84)
            t.begin_fill()
    
            t.seth(30)
            t.fd(40)
            t.left(100)
            t.fd(40)
            t.pencolor('#923e24')
            t.seth(-30)
            t.fd(30)
            t.left(140)
            t.fd(20)
            t.right(150)
            t.fd(20)
            t.left(150)
            t.fd(20)
            t.right(150)
            t.fd(20)
            t.left(130)
            t.fd(18)
            t.pencolor('#000000')
            t.seth(-45)
            t.fd(67)
            t.right(110)
            t.fd(80)
            t.left(110)
            t.fd(30)
            t.right(110)
            t.fd(32)
            t.right(106)
            t.circle(100, 25)
            t.right(15)
            t.circle(-300, 2)
            t.end_fill()
    
    
    
            self.cap(-134.07, 147.81)
            self.mouth(-5, 25)
            self.leftCheek(-126, 32)
            self.rightCheek(107, 63)
            self.colorLeftEar(-250, 100)
            self.colorRightEar(140, 270)
            self.leftEye(-85, 90)
            self.rightEye(50, 110)
            t.hideturtle()
    
    
    
        def cap(self, x, y):
            self.noTrace_goto(x, y)
            t = self.t
            t.fillcolor('#CD0000')
            t.begin_fill()
            t.seth(200)
            t.circle(400, 7)
            t.left(180)
            t.circle(-400, 30)
            t.circle(30, 60)
            t.fd(50)
            t.circle(30, 45)
            t.fd(60)
            t.left(5)
            t.circle(30, 70)
            t.right(20)
            t.circle(200, 70)
            t.circle(30, 60)
            t.fd(70)
            # print(t.pos())
            t.right(35)
            t.fd(50)
            t.circle(8, 100)
            t.end_fill()
            self.noTrace_goto(-168.47, 185.52)
            t.seth(36)
            t.circle(-270, 54)
            t.left(180)
            t.circle(270, 27)
            t.circle(-80, 98)
    
            t.fillcolor('#444444')
            t.begin_fill()
            t.left(180)
            t.circle(80, 197)
            t.left(58)
            t.circle(200, 45)
            t.end_fill()
    
            self.noTrace_goto(-58, 270)
            t.pencolor('#228B22')
            t.dot(35)
    
            self.noTrace_goto(-30, 280)
            t.fillcolor('#228B22')
            t.begin_fill()
            t.seth(100)
            t.circle(30, 180)
            t.seth(190)
            t.fd(15)
            t.seth(100)
            t.circle(-45, 180)
            t.right(90)
            t.fd(15)
            t.end_fill()
            t.pencolor('#000000')
    
    
    
    
        def start(self):
            self.body()
    
    
    
    def main():
        print('Drawing the Pikachu... ')
        turtle.screensize(800, 600)
        turtle.title('Hello YangJIng! Hello ')
        pikachu = Pikachu()
        pikachu.start()
        turtle.mainloop()
    
    
    if __name__ == '__main__':
        main()
    
  • 相关阅读:
    渲染管线中的顶点变换
    导入图片时设置默认格式
    查找丢失组件的预制体
    移动到目标点的方法
    关于material和sharedMaterial的问题
    代码创建动画状态机
    设计模式学习笔记--访问者模式
    .net core 基于Dapper 的分库分表开源框架(core-data)
    .Net 微服务架构技术栈的那些事
    Asp.Net Core 中IdentityServer4 实战之角色授权详解
  • 原文地址:https://www.cnblogs.com/yangjing000/p/15032148.html
Copyright © 2011-2022 走看看