티스토리 뷰
hitTestObject - 서로 겹치지않게 위치 찾아가기
책에서 배운 내용인데 응용해 본 것.
라이브러리 패널창에 'Slime'이라는 무비클립 클래스 객체가 있고, 객체의 충돌을 피해서 stage에 addChild 한다.
소스)
서로 겹치지않게 찾아가기.flaimport flash.display.MovieClip; import flash.events.Event; import flash.filters.GlowFilter; [SWF(frameRate="24", backgroundColor="0x000000")] var holder:Array = new Array(); this.addEventListener(Event.ENTER_FRAME, loop); function loop(e:Event):void{ var mc:MovieClip = new Slime(); mc.x = Math.random() * stage.stageWidth; mc.y = Math.random() * stage.stageHeight; mc.scaleX = mc.scaleY = Math.random()*1; holder.push(mc); if(checkIns(mc)){ this.addChild(mc); var glow:GlowFilter = new GlowFilter(); glow.color = 0xFFFFFF * Math.random(); mc.filters = [glow] }else{ holder.pop(); } } function checkIns($mc:MovieClip):Boolean{ //holder가 1개일때 : x //holder가 2개일때 : 2-1=1, i = 0 //holder가 3개일때 : 3-1=2, i = 0,1 for(var i=0; i<holder.length-1; ++i){ trace(i, holder.length-1) var flag:Boolean = holder[i].hitTestObject($mc); if(flag){ return false; break; } } return true; }
설명 준비중...
결과)
'■ 개발관련 ■ > 산수와 알고리즘' 카테고리의 다른 글
이전값, 현재값 알기 (0) | 2013.10.16 |
---|---|
조건문을 활용한 loop (0) | 2013.10.16 |
후치연산자와 전치연산자 (0) | 2013.10.16 |
토글 - %(모듈러스) (0) | 2013.10.16 |
토글 - Boolean Toggle (0) | 2013.10.16 |
댓글