processing完整教程

简介: 本文提供了一个关于Processing的完整教程,包括下载、启动Processing、基本编程示例、颜色使用以及如何打印调试信息,适合初学者快速上手Processing编程。

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

processing是什么?

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

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

那为什么要学processing?

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

第一步:下载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即可,数字就会打印到控制台上。

目录
相关文章
|
移动开发 前端开发 JavaScript
从零开始学习前端开发:入门指南
本文将介绍从零开始学习前端开发的入门指南。通过学习HTML、CSS和JavaScript等基础知识,读者将了解前端开发的基本概念和工具,并学会如何构建简单的网页应用程序。无论您是初学者还是有一定经验的开发人员,本文都将帮助您打下坚实的前端开发基础。
|
人工智能 PyTorch 算法框架/工具
超详细且简单的Qt Designer设置界面背景图
超详细且简单的Qt Designer设置界面背景图
超详细且简单的Qt Designer设置界面背景图
|
数据采集 定位技术 数据安全/隐私保护
ESP8266调用NTP服务器进行时间校准
NTP服务器通常连接到具有高度精确时间源的设备,例如:GPS接收器或原子钟,以确保提供准确如一的时间。网络上的计算机可以通过连接到NTP服务器来同步其时间,并确保它们在同一时刻进行操作。
2158 0
|
Oracle Java 关系型数据库
Oracle jdk 的国内下载镜像
Oracle jdk 的国内下载镜像
58061 0
|
IDE JavaScript Java
Processing介绍及几个python模式下的案例
该文章介绍了Processing这一开源编程语言和环境,主要用于视觉艺术和设计领域,并提供了Python模式下的编程案例。
815 5
|
11月前
|
存储 人工智能 前端开发
Botgroup.chat:超有趣的开源 AI 聊天室!多个 AI 在线互怼,一键搭建你的专属 AI 社群
Botgroup.chat 是一款基于 React 和 Cloudflare Pages 的开源 AI 聊天应用,支持多个 AI 角色同时参与对话,提供类似群聊的交互体验。
2657 28
|
Java 图形学 Python
用Python和Pygame打造绚丽烟花效果+节日祝福语
本文介绍了一款基于Python和Pygame库实现的烟花效果程序,模拟烟花发射、爆炸及粒子轨迹,结合动态文本显示祝福语,营造逼真的节日氛围。程序包括烟花类、粒子类、痕迹类和动态文本显示功能,通过随机化颜色、速度和粒子数量增加效果多样性。用户可以看到烟花从屏幕底部发射、上升并在空中爆炸,伴随粒子轨迹和动态祝福语“蛇年大吉”、“Happy Spring Festival”。文章详细解析了核心代码逻辑和技术要点,帮助读者理解如何利用Pygame库实现复杂视觉效果,并提供了未来改进方向,如优化性能、增加特效和增强交互性。
1015 20
用Python和Pygame打造绚丽烟花效果+节日祝福语
|
移动开发 前端开发 Java
Java最新图形化界面开发技术——JavaFx教程(含UI控件用法介绍、属性绑定、事件监听、FXML)
JavaFX是Java的下一代图形用户界面工具包。JavaFX是一组图形和媒体API,我们可以用它们来创建和部署富客户端应用程序。 JavaFX允许开发人员快速构建丰富的跨平台应用程序,允许开发人员在单个编程接口中组合图形,动画和UI控件。本文详细介绍了JavaFx的常见用法,相信读完本教程你一定有所收获!
12770 5
Java最新图形化界面开发技术——JavaFx教程(含UI控件用法介绍、属性绑定、事件监听、FXML)