Processing编程学习指南2.5 Processing中的代码厉害的编程代码
2.5 Processing中的代码
是时候⽤第1章中学习的知识来编写⼀些代码了。⾸先,复习⼀些基本的句法规则(syntax rule)。你可以编写三种类型的陈述语句:
函数调⽤
赋值操作
结构控制
⽬前为⽌,每⼀⾏代码都是对⼀个函数的调⽤,如图2-3所⽰。剩下的两种类型我会在后⾯的章节⾥讨论。每个函数都有⼀个名称,后⾯紧跟着圆括号,圆括号内是⼀组实参。回想下第1章,我曾⽤函数展⽰如何绘制图形(当时我称之为“命令”或者“指令”)。如果把调⽤函数⽐作⼀个⾃然语⾔的句⼦的话,函数名称就是句⼦的动词(“绘制”),⽽实参就是句⼦的宾语(“点0,0”)。注意每个调⽤的函数最后⼀定要以分号结束,如图2-4所⽰。
事实上,你已经学过好⼏个函数了,包括background()、stroke()、fill()、noFill()、noStroke()、point()、
line()、rect()、ellipse()、rectMode(),以及ellipseMode()。如果草图中有多个函数,Processing会按照顺序依次执⾏函数,并将结果显⽰在窗⼝中。说到窗⼝,我突然意识到在第1章中我忘记了提及⾮常重要的⼀个函数—size()。size()函数可以⽤来设定草图窗⼝的⼤⼩,包括两个实参:宽度值和⾼度值。如果你想实现草图sketch全屏,你可以调⽤fullScreen()函数来替代size()函数。使⽤fullScreen()函数时,草图的尺⼨⼤⼩和电脑显⽰器的分辨率是对应的。size()函数和fullScreen()函数永远都是setup()中的第⼀⾏代码,⽽且在任何草图中,只能使⽤其中⼀个函数。
下⾯是fullScreen()函数。
我们来看⼀个例⼦(见图2-4)。
图 2-4
下⾯还有⼏个需要特别注意的事项。
Processing的⽂本编辑器会将已知字符(有时是指保留字符(reserved word)或者关键字(keyword))⽤彩⾊来表⽰。这些字符通常是Processing库中可⽤的绘图函数、内置变量(第3章我会着重讲到变量这个概念)和常量,以及从Java编程语⾔中继承过来的某些特定字符。
有时,如果想要了解程序运⾏的状态,或者监测特定的变量数值,这时可以使⽤println()函数显⽰程序
的运⾏信息,它位于Processing的最底端。println()函数可以⾃带⼀个或多个实参,将信息在控制台输出。如图2-4所⽰,在这个⽰例中,我将“Take me to your
leader!”这个字符串⽤引号括起来并输出(更多关于⽂本的介绍前往第17章)。在调试变量的数值时,这种将信息显⽰到控制台的功能⾮常好⽤,也⾮常⽅便。针对排除故障也有⼀个特殊的按钮,它是界⾯顶端右侧的⼩昆⾍形状的按钮,在第11章将会详细讨论。
左下⾓的数字代表了哪⼀⾏的代码被选中。同样在代码左侧可以查看该代码⾏的编号。
你可以在代码中写下⼀些注释。注释是给我们看的,因此对计算机并不起作⽤。通过书写注释,可以⽅便⽤户⽇后回顾,也有助于别⼈理解你写的代码,以及之后对代码进⾏修改等等。使⽤注释功能的具体⽅法如下:输⼊“//”符号,“//”后⾯的内容都会被Processing认定为注释内容。⽽对于多⾏注释,要使⽤“/*”符号作为开始,“*/”符号作为结束。
Processing初始默认模式为Java模式。它是Processing的核⼼,在Processing中,就是⽤java语⾔来编写代码的。Processing还提供了其他模式,这⾥特别要强调的是Python模式,它允许你使⽤Python编程语⾔来编写代码。你可以通过点击右上⾓的模式按钮尝试其他模式,如图2-4所⽰。
关于注释,⼀⾔以蔽之:从现在开始要养成在代码中书写注释的好习惯。尽管刚开始草图代码会⾮常
短⾮常简单,但是你依然要尽量使⽤注释。没有注释的代码⾮常难以阅读和理解。当然没必要每⼀⾏代码都写注释,但事实上注释越多,往后你回顾和再使⽤这些代码花费的时间就会越短。同时书写注释有助于你去思考并理解代码是如何⼯作的。如果对⾃⼰正在进⾏的⼯作尚且⽆法清晰地理解,⼜怎么能够对正在编写的代码进⾏注释呢?
本书并不会⼀直书写注释,因为许多代码并不像在实际的程序那样⾮常难以阅读。相反,本书会经常使⽤⼀些“提⽰”作为额外的解释,这样能让你举⼀反三。如果你去⽹站看本书的⽰例,那么那些代码通常都是有注释的。总之,在此我要再次强调:养成书写注释的习惯!
练习2-4:创建⼀个空⽩草图,从第1章后⾯的内容中⼀些代码,输⼊到Processing中。为这些代码增加注释来说明这些代码的作⽤。使⽤pintln()命令,在Processing消息区中显⽰信息,保存草图⽂件,点击运⾏按钮。看下⽂件会正常运⾏还是会出现错误提⽰。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。