31. 캐릭터에 물리 엔진 적용

0
(0)

이번 시간에는 캐릭터에 Box2D 물리 엔진을 적용해 보겠습니다.

물리 엔진을 사용하기 위해 Box2D extension을 assets 폴더와 동일한 위치에 위치 시킵니다.(첨부 소스 참고)

build.gradle(Module: app) 에 조금 전 추가한 라이브러리 위치에 대해 위와 같이 작성해 주고 Sync Now 를 눌러 주면 물리 엔진 사용이 가능해 집니다.

먼저 게임 액티비티에 Physicsworld를 선언해 줍니다.

onCreateScene() 메서드 안에 위와 같이 physicswolrd를 정의해 줍니다.

위와 같이 작성해주면 플레이어에 물리 엔진이 적용됩니다.

FixtureDef 정의시 필요한 Category bits는 2진수로 바꿔보면 각각의 위치가 겹치지 않는 고유한 값이 가지도록 정의해 줍니다.

Mask bit는 각각의 물체가 서로 겹치지 않음을 정의 할 때 사용합니다.(위에서는 플레이어는 벽과 적과는 겹치지 않음을 의미합니다.)

이제 게임을 실행시켜 보면 플레이어가 화면에 나타나자 마자 중력의 영향으로 아래로 떨어저 버리는 것을 확인하실 수 있습니다.

다음 시간에는 벽에 물리 엔진을 적용해 캐릭터가 벽을 만나면 더이상 떨어지지 않도록 만들어 보겠습니다.

안드로이드 스튜디오 소스

완성된 게임(Hammer king)

How useful was this post?

Click on a star to rate it!

Average rating 0 / 5. Vote count: 0

No votes so far! Be the first to rate this post.

As you found this post useful...

Follow us on social media!

We are sorry that this post was not useful for you!

Let us improve this post!

Tell us how we can improve this post?

AhnDruid
Author: AhnDruid

댓글 남기기

이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다