Python趣味创意编程
上QQ阅读APP看书,第一时间看更新

输入并运行以下代码,当鼠标上下移动时,圆圈直径大小如图3-2所示发生变化。

sketch_3_1_1.pyde

 1    def setup(): 
 2        size(600, 600) 
 3    
 4    def draw(): 
 5        background(255) 
 6        fill(200)
 7        diam = map(mouseY,0,height,1,1000)
 8        circle(300, 300, diam)

图片 254图片 253图片 252

图3-2

下面我们实现让圆圈自动变大。Processing提供了系统变量frameCount,记录了程序运行了多少帧:

sketch_3_1_2.pyde

 1    def draw(): 
 2        print(frameCount)

运行后程序在控制台持续输出整数:1、2、3、4、5……。将frameCount作为圆圈的直径,即可实现圆圈自动变大的效果:

sketch_3_1_3.pyde

 1    def setup(): 
 2        size(600, 600) 
 3    
 4    def draw(): 
 5        background(255) 
 6        fill(200)
 7        circle(300, 300, frameCount)

另外,Processing也提供了系统变量frameRate记录帧率,即每秒运行多少次draw()函数;也可以通过frameRate()函数设定程序的帧率,需要注意变量名、函数名的大小写:

sketch_3_1_4.pyde

 1    def setup(): 
 2        frameRate(30)
 3    
 4    def draw(): 
 5        print(frameRate)

要让圆圈变大的速度更快,只需修改sketch_3_1_3.pyde为:

sketch_3_1_5.pyde

 1    def setup(): 
 2        size(600, 600) 
 3        frameRate(30)
 4    
 5    def draw(): 
 6        background(255) 
 7        fill(200)
 8        circle(300, 300, frameCount*5)

练习3-1:修改sketch_3_1_3.pyde,让圆圈的变大的速度变慢。