교컴로고초기화면으로 header_kyocom
교컴메뉴
교컴소개 이용안내 소셜교컴 나눔마당 배움마당 자료마당 교과마당 초등마당 특수마당 글로벌교컴 온라인프로젝트학습 교컴 UCC
회원 로그인
정보기억 정보기억에 체크할 경우 다음접속시 아이디와 패스워드를 입력하지 않으셔도 됩니다.
그러나, 개인PC가 아닐 경우 타인이 로그인할 수 있습니다.
PC를 여러사람이 사용하는 공공장소에서는 체크하지 마세요.
소셜네트워크 서비스를 통해서 로그인하시면 별도의 로그인 절차없이 회원서비스를 이용하실 수 있습니다.
교컴 키우기 자발적 후원


:::: 교컴가족 로그인(0)


교컴 포토갤러리

플래시수업

교플강6(벽돌깨기 만들기 - 충돌이해)-벽돌깨기를 위하여

김정식 | 2005.06.12 20:09 | 조회 4262 | 공감 0 | 비공감 0
 

4. 무비클립간의 충돌을 이해하고, 충돌후 반응을 처리할 수 있다.

공도 화면상에서 움직이고, 조절바도 마우스를 따라 다니며 움직이도록 만들었다. 이제는 조절바로 내려오는 공을 받았을때 다시 튕겨 올라가게 만들어야 할 것이다 .그렇다면 조절바와 공이 충돌이 일어나는지 어떻게 알 수 있겠는가


 

가. 조절바와 공의 충동방법을 이해한다. (hitTest)

플래시 애션스크립트 중 hitTest 문을 이용하면 두 무비클립간의 충돌을 체크할 수 있다. hitTest는 두 무비클립이 충돌했는지 안했는지의 여부를 알려주는 역할을 한다.

무비클립A.hitTest.무비클립B

무비클립A 와 무비클립B가 충돌을 했는지를 판정해 줍니다.

무비클립A.hitTest.(x,y,true)

무비클립A가 우리가 지정해준 (x,y)좌표와 충돌하고 있는지 판정을 해 줍니다.

자 그렇다면 첫 번째 방법을 이용해서 조절바와 공이 충돌하고 있는지를 판정해 봅시다.

ball.hitTest(bar)

나. 충돌후의 공 처리방법을 이해한다.

onEnterFrame = function () 문안에 아래와 같은 스크립트를 추가함으로써 조 절바와 공이 충돌하는지를 알 수 있고 충돌했을때 공의 방향이 바뀌도록 만들 수 있다. 아래 스크립트를 직접 추가한후 어떻게 변하는지 살펴보자..

//공과 조절바의 충돌여부 체크

if (ball.hitTest(bar)) {

speedy = speedy*-1;

}

다. 벽돌 무비클립과 공의 충돌방법을 이해한다.

벽돌을 만들어 이름을 \'block1\'이라고 주고 공과 충돌했는지 여부를 판단한후 만약 충돌이 일어난다면 벽돌을 화면상에서 사라지게 만들어 보자.

if (ball.hitTest(block1)) {

        speedy = speedy*-1;

        block1._x = 1000;

}


 


만약 벽돌이 2개(block1.block2)라면 앞에서 쓴 스크립트를 한번 더 써주면서 block1 대신 block2라고 적어주면 될 것이다. 그렇다면 지금까지 배운 것을 토대로 벽돌깨기를 완성해 보자.

1)고려해야 할 사항에 대해 토의해 보고 변수명을 정해보자.

공의 인스턴스명 (ball)

조절바의 인스턴스명 (bar)

벽돌의 인스턴스명 (block1,block2.... ) 총 5개

2) 화면구성

\"\" 

3) 액션스크립트 작성

아래 액션스크립트에서 주의해 볼 것은

        for (i=1; i<=5; i++) {

                if (ball.hitTest(_root[\"block\"+i])) {

                        speedy = speedy*-1;

                        _root[\"block\"+i]._x = 1000;

                }

        }

이다 즉 각각의 벽돌과의 충돌체크를 일일이 해주지 않고 반복문을 사용해서 모든 벽돌과의 충돌을 한번에 체크하도록 하는 것이다. 반복문을 사용하여 체크하는 이유는 그렇게 하면 벽돌수가 10개 20개 가 된다해도 금방 스크립트를 수정할 수 있기 때문이다.

그리고 궁극적으로는 공이 y축위치가 400보다 커지면 게임오버 라는 메시지가 출력되도록 바꾸어야 할 것이다.

//초기 스피드

speedx = 10;

speedy = 10;

//조절바 움직이도록 함

bar.startDrag(true, 0, 350, 500, 350);

//반복실행

onEnterFrame = function () {

       //공 이동

        ball._x = ball._x+speedx;

        ball._y = ball._y+speedy;

        // 벽을 벗어나려고 할때의 조건문들

        if (ball._x+ball._width/2>500) {

                speedx = speedx*-1;

        }

        if (ball._x-ball._width/2<0) {

                speedx = speedx*-1;

        }

        if (ball._y+ball._height/2>400) {

                speedy = speedy*-1;  // 다음에는 ‘게임오버’로 교체

        }

        if (ball._y-ball._height/2<0) {

                speedy = speedy*-1;

        }

        // 공과 조절바의 충돌여부 체크

        if (ball.hitTest(bar)) {

                speedy = Math.abs(speedy)*-1;

        }

        // 공과 벽돌의 충돌여부 체크(반복문 이용)

        for (i=1; i<=5; i++) {

                if (ball.hitTest(_root[\"block\"+i])) {

                        speedy = speedy*-1;

                        _root[\"block\"+i]._x = 1000;

                }

        }

}

5. 응용 및 토의

가. 배열을 이용한 벽돌 배열방법 연구

벽돌의 위치를 미리 변수로 만들어 놓았다가 한꺼번에 위치를 배열하도록 만들어 보자


나. 공의 크기와 조절바 크기 변환방법 연구.

공의 크기와 조절바의 크기를 바꾸어 가며 테스트 해 보자.


다. 점수 나타내는 방법 연구

시작화면과 종료화면 또 깨진 벽돌수등이 나오게 만들어 보자.

라. 벽돌없이 공을 오랫동안 칠수 있는 게임도 만들어 보자.

조절바 4개가 마우스를 따라 다닐 수 있도록 만들어 공을 떨어뜨리지 않고 오랫동안 칠수 있는 게임을 만들어 보자.


좋아요! 싫어요!
twitter facebook me2day
448개(11/23페이지) rss
플래시수업
번호 제목 글쓴이 조회 날짜
공지 [활용] 수업 활용 감동 플래시 150편 [37+1] 함영기 163354 2003.08.21 18:57
247 [플래시강좌] 교플강2(구구단 화면에표시하기,생각한 숫자 맞추기게임) 첨부파일 김정식 5024 2005.05.29 13:24
246 [플래시강좌] 교플강3(구구단 문제 출제 프로그램 만들기) 첨부파일 김정식 4696 2005.05.29 13:26
245 [플래시강좌] 교플강4(무비클립과 화면상에서 움직임 이해) - 벽돌깨기를 위하여 사진 첨부파일 김정식 3917 2005.06.12 19:40
244 [플래시강좌] 교플강5(화면을 못 벗어나게, 그리고 마우스를 따라다니는 움직임) - 벽 첨부파일 김정식 4174 2005.06.12 20:03
>> [플래시강좌] 교플강6(벽돌깨기 만들기 - 충돌이해)-벽돌깨기를 위하여 첨부파일 김정식 4263 2005.06.12 20:09
242 답글 [플래시수업] RE:플래시학습자료제작-연습파일 첨부파일 [1] 김정식 3037 2005.08.18 11:11
241 [기타플래시] 플래시8 소스 및 예제 모음 김정식 4036 2005.09.29 23:10
240 [기타플래시] 플래시8로 만든 아이토이 김정식 2632 2005.10.03 20:32
239 [기타플래시] 컴퓨터 자동종료 프로그램 첨부파일 [2] 김정식 4519 2006.01.25 09:31
238 [플래시강좌] 플래시에서 동영상을 이용하여 학습자료 제작하는 방법 첨부파일 [3] 김정식 4070 2006.02.05 02:07
237 [기타플래시] 3D로 구성해 본 이운재 선방(착시) 첨부파일 [2] 김정식 2908 2006.06.20 21:19
236 [플래시강좌] 플래시 비디오 마스크 입히기 김정식 2644 2006.08.30 10:44
235 [플래시강좌] 도와 주세요. 김정숙 1599 2003.10.01 06:07
234 [질문과답변] 긴급..알려주세요..플레시연동과 파워포인트 삽입 [1] 김재철 3344 2004.10.04 10:50
233 [플래시수업] 북한의 백화점 첨부파일 김은정 3210 2004.11.24 21:49
232 [이미지자료] 백일홍이야기-플래시앨범 첨부파일 김은정 3141 2005.07.30 21:45
231 [플래시수업] 플래시학습자료제작-연습파일 첨부파일 김은정 5421 2005.08.17 11:36
230 [질문과답변] 플래시 내 컴퓨터로 잘 안되는 문제 김용심 1856 2003.09.04 10:37
229 [기타플래시] 썸네일 김영숙 1463 2003.11.09 22:47
228 [기타플래시] 네.. 감사합니다. 김영숙 1465 2003.11.10 09:20