processing集训day04

news2024/10/6 8:28:04

编程英语

mouse

鼠标

pressed

压平的

height

parent

父亲 / 母亲

else

否则

sound

声音

file

文档

music

音乐

new

key

pressed

压平的

mouse

鼠标

height

鼠标事件监听

监听鼠标按钮是否被按下:

mousePressed 变量

mousePressed 函数

鼠标按下

mousePressed 变量是系统内置变量,不需要提前声明

当任意一个鼠标按钮被按下时,值为 true; 如果没有按钮被按下 ( 或被释放后 ),值为 false。

mousePressed:true/false

mousePressed 函数代码执行的次数由鼠标按钮被按下的次数控制

只有当鼠标按钮被按下时,函数中的代码才运行一次。

此函数在每次鼠标按钮被按下后被调用。

void mousePressed(){ 
    执行的代码
}

逻辑运算符

逻辑运算符:用来表示日常交流中的 " 并且 “,” 或者 “,” 不是 " 等思想

在这里插入图片描述

条件 1 && 条件 2 与 / 并且

记忆口诀:

真 && 真 为真

真 && 假 为假

假 && 真 为假

假 && 假 为假

练习:

// 创建 float 类型 height 变量赋值为 1.5
float height = 1.5;
// 创建 boolean 类型 parent 变量赋值为 true
boolean parent = true;
// 使用 if 语句判断 height 大于等于 1.2 并且 parent
等于 true
if ((height >= 1.2) && (parent == true)){
 println(" 可以乘坐 ");
}

条件 1 || 条件 2 或 / 或者

两个条件只要有一个满⾜,返回 true

两个条件都不满足,返回 false

记忆口诀:

真 || 真 为真

真 || 假 为真

假 || 真 为真

假 || 假 为假

if else语句

if…else if-else 语句:用于多情况判断

if ( 条件 1){
 代码 1
}else if ( 条件 2){ 
    代码 2
}else{ 
    代码 3
}

一个条件判断完成后,则剩余条件不会再进行判断

else 部分内容可以省略不写

练习:

// 判断鼠标的位置小于 200,结果为真绘制一个三角形
// 判断鼠标的位置大于 200 小于 400,结果为真绘制一
个矩形
// 鼠标在其他位置时,绘制一个椭圆形
if (mouseX<200){
 triangle(100,100,20,400,180,400);
}else if(mouseX<400){
 rect(220,100,150,400);
}else{
 ellipse(480,300,200,150);
}

添加音频文件

播放音频步骤:

1、准备好音频文件

2、导入声音库

3、创建存储变量

4、载入音频文件并保存

5、播放音频文件

在这里插入图片描述

Processing 所支持的音频格式有 MP3、WAV 和 AIF/AIFF。mp3 格式的音频文件,是最常见的一

种音频格式,高频部分音质损失较严重;WAV 格式的音频文件,是微软公司专门为 Windows 开发的

一种标准数字音频文件;AIF/AIFF 格式的音频文件,是苹果电脑公司开发的一种专有的无损数字音频

格式文件。虽然 MP3 格式的音频最为常见,但是它处理起来可能非常慢,所以我们通常建议使用 WAV

或 AIF 文件。

Sound 库:专门用于处理声音的库

import processing.sound.*;

SoundFile:用于创建音频变量

SoundFile 变量名称;

每个音频都需要创建一个存储变量

载入音频并存储

变量名称 = new SoundFile(this, " 声音文件 ");

填写的声音文件是包含声音的后缀名,例如:music1.wav

播放音频文件

变量名称 . play();

示例:

// 导入声音库
import processing.sound.*;
// 创建存储变量
SoundFile music;
// 载入音频文件并存储
music = new SoundFile(this, "music.mp3");
// 播放音频文件
music.play();

在这里插入图片描述

钢琴项目完整代码

PImage star;
//导入声音库
import processing.sound.*;
//创建存储变量
SoundFile music1;
SoundFile music2;
SoundFile music3;
SoundFile music4;
SoundFile music5;
SoundFile music6;
SoundFile music7;
void setup(){
  size(1100,600);
  background(255,255,255);
  star = loadImage("star.png");
  //载入音频文件并存储
  music1 = new SoundFile(this, "music1.wav");
  music2 = new SoundFile(this, "music2.wav");
  music3 = new SoundFile(this, "music3.wav");
  music4 = new SoundFile(this, "music4.wav");
  music5 = new SoundFile(this, "music5.wav");
  music6 = new SoundFile(this, "music6.wav");
  music7 = new SoundFile(this, "music7.wav");
  
}

void draw(){
  fill(255,255,255);
  image(star,314,0);
  
  rect(200, 250, 100, 280);
  rect(300, 250, 100, 280);
  rect(400, 250, 100, 280);
  rect(500, 250, 100, 280);
  rect(600, 250, 100, 280);
  rect(700, 250, 100, 280);
  rect(800, 250, 100, 280);
  
  fill(0);
  rect(275, 250, 50, 150);
  rect(375, 250, 50, 150);
  rect(575, 250, 50, 150);
  rect(675, 250, 50, 150);
  rect(775, 250, 50, 150);
  
  textSize(30);
  fill(0);
  text("1",250,500);
  text("2",350,500);
  text("3",450,500);
  text("4",550,500);
  text("5",650,500);
  text("6",750,500);
  text("7",850,500);
}

//鼠标按下函数
//背景变为黑色

//①判断是否点击在第一个琴键范围内
//第一个琴键的点击范围:(mouseX>200 && mouseX<300) && (mouseY>250 && mouseY<550))
//判断结果为真,背景变为黑色
//②判断是否点击在第二个琴键范围内
//第二个琴键的点击范围:(mouseX>300 && mouseX<400) && (mouseY>250 && mouseY<550))
//判断结果为真,背景变为粉红色
//③同理判断剩余五个琴键,判断结果为真,背景改变为自己喜欢的颜色
void mousePressed(){
  if ((mouseX>200 && mouseX<300) && (mouseY>250 && mouseY<550)){ 
    background(0,0,0);  
    //播放声音
    music1.play ();
  }else if ((mouseX>300 && mouseX<400) && (mouseY>250 && mouseY<550)){
    background(255,43,122);
    music2.play ();
  }else if ((mouseX>400 && mouseX<500) && (mouseY>250 && mouseY<550)){
    background(255, 240, 0);
    music3.play ();
  }else if ((mouseX>500 && mouseX<600) && (mouseY>250 && mouseY<550)){
    background(255, 121, 0);
    music4.play ();
  }else if ((mouseX>600 && mouseX<700) && (mouseY>250 && mouseY<550)){
    background(106, 0, 222);
    music5.play ();
  }else if ((mouseX>700 && mouseX<800) && (mouseY>250 && mouseY<550)){
    background(32, 245, 139);
    music6.play ();
  }else if ((mouseX>800 && mouseX<900) && (mouseY>250 && mouseY<550)){
    background(66, 168, 243);
    music7.play ();
  }
}

在这里插入图片描述

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

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

相关文章

基于SpringBoot的药品管理系统

文章目录 项目介绍主要功能截图&#xff1a;部分代码展示设计总结项目获取方式 &#x1f345; 作者主页&#xff1a;超级无敌暴龙战士塔塔开 &#x1f345; 简介&#xff1a;Java领域优质创作者&#x1f3c6;、 简历模板、学习资料、面试题库【关注我&#xff0c;都给你】 &…

宝塔面板优惠券(折扣券)领取入口及使用教程

宝塔面板是一款服务器管理软件&#xff0c;支持Linux与Windows系统&#xff0c;提供了丰富的功能和插件&#xff0c;让服务器管理变得更加简单、安全、高效。为了让更多用户体验到宝塔面板的便利&#xff0c;官方会不定期推出优惠券活动。本文将为大家详细介绍宝塔面板优惠券的…

jQuery语法知识(表单事件)

表单事件 1、focus ( ) 触发条件&#xff1a; 获取焦点 作用对象&#xff1a; focus&#xff08;&#xff09;作用对象可以是任意元素 例&#xff1a; <!DOCTYPE html> <html><head><meta charset"utf-8"><title></title>…

国外网站seo教程,海外网站seo优化方案

随着互联网的发展&#xff0c;全球市场已经变得前所未有的普及。外贸企业不再局限于本土市场&#xff0c;而是可以轻松触及全球范围的潜在客户。全球市场的开放也意味着竞争的激烈。无论是大型跨国公司还是中小型企业&#xff0c;都在全球市场争夺有限的客户资源。 一、关键词策…

CSS实现文本和图片无限滚动动画

Demo图如下&#xff1a; <style>* {margin: 0;padding: 0;box-sizing: border-box;font-family: Poppins, sans-serif;}body {min-height: 100vh;background-color: rgb(11, 11, 11);color: #fff;display: flex;flex-direction: column;justify-content: center;align-i…

8 容器化微服务

文章目录 DockerSpring Boot和Buildpacks在Docker中运行系统Docker化微服务Docker化前端Docker化配置导入器Docker Compose使用Docker扩展系统共享Docker镜像小结 前面的文章&#xff1a; 1、1 一个测试驱动的Spring Boot应用程序开发 2、2 使用React构造前端应用 3、3 试驱动的…

[数据结构]顺序表

1、顺序表的概念及结构 1.1 线性表 线性表&#xff08; linear list &#xff09;是n个具有相同特性的数据元素的有限序列。 线性表是⼀种在实际中广泛使用的数据结构&#xff0c;常见的线性表&#xff1a;顺序表、链表、栈、队列、字符串... 线性表在逻辑上是线性结构&#…

47. 全排列 II - 力扣(LeetCode)

题目描述 给定一个可包含重复数字的序列 nums &#xff0c;按任意顺序 返回所有不重复的全排列。 输入示例 nums [1,1,2]输出示例 [[1,1,2], [1,2,1], [2,1,1]]解题思路 解题代码 class Solution {List<List<Integer>> result new ArrayList<>();Deq…

探索元宇宙:游戏的全新境界

你是否曾经想过&#xff0c;在一个完全由你自己掌控的虚拟世界里&#xff0c;体验前所未有的冒险和刺激&#xff1f; UTONMOS元宇宙游戏将带你进入这个全新的领域&#xff0c;让你的想象力和创造力自由驰骋。 UTONMOS&#xff0c;基于上海和数集团自主研发的和数链&#xff0c…

MoEs学习

和多任务学习的mmoe很像哦&#xff08;有空再学习一下&#xff09;moe layer的起源&#xff1a;Switch Transformers paper MoE moe由两个结构组成&#xff1a; Moe Layer &#xff1a;这些层代替了传统 Transformer 模型中的前馈网络 (FFN) 层。MoE 层包含若干“专家”(例如…

【教程】混淆Dart 代码

什么是代码混淆&#xff1f; 代码混淆是一种将应用程序二进制文件转换为功能上等价&#xff0c;但人类难于阅读和理解的行为。在编译 Dart 代码时&#xff0c;混淆会隐藏函数和类的名称&#xff0c;并用其他符号替代每个符号&#xff0c;从而使攻击者难以进行逆向工程。 Flut…

dubbo和eureka的区别

dubbo可以作为客户端&#xff0c;也可以作为服务端&#xff0c;因此他内置了很多序列化框架可供选择&#xff0c;通过配置可以进行选择。默认是hession&#xff0c;还有gson&#xff0c;fastJson&#xff0c;jdk自带的序列化。 eureka只能作为服务端&#xff0c;他序列要与客户…

LeetCode 670 最大交换数

周一&#xff0c;非常冷&#xff0c;大风呼呼的&#xff0c;上班路都走不动。 好消息&#xff0c;马上要过年了。大风吹&#xff0c;天气好。 过年过年&#xff0c;回家过年~ 学生时代的迷茫是不应该存在的&#xff0c;最好的时光应该尽情享受&#xff0c;而不应该自己给加层…

【zlm】针对单个设备的码率的设置

目录 代码修改 实验数据一 实验数据二 同时拉一路视频后 修改记录 使用方法 代码修改 要被子类引用 &#xff0c;所以放在protected 不能放private 下面的结论&#xff0c;可以在下面的实验数据里引用。“同时拉一路视频后” 实验数据一 https://10.60.3.45:10443/index…

深度学习如何弄懂那些难懂的数学公式?是否需要学习数学?

经过1~2年的学习&#xff0c;我觉得还是需要数学有一定认识&#xff0c;重新捡起高等数学、概率与数理、线代等这几本&#xff0c;起码基本微分方程、求导、对数、最小损失等等还是会用到。 下面给出几个链接&#xff0c;可以用于平时充电学习。 知乎上的&#xff1a; 机器学…

目标检测 - RCNN系列模型

文章目录 1. RCNN2. Fast-RCNN3. Faster-RCNN 1. RCNN 论文&#xff1a;Rich feature hierarchies for accurate object detection and semantic segmentation 地址&#xff1a;https://arxiv.org/abs/1311.2524 分为两个阶段&#xff1a; 目标候选框Object ProposalsProposal…

C语言float 类型数如何与0值⽐较?

一、问题 写出 float a 与“0值”⽐较的if语句。 二、解答 1、问题分析与解答 ⼀般地&#xff0c;如果⽤证判断⼀个数值型变量(short、int、long 等)&#xff0c;应该⽤ if(a0)&#xff0c;表示的含义是a与0进⾏“数值”上的⽐较; 但 float 型变量并不精确&#xff0c;不能直…

docker里安装conda,并source本地已有的虚拟环境包

有的环境比较难配&#xff0c;在镜像里配置的版本总是与本地不同&#xff0c;导致程序起不来&#xff0c;今天就用个最基础的镜像&#xff0c;去配置anaconda&#xff0c;然后直接导入虚拟环境。 本次使用镜像&#xff1a;nvcr.io/nvidia/cuda:12.2.0-runtime-ubuntu20.04&…

2024阿里云优惠活动隐藏页面,必看!

阿里云优惠活动隐藏页面之前在官网是可以看到的&#xff0c;2024阿里云官网升级后这个页面隐藏了&#xff0c;阿里云百科分享给大家阿里云优惠活动隐藏页面 aliyunbaike.com/go/activity 这是阿里云最新优惠活动集合页面&#xff0c;当前所有的活动都在这个页面&#xff0c;还有…

Ubuntu及CentOS 离线下载安装文件方法说明

一、离线安装包说明 Centos 包后缀名: rpm 安装方法&#xff1a;sudo rpm -ivh package.rpm Ubuntu 包后缀名字&#xff1a; deb 安装方法&#xff1a; sudo dpkg -i <package_file.deb> 二、手动下载 https://pkgs.org/ 通过网站搜索需要的离线包&#xff0c;选择…