교컴 키우기 자발적 후원 |
- 1페임랩(Fame Lab) 학습지
- 2새 책! 『육식, 노예제, 성별위계를 거부한 생태적 저항의 화신, 벤저민 레이』 글·그림 데이비드 레스터, 마커스 레디커·폴 불 엮음, 김정연 옮김, 신은주 감수
- 3새 책! 『죽음의 왕, 대서양의 해적들』 글·그림 데이비드 레스터, 글 마커스 레디커, 폴 불 엮음, 김정연 옮김, 신은주 감수
- 4마음 속 우편함
- 5스무가지 조언
- 6종이 아치 트러스 구조물 제작 활동지 및 도안
- 7사랑의 다른 말
- 8강한 구조물과 제작(학습지)
- 92024 공연봄날이 4.24.(수) 첫 공연의 막을 올립니다.
- 10새 책! 『객체란 무엇인가 : 운동적 과정 객체론』 토머스 네일 지음, 김효진 옮김
|
span> |
교컴 포토갤러리 |
플래시수업
교플강6(벽돌깨기 만들기 - 충돌이해)-벽돌깨기를 위하여
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; } } } |
가. 배열을 이용한 벽돌 배열방법 연구
벽돌의 위치를 미리 변수로 만들어 놓았다가 한꺼번에 위치를 배열하도록 만들어 보자
나. 공의 크기와 조절바 크기 변환방법 연구.
공의 크기와 조절바의 크기를 바꾸어 가며 테스트 해 보자.
다. 점수 나타내는 방법 연구
시작화면과 종료화면 또 깨진 벽돌수등이 나오게 만들어 보자.
라. 벽돌없이 공을 오랫동안 칠수 있는 게임도 만들어 보자.
조절바 4개가 마우스를 따라 다닐 수 있도록 만들어 공을 떨어뜨리지 않고 오랫동안 칠수 있는 게임을 만들어 보자.
- 벽돌깨기3.fla (0B) (338)
- 벽돌깨기완성.fla (0B) (333)
- 벽돌깨기완성.swf (0B) (334)
- 200854_벽돌깨기완성2.swf (0B) (331)
- 벽돌깨기응용.fla (0B) (332)
- 벽돌깨기응용.swf (0B) (332)
번호 | 제목 | 글쓴이 | 조회 | 날짜 |
---|---|---|---|---|
[활용] 수업 활용 감동 플래시 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 |