Processing 入门基础【秒懂小白篇】
桃花落,闲池阁。山盟虽在,锦书难托。莫,莫,莫!
——陆游《钗头凤•红酥手》
编程是一个俱乐部的入场券,是一个圈子的投名状。很多人看到这两字都会变成这样子:
我有句很喜欢的英文: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 入门基础【秒懂小白篇】相关推荐
- phpstudy mysql创建表_MySQL_Mysql入门基础 数据库创建篇,1.创建数据表---基础(高手跳 - phpStudy...
Mysql入门基础 数据库创建篇 1.创建数据表---基础(高手跳过) 正统方法:create [TEMPORARY] table 表名 [if not exists] (创建的列项定义) [表的选项 ...
- Java入门基础教程第一篇
Java入门基础 Java是是一门面向对象编程语言,现在广泛使用,名声和c/c++.python一样,虽然我最常用的语言是python,但现在现在闲来无事,就写了这篇文章. 目录 Java入门基础 下 ...
- Processing “迁” p5.js【秒懂小白篇】
We ❤ P5js, we decided to throw our full support on P5js in the future and drop support on Processing ...
- EGE入门基础知识学习篇
文章目录 前言 一.EGE是什么? 二.EGE使用步骤 1.基本框架 2.创建游戏窗口 3.窗口背景颜色篇 4.坐标 5.文字篇 6.音乐篇 7.图片篇 8.其余篇 前言 本文主要是学习EGE的一些基 ...
- 3D点云数据结合深度学习入门基础(目标篇)
最近,老师让我们研究深度学习与3D点云数据的研究方向,开始时,确实也不清楚何为3D点云,以及深度学习. 由于实验室师弟师妹全部是做深度学习识图相关横向研究工作的,所以很快的就掌握了,深度学习识图技术, ...
- mysql添加自团_Mysql入门基础 数据库创建篇
1.创建数据表---基础(高手跳过) 正统方法:create [TEMPORARY] table 表名 [if not exists] (创建的列项定义) [表的选项] [分区的选项];#正统的创建方 ...
- java入门基础教程(纯干货知识点+视频资源)
本套Java视频教程是黑马程序员冯老师精心录制的Java基础班视频,该视频专门针对零基础的学员录制,授课讲究通俗易懂.干货.通过该套Java视频教程的学习,相信你能够轻轻松松地入门java语言. 完整 ...
- 7.1 pdo 宝塔面板php_小白入门基础傻瓜式操作PHP面板安装使用_Bt宝塔面板
小白入门基础傻瓜式操作PHP面板安装使用--Bt宝塔面板 从购买服务器到安装面板在到搭建网站(最基础的教程,以后会延伸到部署项目) 不用写代码谁都可以做到搭建自己的网站(PHP类)还有小程序,只要 ...
- Python入门基础篇 No.8 —— 时间的表示_unix时间点_毫秒_time模块
Python入门基础篇 No.8 -- 时间的表示_unix时间点_毫秒_time模块 文章目录 Python入门基础篇 No.8 -- 时间的表示_unix时间点_毫秒_time模块 前言 一.时间 ...
- Processing零基础傻瓜入门教程-下载与安装与主界面简介
某绿(笔者)作为一名设计系的学生,其中一门课便要用到此软件,于是,一问三不知的某绿就开始了漫长的processing之路. 此软件的简介以及用途某绿在此文章中不提及,想必想要使用的你已经初步了解过.( ...
最新文章
- Visual Studio Code之常备快捷键
- 《每日一题》48. Rotate Image 旋转图像
- 鸿蒙系统的挑战,简单的讲解下何为鸿蒙系统,可能会挑战你的认知颠覆你的想象...
- JS实现在输入框内输入@时,邮箱账号自动补全
- 并发编程(原子性、可见性、一致性)
- rstudio安装包_如何安装R与Rstudio
- 知乎:“我们不主动收集数据”;滴滴被打乘客怂了;三星太子归位 | CSDN极客头条...
- STM32驱动ST7920的12864液晶(串行方式)
- python3怎么使用qstring_PyQt的QString和python的string的区别
- oracle ash dump 导出,Oracle 导出 ASH的dump信息
- 【Axure交互教程】拖动滑块确定评分区间效果
- 【STM32H7的DSP教程】第7章 ARM DSP源码和库移植方法(IAR8)
- 【IoT】产品外包策略:外包地图-充分利用内外部资源
- 如何查看计算机连接的打印机驱动,打印机已经连接电脑了。360驱动大师怎么检查不出来打印机驱动在那里?...
- c语言里strcpy作用是什么,c语言中的strcpy是什么意思?
- mysql 难点_数据库技术的重点与难点有什么?
- VUE项目中CSS设置动态宽度的方法
- 中国危险化学品(危化品)物流行业发展投资分析及十四五前景预测报告2021-2027年
- 破解中兴zxv10 h108b联通定制版全过程
- 算法小讲堂之哈希表|散列表|考研笔记
热门文章
- Ubuntu 编译最新LLVM套件:LLVM 16.0
- 数组基础与字符串(尚学堂视频学习总结_004)
- [渝粤教育] 兴义民族师范学院 数据结构 参考 资料
- 双网卡 跃点_有关win7 pppoe拨号网络的跃点数及win7 多路internet访问带宽叠加 - Microsoft Community...
- Python3读写dbf文本
- 电商运营中京东运营法则
- Postgresql备份恢复用backup文件(pgadmin恢复功能不能点击)
- 知识图到文本的生成——拾贰
- 黑莓装Linux系统,“黑莓的Linux桌面管理器”──Barry的使用
- 树莓派33/100 - Pico控制直流小马达,为智能避障小车提供动力