이전값, 현재값 알기 이전값과 현재값 체크하여 이벤트나 동작을 부여 하는데에 활용 할 수 있다. 동작이 끝난 객체는 이전값에 넣어줌으로써 참조가 가능하다. for문으로 일일이 조회해서 초기화(혹은 조작)하는 것보다 당연히 퍼포먼스가 빠르다. 선임님께 스크립트 배울때 처음배운 로직. import flash.display.MovieClip; import flash.events.MouseEvent; var index:int = 0; var pIndex:int = 0; for (var i:int = 0; i
조건문을 활용한 loop 앞부분의 컨디션에서 값을 캐치하여 초기화 시키고, 뒷부분에서는 증감 부분을 써주어서 loop 시킨다. 예) 최대값이 2일때 0으로 초기화 if(_active2 == 2){ _active2 = 0; }else{ _active2++; } var index:int = 0; _btn.addEventListener(MouseEvent.CLICK, calFn) function calFn(e:MouseEvent):void { if (index == 2) { index = 0; //2-> 0 } else { index++; // 1, 2 } trace(index); //1,2,0 반복 }
hitTestObject - 서로 겹치지않게 위치 찾아가기 책에서 배운 내용인데 응용해 본 것. 라이브러리 패널창에 'Slime'이라는 무비클립 클래스 객체가 있고, 객체의 충돌을 피해서 stage에 addChild 한다. 소스) import 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 =..
토글 - 나머지 연산자 모듈러스 연산자는 나머지를 구하기 때문에 나눠지는 대상을 넘어설 수 없다. 값이 미만으로 나오기때문에. 예를 들어 2를 % 했을때 나올 수 있는 값은 0,1 뿐이다. 이것을 토글에 응용하면 다음과 같다. import flash.events.MouseEvent; import caurina.transitions.Tweener; var count:int = 0; _btn.addEventListener(MouseEvent.CLICK, calFn) function calFn(e:MouseEvent){ count++; if( (count % 2) == 0 ){ Tweener.addTween(rec_mc,{rotationX:0, time:2, transition:"easeOutExpo"}); ..
토글 - Boolean Toggle Boolean형 데이터에 false와 true를 번갈아 가면서 값을 대입하여 토글 기능을 구현하는 방법. import caurina.transitions.Tweener; import flash.events.MouseEvent; var isClicked:Boolean; btn.addEventListener (MouseEvent.CLICK, rotationHandler); function rotationHandler (e:MouseEvent) { isClicked = ! isClicked; if (isClicked) { Tweener.addTween (ball_mc,{rotationY:180, time:2, transition:"easeOutExpo"}); } else {..
10미만 0 붙이기 AS3.0에서는 데이터 형 변환까지 고려해서 아래와 같이.var _duration:Number = 39.9; var _time:Number = 5.23; trace(itostr(_time) + ":" + itostr(_duration)); //05:39 function itostr($num:Number):String{ var numInt:int = int(Math.floor($num)); var str:String = String(numInt < 10 ? "0" + numInt : numInt); return str; } 8 : Math.floor로 내림처리, Number를 int로 데이터 형변환. 9 : 10미만인지 검사, int를 String으로 데이터 형변환. 10 : 최종 값인..