processing完整教程

概述: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.mzph.cn/bicheng/11425.shtml

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

相关文章

PTA 6-2 入侵者围剿第二关2情报解密

经过上一步,已经创建了2个分队的情报信息链,现在需要将2个分队的情报进行合并,并删除重复值,合并后的情报信息确保唯一性。 假定上一步输入的情报信息是有序的,现在是合并2个有序链表。 函数接口定义: 第…

每周一算法:无向图的最小环

题目链接 观光之旅 题目描述 给定一张无向图,求图中一个至少包含 3 3 3 个点的环,环上的节点不重复,并且环上的边的长度之和最小。 该问题称为无向图的最小环问题。 你需要输出最小环的方案,若最小环不唯一,输出…

core.sshd.xxxxxx文件过大

背景 【紧急】【应用分组】应用: 接入点服务, 分组: 观众预发, ip: xx.xx.xx.xx 【/】,磁盘使用率已连续2次大于90% [当前值:100%]。报警时间: 2024-05-13 14:07:01 原因 登录机器查看,发现根目录下有大量的崩溃文件将 / 打满 处理 1, 删…

C#链接数据库、操作sql、选择串口

// 公共增删方法 using MySql.Data.MySqlClient; using System.Data; namespace ****** {public class MySQLHelper{private MySqlConnection conn null;private MySqlCommand comm null;private MySqlDataReader reader null;/// <summary>/// 构造方法里建议连…

【图解计算机网络】TCP 重传、滑动窗口、流量控制、拥塞控制

TCP 重传、滑动窗口、流量控制、拥塞控制 TCP 重传超时重传快速重传 滑动窗口流量控制拥塞控制慢启动拥塞避免拥塞发生快速恢复 TCP 重传 TCP重传是当发送的报文发生丢失的时候&#xff0c;重新发送丢失报文的一种机制&#xff0c;它是保证TCP协议可靠性的一种机制。 TCP重传…

二级Java第五套真题(乱序版)含真题解析

一. 单选题(共39题,39分) 1. (单选题, 1分) 阅读下列代码 public class Test implements Runnable { public void run (Thread t) { System.out.println("Running."); } public static void main (String[ ] args) { T…

mysql 离线安装

package download mysql https://dev.mysql.com/downloads/mysql/ libaio http://mirror.centos.org/centos/7/os/x86_64/Packages/libaio-0.3.109-13.el7.x86_64.rpm 根据自己服务器选择下载对应的安装包及依赖 删除本机自带mysql相关 # 首先排查服务器自身是否有安装对应m…

威胁建模的艺术:了解网络安全风险的另一面

网络安全的本质是攻防双方的对抗与博弈。然而&#xff0c;由于多种攻防之间的不对称性因素存在&#xff0c;使得攻击者总能在对抗过程中抢占先机。为了更好地了解潜在的威胁和缺陷&#xff0c;实现主动式防御&#xff0c;企业需要重新考虑他们的网络防护方法&#xff0c;而威胁…

【数据库】基础概念

1. linux中启动mysql服务器的命令是&#xff1a;service mysql start 2. linux中停止mysql服务器的命令是&#xff1a;service mysql stop 3. linux中重启mysql服务器的命令是&#xff1a;service mysql restart 4. linux中查看mysql服务器运行状态的命令是&#xff1a;serv…

抖音小店怎么运营才能出单呢?就这一个步骤做好,爆单不是梦!

哈喽~我是电商月月 新手做抖音小店绝对会有这两个问题&#xff1a;怎么运营&#xff1f;不出单怎么办&#xff1f;被这两个问题困扰着的商家&#xff0c;别着急&#xff01; 看完我这一篇分享&#xff0c;你就知道自己的问题所在了&#xff01; 抖音小店的运营中&#xff0c…

【工程师的自我修养】有效沟通

虽然大家都会说话&#xff0c;但不是每个人都会沟通。工作中不可避免的要与他人接触&#xff0c;沟通在工作中非常重要&#xff0c;沟通到位则事事顺畅&#xff0c;沟通不到位则举步维艰。 1、先说结论&#xff0c;再说过程 英语的语法习惯先说结论&#xff0c;I have lunch at…

30xx 51xx 请求指定地址配对连接

<?xml version="1.0" encoding="utf-8"?> <ConfigSet HwVariant="QCC3034-AA_DEV-BRD-R2-AA" SwVariant="Headset-Gaming"> <DefineGroup> <DefineBlockList> <enum …

找不到msvcp100.dll,无法继续执行代码的问题详细解析

当您在运行某个程序或游戏时遇到提示“找不到msvcp100.dll&#xff0c;无法继续执行代码”&#xff0c;这通常意味着系统中缺失了一个重要的动态链接库文件&#xff0c;从而导致应用程序无法正常启动。为了解决这个问题&#xff0c;本文将介绍5种常见的解决方法&#xff0c;帮助…

法国签证照片尺寸怎么调整?图片调整尺寸的方法介绍

在我们的平时生活中&#xff0c;个人证件照是我们必不可少的身份证明&#xff0c;它是一种具有严格尺寸和比例要求的特殊照片&#xff0c;对于一些特定的场合&#xff0c;比如我们在申请法国签证的时候&#xff0c;需要把照片调整到规定的大小尺寸&#xff0c;那么&#xff0c;…

数字人实训室助推元宇宙人才培养

如今&#xff0c;全身动作捕捉设备已经大量应用在影视、动画、游戏领域&#xff0c;在热门的元宇宙内容领域中&#xff0c;全身动作捕捉设备逐步发挥着重要的作用&#xff0c;在包括体育训练、数字娱乐虚拟偶像、虚拟主持人、非物质文化遗产保护等等场景&#xff0c;数字人实训…

通过任意文件读取获取weblogic账号密码

对于weblogic获取到账号密码的前提是有任意文件读取存在&#xff0c;当任意文件读取存在时是可以读取配置文件来对账号密码进行解密。weblogic密码使用AES&#xff08;老版本3DES&#xff09;加密&#xff0c;对称加密可解密&#xff0c;只需要找到用户的密文与加密时的密钥即可…

k8s 配置管理

文章目录 k8s 配置管理ConfigMappod 中使用 Secretdocker-registry SubPath配置热更新使用方案 不可变Secret 和 ConfigMap k8s 配置管理 ConfigMap 一般用于去存储 Pod 中应用所需的一些配置信息&#xff0c;或者环境变量&#xff0c;将配置于 Pod 分开&#xff0c;避免应为…

为什么跨境电商大佬都在自养号测评?看完你就懂了!

在跨境电商的激烈竞争中&#xff0c;各大平台如亚马逊、拼多多Temu、shopee、Lazada、wish、速卖通、煤炉、敦煌、独立站、雅虎、eBay、TikTok、Newegg、Allegro、乐天、美客多、阿里国际、沃尔玛、Nike、OZON、Target以及Joom等&#xff0c;纷纷成为商家们竞相角逐市场份额的焦…

【C#】.net core 6.0 ApiController,API控制器方法,API接口以实体类作为接收参数应该注意的点

欢迎来到《小5讲堂》 这是《C#》系列文章&#xff0c;每篇文章将以博主理解的角度展开讲解。 温馨提示&#xff1a;博主能力有限&#xff0c;理解水平有限&#xff0c;若有不对之处望指正&#xff01; 目录 背景实体类参数API接口不可空参数可空参数参数类型MVC历程相关文章 背…

LeetCode例题讲解:45.跳跃游戏Ⅱ

给定一个长度为 n 的 0 索引整数数组 nums。初始位置为 nums[0]。 每个元素 nums[i] 表示从索引 i 向前跳转的最大长度。换句话说&#xff0c;如果你在 nums[i] 处&#xff0c;你可以跳转到任意 nums[i j] 处: 0 < j < nums[i] i j < n 返回到达 nums[n - 1] 的最…