桃花落,闲池阁。山盟虽在,锦书难托。莫,莫,莫!
——陆游《钗头凤•红酥手》

编程是一个俱乐部的入场券,是一个圈子的投名状。很多人看到这两字都会变成这样子:

我有句很喜欢的英文:The minute you think of giving up, think of the reason why you held on so long。

况且我想告诉你的是,Processing作为一门画画的编程语言,真的很简单,一学就会。近年来,它在艺术、交互、动画、数据可视化、视觉设计、原型开发和制作等方向越发流行。数以万计的学生、艺术家、设计师、研究人员和业余爱好者开始接受并爱上这个可爱贴心,简洁便捷的绘图工具。

也许有一天,你也能像Casey和Ben一样,成为完美结合并平衡了艺术家、设计师和计算机工程师的才华于一身的极少数人之一。
##2.1 sketch
现在,你已经进入了一个全新的Processing世界。新世界的生存法则是,在没达到造物主的级别前,你不得不学会适应那些已经制定好的法则。

在这里,代码就是你的画笔。Processing的创造者把Processing看作是一个代码的素描本——sketch。这个素描本中的素描纸,也就是Processing的源文件**(.pde文件)**。
Just like this:

在PDE中,素描纸以tab即标签的形式显示。tab的名称就是.pde文件的名称。每个sketch中都有一个主tab,这个tab和目录文件夹同名,是Processing的程序入口

我们可以这样理解:

假设你有一个主题是Hello Kitty素描本(sketch),你想看素描本里面的内容。但有一个明文规定是,你只能一页一页地翻看它,因为计算机是逐行执行代码的。那么,你首先翻开的是第一页吧。这就是一个主tab,是Processing的程序入口,它的名称同样是Hello Kitty。其余的tab代表剩下的素描纸,而每一张素描纸就是一个.pde文件。

当你运行processing.exe时,Processing就默认创建了一个工程(Processing中被称为Sketch),并为你创建了一个以"sketch_+当前日期+顺序编号"命名的tab。选择“速写本”→“打开程序目录”(快捷键是Ctrl+K),就能够看到当前工程文件目录。这是工程是暂存的状态,选择tab可以进行新建、重命名和保存等操作。
##2.2 Hello_World
世界上的第一个程序就是Hello World,由Brian Kernighan创作。 汪大大说,既然目标是地平线,留给世界的只能是背影。何不自己铺开Sketch,动起手来完成你的第一个Processing作品?

示例2-1:ellipse绘制椭圆

效果图,如下所示:

具体实现代码:

//创造一个400像素*400像素大小的窗口
size(400,400);
//四个参数分别代表圆心位置的X和Y、椭圆的宽和高
ellipse(200,200,100,100);

在文本编辑器中输入代码后,点击运行(Run)图标,你将会看到如效果图所示的图像。倘若没有,消息传递区域会显示你编写代码存在的错误。这时候,你要做的就是去修改代码,保证每一个符号都输入正确

绘制一个静态的椭圆,我们键入了四个数据。倘若我们让它在运动产生更多的数据,效果会不会变得炫酷起来呢?

示例2-2:进击的椭圆

试试下面的代码:

void setup() {size(800, 800);  //编辑画布大小
}void draw() {if (mousePressed) {fill(0);  //设置画笔颜色为黑色} elsefill(255);  //设置画笔颜色为白色ellipse(mouseX, mouseY, 80, 80);  //绘制椭圆
}

其效果图大致如下:

##2.3 基本语法
Processing的Java模式既然是基于Java语言的,那我们是不是应该先去摸摸Java的脾气呢?

编写Java程序时,你应注意以下几点:

大小写敏感:Java是大小写敏感的,这就意味着标识符Hello与hello是不同的。

类名:对于所有的类来说,类名的首字母应该大写。如果类名由若干单词组成,那么每个单词的首字母应该大写,例如 MyFirstJavaClass 。

方法名:所有的方法名都应该以小写字母开头。如果方法名含有若干单词,则后面的每个单词首字母大写。

源文件名:源文件名必须和类名相同。当保存文件的时候,你应该使用类名作为文件名保存(切记Java是大小写敏感的),文件名的后缀为.java。(如果文件名和类名不相同则会导致编译错误)。

主方法入口:所有的Java 程序由public static void main(String args[])方法开始执行,和Processing程序由主tab开始执行是同一个道理。

你要掌握的Processing基本语法:

大小写敏感:这和Java一样。

标签名:第一个字符必须是英文字母且其中不包含特殊字符。

分号:分号代表语句的结束。

程序入口:Processing程序由主tab开始执行。

在编写程序的时候,我们要注意每一个标点符号每一次大小写的区分等等,养成良好的编程习惯。

##2.4 Books
《Processing互动编程艺术》

简单点评:中规中矩的教科书,帮助系统地掌握基础点。

《The nuture of code》

简单点评:浅显易懂,结构紧凑,水准一流。

《Processing语言权威指南(中文版)》

简单点评:书如其名,权威,字典式……

最后,推荐一个Processing中文学习交流网站:

Processing编程艺术

Processing 入门基础【秒懂小白篇】相关推荐

  1. phpstudy mysql创建表_MySQL_Mysql入门基础 数据库创建篇,1.创建数据表---基础(高手跳 - phpStudy...

    Mysql入门基础 数据库创建篇 1.创建数据表---基础(高手跳过) 正统方法:create [TEMPORARY] table 表名 [if not exists] (创建的列项定义) [表的选项 ...

  2. Java入门基础教程第一篇

    Java入门基础 Java是是一门面向对象编程语言,现在广泛使用,名声和c/c++.python一样,虽然我最常用的语言是python,但现在现在闲来无事,就写了这篇文章. 目录 Java入门基础 下 ...

  3. Processing “迁” p5.js【秒懂小白篇】

    We ❤ P5js, we decided to throw our full support on P5js in the future and drop support on Processing ...

  4. EGE入门基础知识学习篇

    文章目录 前言 一.EGE是什么? 二.EGE使用步骤 1.基本框架 2.创建游戏窗口 3.窗口背景颜色篇 4.坐标 5.文字篇 6.音乐篇 7.图片篇 8.其余篇 前言 本文主要是学习EGE的一些基 ...

  5. 3D点云数据结合深度学习入门基础(目标篇)

    最近,老师让我们研究深度学习与3D点云数据的研究方向,开始时,确实也不清楚何为3D点云,以及深度学习. 由于实验室师弟师妹全部是做深度学习识图相关横向研究工作的,所以很快的就掌握了,深度学习识图技术, ...

  6. mysql添加自团_Mysql入门基础 数据库创建篇

    1.创建数据表---基础(高手跳过) 正统方法:create [TEMPORARY] table 表名 [if not exists] (创建的列项定义) [表的选项] [分区的选项];#正统的创建方 ...

  7. java入门基础教程(纯干货知识点+视频资源)

    本套Java视频教程是黑马程序员冯老师精心录制的Java基础班视频,该视频专门针对零基础的学员录制,授课讲究通俗易懂.干货.通过该套Java视频教程的学习,相信你能够轻轻松松地入门java语言. 完整 ...

  8. 7.1 pdo 宝塔面板php_小白入门基础傻瓜式操作PHP面板安装使用_Bt宝塔面板

    ​ 小白入门基础傻瓜式操作PHP面板安装使用--Bt宝塔面板 从购买服务器到安装面板在到搭建网站(最基础的教程,以后会延伸到部署项目) 不用写代码谁都可以做到搭建自己的网站(PHP类)还有小程序,只要 ...

  9. Python入门基础篇 No.8 —— 时间的表示_unix时间点_毫秒_time模块

    Python入门基础篇 No.8 -- 时间的表示_unix时间点_毫秒_time模块 文章目录 Python入门基础篇 No.8 -- 时间的表示_unix时间点_毫秒_time模块 前言 一.时间 ...

  10. Processing零基础傻瓜入门教程-下载与安装与主界面简介

    某绿(笔者)作为一名设计系的学生,其中一门课便要用到此软件,于是,一问三不知的某绿就开始了漫长的processing之路. 此软件的简介以及用途某绿在此文章中不提及,想必想要使用的你已经初步了解过.( ...

最新文章

  1. Visual Studio Code之常备快捷键
  2. 《每日一题》48. Rotate Image 旋转图像
  3. 鸿蒙系统的挑战,简单的讲解下何为鸿蒙系统,可能会挑战你的认知颠覆你的想象...
  4. JS实现在输入框内输入@时,邮箱账号自动补全
  5. 并发编程(原子性、可见性、一致性)
  6. rstudio安装包_如何安装R与Rstudio
  7. 知乎:“我们不主动收集数据”;滴滴被打乘客怂了;三星太子归位 | CSDN极客头条...
  8. STM32驱动ST7920的12864液晶(串行方式)
  9. python3怎么使用qstring_PyQt的QString和python的string的区别
  10. oracle ash dump 导出,Oracle 导出 ASH的dump信息
  11. 【Axure交互教程】拖动滑块确定评分区间效果
  12. 【STM32H7的DSP教程】第7章 ARM DSP源码和库移植方法(IAR8)
  13. 【IoT】产品外包策略:外包地图-充分利用内外部资源
  14. 如何查看计算机连接的打印机驱动,打印机已经连接电脑了。360驱动大师怎么检查不出来打印机驱动在那里?...
  15. c语言里strcpy作用是什么,c语言中的strcpy是什么意思?
  16. mysql 难点_数据库技术的重点与难点有什么?
  17. VUE项目中CSS设置动态宽度的方法
  18. 中国危险化学品(危化品)物流行业发展投资分析及十四五前景预测报告2021-2027年
  19. 破解中兴zxv10 h108b联通定制版全过程
  20. 算法小讲堂之哈希表|散列表|考研笔记

热门文章

  1. Ubuntu 编译最新LLVM套件:LLVM 16.0
  2. 数组基础与字符串(尚学堂视频学习总结_004)
  3. [渝粤教育] 兴义民族师范学院 数据结构 参考 资料
  4. 双网卡 跃点_有关win7 pppoe拨号网络的跃点数及win7 多路internet访问带宽叠加 - Microsoft Community...
  5. Python3读写dbf文本
  6. 电商运营中京东运营法则
  7. Postgresql备份恢复用backup文件(pgadmin恢复功能不能点击)
  8. 知识图到文本的生成——拾贰
  9. 黑莓装Linux系统,“黑莓的Linux桌面管理器”──Barry的使用
  10. 树莓派33/100 - Pico控制直流小马达,为智能避障小车提供动力