(Processing自学第一天/第一个代码制作)
像素小块与音乐互动「鼠标键盘」processing
1.主要是希望实现音乐与背景的交互,随着鼓点可以实现背景颜色的提亮
2.4个对角的sprites自己移动
3.鼠标点击左键时,小怪兽们会放大1.1倍
4.按“space”实现音乐暂停,按“a”实现继续播放,按“s”实现rewind重头开始播放
代码如下
import ddf.minim.*;
import ddf.minim.analysis.*;
import ddf.minim.effects.*;
import ddf.minim.signals.*;
import ddf.minim.spi.*;
import ddf.minim.ugens.*;
PImage Image;
int xPos = 0;
int yPos = 0;
int xPos1 = 0;
int yPos1= 500;
int boxSize = 50;
int xPos2 = 500;
int yPos2 = 500;
int xPos3 = 500;
int yPos3 = 0;
Minim minim;
AudioPlayer song;
void setup()
{
size (600, 600);
Image = loadImage("Sprite.png");
minim = new Minim(this);
song = minim.loadFile("trap1.mp3", 2048);
song.loop();
}
void draw()
{
float backgroundCol = song.mix.level()*255.0;
background(backgroundCol, 0, backgroundCol);
image(Image, xPos, yPos, boxSize, boxSize);
xPos += 2;
yPos += 2;
if (xPos>width)
{
xPos=0;
yPos=0;
}
image(Image, xPos1, yPos1, boxSize, boxSize);
xPos1 += 2;
yPos1 -= 2;
if (yPos1<0)
{
xPos1=0;
yPos1=500;
}
image(Image, xPos2, yPos2, boxSize, boxSize);
xPos2 -= 2;
yPos2 -= 2;
if (xPos2<0)
{
xPos2=500;
yPos2=500;
}
image(Image, xPos3, yPos3, boxSize, boxSize);
xPos3 -= 2;
yPos3 += 2;
if (yPos3<0)
{
xPos3=500;
yPos3=0;
}
}
void keyPressed()
{
if (key==' ')
{
song.pause();
}
if (key=='a')
{
song.play();
}
if (key=='s')
{
song.rewind();
song.play();
}
}
void mousePressed()
{
boxSize *= 1.1;
}
效果演示
图片:
//btw,为什么看大佬们的代码都很精简,我的还没怎的就这么长????