마우스 이동제한
물체가 마우스를 따라다니며
이 물체는 정해진 경계에서만 따라다니도록 한다.
스케치 소스
--------------------------------------------------------------
float mx;
float my;
float easing = 0.05;
int radius = 24; // 마우스를 따라다닐 원의 반지름
int edge = 56;
int inner = edge + radius;
void setup(){
size(480,320);
noStroke();
smooth();
ellipseMode(RADIUS);
rectMode(CORNERS);
}
void draw(){
background(255);
if(abs(mouseX-mx)>0.1){ // 마우스의 x위치와 mx값이 0.1이라도 차이가 있으면
mx = mx + (mouseX -mx)*easing; //mx값을 재계산 이전mx값에 (mouseX-mx)*0.05 값 만큼 보정
// 결국 mx값은 현재의 마우스 x좌표 값으로 수렴함.
// (mouseX-mx)차이가 클수록 빨리 수렴함.
}
if(abs(mouseY-my)>0.1){
my = my + (mouseY -my)*easing;
}
mx = constrain(mx,inner, width-inner); // mx 값을 아래 사각형 너비 값으로 제한
my = constrain(my,inner, height-inner); // my 값을 아래 사각형 높이 값으로 제한
fill(150);
rect(edge,edge,width-edge,height-edge);
fill(255);
ellipse(mx,my,radius,radius); // mx,my를 중점으로 24의 반지름을 갖는 원
}
-------------------------------------------------------------------------------------------
영상
'아두이노_프로세싱 > 프로세싱' 카테고리의 다른 글
프로세싱 수학함수2 (삼각함수) (0) | 2012.07.30 |
---|---|
프로세싱 키보드값과 특수키값 출력 (0) | 2012.07.29 |
프로세싱 수학함수 1 (0) | 2012.07.28 |
프로세싱 마우스 클릭으로 사각형 만들기 (0) | 2012.07.17 |
프로세싱 마우스 좌표를 이용한 선그리기 (0) | 2012.07.12 |