본문 바로가기

AS3/ActionScript

플래시에서 새로고침하기 startover.addEventListener(MouseEvent.CLICK, removeallFunction); function removeallFunction (event:MouseEvent):void { if (ExternalInterface.available){ ExternalInterface.call("function startover(){document.location.reload()}"); } } 더보기
클래스 기반의 사이트 작업을 위한 클래스 구조 샘플 플래시 코드 소스 자체를 얻는것도 힘들지만 클래스 기반으로 작성했을 경우 그 구조에 대한 정보를 알고 싶어도 직접 해당 전체 소스를 받지 않는 이상 힘든것이 사실입니다. 저 또한 처음 클래스를 개인적으로 공부할때 기본적인건 익힐 수 있었지만 실제로 프로젝트를 진행하기 위해 알아야할 구조 설계에 있어서만큼은,, 그 어떤 책도 해답을 줄 수가 없었습니다. 마치 풀 플래시를 만들기 위해 알아야할 구조 설계처럼 말이죠. 크 리스마스도 다가오고 해서 그냥 한번 도움 될까하여 현재 작업중인 사이트를 위해 작업한 클래스 구조 스크린샷 한번 올려 봅니다. 아직 초기 단계라 클래스가 완전히 작성된건 아니지만 구조 참고하는데에는 무리가 없으리라 봅니다.어떤 것이든 정답은 없습니다. 저희 회사만 해도 매인 개발자마다 조금씩.. 더보기
BitmapData 에 draw할때 크기 줄이기 BitmapData 에 draw할때 크기 줄이기 BitmapData의 외부 이미지를 불러왔을때 결과물의 크기를 줄이고 싶을때 Sprite 객체나 비트맵객체의 크기를 width값 또는 scaleX, scaleY를 통해 줄여도 draw되는 과정에서 원래 크기로 바뀐다. 이같은 문제를 해결하기 위해서는 Matrix 메서드를 이용하면 된다. var matrix:Matrix = new Matrix(); var scaleX:Number = 0.2; var scaleY:Number = 0.1; 매트릭스 메서드를 생성해주고 크기값을 만들어준다음 scale메서드를 이용하여 아래처럼 해주면 draw되는 과정에서 비트맵 데이터의 크기를 원하는데로 늘리고 줄일 수 있다. matrix.scale(scaleX, scaleY); .. 더보기
그림판 그림판을 시작으로해서 이것저것 기능을 추가하다보니 JPGEncoder를 통해 jpg저장과 db연결 다양한 작업을 하게되었다. 그림을 그린후 저장을 하면 자신이 서버에 올라가고 다른사람이 자신이 그린 그림을 재생해서 볼수 있다. 더보기
URLLoader로 php와 연동시 2.0과 3.0 값 뿌리는 형식 액션2.0에서는 php에서 아채처럼 값을 보냈습니다. 앞뒤로 "&" 붙네요. echo "&id=aaa&email=bbb&cphone=ccc&"; 하지만 3.0에서는 아래처럼 앞뒤로 & 빼줘야 정상적으로 값이 날라옵니다. echo "id=aaa&email=bbb&cphone=ccc"; 만약 2.0처럼 할경우 값을 보내게되면 &찌꺼기가 붙어서 날라오게됩니다. URLVariables로 변환 접근할경우에도 아래처럼 에러를 내뿜습니다. "URLVariables.decode()에 전달된 String은 이름/값 쌍을 포함하는 URL 인코딩된 쿼리 문자열입니다." 값을 잘 받아왔다면 받아온값을 data 메소드를 통해 바로는 접근할수 없습니다. 아래처럼 data를 URLVariables로 변환해서 접근해야 사용이 가능합.. 더보기
setPixel32 도트 생성 var bitmap:BitmapData = new BitmapData( 550, 400, true, 0xffffffff ); var image:Bitmap = new Bitmap( bitmap ); addChild( image ); var _bool:Boolean = true; stage.addEventListener (MouseEvent.CLICK, onMouseDownHandler ); function onMouseDownHandler( event:MouseEvent ):void{ if( _bool == false ){ _bool = true; removeEventListener(Event.ENTER_FRAME, onEnter ); }else{ addEventListener(Event.ENTER_FR.. 더보기
Loader var ldr:Loader = new Loader(); var url:String = "http://cfile9.uf.tistory.com/image/147441274BCC165503C1D5"; var urlReq:URLRequest = new URLRequest( url ); function completeHandler( e:Event ):void { trace( ldr.content ); } ldr.contentLoaderInfo.addEventListener( Event.COMPLETE, completeHandler ); ldr.load( urlReq ); addChild( ldr ); - content : 로드되는 객체( SWF, JPG, PNG, GIF)에 대한 내용 - contentLoadrI.. 더보기
객체지향 설계, 클래스의 재사용, setChildIndex, 예제 BaseDocument > McGroup > Mc ( 위임 관계에 있다 ) package classes { import flash.display.Sprite; import flash.events.MouseEvent; import classes.display.McGroup; public class BaseDocument extends Sprite { private var _mcGroup:McGroup; public function BaseDocument() { init(); } private function init():void { _mcGroup = new McGroup(6, 30, 30); addChild(_mcGroup); } } } BaseDocument > McGroup > Mc ( 위임 관계에 .. 더보기
switch 문과 산순연살자를 이용하여 계산기 만들기 /* 프로그램이름 : 계산기 만 든 이 : 권오남 만 든 날 짜 : 2009. 04. 21 */ // 변수 선언 var numA:String; var numB:String; var methodCalc:String; var numResult:Number; var numMc:int = 10; // 버튼으로 라벨 지정 btn00_mc.label = "0"; btn01_mc.label = "1"; btn02_mc.label = "2"; btn03_mc.label = "3"; btn04_mc.label = "4"; btn05_mc.label = "5"; btn06_mc.label = "6"; btn07_mc.label = "7"; btn08_mc.label = "8"; btn09_mc.label = "9"; bt.. 더보기
Array 함수를 이용해서 무비클립 복제와 Drag시키기 package { import flash.display.MovieClip; import flash.events.Event; import flash.events.MouseEvent; public class BaseDocument extends MovieClip { private var arr:Array; public function BaseDocument():void { init(); } private function init():void{ arr = []; var len:int = 10; for ( var i:int = 0; i < len; i++ ) { var mc:Mc = new Mc(); mc.x = Math.random() * stage.stageWidth; mc.y = Math.random() .. 더보기