2013-05-04 2 views
1

나는 여전히 처리하기가 매우 새롭고 지금 당장 놀고있다. 마우스를 클릭 할 때 두 가지 색상, 특히 흰색과 검정색의 배경색을 변경하는 방법을 찾으려고했습니다. 나는 몇 가지 다른 색상 사이의 배경 색상 변경을 가지고 코드를 온라인으로 발견했지만 bg 색상이 두 가지 색상 사이에 변경 될 수있는 방법을 알아낼 수없는 것. 나는 특히 'col + ='와 'col % ='가 무엇을 나타내는가를 좋아할 것입니다. 처리 자습서에서 찾을 수 없기 때문입니다. 제발 도와주세요! 고맙습니다! 다음은 내가 찾은 코드입니다.처리시 배경색을 변경하는 방법?

void setup() { 
    size(600,400); 
    smooth(); 
colorMode(HSB); 

} 

int col = 0; 
void draw() { 
    background(col,255,255); 

} 

void mousePressed(){ 
col+=20; 
col%=255; 
println(col); 
} 

답변

1

"X + = Y"는 "X = X + Y"와 마찬가지로 "X ​​%의 Y ="속기 "X = X %의 Y"의 약어이다이다 (%는 나머지 연산자이고).

"배경을 한 색상에서 다른 색상으로 변경 한 다음 다시 다시 변경하는 방법"을 묻고 싶다고 가정합니다. 이것을하기위한 두 가지 방법이 있습니다. 두 개 이상의 참조 색상을 설정, 별도의 "현재"색상, 그 오프 배경 그리기, 무엇을 '현재'포인트로 변경 :

1

color c1 = color(255,0,0), c2 = color(0,0,255), current; 
void setup() { current = c1; } 
void draw() { background(current); } 
void mousePressed() { if(current==c1) { current = c2; } else { current = c1; }} 

때마다 당신을 클릭하면 프로그램은 "현재"가 가리키는 두 색상 중 어느 것이지를 확인한 다음 다른 색상으로 가리 킵니다.

2 : 하나 개의 색상을 설정하고 하나의 모듈로 일부 작업을 적용하거나, 2, ... 단계 :

color c = color(255,0,0); 
void draw() { background(c); } 
void mousePressed() { c = color(red(c), (green(c)+50)%255, blue(c)); } 

를 클릭 할 때마다, 색상 "C"는 그것의 녹색을 얻는다 50, 100, 150, 200, 250, 300 % 255 = 45, 95, 145, 195, 245, 295 % 255 = 40, 90 등

관련 문제