본문 바로가기

FLASH/AS3.0팁

단체로 브라운운동 + 방향전환 이것을 기반으로 바퀴벌레 잡기 게임을 만들었습니다.각각의 객체에 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 더보기
마우스 트레일러 만들기 배열을 사용해야 이벤트함수내에서 특정무비클립에 접근할 수 있네요.왜 그래야만 하는지는 잘 모르겠지만 이렇게 해야 하는 것 같습니다.cnt갯수만 늘려주면 갯수만큼 꼬리가 늘어납니다. var cnt:Number = 5;var speedRate:Number = 0.3;var distance:Number = 5;var mc:MC;var mc_array:Array = []; for(var i:int=0; i 더보기
휠마우스로 원형메뉴 돌리기 전시간에는 삼각 함수로 도형을 그렸습니다.이번에는 만든 도형을 움직여 볼께요.꼭지점 부분에다가 메뉴가 될 무비클립을 붙여넣기 하고 각도 변위값을 휠마우스delta 값에 맞게 바꾸어 주면 원으로 돌리는 모션을 만들 수 있습니다.휠마우스 이벤트가 블로그에서 브라우저에도 먹히기 때문에 문서에는 embed하지 않고 첨부파일 열어서 테스트 해 주시기 바랍니다. 소스코드입니다.var n:Number = 8; //n각형을 그려볼까?var t:Number = 0; //파이값var tt:Number = 0; //n 각 하나에 해당하는 파이var cx:Number = 275; //중심점xvar cy:Number = 200; //중심점yvar rx:Number = 100; //타원가로반경var ry:Number = 100;.. 더보기
삼각함수로 다각형 그리기 삼각함수로 한 싸이클의 움직임을 하는데 2파이가 사용됩니다.5각형을 만들때는 한점당 1/5 *2파이 가 되는 것입니다.그것에 착안하여 다각형을 그릴 수 있습니다.예제를 보죠. var n:Number = 5; //5각형을 그려볼까?var t:Number = 0; //파이값var cx:Number = 275; //중심점xvar cy:Number = 200; //중심점yvar rx:Number = 100; //타원가로반경var ry:Number = 100; //타원세로반경 ==> 서로 같으니 원이 되겠죠.var posArrayX:Array = new Array(); var posArrayY:Array = new Array(); //꼭지점 생성해 주고for(var i:int=0; i 더보기
삼각함수를 이용한 단진동 삼각함수를 이용하면 다양한 것을 할 수 있습니다.삼각함수의 특징은 일정한 범위 안에서 결과값이 나오는 것입니다.그래서 사인 파형이라든가, 원운동등을 만들어 낼 수 있습니다.단진동이라는 것은 일정한 범위내에서 규칙적으로 움직이는 것입니다. 다음 공식으로 단진동을 만들어 낼 수 있습니다. cx를 중심으로 -r부터 r까지 단진동의 예를 들면cx + r * Math.cos(t) cx + r * Math.sin(t) 위의 방법으로 단진동을 구현할 수 있습니다. 예제를 볼께요. var t:Number = 0; var startPoint:Number = 200; //시작점var radius:Number = 100; //반지름 addEventListener(Event.ENTER_FRAME, moveMC)function.. 더보기
마우스 따라 회전하는 무비클립 마우스 따라 회전하는 무비클립 예제입니다. addEventListener('enterFrame', spin); function spin(e){var tx:Number = stage.mouseX;var ty:Number = stage.mouseY; mc.rotation = Math.atan2((ty-mc.y), (tx-mc.x))*180/Math.PI + 90;//왜 +90을 해 주어야 할까?} 더보기
감속운동 : 마우스 따라오는 무비클립 감속운동 : 마우스 따라오는 무비클립 코드입니다. var speedRate:Number = 0.1; addEventListener('enterFrame', onEnter);function onEnter(e){ mc.x = mc.x + speedRate*(mouseX - mc.x); mc.y = mc.y + speedRate*(mouseY - mc.y);} 더보기
as3.0 키보드 방향키로 주인공 움직이기 액션스크립트에서는 키이벤트를 생성할 수 있습니다.그래서 키보드에서 방향키에 이벤트를 달아서 캐릭터를 움직일 수 있습니다.다음은 방향키를 누르면 그 방향으로 움직이는 것을 구현한 소스입니다. var k:Array = new Array(); //배열생성//키보드 누르고 뗀 여부를 배열에 불린 값을 넣어준다. stage.addEventListener(KeyboardEvent.KEY_DOWN, downHandler); function downHandler(e:KeyboardEvent){ k[e.keyCode] = true; } stage.addEventListener(KeyboardEvent.KEY_UP, upHandler); function upHandler(e:KeyboardEvent){ k[e.keyCod.. 더보기
as3.0 에서 배열 섞는 방법 배열을 랜덤하게 섞는 것은 게임구현에 있어 매우 중요합니다.게임의 불규칙성을 만들어 내려면 이런 방법을 사용하는 것이 좋습니다.그럼 어떻게 그것을 구현할 수 있을까요.플래시를 열고 메인 타임라인에 다음의 코드를 입력해 가면서 연습하면 좋을 것 같습니다.다음 코드는 배열을 랜덤하게 섞는 예제입니다. //배열에 배열값 넣기var tmp:Array = new Array(); for (var i:int=0; i0){ var r:int = Math.floor(Math.random()*tmp.length); //배열의 길이에서 랜덤값을 뽑아낸다 myArray.push(tmp[r]); //뽑아낸 배열값을 랜덤배열에 넣는다 tmp.splice(r,1); //해당배열값을 없앤다 } trace(myArray); 더보기
구글 트위너로 여러개 모션주기 다음은 구글 트위너를 이용하여 여러개 모션주는 예제를 만들어 봤습니다. delay를 사용하여 특정시간동안 멈추었다가 움직이게 할 수도 있고 트윈이 끝났을때 특정함수를 실행시킬수도 있습니다. import caurina.transitions.Tweener; allTween(); b.addEventListener("click", c);function c(e){ for(var i=1; i 더보기