티스토리 뷰
Camera 클래스에서는 threshold 라는 메서드를 사용하여 임계값을 통과한 픽셀을 새 색상 값으로 설정하고
설정된 색상을 보통 getColorBoundsRect 라는 메서드로 사각형을 그려내서 증강현실과 같은 멋진 기능을 구현할 수 있는데
이 getColorBoundsRect에서 그려낸 영역과 파티클(객체)과의 충돌이 있을경우 반대 방향으로 파티클이 이동해야 하는데
이때 Rect안에 파티클이 완전히 겹친다거나 하는 상황이 생기면 파티클은 계속 왔다 갔다 하는 오작동이 생길 수 있다.
(계속 반대 부호가 반복되므로)
그래서 hitTestObject 메서드가 동작할 때 "최초의 _touchBool이 false일 경우에만 로직을 처리하고 true로 바꾸어 준다"
이렇게 되면 돌아오는 다음 인터벌에서 _touchBool이 true이 되기 때문에 로직을 처리 하지 못한다.
hitTestObject를 빠져나가게 되면 _touchBool을 false로 바꾸어준다.
코드)
private var _touchBool:Boolean = false; private function loop(e:Event):void { if( rectangle.hitTestObject(star_mc) ) { if( _touchBool == false ){ _touchBool = true; _vx = - _vx; //x _vy = - _vy; //y _rot = - _rot; //rotate } }else{ _touchBool = false; } }
'■ 개발관련 ■ > 산수와 알고리즘' 카테고리의 다른 글
포물선 운동과 공 step02:공에 중력 더하기 (0) | 2014.08.31 |
---|---|
포물선 운동과 공 step01:공의 움직임 (0) | 2014.08.31 |
주문서코드 invoice 코드 제작 - ASP (0) | 2014.04.28 |
최대공약수, 최소공배수 (0) | 2013.11.15 |
재귀함수 (0) | 2013.11.15 |
댓글