level 1
Elaine_GR
楼主
按计划经过每一个小格子的时候只响一声的
结果根本停不下来,后面的声音也被叠加上去了QAQ
成品大概如下
红色的条码扫到选中的篮筐的时候会发出短暂的声音
而我的- -一直响

import processing.sound.*;
SinOsc sin;
int spacing =50;
boolean[][]musicblock;
float[][]notes;
void setup()
{
size(950,400);
background(#ffebe7);
t=0;
musicblock= new boolean[6][18];
notes= new float[musicblock.length][musicblock[0].length];
}
void draw()
{
if(frameCount%17==1)
{
t=(t+1)%17;
sin.stop();
for(int j = 0; j<musicblock.length; j++)
{
for(int i = 0; i<musicblock[j].length; i++)
{
if(musicblock[j][t])
{
sin.freq(notes[j][t]);
sin.play();
}
else if (i!=t) sin.stop();
if(i!=t) sin.stop();
if(musicblock[j][i]) fill(#e5989b);
else fill(#e0474c);
if(i==t) fill(#6d6875);
rect(20+i*spacing, 20+j*spacing,spacing-10,spacing-10);
}
}
}
}
这是大概相关的一段,感觉问题应该就出在stop那一块QAQ
但是还是不知道怎么改
求高人指点QAQ
谢谢!
2017年11月07日 02点11分
1
结果根本停不下来,后面的声音也被叠加上去了QAQ
成品大概如下
红色的条码扫到选中的篮筐的时候会发出短暂的声音
而我的- -一直响

import processing.sound.*;SinOsc sin;
int spacing =50;
boolean[][]musicblock;
float[][]notes;
void setup()
{
size(950,400);
background(#ffebe7);
t=0;
musicblock= new boolean[6][18];
notes= new float[musicblock.length][musicblock[0].length];
}
void draw()
{
if(frameCount%17==1)
{
t=(t+1)%17;
sin.stop();
for(int j = 0; j<musicblock.length; j++)
{
for(int i = 0; i<musicblock[j].length; i++)
{
if(musicblock[j][t])
{
sin.freq(notes[j][t]);
sin.play();
}
else if (i!=t) sin.stop();
if(i!=t) sin.stop();
if(musicblock[j][i]) fill(#e5989b);
else fill(#e0474c);
if(i==t) fill(#6d6875);
rect(20+i*spacing, 20+j*spacing,spacing-10,spacing-10);
}
}
}
}
这是大概相关的一段,感觉问题应该就出在stop那一块QAQ
但是还是不知道怎么改
求高人指点QAQ
谢谢!