我先画了天空和草地,然后发现我画画的功底极差,没什么直觉,画一个弧线啊都要式很久,所以我自己画了一个坐标网表,这个感觉超级有用,对于确定一些细节的东西(比如眼睛嘴巴手臂尾巴什么的)的位置的调节帮助很大~建议大家画别的东西的时候也可以用一用这个方法。
def draw_grid():
pen_set(1,0,0,0,0,0,0)
for i in range(21):
move_pen(0+i*50,0)
t.seth(90)
t.fd(600)
for i in range(13):
move_pen(0,0+i*50)
t.seth(0)
t.fd(1000)
就是这样,剩下的每一个函数都是画一个身体部分的,都是手动一点一点调的参数,因为自己的画画水平不行,不知道什么时候画什么样的弧线,都是按照感觉来的,调参数的时间花了不少。
嗯,就是这么多了!
第一次写的Python代码,还有一些c的感觉在里面,没有完全转换好,有不合理的地方欢迎指出,不胜感激。
接下来就是哆啦 A 梦了~
事实上还有不少人通过 turtle 这个库实现了有趣的图,推荐去学习一下使用 turtle 这个库,其实也不难,就是需要一点耐心~
# !/usr/bin/env python3
# -*- coding: utf-8 -*-
# @Author: dong
# @Date: 2018-07-05 19:37:42
# @Env: python 3.6
# @Github: https://github.com/PerpetualSmile
from turtle import *
# 无轨迹跳跃
def my_goto(x, y):
penup()
goto(x, y)
pendown()
# 眼睛
def eyes():
fillcolor("#ffffff")
begin_fill()
tracer(False)
a = 2.5
for i in range(120):
if 0 <= i < 30 or 60 <= i < 90:
a -= 0.05
lt(3)
fd(a)
else:
a += 0.05
lt(3)
fd(a)
tracer(True)
end_fill()
# 胡须
def beard():
my_goto(-32, 135)
seth(165)
fd(60)
my_goto(-32, 125)
seth(180)
fd(60)
my_goto(-32, 115)
seth(193)
fd(60)
my_goto(37, 135)
seth(15)
fd(60)
my_goto(37, 125)
seth(0)
fd(60)
my_goto(37, 115)
seth(-13)
fd(60)