티스토리 뷰
이번에는 간단한 공 튕기기에 대해서 알아보겠습니다.
여기서 알아야 할것들은 결국 좌표를 일정하게 더해주고 또 바닥면에 부딪쳤을 때 + - 로 수정하면 됩니다.
한번 액션스크립트를 보겠습니다.
500/200 인 창에다가 ball 과 floor 란 두개의 무비 클립을 만들었습니다.
ball이란놈에게 속도를 줍시다.
위에서 아래로 떨어질때는 일정한 가속도가 더해집니다. 중력가속도라고 하죠?`ㅡ`?
만약 가속도가 0.2라고 할때 공이 움직이는 속도는 0.2 /0.4/ 0.6 이렇게 순차적으로 빨라져야 할것 입니다.
그럼 지정해주조
ball.speed = 0; // 요놈이 공의 속도를 저장할 변수입니다.
ball.gung = 0.5// 가속도를 0.5 라고 지정하죠
자그럼 ball.speed+=ball.gung;
속도를 지정해놓았습니다 안에 수치는 0.5씩 자꾸 커지겠죠?
그럼 공에 이 속도를 넣어봅시다
ball._y+=ball.speed;
다음은 평면상에 공이 닿았을때 반대방향으로 움직이게 합시다.(쉽습니다+_+생각이떠오르죵?)
나의사랑 if문
if(ball._y+ball._width/2>floor._y){
ball.speed=ball.speed*-1;
}
조건문은 공의 Y좌표(공의중간) + 공의 중간점에서 반지름 크기만큼 더해준 값이
바닥 floor 에 닿으면 -1의 값을 줌으로써 그 방향이 바뀌게 한다.
그럼 공에 닿는 순간 방향이 바뀌게 될것이고 거기에 계속해서 0.5라는 가속도값을 계속 더해줄 것이다.
ball.speed가 -값에서 다시 0이되면 멈추게되고 다시 0.5씩 더함으로 또 아래로 움직이게 됩니다.
바로 공 튕기기가 시작 된 것 입니다 + _ +
ball.speed = 0;
ball.gung=0.5;
_root.onEnterFrame = function(){
ball.speed+=ball.gung;
ball._y+=ball.speed;
if(ball._y+ball._width/2>floor._y){
ball.speed=ball.speed*-1;
//trace(ball.speed);
}
}
제가 실행한 총 소스 입니다. 아래 trace는 speed의 값의 변화를 보기 위해서 작성 했습니다.
공부하실때 보시면 좋습니다. 왜 공이 점점 튕기는 게 줄어드는지 같이 고민해봅시다+_+
-------------------------------------고민후
이유인즉 공이 바닥에 닿는 순간 -값이 되고 또 그동시에 가속도값이 더해짐으로
그 순간 속도 값만큼 차이가 나게 됩니다. 공이 떨어지는데 까지 10의 속도가 필요했으면
바닥에 닿는 순간 -10이됨과 동시에 0.5의속도가 더해짐으로 -9.5에서 다시 출반하는 거죠
이것이 반복 되다보니 0.5씩 자꾸 수치가 줄어듬으로 튕기는 높이가 줄어드는 것이죵-0-!!
다음 시간에는 - _ -b 엑스 축으로 값을 추가해줘 봅시당 - _ -오른쪽 왼쪽으로 공 튕기기 !!
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 듀랑고 자동
- 메이저골프게임
- XNA 퍼즐게임
- 안드로이드 개발
- 플래시
- 메이저골프
- MSPproject
- 모모앱플레이어 매크로
- C# 매크로
- C# 매크로 강의
- 포토샵 에러
- XNA
- 매크로 강좌
- 듀랑고
- 모바일게임 매크로
- XNA 2D tutorial
- 안드로이드 게임
- C# 듀랑고 매크로
- 비활성화 화면 캡쳐
- 리니지m 매크로
- xna 2D
- MSP 프로젝트P
- 안드로이드
- XNA 3D tutorial
- 매크로 강의
- 이미지 찾기 매크로
- 골프 게임
- 듀랑고 매크로
- C# 이미지매크로
- 매크로
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
글 보관함