processing完备教程

打印 上一主题 下一主题

主题 1798|帖子 1798|积分 5394

概述: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


画个窗口

  1. size(680,320);
复制代码

输出"Hello World"

  1. size(680,320);
  2. background(0);
  3. textSize(64);
  4. textAlign(CENTER);
  5. text("Hello World", 200, 200);
复制代码

规范格式

正如我说的,这个是libgdx的高度封装,以是会有很多libgdx的内置函数。一样寻常我们要按照libgdx格式规范
  1. void setup() {
  2.   size(680, 320);
  3.   background(0);
  4. }
  5. void draw() {
  6.   textSize(64);
  7.   textAlign(CENTER);
  8.   text("Hello World", 200, 200);
  9. }
复制代码

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

正如我之前说的,程序会不断的draw,在draw过程中,改变小球的位置,就能实现移动
  1. float circleX,circleY;
  2. void setup() {
  3.   circleX=0;
  4.   circleY=0;
  5.   size(680, 320);
  6.   background(0);
  7. }
  8. void draw() {
  9.   circle(circleX, circleY, 20);
  10.   circleX+=5;
  11.   circleY+=5;
  12. }
复制代码

正如我说的会不断的画⚪,但是会有很多的小球,办理这个标题也很简单,就在画的前面设置一下配景,用配景覆盖一下原先的小球即可
  1. float circleX, circleY;
  2. void setup() {
  3.   circleX=0;
  4.   circleY=0;
  5.   size(680, 320);
  6.   background(0);
  7. }
  8. void draw() {
  9.   background(0);
  10.   circle(circleX, circleY, 20);
  11.   circleX+=5;
  12.   circleY+=5;
  13. }
复制代码
惯例写法,规范类

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

一样寻常来说,将差别的类,差别的事物放到差别的文件上,这样会更美观
点击上面谁人三角形



然后就可以把⚪这个对象,和我主类区开
主类写:
  1. BoxA boxA;
  2. void setup() {
  3.   boxA=new BoxA(0,0,20);
  4.   size(680, 320);
  5.   background(0);
  6. }
  7. void draw() {
  8.   background(0);
  9.   boxA.show();
  10.   boxA.move(5,5);
  11. }
复制代码

⚪类写:
  1. class BoxA{
  2.   float circleY=0;
  3.   float circleX=0;
  4.   float circleR=0;
  5.   public BoxA(float x,float y,float r){
  6.     this.circleY=y;
  7.     this.circleX=x;
  8.     this.circleR=r;
  9.   }
  10.   public void show(){
  11.      circle(circleX,circleY,circleR);
  12.   }
  13.   public void move(float xspeed,float yspeed){
  14.     circleY+=yspeed;
  15.     circleX+=xspeed;
  16.   }
  17. }
复制代码

运行结果和之前一模一样
第四步:认识颜色

processing有灰度和RGB颜色区分
灰度:就是0到255,由暗转明
RGB:则是red、green、blue三种颜色,对应的参数范围也是从0到255
颜色根据位置变动的小球案例

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

看到这里了,信任你是乐意学的,保举一下我的libgdx教程
nanshaws/LibgdxTutorial: libgdx 教程项目 本项目旨在提供完备的libgdx桌面教程,帮助开发者快速把握libgdx游戏开发框架的利用。 (github.com)x
https://github.com/nanshaws/LibgdxTutorial
第五步:学会打印

有时间必要调试bug,这个时间就要学会打印输出到控制台
  1. println(boxA.circleX);
复制代码
就单纯的println即可,数字就会打印到控制台上。





免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

商道如狼道

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表