int x = 50; // 초기 공의 X위치
int y = 0; // 초기 공의 Y위치
int x_move_speed = 3; //공의속도
int y_move_speed = 3;
void setup()
{
size(500, 500);
smooth();
}
void draw()
{
background(255);
fill(0);
rect(0,0, 100, 100); // for 문 사용하기 귀찮아서 노가다 ㅡㅡ;;
rect(100,100, 100, 100);
rect(200,200, 100, 100);
rect(300,300, 100, 100);
rect(400,400, 100, 100);
if( color(255,255,255) == get(x,y)) // 추출한 값이 흰색이면 빨간색으로 아니면 흰색으로
{
fill(255,0,0, 100); //빨간색
}
else
{
fill(255, 100); //흰색
}
ellipse(x, y, 20, 20); // 추출한위치에 공을 위치 시킨다.
x = x + x_move_speed; // 공움직이기
y = y + y_move_speed;
if(x > width || x < 0) // 공이 화면상에서 벋어날려고 하면 위치 변경하기
{
x_move_speed *= -1;
}
if(y > height || y < 0)
{
y_move_speed *= -1;
}
}

get 함수의 활용도는 프로세싱에서 중요한 역할을 한다. 간단하게 색상을 추출 할뿐 아니라 이미지 크랍까지 가능하다.
활용 방법에 따라 그 가치는 이로 말할수 없다. ^^;;
이번에는 get 함수를 이용해 충돌 감지를 구현해 보자.
기본 원리는 간단하다.
1. 기본 배경의 색상을 get 으로 추출해서 해당값을 추출한다.
2. color(255, 255, 255) = > 이것은 프로세싱에서 흰색을 의미한다. #ffffff 이런식으로 16진수로 표현해도 무방하다.
3. if 문으로 배경색이 흰색이면 빨간색공으로 검은 색이면 흰색공으로 변화시킨다.
오랜만에 몰아서 올립니다.~ 즐거운 프로세싱 라이프~
Copyright © Smileblue.co.kr ( Jaejoong Lee ). All Right Reserved.
역활 -> 역할