int[] myNum= new int[5];
PFont font;
int x, y, index, chance;
void setup() {
size(720, 480);
background(255);
frameRate(5); //1초에 5번 void draw() 함수를 실행 (별도 지정없을 경우 1초에 60번 반복)
myNum[0]=5;
myNum[1]=10;
myNum[2]=19;
myNum[3]=64;
myNum[4]=89;
printArray(PFont.list()); // 사용 가능한 폰트리스트를 콘솔에 출력
font=createFont("ArailG1", 160);
textFont(font); // 폰트 설정
}
void draw() {
chance = int(random(100));
index = int(random(5));
x = int(random(width));
y = int(random(height));
if (chance < 50){
index=0;
} else if (chance < 70) {
index=1;
} else if (chance < 90) {
index=2;
} else if (chance < 95) {
index=3;
} else {
index=4;
}
fill(200);
ellipse(x, y, myNum[index]*2, myNum[index]*2);
fill(50);
textSize(myNum[index]);
textAlign(CENTER, CENTER);
text(myNum[index], x, y);
println(myNum[index]);
}
랜덤 숫자를 컬어 원에 나타내기
위 코드에 원의 색깔을 정하고, 나타난 원들이 점점 사라지다가 희미하게 남아 있도록 스케치하자.
추가로, 키보드 [s]키를 누르면 스케치창을 이미지로 저장하도록 스케치하자.
noStroke(), fill(), rect(), KeyPressed(), key, saveFrame(), nf()
int[] myNum= new int[5];
PFont font;
int x, y, index, chance;
int count = 0;
void setup() {
size(720, 480);
background(255);
noStroke();
frameRate(5); //1초에 5번 void draw() 함수를 실행 (별도 지정없을 경우 1초에 60번 반복)
myNum[0]=5;
myNum[1]=10;
myNum[2]=19;
myNum[3]=64;
myNum[4]=89;
printArray(PFont.list()); // 사용 가능한 폰트리스트를 콘솔에 출력
font=createFont("ArailG1", 160);
textFont(font); // 폰트 설정
}
void draw() {
fill(255, 5); // 함수를 실행할 때 마다 색이 엷어지는 효과. R,G,B,투명도
rect(0,0,width, height);
chance = int(random(100));
index = int(random(5));
x = int(random(width));
y = int(random(height));
if (chance < 50){
fill(56, 500, 88);
index=0;
} else if (chance < 70) {
fill(163, 150, 232);
index=1;
} else if (chance < 90) {
fill(232, 150, 171);
index=2;
} else if (chance < 95) {
fill(150, 232, 208);
index=3;
} else {
fill(195, 232, 150);
index=4;
}
ellipse(x, y, myNum[index]*2, myNum[index]*2);
fill(50);
textSize(myNum[index]);
textAlign(CENTER, CENTER);
text(myNum[index], x, y);
println(myNum[index]);
}
void keyPressed(){ // 이벤트함수
if (key == 's'){
saveFrame("dragon"+nf(count, 3)+".jpg"); // nf(숫자값,자리수)
count+=1;
}
}
'미디어아트.아트코딩 > 프로세싱 processing' 카테고리의 다른 글
[프로세싱] 랜덤한 위치에 그려지는 원을 선으로 연결 (0) | 2025.03.11 |
---|---|
[프로세싱] 랜덤하게 숫자 출력하기 + if/else if (0) | 2025.02.04 |
[프로세싱] 랜덤하게 숫자 출력하기 + 폰트 지정 (0) | 2025.02.04 |
[프로세싱] 시스템 변수 (0) | 2025.02.04 |
[프로세싱] 랜덤하게 숫자 출력하기 (0) | 2025.02.04 |