上QQ阅读APP看书,第一时间看更新
2.6 跟随鼠标移动的圆圈
输入并运行以下代码,运行效果如图2-19所示。
sketch_2_6_1.pyde
1 def setup():
2 size(600, 600)
3
4 def draw():
5 circle(300,300,100)
图2-19
def setup(): 表示定义初始化函数,冒号后面的语句进行具体初始化的工作。size(600, 600)表示设定窗口宽600px、高600px。
def draw(): 表示定义绘制函数,冒号后面的语句进行具体绘制的工作。circle(300,300,100)表示在(300,300)处绘制了一个直径为100的圆圈。
程序运行时仅运行一次setup()函数,进行相关的初始化设定。初始化后每帧重复执行draw()函数,进行相关的绘制工作。
提示
函数内的语句需要缩进,比如setup()函数内的size(600, 600)语句前面要空出一些,draw()函数内的circle(300,300,100)语句前面也要空出一些。Python中可以用空格,或者Tab键来实现代码向右缩进。同一函数内部的多行语句,需要缩进一致,即最左边需要对齐。
Processing还提供了两个系统变量mouseX、mouseY,表示鼠标位置的X、Y坐标。读者可以输入并运行以下代码,需要注意变量名的大小写:
sketch_2_6_2.pyde
1 def setup():
2 size(600, 600)
3
4 def draw():
5 circle(mouseX,mouseY,100)
circle(mouseX,mouseY,100)在鼠标位置处绘制直径为100的圆。由于draw()函数每帧重复执行,当鼠标在窗口中移动时,会在不同位置绘制相应的圆圈,如图2-20所示。
图2-20
如果想画面中只显示一个圆圈跟随鼠标移动,可以在draw()函数中添加background()函数:
sketch_2_6_3.pyde
1 def setup():
2 size(600, 600)
3
4 def draw():
5 background(200)
6 circle(mouseX,mouseY,100)
draw()函数每次绘制时,首先用灰色填充整个画面,然后在鼠标位置处绘制一个圆圈,效果如图2-21所示。
图2-21