Processing:互动

1. setup()里的内容仅执行一次,而后跳到draw(),draw()里的内容无限循环运行,直到你设置它停或手动让其停止。

2. setup()里的内容最先运行,size()应当始终作为setup()里的第一行,因为这是pr的习惯。。

3. mouseX和mouseY是两个关键值,你可以暂时将它们用做目前的变量。用它们代替一些值试试,会有好玩的互动。

4. pmouseX, pmouseY:鼠标的上一个坐标值。

5. 将值放到abs()中将得到它的绝对值(absolute value)。因此,鼠标移动速度的绝对值就是abs( mouseX – pmouseX ) 。

6. mousePressed() :鼠标按下;keyPressed():键盘按键按下。对应的,你不能让这个动作无限循环执行下去,因此,你需要写第三堆代码,例子如下:
void setup()
{
size(200,200);
background(255);
}
// 本例中,draw()内不发生任何事
void draw()
{
}
// 无论何时用户点击鼠标,mousePressed()内的代码被执行
void mousePressed() {
stroke(0);
fill(175);
rectMode(CENTER);
rect(mouseX,mouseY,16,16);
}
// 无论何时用户点击键盘,keyPressed()内的代码被执行
void keyPressed() {
background(255);
}

7. frameRate():在draw()里循环每秒的帧数,可以填入1~60,例:frameRate(30),代表每秒30帧。如果不包含这个参数,则pr会尝试以每秒60帧的速度运行你的sketch。由于不同的计算机会以不同的速度运行,于是frameRate()可以确保跨计算机运行时,保证你sketch的速率。但这仅是一个参数而已,如果你画了一百万个矩形在你的sketch里,那么draw循环以及运行的速度都将奇慢无比。

Be Sociable, Share!

2 thoughts on “Processing:互动”

  1. 不好意思,请问有初级一点的教程吗?还要学pocessing必须要懂Java和flsah吗?麻烦你了。

    Reply

    ww Reply:

    @李李, 不需要懂Flash,和它没关系;懂Java当然更好,不懂也可以学。

    Reply

Leave a Reply

Your email address will not be published. Required fields are marked *