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。

 

相关文章
|
3月前
|
Java 测试技术 Python
《手把手教你》系列基础篇(八十一)-java+ selenium自动化测试-框架设计基础-TestNG如何暂停执行一些case(详解教程)
【6月更文挑战第22天】本文介绍了如何在TestNG中不执行特定测试用例。当部分模块未准备好时,可以通过以下方式暂停测试:③使用`@Test(enabled=false)`注解来禁用测试用例。作者提供了一个Java Selenium自动化测试的示例,展示如何通过修改`enabled`参数控制测试方法的执行。代码中,`testSearch2()`方法被禁用,因此在测试运行时不执行。文章还包含了测试报告和执行过程的截图。
52 7
|
3月前
|
Linux 芯片
Linux 驱动开发基础知识——查询方式的按键驱动程序_编写框架(十三)
Linux 驱动开发基础知识——查询方式的按键驱动程序_编写框架(十三)
45 2
|
3月前
|
Java 关系型数据库 MySQL
基于Java少儿编程管理系统设计和实现(源码+LW+调试文档+讲解等)
基于Java少儿编程管理系统设计和实现(源码+LW+调试文档+讲解等)
|
4月前
|
应用服务中间件 调度 数据库
SAP ABAP Update Process(更新进程)的概念和设计动机解析试读版
SAP ABAP Update Process(更新进程)的概念和设计动机解析试读版
|
4月前
|
Web App开发 数据采集 Java
《手把手教你》系列技巧篇(三十)-java+ selenium自动化测试- Actions的相关操作下篇(详解教程)
【4月更文挑战第22天】本文介绍了在测试过程中可能会用到的两个功能:Actions类中的拖拽操作和划取字段操作。拖拽操作包括基本讲解、项目实战、代码设计和参考代码,涉及到鼠标按住元素并将其拖动到另一个元素上或指定位置。划取字段操作则介绍了如何在一段文字中随机选取一部分,包括项目实战、代码设计和参考代码。此外,文章还提到了滑动验证的实现,并提供了相关的代码示例。
67 2
|
4月前
|
JavaScript Java 测试技术
基于Java的少儿编程在线培训系统的设计与实现(源码+lw+部署文档+讲解等)
基于Java的少儿编程在线培训系统的设计与实现(源码+lw+部署文档+讲解等)
47 0
RK3399平台开发系列讲解(内核入门篇)1.51、platform_get_resource 函数实现细节
RK3399平台开发系列讲解(内核入门篇)1.51、platform_get_resource 函数实现细节
141 0
RK3399平台开发系列讲解(内核入门篇)1.51、platform_get_resource 函数实现细节
|
算法 测试技术 iOS开发
【第三篇】XiaoZaiMultiAutoAiDevices之运行流程
本框架大部分代码都是有详细的注释,配合此教程系列,把流程梳理通应该是没有什么问题。
104 0
【第三篇】XiaoZaiMultiAutoAiDevices之运行流程