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


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

  • 주간 검색어
  • 현재 검색어
  1. 십대를 위한 드라마 속 과학인문학 여행
  2. 무게
  3. 수학 14
  4. 명찰
  5. 환경 101
  6. 우리 국토의
  7. 국어 5단원
  8. 생활기록부 예시문 9
  9. 1
  10. 예시문 29
기간 : ~

교컴 포토갤러리

플래시수업

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

김정식 | 2005.06.12 20:09 | 조회 4260 | 공감 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개(3/23페이지) rss
플래시수업
번호 제목 글쓴이 조회 날짜
공지 [활용] 수업 활용 감동 플래시 150편 [37+1] 함영기 163337 2003.08.21 18:57
407 [플래시수업] 플래시로 보는 성교육 영상 12편 [2] 함영기 5751 2007.10.24 12:03
406 [플래시수업] 플래시학습자료제작-연습파일 첨부파일 김은정 5420 2005.08.17 11:36
405 [플래시강좌] Swish Max 연수자료 다운받기 김상준 5271 2005.01.27 17:25
404 [플래시게임] 스스로 알아보는 나의 심리 테스트 첨부파일 함영기 5194 2004.06.16 10:00
403 [플래시강좌] 교플강2(구구단 화면에표시하기,생각한 숫자 맞추기게임) 첨부파일 김정식 5024 2005.05.29 13:24
402 [플래시강좌] [소개]쓸만한 동영상 캡쳐프로그램 8175 5021 2003.07.30 16:34
401 [플래시유틸] [9강]컨텐츠합치기[PPT파일가져오기] 서선경 4897 2006.11.19 15:46
400 [플래시강좌] 2007 교원연수 렉토라활용-초급강좌[1강~18강] 최우식 4775 2007.06.22 17:44
399 [플래시게임] [게임] 알쏭달쏭 게임 플래시 첨부파일 [1] 함영기 4746 2005.04.26 14:46
398 [플래시게임] 퀴즈부저2.0 - 소스 첨부파일 김정식 4731 2005.03.24 20:50
397 [플래시수업] [소스] 초등 시간공부하기-시계바늘움직이기 첨부파일 유춘모 4729 2006.08.20 19:04
396 [플래시강좌] 교플강3(구구단 문제 출제 프로그램 만들기) 첨부파일 김정식 4695 2005.05.29 13:26
395 [플래시수업] [공통] 초중고 독도 플래시 학습자료 [1] 함영기 4644 2005.04.04 08:12
394 [플래시유틸] 렉토라 교원연수 세부 내용[1~12강] 교재및 소스 [1] 서선경 4526 2006.11.21 00:44
393 [기타플래시] 컴퓨터 자동종료 프로그램 첨부파일 [2] 김정식 4517 2006.01.25 09:31
392 [이미지자료] 선풍기이미지 첨부파일 [1] 8175 4412 2003.08.08 21:05
391 [플래시게임] [게임] 기찻길 놓기 플래시 게임 첨부파일 [1] 함영기 4288 2004.09.05 21:49
>> [플래시강좌] 교플강6(벽돌깨기 만들기 - 충돌이해)-벽돌깨기를 위하여 첨부파일 김정식 4261 2005.06.12 20:09
389 [기타플래시] 플래시 노래(강아지똥)입니다. 첨부파일 박병건 4260 2004.02.22 10:48
388 [플래시유틸] [콘텐츠 제작강좌]평가 문항 만들기 - 연결형, 단답형 최우식 4182 2007.06.09 16:05