앞의 포스팅에 이어서.. 움직임에 관한 설명이다. 3.0에서 새로 생긴 rotationY (X,Z가 더있다)를 사용하여 객체를 Y축으로 회전 시킬 수 있다. 2.0에서 삼각함수의 코사인(x축으로 +, - 를 반복운동)하던 꼼수를 벗어나서 진정한 3D rotation을 구현한다 Flash Player 9버전. 삼각함수로만든 움직임 Flash Player 10버전. 10버전 메서드를 사용한 움직임 좀더 자세히 비교해보자.import flash.events.Event; import flash.display.MovieClip; var t:Number = 0; pic0.addEventListener(Event.ENTER_FRAME, loop_0); pic1.addEventListener(Event.ENTER_FR..
DisplayObject끼리의 충돌을 검사하여 교차하면 true, 그렇지 않으면 false를 반환하는 메서드이다. 이것을 가지고 기초적인 책의 샘플을 응용하여 도형 맞추기를 만들어봄. import flash.display.MovieClip; import flash.events.MouseEvent; var posX:Number; var posY:Number; var myInstance:Array = new Array(poly_mc,rect_mc,star_mc,cir_mc); for(var i:int = 0; i
샘플소스) import flash.display.Shape; import flash.display.Graphics; import flash.geom.Point; //원의반경, 면의 갯수, 라인색, 면의 채색여부 function drawPoly(radius:int=100, side:uint=3, lineColor:uint=0xFF00FF, fill:Boolean=false):Shape{ var sh:Shape = new Shape(); var g:Graphics = sh.graphics; if(fill)g.beginFill(0x99CC33, 1); g.lineStyle(2,lineColor,1); g.moveTo(radius,0); var rad:Number = (Math.PI * 2) / side; //..
해상도 1024 x768의 브라우저 중앙정렬은 다음과 같다. 1. position : absolute (포지션은 크게 상관없음 relative 등 으로 해도..) 2. 높이와 가로를 각각 브라우저의 50% 위치로 지정한뒤 magin으로 높이/2, 가로/2 로 빼주면 정중앙으로 이동된다. 3. 그러면 width:1024, height:768 이고 top:50%, left:50% 적어준뒤에, margin:-384px 0 0 -512px 실무적용사례) 10번 라인을 주목
자동차제어 인터페이스. 자동차들이 있는 클래스에서 공통된 제어는 페달 부분이고, 크게 브레이크와 악셀로 나뉜다. 이 페달부분을 인터페이스로 각 자동차들이 구현상속을 받고, 운전자인 드라이버는 그저 페달(인터페이스)만 조작할 뿐이다. 자동차를 바꾸고 싶을때는, 호스트코드에서 필요에 따라 자동차의 종류만 바꾸어 주면 된다. (내 실력이 실력인지라.. 상황에 맞게 예제를 코딩하였지만 코드의 확장 및 유연성이 부족함. 따라서 응용하려면 더욱 공부하는 수밖에 없다.) 구성은 다음과 같다. 자동차의 종류 - "쿠페, 레미콘, 세단" 클래스 자동차의 공통점 - "페달 : 브레이크, 악셀" 인터페이스 운전자 - "드라이버" 클래스 호스트 코트 - "Main" 도큐멘트 클래스 IPedal.as package carCon..
프로그래밍 언어에서 공통의 요소를 하나의 interface로 만들어서 implements로 구현상속을 시킨 후 기능구현은 그 구현상속된 클래스에서 동작하게된다. 예를 들어서 "자동차"라는 객체가있다. 프로젝트 안에서 한개가 아닌 쿠페, 레미콘, 세단, 포크레인, 렉카 등이 사용되고 자동차를 움직이는 드라이버는 어떠한 자동차이건 페달(브레이크,악셀)을 밟아서 사용하게된다. 이때 드라이버는 항상 페달(브레이크,악셀)을 사용하고, 자동차의 종류를 바꾸고 싶을 경우에는 행위를 바꾸는게 아니라 자동차모델만 변경 시켜서 운전을 하면된다. (자동차를 이용한 인터페이스는 다음 포스팅에서 자세히 설명.) 일단 이론적으로 interface가 필요한 이유는, 다형성에따른 다중상속 그리고 각각의 객체를 interface로 캐..
패키지 : flash.errors 클래스 : public dynamic class IllegalOperation_error 메서드 : IllegalOperation_error(message:String = "") 구현되지 않거나 현재의 사용이 구현 범위에서 벗어나는 경우 IllegalOperation_error 예외가 발생합니다. package { import flash.display.DisplayObject; import flash.display.Sprite; import flash.errors.IllegalOperationError; public class IllegalOperation_errorExample extends Sprite { public function IllegalOperation_e..
flashVars 값이 많을경우 사용하는 방법이다. xml을 이용해도 되고 그냥 &로 값을 이어붙여서 써도 되겠지만, 오브젝트형식으로 속성을 정의하여 한눈에 보기도 쉽고, 수정도 용이하고.. 그런방법이다. 일단 플래시빌더에서 최종 컴파일하여 bin-debug에 있는 메인 HTML에서 적용했을때, 10 : 우선 jquery라이브러리.js가 필요하다. 다운로드는 여기에서 http://jquery.com/download/ 제이쿼리 API는 http://api.jquery.com/ 여기에 자세하게 설명되어있다(영문) 11: swfobject.js는 플래시빌더에서 자동생성해 주므로 패스. 참고로 플래시IDE (CS5 ~ CS6) 에서는 js파일이 생성되지 않는 것으로 알고있는데, 만들어진 html에서 flashV..