Processing编程学习指南3.1 程序的运行流程

简介:

摘要


交  互

你记住,眼前所有这一切,不过是源于一个梦想和一只小鼠。

—华特·迪士尼(Walt Disney)

想象力的特点是流动性,而不是凝固性。

—拉尔夫·沃尔多·爱默生(Ralph Waldo Emerson)

本章主要内容:

电脑程序的运行流程

setup()和draw()的概念

鼠标交互

你的第一个动态Processing草图

掌握事件的概念,比如鼠标点击和键盘敲击


3.1 程序的运行流程


如果你曾经玩过电脑游戏,或者和一个数码艺术装置进行互动,又或者在凌晨三点看到电脑启动屏幕保护程序,你可能很少会去思考一个事实:这类软件会每隔一段时间循环前面所运行的内容。游戏开始以后,你要发现隐藏在迷幻彩虹岛上的秘密宝藏,击败恐怖的怪兽,赢得高分,最终游戏结束。

本章我要讲解的重点是程序的运行流程。游戏开始时都需要一系列的初始设定:你要给游戏角色命名,将游戏初始成绩预设为0,而且要从游戏的第一关开始。我们把这部分作为游戏的SETUP。完成上述的初始化设定之后,你才开始玩游戏。接下来在进行游戏的每一刻,电脑都会通过监测你使用鼠标的变化,从而计算出游戏角色的行为,进而对图像进行实时渲染并最终通过屏幕反馈给你。这一系列的计算和绘制在不断地往复循环进行着。理想情况下,每秒30帧甚至更高的刷新率能实现顺畅的动画效果。我们把这部分作为游戏的DRAW。

这个概念对你使用Processing跨越静态设计(正如第2章内容)是非常关键的。

1. SETUP中将程序的初始设置一次性完成。

2. DRAW中的绘图指令将会一遍一遍地循环执行直到退出程序。

接下来想象下你将进行一场赛跑。

1.第一步是穿上跑鞋和运动紧身衣,这一步骤只需做一次,对不对?

2.右脚向前,然后左脚向前。不断重复这个动作并且做得越快越好。

3. 26英里以后,跑步结束。

练习3-1:用文字写出一个简单电脑游戏的流程图,例如Pong(乒乓球游戏)。如果你对Pong不了解,可以访问:http://en.wikipedia.org/wiki/Pong。

 

相关文章
|
2月前
|
存储 Go C语言
如何用Go开发eBPF程序
【2月更文挑战第7天】
|
3月前
|
消息中间件 NoSQL Linux
workFlow c++异步网络库编译教程与简介
搜狗公司C++服务器引擎,编程范式。支撑搜狗几乎所有后端C++在线服务,包括所有搜索服务,云输入法,在线广告等,每日处理数百亿请求。这是一个设计轻盈优雅的企业级程序引擎,可以满足大多数后端与嵌入式开发需求。 编程范式 结构化并发与任务隐藏回调与内存回收机制
53 0
|
3月前
|
Rust
【一起学Rust · 项目实战】命令行IO项目minigrep——重构优化模块和错误处理
【一起学Rust · 项目实战】命令行IO项目minigrep——重构优化模块和错误处理
40 0
|
算法 测试技术 iOS开发
【第三篇】XiaoZaiMultiAutoAiDevices之运行流程
本框架大部分代码都是有详细的注释,配合此教程系列,把流程梳理通应该是没有什么问题。
【第三篇】XiaoZaiMultiAutoAiDevices之运行流程
|
存储 Java Go
Go 语言快速入门指南:第八篇 接口
前面的文章中,了解到 Go 语言不是一种传统意义上的面向对象语言,因此 Go 没有类和继承的概念。 但是面向对象的功能很强大而且很实用,前一篇文章中已经了解到可以通过嵌入类型来实现 Has-a 的关系。 这一篇文章将通过学习接口来看到 Go 通过结构体、方法和接口实现面向对象的功能。
|
NoSQL 编译器 iOS开发
[OC Runtime编程指南_翻译]三、与运行时交互
[OC Runtime编程指南_翻译]三、与运行时交互
112 0
|
算法 Go 调度
Go 语言入门很简单 -- 15. Go 并发基础知识 #私藏项目实操分享#
Go 语言入门很简单 -- 15. Go 并发基础知识 #私藏项目实操分享#
Go 语言入门很简单 -- 15. Go 并发基础知识 #私藏项目实操分享#
|
Java 编译器 开发工具
程序的执行流程和开发工具介绍 - 第五课
程序的执行流程和开发工具介绍 - 第五课
137 0
程序的执行流程和开发工具介绍 - 第五课
|
缓存 安全 Java
【Java并发编程实战14】构建自定义同步工具(Building-Custom-Synchronizers)(上)
JDK包含许多存在状态依赖的类,例如FutureTask、Semaphore和BlockingQueue,他们的一些操作都有前提条件,例如非空、任务已完成等。
106 0
|
设计模式 缓存 算法
【Java并发编程实战14】构建自定义同步工具(Building-Custom-Synchronizers)(下)
JDK包含许多存在状态依赖的类,例如FutureTask、Semaphore和BlockingQueue,他们的一些操作都有前提条件,例如非空、任务已完成等。
143 0

热门文章

最新文章