processing完整教程

news2025/2/23 7:10:00

概述:processing在我眼里就是libgdx的高度封装,如果各位会libgdx,学processing应该可以说是无师自通,当然processing是java语言那边的。

processing是什么?

官网是这样解释的:Processing 是一本灵活的软件速写本,也是一种用于学习如何编码的语言。自 2001 年以来,Processing 一直在促进视觉艺术中的软件素养和技术中的视觉素养。有数以万计的学生、艺术家、设计师、研究人员和业余爱好者使用处理进行学习和原型设计。

其实我觉得就不能算是语言,顶多是java的libgdx的高度封装

那为什么要学processing?

对于我来说,java找不到工作了,准备躺平了,正巧爱好就是游戏,看了一眼processing,便迷住了。

目录

第一步:下载processing

第二步:启动processing

第三步:开始玩转processing

画个窗口

输出"Hello World"

规范格式

移动小球案例

惯例写法,规范类

第四步:认识颜色

颜色根据位置变动的小球案例


第一步:下载processing

官网:欢迎来到 Processing!/ Processing.org

点击下载最新版即可。

第二步:启动processing

点击exe文件即可启动processing

第三步:开始玩转processing

画个窗口

size(680,320);

输出"Hello World"

size(680,320);
background(0);
textSize(64);
textAlign(CENTER);
text("Hello World", 200, 200);

规范格式

正如我说的,这个是libgdx的高度封装,所以会有很多libgdx的内置函数。一般我们要按照libgdx格式规范


void setup() {
  size(680, 320);
  background(0);
}

void draw() {
  textSize(64);
  textAlign(CENTER);
  text("Hello World", 200, 200);
}

现在,我来讲解一下这个格式,setup函数是只执行一次,通常用于初始化,而draw函数则是无限次执行,里面有一个while循环,只要程序没有中断,就会不断的draw。

移动小球案例

正如我之前说的,程序会不断的draw,在draw过程中,改变小球的位置,就能实现移动


float circleX,circleY;

void setup() {
  circleX=0;
  circleY=0;
  size(680, 320);
  background(0);
}

void draw() {
  circle(circleX, circleY, 20);
  circleX+=5;
  circleY+=5;
}

正如我说的会不断的画⚪,但是会有很多的小球,解决这个问题也很简单,就在画的前面设置一下背景,用背景覆盖一下原先的小球即可


float circleX, circleY;

void setup() {
  circleX=0;
  circleY=0;
  size(680, 320);
  background(0);
}

void draw() {
  background(0);
  circle(circleX, circleY, 20);
  circleX+=5;
  circleY+=5;
}

惯例写法,规范类

可以将class全部定义到一个文件里面,但是这样会导致混乱。就像下面一样

一般来说,将不同的类,不同的事物放到不同的文件上,这样会更美观

点击上面那个三角形

然后就可以把⚪这个对象,和我主类区开

主类写:

BoxA boxA;
void setup() {
  boxA=new BoxA(0,0,20);
  size(680, 320);
  background(0);
}

void draw() {
  background(0);
  boxA.show();
  boxA.move(5,5);
}

⚪类写:

class BoxA{
  float circleY=0;
  float circleX=0;
  float circleR=0;
  public BoxA(float x,float y,float r){
    this.circleY=y;
    this.circleX=x;
    this.circleR=r;
  }
  public void show(){
     circle(circleX,circleY,circleR);
  }
  public void move(float xspeed,float yspeed){
    circleY+=yspeed;
    circleX+=xspeed;
  }
}

运行效果和之前一模一样

第四步:认识颜色

processing有灰度和RGB颜色区分

灰度:就是0到255,由暗转明

RGB:则是red、green、blue三种颜色,对应的参数范围也是从0到255

颜色根据位置变动的小球案例

只要在其show方法里面画小球的前面加个填充RGB,即可

看到这里了,相信你是愿意学的,推荐一下我的libgdx教程

nanshaws/LibgdxTutorial: libgdx 教程项目 本项目旨在提供完整的libgdx桌面教程,帮助开发者快速掌握libgdx游戏开发框架的使用。 (github.com)xicon-default.png?t=N7T8https://github.com/nanshaws/LibgdxTutorial

第五步:学会打印

有时候需要调试bug,这个时候就要学会打印输出到控制台

 println(boxA.circleX);

就单纯的println即可,数字就会打印到控制台上。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1670329.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

电脑配置不足的情况下,如何高效运行ANSYS?

ANSYS是一款功能强大的工程仿真软件,它对电脑配置有较高的要求。ANSYS对电脑配置要求高?ansys电脑带不动怎么办?ansys卡住了怎么解决?今天这篇文章一起来看看吧。 当电脑配置不足时,运行ANSYS可能会出现以下情况&…

有必要买超声波洗眼镜机吗?力荐四款实力超群超声波清洗机

在日常生活中,眼镜不仅仅是我们视野的延展,像太阳眼镜,也是有着独特的作用。但是,在每天的使用过程中,眼镜片表面难免会有灰尘,污迹,甚至油渍,这些都会对镜片的材质产生一定的损伤&a…

使用Git管理github的代码库-下

1、打开Git GUI 2、克隆代码库 3、到github代码下载页面,复制链接(source location) 4、目标路径中src在实际目录中是不存在的,会自动新建,否则会报错 5、添加代码,点击staged changed 6、 commit、push

博客互动革命:如何打造活跃读者社区并提升参与度

CSDN 的朋友你们好,我是未来,今天给大家带来专栏【程序员博主教程(完全指南)】的第 10 篇文章“与读者互动”。本文揭示了提升技术博客参与度的秘诀。从评论互动到社交媒体策略,本文将指导你如何建立强大的读者社区。掌…

一个注解实现SpringBoot接口请求数据和返回数据加密,提高系统安全性!

注解实现接口加密 1、前言1.1、前端必看1.2、后端必看 2、后端注解实现2.1、实现流程2.2、开始实现2.2.1、 pom2.2.2、 注解2.2.3、 加密工具类2.2.3、 定义切面(注意切点包名)2.2.4、 定义加密基类与各种入参VO2.2.5、写两个Controller 3、参考文章 1、前言 起因是公司给人开发…

深圳盐田某前沿研究所:OLED透明屏引领未来科技空间

产品:55寸OLED透明屏 项目时间:2024年04月 项目地点:深圳盐田 在科技日新月异的今天,前沿的研究机构不仅追求科研的突破,也在不断探索和尝试将最新科技融入其工作环境之中。深圳盐田的一家前沿研究所便是这一探索的先…

搜维尔科技:Xsens惯性动捕+Manus手套用于游戏开发制作

用户名称:北京源力星聚网络科技有限公司(Bilibili控股子公司) 主要产品:Xsens MVN link *2 ,Manus手套*2 ,MVN Animate Pro软件等 使用培训现场 使用2套Xsens MVN link 2副Manus手套Xsens Animate Pro软件…

成都数字产业园深度链接校企双方,共建产学研合作研发中心

在数字经济的浪潮中,企业与学院之间的深度链接显得尤为关键。作为人才输送的源头,学院承载着为社会培育高素质人才的使命;而作为创新与实践的基地,企业则渴望吸引这些新鲜血液,为自身的持续发展注入新的活力。近日&…

Adobe使用常见问题解答,如何续费?

“Adobe系统状态”页上的颜色表示什么? Gray表示我们调查了潜在的服务中断并确定它没有影响。橙色表示轻微问题。红色表示严重问题。蓝色表示定期维护。绿色表示所有服务均运行正常。 如何查看以前的CSO或CMR? 导航到 https://status.adobe.com.单击所…

超声波清洗机哪个品牌好用?热心推荐四款全能硬核的超声波清洗机

要知道,超声波清洗机的出现,对于那些经常戴眼镜的人来说,无疑是一种让他们解放了双手的清洁工具,由于戴着眼镜久了,就算用水冲洗,也不能够清洁到镜片缝隙里的脏污渍,但是随着时间的推移&#xf…

SAP-CentralFinance - 学习心得3 - 应付账款与物料管理之间的集成

业务示例 工厂 1010 需要轮胎和内胎。负责的采购组织将相应的采购订单交给了某知名供应商。数天之后,先收到了货物,然后收到了发票。 物料管理中的组织单位 物流的中央组织对象为工厂。工厂是公司的运营范围或分支。工厂可以是集中交货仓库、地区销售…

(五)STM32F407 cubemx IIC驱动OLED(3)软件篇

这篇文章主要是个人的学习经验,想分享出来供大家提供思路,如果其中有不足之处请批评指正哈。   废话不多说直接开始主题,本人是基于STM32F407VET6芯片,但是意在你看懂这篇文章后,不管是F1,F4,H7等一系列系统硬件IIC配…

Elastic 基于 RAG 的 AI 助手:利用 LLM 和私有 GitHub 问题分析应用程序问题

作者:来自 Elastic Bahubali Shetti 作为 SRE,分析应用程序比以往更加复杂。 你不仅必须确保应用程序以最佳状态运行以确保良好的客户体验,而且还必须了解某些情况下的内部工作原理以帮助排除故障。 分析基于生产的服务中的问题是一项团队运动…

迷宫中离入口最近的出口

题目链接 迷宫中离入口最近的出口 题目描述 注意点 maze[i][j] 要么是 ‘.’ ,要么是 ‘’entrance.length 2entrance 一定是空格子出口的含义是 maze 边界上的空格子entrance格子不算出口 解答思路 广度优先遍历找到走i步时所能到达的所有节点位置&#xff0…

趋势交易如何交易?fpmarkets实例分享

通过之前的文章,各位聪明的投资者想必都已经知道什么是趋势交易了 !但是趋势交易如何交易呢?其实很简单,只要理解了趋势交易的信号点以及如何获取的信号就能 很快的掌握如何使用趋势交易进行盈利,下面fpmarkets澳福就和…

实验过程演示【计算机网络实验】

前言 这是陈旧已久的草稿2023-05-20 11:23:54 这个是计算机网络的一个实验,现在也不知道这个是啥来着。 现在2024-5-12 22:33:17,发布到[计算机网络实验]专栏中。 实验过程演示 2023-5-18 20:17:45 1.搭建一个多跳网络拓扑,…

ViewModel 完全指南:实践与背后原理全解

一、引言 在现代Android应用开发中,处理UI数据的有效管理和状态保持是开发者面临的重要挑战之一。Google推出的Jetpack组件库中的ViewModel已成为解决这些问题的关键工具。ViewModel旨在以生命周期意识的方式存储和管理界面相关的数据,从而使数据在配置…

腐烂的橘子BFS

题目: 腐烂的橘子 在给定的 m x n 网格 grid 中,每个单元格可以有以下三个值之一: 值 0 代表空单元格; 值 1 代表新鲜橘子; 值 2 代表腐烂的橘子。 每分钟,腐烂的橘子 周围 4 个方向上相邻 的新鲜橘子…

探索大语言模型代理(Agent):研究背景、通用框架与未来展望

引言 近年来,随着人工智能技术的飞速发展,大语言模型(Large Language Models, LLMs)在智能代理(Agent)领域中的应用已成为研究的热点。这些代理不仅能够模拟人类的认知过程,还能在复杂的社会环…

JPA@Entry报错Could not determine recommended JdbcType for Java type

问题很明显,无法自动决定类型,那就手动告诉该字段。 一、直接上解决方案 如果是一对一的关系用 OneToOne 如果是一对多的关系用 OneToMany 如果是多对一的关系用 ManyToOne 二、另一个无空构造函数的问题 使用注解后,注解报错找不到空的…