조회 수 781 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

2D 기반의 게임의 경우

 

안드로이드 기반의 폰은 물론....

 

PC기반의 게임도 해상도가 바뀌면 그에 따라 좌표값이 변화합니다.

 

이에 따라 가속도값과 속도값을 변화를 주어야 하는데

 

간단한 공식으로 나타내 봅시다.

 

=======================================================

 

 

일단 가장 기본이 되는 식은

 

St = vt + S0

 

시간과 속도에 따른 위치값입니다. ㅇㅇ

 

여기에 스케일값인 b를 곱한다고 하면

 

bSt  =  b(vt + S0 )

 

가 됩니다.

 

이제 속도를 따져보죠

 

vt = at + v0 입니다. (a는 가속도)

 

이제 이 식을 앞서 썼던 식에 대입을 하면

 

bSt  =  b(at2 + v0 t + S0 ) 이 됩니다.

 

가로를 풀면

 

bSt =  bat2 + bv0 t + bS0

 

이렇게 됩니다.

 

================================================

 

bSt =  bat2 + bv0 t + bS0

 

640 * 480 에서 800 * 600으로 해상도를 올린다고 가정해 봅시다.

 

그러면 1.25배를 확대하는 것이므로

 

스케일값 b는 1.25가 됩니다.

 

따라서, 속도와 가속도 모두 1.25배를 해줘야 하는 것입니다.

 

쓰고 나면 간단한 건데....

 

머리속으로 생각하다보면 헷깔릴 수 있는 일이기도 합니다.

 

딱, 위의 식에서 b가 붙어있는 것만 처리해줘야 합니다.

 

자칫, 실수하면 b를 중복으로 곱할 수 있죠

 

 

 

 

가속도 1번, 초기속도 1번, 초기위치 1번...

 

딱 이렇게 스케일 주어야 합니다.

 

그 외에 주면 중복이 되어버리는 거죠.

 

 

 

제가 했던 실수가

 

현재위치 = 직전위치 + 속도

 

이런식으로 Move함수를 만들 때

 

속도에다가 스케일값을 줘버렸고....

 

S = S + bV 이런식으로 스케일 처리한답시고 말이죠

 

앞에서 가속도에 또 줬으니...중복처리가 되는거죠.

 

그래서 공은 튀기고.... 코드를 다 읽어도 틀린 부분은 안나오고 ㅇㅇ

 

========================================================

 

 

 

결론은

 

초기 위치, 초기 속도, 가속도(중력)입니다.

 

ㅇㅇ

 

 

?

  1. [마지막 3명 모집] [취업연계무료교육] VR/AR 게임 콘텐츠 전문가 양성 과정 교육생 모집

  2. JSON parser 변환데이터 저장시 생기는 Object Too Deep 해결하기

  3. 앙뜨프리너십에서 해커톤 부트캠프 모집중이네요

  4. 게임의 버전을 짜 보자! - 유의적 버전 2.0.0

  5. RPG게임 뻔한요소들.

  6. 자바스크립트와 관련해서 참고할 만한 사이트들

  7. 꿀잼이군요!

  8. [강의링크] 대비법칙-색상대비-밀당의 재미 약한 반대색 설계

  9. 오다 주웠습니다.

  10. 무료 이미지 사이트 Pixabay!

  11. 페인터(코럴) 브러쉬 세팅 공유 :)

  12. 유화재료 & 기법 살짝 팁 공유 (매우 깁니다 -3-)

  13. 픽사에서 텍스쳐 꽁짜로 뿌림ㅋ

  14. 멀티해상도에 따른 속도와 가속도 값의 조절

  15. [Android] 멀티스크린 노하우

  16. [js] 코드 압축 걸음마

  17. [css] css 겉핥기 핥핥

  18. [css, js] form - select안의 option들에 스타일 적용하기

  19. 게임,개발기획의 기초

  20. 지형설정에서 원경(앞, 뒤)가 가지는 역할

Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 36 Next
/ 36






[개인정보취급방침] | [이용약관] | [제휴문의] | [후원창구] | [인디사이드연혁]

Copyright © 1999 - 2016 INdiSide.com/(주)씨엘쓰리디 All Rights Reserved.
인디사이드 운영자 : 천무(이지선) | kernys(김원배) | 사신지(김병국)