본문 바로가기

as3

stage의 scaleMode에 대해서 알아봅시다 stage의 scaleMode는 네가지가 있습니다. 1. 첫번째는 'noScale'인데 이것은 창의 크기가 달라져도 화면의 크기와 비율이 변하지 않습니다. stage.scaleMode = 'noScale'; 2. 두번째는 'exactFit'인데 이것은 창의 비율대로 화면이 변합니다. stage.scaleMode = 'exactFit'; 3. 'noBorder' 는 직접 실행해서 확인해 보세요. 비율은 변하지 않습니다. stage.scaleMode = 'noBorder'; 4. 'showAll'은 창안에 다들어갑니다. 축소확대되나 같은 비율로 됩니다. stage.scaleMode = 'showAll'; 더보기
배열에 무비클립 넣어서 사용하기 배열에 무비클립을 넣어서 사용할 수 있습니다.다음 예제는 클릭하면 많은 원들이 랜덤하게 생성되도록 한 것입니다. var a:Array = new Array(); var cnt:int = 70;//배열에 무비클립생성해서 넣기 for(var i:int=0; i 더보기
슬라이드 모션에 마스크효과 주기 바니슬라이더 메뉴에가다 살짝 응용하여 마스크를 넣어봤습니다.아이디어는 두개의 쌍둥이 무비클립을 하나는 마스크를 걸어서 트윈 타임를 다르게 하는 것입니다. 소스는 아래와 같습니다. import fl.transitions.Tween;import fl.transitions.easing.*;var tempNum:int = 1;var nGap:Number = 550;var tw1:Tween;var tw2:Tween;ini()function ini() { btnLeft.visible = false btnLeft.addEventListener(MouseEvent.CLICK, leftHandler) btnRight.addEventListener(MouseEvent.CLICK, rightHandler)}function .. 더보기
간단한 스크롤바 만들기 전체 스크롤바를 무비클립으로 묶어 한 세트로 만듭니다.그 후에 무비클립 내부에 아래의 스크립트를 적어 넣습니다.소스를 열어서 확인해 보세요. /* 스코롤바 만들기 *///마우스 다운시 일어나는 일bar.buttonMode = true;bar.addEventListener(MouseEvent.MOUSE_DOWN,down);function down(e:Event):void{ bar.addEventListener(Event.ENTER_FRAME,showTxt); //엔터프레임이벤트등록 var bounds:Rectangle = new Rectangle(0,0,200,0); //드래그범위설정(시작점x, 시작점y, 가로, 높이) //여기서는 높이를 0으로 설정하는 것이 포인트 bar.startDrag(true, b.. 더보기
게임프레임웍기본형(절차적방식, 클래스방식) 초기화면 나오고 시작버튼 클릭하면게임모드로 플레이 하고 그냥 빈화면 10번 클릭으로 했습니다.엔딩화면 나오고 리스타트 클릭하면 다시 게임모드로 되는 것을 구현한 코드입니다. 우선 게임을 볼까요?시작버튼 클릭후 빈화면을 10번 클릭하면 게임이 종료됩니다. 절차적방식의 예입니다.소스를 보면 아시겠지만 플래시파일 첫번째 타임라인에 적어주면 됩니다. const STATE_INIT:int = 10;const STATE_PLAY:int = 20;const STATE_GAME_OVER:int = 30;var gameState:int = 0;var clicks:int = 0;var bgStart:BG_start = new BG_start();var btnStart:BTN_start = new BTN_start(); v.. 더보기
중력가속도 구현해 보자 게임 포트리스에서 사용될 만한 예제입니다.중력가속도를 구현한 소스입니다. //중력가속도 적용해 봅시다.var dx:Number = 10; var dy:Number = -10; var gravity:Number = 0.98; addEventListener(Event.ENTER_FRAME, moveBall); function moveBall(e:Event):void{ dy += gravity; //가속 ball.x += dx; ball.y += dy if(ball.y > stage.stageHeight){ ball.x = 100; ball.y = 100; dy = -10; } } 더보기
마우스이벤트 종합 예제 다음 예제는 많이 사용되는 다양한 마우스 이벤트를 종합적으로 구현한 것입니다.좀비 사격하는 게임에 쓰면 유용하겠죠? //조준경 이동(주의 조준경 무비클립과 마우스포인트가 겹쳐서 막혀 있으면 마우스 포인트를 인식못함)import flash.events.MouseEvent;addEventListener('enterFrame',go) function go(e){ mc.x=mouseX mc.y=mouseY Mouse.hide() }// 다양한 마우스이벤트 등록tg.addEventListener('mouseOver',f1) tg.addEventListener('mouseOut',f2) tg.addEventListener('click',f3) tg.addEventListener('mouseDown',f4); tg... 더보기
등속운동 구현방법입니다. 게임에서 쓸려고 등속운동 코드 만들었습니다.이 모션도 그냥 잔머리로 구현하려고 했더니 어렵더군요. //등속운동 var angle:Number; var distance:Number; var posX:Number; var posY:Number;stage.addEventListener("click", setPos);function setPos(e){ posX = mouseX; posY = mouseY trace("posX:"+posX); trace("posY:"+posY); stage.addEventListener("enterFrame", onEnter); }function onEnter(e){ var tx; var ty; tx = posX - mc.x; ty = posY - mc.y; angle = Math.. 더보기
[AS3] 두 점간 거리 구하기 두 점간의 거리를 구하는 방법입니다. 다음과 같은 함수를 만들어서 사용할 수 있습니다. //(x1, y1)에서 (x2, y2)까지의 거리를 구해서 정수값을 반환하는 함수 function distance(x1, y1, x2, y2) { var dx:Number = x2-x1; var dy:Number = y2-y1; var d:Number = Math.sqrt(dx*dx + dy*dy); return int(d); } 더보기
단체로 브라운운동 + 방향전환 이것을 기반으로 바퀴벌레 잡기 게임을 만들었습니다.각각의 객체에 enterFrame이벤트가 먹히도록 해 주면 됩니다.불규칙적인 타이밍으로 타겟을 바꿔주고 그 타겟을 향해 부드러운 움직임을 줍니다. 소스코드 var speedRate:Number = 0.1;var mcCnt:int=10;//var tx:Number = Math.random()*stage.stageWidth;//var ty:Number = Math.random()*stage.stageHeight;var mc:MC_c;for(var i:int=0; i 더보기