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


:::: 교컴가족 로그인(1)
행복한인생 (11:44)

  • 주간 검색어
  • 현재 검색어
  1. 수학 3
  2. 무게 1
  3. 컬러링 동아리 특기사항 11
  4. 2022교육과정 126
  5. 교사학습공동체에서미래교육을상상하다 125
  6. 미래교육 124
  7. 질문이있는교실 123
  8. 엑셀 122
  9. 국어 5단원
  10. 사회 120
기간 : ~
  1. 컬러링 동아리 특기사항 2
  2. HOw
  3. 학급 운영
  4. 자리표
  5. 수업
  6. 2022교육과정
  7. 수업시수
  8. 시간표
  9. 자리
기간 : 현재기준

교컴 포토갤러리

플래시수업

교플강8 - 자유낙하운동

민서아빠 | 2009.02.15 22:39 | 조회 8690 | 공감 0 | 비공감 0

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)

나. 자유낙하 운동 표현방법 구상

우선 시간부터 생각해 보자. 시간 변화는 플래시에서는 1Frame 으로 대신 생각할 수 있다. 즉 플래시 프로그램은 프레임 방식의 프로그램으로 매 프레임을 실행할 때 마다 사건이 발생하므로, 따로 시간을 나타내 주지 않아도, 프레임마다 시간이 흘러간다고 보면 될 것이다. 따라서 onEnterFrame = function () 문 안에 액션스크립트를 넣어 주는 것 만으로도 시간은 계속해서 프레임마다 흘러가고 있다는 것을 알 수 있다.

그렇다면 속력은 어떻게 나타낼 것인가? 속력은 아래와 같이 나타내면 된다.

처음속도를 0이라고 했을 때 프레임 스크립트에 아래와 같이 나타낼 수 있다.

//초기값

g = 1; //중력가속도 값

vy = 0; // 속력 초기화

onEnterFrame = function () {

vy = vy+g; // vy 속력에 중력가속도 값 더해서 속력 증가

trace(vy);

}

<토의> 위 속력공식과 아래 스크립트에서 표현한 내용에 차이가 있어 보일 것이다. 어떤 차이가 있어 보이고, 왜 그런지 토의해 보자.(시간표현에 대한문제)

속력공식에서는 처음속도를 0이라고 v=gt 가 된다. 그래서 t 가 증가할 때 마다 v 값이 일정하게 증가하게 되는 것을 알 수 있다. 아래 액션스크립트에서는 스크립트상에서 t 에 대한 언급이 없다. 어떤 차이가 있는 것일까?

vy = vy+g 가 같는 의미를 생각해 보자. vy 는 우리가 만든 속력값이다. 그런데 vy 는 처음에는 0 이 었으나, 프레임이 실행될때마다. g 만큼 값이 증가하게 될 것이다. 그렇다면 vy 값도 일정하게 증가한다는 것을 알 수 있다. 즉 공식과는 달라 보이지만 스크립트로 표현한 값이 결과적으로는 똑같은 값을 나타내고 있다는 것을 알 수 있다.

t 라는 시간변수를 동원해서 프로그램을 할 수도 있겠지만, 플래시 특성상 플래시 프로그램이 프레임 방식이라는 것을 잘 이해하면 t 라는 시간변수를 사용하지 않고도 자유낙하 운동을 간단하게 표현해 낼 수 있는 것이다.

같은 방법으로 자유낙하 운동의 이동거리를 액션스크립트로 표현해 보아라

다. 자유낙하 운동 시뮬레이션

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

공의 인스턴스명 (ball)

중력가속도(g=1)

프레임 속도 30fps

화면크기 550*400

ball 무비클립을 마우스로 드래그 해서 원하는 위치에 가져다 놓고 마우스를 때는 순간 자유낙하 운동을 하도록 만들어 보자 .그러기 위해선 앞에서 배웠던 startDrag 문을 적당히 사용해야 할 것이다.

또 startDrag 하는 동안 자유낙하 운동이 일어나지 않게 하기 위해서는 어떻게 해야 할까. check1 이라는 변수를 사용하여, 마우스로 ball 의 위치를 이동시킨후 마우스를 때는 순간 자유낙하 운동이 발생할 수 있도록 해보자. 그리고 바닥에 충돌후 다시 튀어 오르는 것도 조건문을 활용하여 만들어 보자.

2) 액션스크립트 작성

//초기값

g = 1; //중력가속도 값

vy = 0; // 속력 초기값

sy = 0; // 위치 초기값

check1 = 0; // 자유낙하 여부 결정 0이면 동작정지, 1이면 작동

onEnterFrame = function () {

if (check1 == 1) {

vy = vy+g; //vy 속력에 중력가속도 값 더해서 속력 증가

sy = sy+vy; //sy 이동위치 증가

ball._y = sy; // ball 의 y 위치를 이동위치와 같게 해줌

// 만약 볼이 바닥에 닿으면 속력 방향 바꾸어줌

if (ball._y>400-ball._width/2) {

vy = -1*Math.abs(vy)-g;

}

}

}

//볼을 마우스로 누르면 따라오게 함

ball.onPress = function() {

this.startDrag();

check1 = 0; //볼을 이동하는 동안 자유낙하를 중지시킴

}

//볼에서 마우스를 때는 순간 초기 변수값을 재조정 하고 떨어지게 함

ball.onRelease = function() {

this.stopDrag();

check1 = 1;

vy = 0;

sy=ball._y;

}


<마우스로 볼을 잡아서 올렸다가 놓아보자>

displayMultimedia("files/attach/images/1569/999/008/fall.swf", "400","320", { autostart : false });
바닥과 충돌 후 같은 높이까지 튀어 오르지 않도록 하려면 어떻게야 할까. 즉 완전 탄성충돌이 일어나지 않게 하려면 바닥과 충돌한후 마찰력에 의해 감쇠효과가 나타나야 한다. vy = -1*Math.abs(vy)-g; 값에서 -1을 -0.9 로 바꾸어 보자. 다른 값으로도 바꾸어 보자.
<-1을 -0.9로 바꾸면>
displayMultimedia("files/attach/images/1569/999/008/fall2.swf", "400","320", { autostart : false });


<질문> vy=0 으로 바꾸면 어떻게 될까? -1대신 -1.1 로 바꾸면 어떻게 될까?

좋아요! 싫어요!
twitter facebook me2day
448개(10/23페이지) rss
플래시수업
번호 제목 글쓴이 조회 날짜
공지 [활용] 수업 활용 감동 플래시 150편 [37+1] 함영기 163430 2003.08.21 18:57
267 [플래시수업] 붓글씨...^^; 첨부파일 백운갑 3513 2005.01.19 15:07
266 [플래시유틸] 스스로 만드는 플래시 학급앨범 소개 첨부파일 박주현 3035 2003.11.15 23:25
265 [플래시유틸] [동영상강의] 플래시슬라이더를 이용하여 심플한 전자 앨범 제작 [5] 박이현 3905 2004.12.08 23:44
264 [기타플래시] 플래시 노래(강아지똥)입니다. 첨부파일 박병건 4264 2004.02.22 10:48
263 [질문과답변] 안되는 건가요. 박범수 1494 2003.09.08 22:59
262 [기타플래시] 투명인간 만들기1.0(웹캠이용) 사진 첨부파일 [1] 민서아빠 6913 2009.02.08 21:27
261 [플래시강좌] 교플강7-물체의 가속도 운동 구현하기 첨부파일 민서아빠 7232 2009.02.15 22:36
>> [플래시강좌] 교플강8 - 자유낙하운동 첨부파일 민서아빠 8691 2009.02.15 22:39
259 [플래시강좌] 교플강9 - 관성효과에 의한 운동-키보드 입력 첨부파일 민서아빠 7290 2009.02.15 22:42
258 [플래시강좌] 교플강10-중력장에서 우주선 착륙게임 만들기 사진 첨부파일 민서아빠 7088 2009.02.15 22:43
257 [플래시강좌] 교플강11 -포물선 운동 구현하기 사진 첨부파일 민서아빠 11748 2009.02.15 22:45
256 [플래시강좌] 교플강12(마지막회)-대포게임 만들기 사진 첨부파일 [1] 민서아빠 11260 2009.02.15 22:46
255 [질문과답변] 플래시 노래방을 만들려고 하는데요.. 김훈희 3114 2005.10.25 22:52
254 [기타플래시] 플래시 노래방 모음 첨부파일 [2] 김창현 13919 2004.10.16 12:09
253 답글 [질문과답변] RE:RE:플래시로 만든 학급플래시를 웹에 올릴려면 ? 첨부파일 [1] 김정식 2067 2005.01.07 20:46
252 답글 [질문과답변] RE:플래시로 만든 학급플래시를 웹에 올릴려면 ? 첨부파일 [1] 김정식 2155 2005.01.07 16:16
251 [플래시게임] 퀴즈부저2.0 - 소스 첨부파일 김정식 4736 2005.03.24 20:50
250 [기타플래시] 플래시로 만든 손접기 첨부파일 김정식 3423 2005.04.30 20:16
249 [플래시강좌] <b>[강의] 민서아빠의 교사를 위한 플래시 강의(교플강)&l 첨부파일 [5] 김정식 14843 2005.05.29 13:18
248 [플래시강좌] 교플강1(구구단 만들기를 위한 기초개념) 첨부파일 [1] 김정식 6670 2005.05.29 13:23