본문 바로가기
교플강12(마지막회)-대포게임 만들기 3. 포트리스 게임을 위한 키보드 입력방법 알아본다. 가. 키보드를 통한 상호작용 포트리스 게임(대포게임)을 제대로 만들기 위해 대포의 각도를 바꾸는 방법에 대해서 생각해 보자. 대포의 각도를 바꾸기 위해서 키보드의 방향키를 이용할 것이다. 상하 방향키를 이용하여 각도 변화를 만들어 보자. 우선 대포 무비 클립을 하나 만들어 인스턴스 네임을 ‘po’ 라고 하고, 키보드를 이용하여 회전시켜 보도록 하자. 메인프레임에 다음과 같이 적어 보자. //기초값 gak = 0; // 초기각도 onEnterFrame = function () { po._rotation = gak; if (Key.isDown(Key.UP)) { gak = gak-1; } if (Key.isDown(Key.DOWN)) { gak = gak.. 2013. 1. 16.
교플강11 -포물선 운동 구현하기 주제 : 플래시로 만들어 보는 포물선 운동과 포트리스 게임 ☐ 주제설정의 취지 및 목적 앞에서 우리는 플래시를 이용한 등속도 운동의 표현방법과, 등가속도 운동의 표현 방법에 대해서 공부했다. 이 장에서는 등속운동과, 등가속도 운동이 혼합된 운동, 포물선 운동에 대해서 공부하고자 한다. 실제 세계에서는 다양한 운동이 나타난다. 그런 다양한 운동을 표현하기 위해서는 그 물체에 작용하는 여러 가지 힘과, 마찰력, 운동방향등을 고려해 주어야 한다. 하지만 사실 이러한 물리적 현상을 모두 고려한다는 것은 쉬운 일은 아니다. 이 장에서는 간단한 방법을 이용하여 정확하지는 않지만 실제 세계와 유사한 상황을 표현할 수 있도록 좀더 접근해 보고자 한다. 간단한 포물선 운동을 통해 실제세계의 운동에 좀더 비슷하게 접근할 .. 2013. 1. 16.
교플강10-중력장에서 우주선 착륙게임 만들기 나. 착륙 우주선 게임 만들기 지금까지 배운 것을 토대로 우주공간에서 우주선을 키보드로 조절하여 우주기지에 착륙시키는 게임을 만들어보자. 1)고려해야 할 사항에 대해 토의해 보고 변수명을 정해보자. 우주선의 인스턴스명 (ufo) 지면의 인스턴스명 (san) 착륙장의 인스턴스명 (land) 2) 화면구성 3) 액션스크립트 //속도 초기화 vx = 0; vy = 0; g=0.01 //중력의 크기 onEnterFrame = function () { vy = vy+g; ufo._x = ufo._x+vx; ufo._y = ufo._y+vy; //산과의 충돌 구현 if (san.hitTest(ufo)) { delete onEnterFrame; //반복실행 없앰 trace("실패"); } //착륙장과 의 충돌 구현 .. 2013. 1. 16.
교플강9 - 관성효과에 의한 운동 3. 관성효과를 이용한 공의 운동을 표현할 수 있다. 가. 키보드를 이용한 운동효과 구현 이번에는 키보드를 사용하여 우주선을 조절해 보도록 하자. 키보드로 우주선을 조절하기 위해서는 우선 플래시에서 키보드가 눌렸는지를 감지해야 할 것이다. 그리고 눌려진 키가 무엇인지도 알아내야 할 것이다. onClipEvent 문을 사용하여 무비클립 자체에다 명령을 줄 수도 있으나, 우리는 지금까지 메인프레임에 액션스크립트를 부여해 왔기 때문에 조금 어렵더라도 액션스크립트에 명령을 부여 하는 방법을 택하도록 하겠다. 우선 키보드가 눌렸는지 체크하기 위해서는 아래와 같은 명령을 메인프레임에 적어 주면 된다. //프레임이 반복될때 마다 onEnterFrame = function () { //만약 커서키 중에 왼쪽커서키가 눌.. 2013. 1. 16.
교플강8 - 자유낙하운동 2. 자유낙하 운동을 컴퓨터로 구현할 수 있다. 가. 자유낙하 운동 공식 이해 자유낙하란 중력에 의해 물체가 지구중심으로 떨어지는 운동을 이야기 한다. 지구중심방향으로 떨어지는 물체는 중력가속도(g) 때문에 점점 속력이 빨라지는 등가속도 운동을 하게 된다. 이곳에서 자유낙하 운동을 다루고자 하는 이유는 우리 주변에서 항상 접하고 있는 사건이기 때문이다. 자유낙하 운동의 공식을 살펴보면 아래와 같다. 중력가속도 : g=9.8(m/s²) 속 도 : v=v0+gt 이 동거 리 : s=s0+v0t +(1/2)gt² v:나중속도(m/s), v0:처음속도(m/s), a:가속도(m/s²) t:걸린시간(s), s:이동거리(m) s0:초기위치(m) 나. 자유낙하 운동 표현방법 구상 우선 시간부터 생각해 보자. 시간 변화.. 2013. 1. 16.
교플강7-물체의 가속도 운동 구현하기 주제 : 플래시로 구현해보는 가속도 운동과 자유낙하 운동 ☐ 주제설정의 취지 및 목적 플래시를 이용해서 가속도 운동과 자유낙하 운동을 표현해 보고자 한다. 우리가 알고 있는 등가속도 운동을 컴퓨터로 표현한다는 것은 생각처럼 쉬운일만은 아닐 것이다. 이 장에서 등가속도 운동을 컴퓨터로 시물레이션 해 봄으로써 컴퓨터로 움직임을 어떻게 표현하고 제어할 수 있는지를 알아 보고자 한다. 그리고 우리가 생각하는 공식을 컴퓨터가 이해하게 만들기 위해서 시간과 거리 표현을 어떤 방법으로 해야 할 것인지도 살펴보고자 한다. 조금 더 깊이 들어가 점화식을 만들어 보고 적용해 봄으로써 컴퓨터로 표현할 수 있는 운동의 개념을 이해하고 응용할 수 있게 될 것이다. 좀 더 자연스러운 움직임을 위해 어떤 것들을 고려해야 하며, 어.. 2013. 1. 16.
교플강6(벽돌깨기 만들기 - 충돌이해)-벽돌깨기를 위하여 4. 무비클립간의 충돌을 이해하고, 충돌후 반응을 처리할 수 있다. 공도 화면상에서 움직이고, 조절바도 마우스를 따라 다니며 움직이도록 만들었다. 이제는 조절바로 내려오는 공을 받았을때 다시 튕겨 올라가게 만들어야 할 것이다 .그렇다면 조절바와 공이 충돌이 일어나는지 어떻게 알 수 있겠는가 가. 조절바와 공의 충동방법을 이해한다. (hitTest) 플래시 애션스크립트 중 hitTest 문을 이용하면 두 무비클립간의 충돌을 체크할 수 있다. hitTest는 두 무비클립이 충돌했는지 안했는지의 여부를 알려주는 역할을 한다. 무비클립A.hitTest.무비클립B 무비클립A 와 무비클립B가 충돌을 했는지를 판정해 줍니다. 무비클립A.hitTest.(x,y,true) 무비클립A가 우리가 지정해준 (x,y)좌표와 충.. 2013. 1. 16.
교플강5(화면을 못 벗어나게, 그리고 마우스를 따라다니는 움직임) - 벽돌깨기를 위하여 2. 변수를 이용하여 운동의 방향을 바꿀 수 있다. 가. 공 무비클립이 화면을 벗어나지 못하도록 조건문을 이용하여 잡아둘 수 있다. 이번에는 공이 화면을 벗어나지 않고 계속해서 움직이게 만들어보자. 화면오른쪽 끝까지 가면 방향을 왼쪽으로 바꾸고, 화면 왼쪽 끝까지 오면 다시 방향을 오른쪽으로 바꾸게 해보자. 마찬가지로, 공을 계속해서 x축방향으로 움직이게 해야 할 것이다. 그리고 공이 오른쪽 끝을 벗어나는 순간 -x축방향으로 움직이게 해야 할 것이다. 그러기 위해서 우리는 speed 라는 변수를 만들어 공의 움직임을 제어해 보고자 한다. 공의 움직임을 화면안에서만 돌아다니게 하기 위해서는 아래와 같은 스크립트를 만들어 주면 된다. speedx = 5; onEnterFrame = function () { .. 2013. 1. 16.
교플강4(무비클립과 화면상에서 움직임 이해) - 벽돌깨기를 위하여 주제 : 플래시로 구현해보는 운동과 벽돌깨기 ☐ 주제설정의 취지 및 목적 아무리 좋은 프로그램이라 할지라도 화면상에 원하는 형태로 표현할 수 없다면 좋은 프로그램이라고 할 수 없다. 필자는 새로운 프로그램을 접할 때 마다 구구단문제와 벽돌깨기를 꼭 만들어 본다. 이 2가지 프로그램을 쉽게 만들어 낼 수 있는 프로그램이라면 사용하기에 있어서 편리한 프로그램이라고 볼 수 있다. 이런 관점에서 본다면 벽돌깨기는 반드시 만들어 보아야 할 프로그램 중에 하나이다. 우리는 벽돌깨기를 만들어 봄으로써 화면상 원하는 위치에 물체를 표현해내는 방법과, 모니터상에서의 좌표체계, 또 플래시를 이용한 그래픽처리 방법에 대해서 배우게 될 것이다. 아울러 화면상의 물체를 제어하는 방법과, 충돌처리방법 그리고 마우스나 키보드를 이.. 2013. 1. 16.