processing集训day03

编程英语

load 加载 image 图像 hawthorn 山楂 true 真

false 假 if 如果 distance 距离 collision 碰

图片显示

显示图片步骤:

1、准备好图片

2、定义图片变量

3、载入图片至变量

4、进行图片显示

Processing 所支持的图片格式有很多,常见的有 PNG、JPG 和 GIF。png 格式的图片后缀名为 .png,

它支持透明、半透明、不透明的图片格式;jpg 格式的图片后缀名为 .jpg,它不支持透明的图片格式;

gif 格式的后缀名为 .gif,它支持透明的图片格式,它是几张图合在一起的图像文件

PImage 专门用于定义调用图片变量的数据类型

java 复制代码
PImage 变量名称;

loadImage() 用来载入图片

java 复制代码
loadImage( "图片名称" );

注意:填写的图片名称是包含图片的后缀名 , 例如:bg.png

字符串类型 (String)

字符串:双引号包裹起来的内容

String 变量名 = " 变量值 ";

image() 用于显示图片

java 复制代码
image( 图片变量名,x坐标,y坐标,宽度,高度 );

注意:图片显示的宽度和高度为可选参数,不需要调整可以不写

java 复制代码
// 定义背景图片至变量
PImage bg;
// 载入图片至变量
bg = loadImage("bg.png");
// 显示背景图片
image( bg,0,0 );

关系运算符

关系运算符:用于两个对象的比较

比较结果有两个值,真和假。

# 布尔类型

布尔类型 (boolean)

布尔类型数据:表示真或假

布尔值:真 true 假 false

java 复制代码
Boolean 变量名 = 布尔值;

布尔表达式:用于衡量真或假的表达式

if语句

if 语句:用于一种情况条件判断,如果满足条件则执行代码

java 复制代码
if ( 条件 ){
 执行代码
}

注意:条件可以为布尔表达式,也可以为布尔类型的值

示例:

java 复制代码
int a = 76;
int b = 36;
if (a>b){
 line(10,20,50,80);
}

计算距离

dist() 用于计算两点之间的距离

java 复制代码
dist(x1,y1,x2,y2);

分别代表第一个点的x坐标和y坐标第二个点的x坐标和y坐标

课堂案例

实现一个程序,要求设置指定的图片背景,然后有个山楂从上往下降落,鼠标控制糖葫芦串,串碰到了山楂,山楂停止降落,变为糖葫芦

实现代码:

java 复制代码
PImage bg;
//定义山楂图片变量
PImage hawthorn;
//创建变量x存储山楂的x坐标
int x = 600;
//创建变量y存储山楂的y坐标
int y = 0;
//创建变量collision控制是否发生碰撞
Boolean collision = false;
void setup(){
  size(1500,753);
  //载入背景图片至变量
  bg = loadImage("bg.png");
  //载入山楂图片至变量
  hawthorn = loadImage("before.png");
}

void draw(){
  background(0,0,0);
  //进行背景图片的显示
  image(bg, 0, 0 );
  //设置描边颜色为黑色
  stroke(0);
  //设置描边粗细为5
  strokeWeight(5);
  //绘制直线
  //起点坐标:mouseX+100,mouseY-200 
  //终点坐标:mouseX-50,mouseY+100
  line(mouseX + 100, mouseY - 200, mouseX -50, mouseY + 100);
  //进行山楂图片的显示
  image(hawthorn, x, y , 200,200);
  //山楂掉落
  y = y + 2;
  //越界判断
  if (y >753){
    y = 0;
  }
  //计算竹签最上方点到山楂图片中心点距离
  float distance = dist(mouseX+ 100 , mouseY - 200,x+100, y+100);
  //判断竹签最上方点到山楂中心位置的距离小于50,为真修改collision值
  if(distance < 50){
    collision = true;
  }
  //判断是否发生碰撞,为真修改山楂图片和山楂移动方式
  if(collision){
     x = mouseX -30;
     y = mouseY -220;
     hawthorn = loadImage("after.png");
  }
}
相关推荐
梦之妹3 个月前
Processing练习之变换颜色
java·算法·processing
梦之妹3 个月前
实验五之用Processing绘画
javascript·c++·processing
梦之妹3 个月前
Processing练习之鼠标控制线段粗细
java·算法·processing
梦之妹3 个月前
Processing练习之自动绘制
java·c++·processing
shandianchengzi6 个月前
【翻译】Processing系列|(四)用 Android Studio 从 0 到 1 进行 Processing 安卓开发
android·android studio·processing
帅小柏6 个月前
交互之舞:Processing中的用户互动与响应设计
交互·processing
村口曹大爷6 个月前
processing完整教程
java·开发语言·processing·libgdx
帅小柏6 个月前
代码绘梦:Processing艺术编程入门
processing
梦之妹8 个月前
Processing基本形状内容和实例
开发语言·processing
shandianchengzi9 个月前
【翻译】 Processing的安卓项目构建(译者用的是Android Studio)
android·processing