上QQ阅读APP看书,第一时间看更新
2.8 转动眼珠的圆脸
以下代码用圆圈绘制一个如图2-28所示的圆脸,读者可以尝试理解:
sketch_2_8_1.pyde
1 def setup():
2 size(800, 600)
3
4 def draw():
5 background(255)
6 fill(255)
7 circle(400, 300, 500)
8 circle(305, 180, 180)
9 circle(495, 180, 180)
10 circle(400, 300, 40)
11 circle(400, 420, 140)
12 fill(0)
13 circle(275, 180, 110)
14 circle(465, 180, 110)
图2-28
添加代码,让眼珠随着鼠标而转动:
sketch_2_8_2.pyde
1 def setup():
2 size(800, 600)
3
4 def draw():
5 background(255)
6 fill(255)
7 circle(400, 300, 500)
8 circle(305, 180, 180)
9 circle(495, 180, 180)
10 circle(400, 300, 40)
11 circle(400, 420, 140)
12 fill(0)
13 x1 = map(mouseX,0,width,280,330)
14 y1 = map(mouseY,0,height,155,195)
15 circle(x1, y1, 110)
16 x2 = map(mouseX,0,width,470,520)
17 y2 = map(mouseY,0,height,155,195)
18 circle(x2, y2, 110)
当我们的代码比较多时,可以适当加一些注释。所谓注释,就是一些说明的文字,不参与程序运行。注释的格式是“# 注释内容”。以下为加上注释的完整代码,这样就可以比较清楚地了解各种代码的功能、变量的含义等信息:
sketch_2_8_3.pyde
1 def setup(): # 初始化函数,仅运行一次
2 size(800, 600) # 设定画面宽度、高度
3
4 def draw(): # 绘制函数,每帧重复运行
5 background(255) # 设置白色背景,并覆盖整个画面
6 fill(255) # 设置填充色为白色(默认黑色线条)
7 circle(400, 300, 500) # 绘制圆脸
8 circle(305, 180, 180) # 绘制左眼边框
9 circle(495, 180, 180) # 绘制右眼边框
10 circle(400, 300, 40) # 绘制鼻子
11 circle(400, 420, 140) # 绘制嘴巴
12 fill(0) # 设置填充色为黑色(用于绘制眼珠)
13 # 将鼠标位置映射为左眼珠坐标
14 x1 = map(mouseX,0,width,280,330)
15 y1 = map(mouseY,0,height,155,195)
16 circle(x1, y1, 110) # 绘制左眼珠
17 # 将鼠标位置映射为右眼珠坐标
18 x2 = map(mouseX,0,width,470,520)
19 y2 = map(mouseY,0,height,155,195)
20 circle(x2, y2, 110) # 绘制右眼珠