본문 바로가기

게임개발/Defold

[Defold 튜토리얼] 1. Side scroller

 

Defold 에디터를 실행한후 NEW PROJECT 탭의 From Tutorial을 클릭한다.

첫번째 튜토리얼인 Side scroller tutorial 을 선택하고, Create New Project 버튼을 클릭한다.

 

 

 

 

Side scroller는 우주선을 위아래로 컨트롤하여 별(Start)을 모으는 아주 심플한 게임이다.

이번 튜토리얼에서는 이 게임을 간단하게 수정하여 좀더 재미있게 만들어 볼 것이다.

우선 게임을 빌드(Ctrl+B)하여 플레이해본다.

 

 

 

 

게임이 플레이되면 위(Up), 아래(Down) 키를 눌러 우주선을 이동시킨다.

하지만 우주선 이동속도가 매우 느려 답답함을 느낄 것이다.

 

 

 

 

일단 게임창을 종료시키고, spaceship 폴더에 있는 spaceship.script를 더블클릭하여 스크립트를 연다.

그리고 우주선의 이동속도를 올려주기위해 max_speed를 300으로 변경한다.

 

 

 

 

스크립트를 저장(Ctrl+S)하고 게임을 다시 빌드(Ctrl+B)하여 플레이해보면

전보다는 우주선 이동이 훨씬 빨라져서 조작감이 시원시원하다.

 

다음으로 별(Star)을 먹을때마다 올라가는 포인트 수치를 좀더 높여본다.

stars 폴더에서 star 스크립트를 열고 score를 1에서 1000으로 수정한다.

 

 

 

 

스크립트를 저장하고 다시 빌드(Ctrl+B)하여 플레이해보면

별을 먹을때마다 점수가 1000씩 증가하는 것을 확인할 수 있다.

 

이번에는 새로운 별을 하나 추가할 것이다.

starts 폴더에서 우클릭하고 New -> Game Object를 선택한다.

 

 

 

 

New Game Object 창이 뜨면 "bonus_star"라고 이름을 주고, Create Game Object 버튼을 클릭한다.

 

 

 

 

게임오브젝트가 생성되었으면 Outline 뷰에서 우클릭하고 스프라이트를 생성한다. (AddComponent -> Sprite)

 

 

 

 

Properties 뷰에서 Image 칸에 /stars/stars.atlas 를 찾아서 넣어주고,

Default Animation 칸에 bonus_star를 넣어준다.

 

 

 

 

이제 화면에 별 이미지가 보여진다.

이미지가 작아서 잘 보이지 않는다면 마우스 휠로 줌인하거나

F키 혹은 View -> Frame Selection 을 선택하여 줌인한다.

 

 

 

 

Outline 뷰에서 Game Object를 우클릭하고 Collision Object를 생성한다. (Add Component -> Collision Object)

 

 

 

 

Properties 뷰에서 Type을 Dynamic -> Kinematic으로 변경한다.

Kinematic 타입이 되면 ColliectionObject가 상위의 Game Object를 따라 움직이게 된다.

 

 

 

 

Ouline 뷰에서 collisionobject를 우클릭하고 Sphere Shape을 추가한다. (Add Shape -> Sphere)

 

 

 

 

Scale Tool 버튼을 클릭하고, Scale Handle (조그만 사각형)을 드래그하여 충돌체의 크기를 적당하게 조정한다.

아니면 Properties 뷰의 Diameter 값을 직접 입력해도 된다.

 

 

 

 

다시 Game Object를 우클릭하고 Add Component File을 선택한다.

Component File 창에서 /stars/bonus_star.script 를 선택하면 bonus_star 스크립트가 추가된다.

 

 

 

 

 

 

스크립트파일이 추가되면 상위의 GameObject는 해당 스크립트에 의해 동작하게 된다.

bonus_star 스크립트는 게임오브젝트를 이동시키고, 플레이어와 충돌시 UI의 점수를 추가한다.

 

다음으로 stars 폴더 안에 factory.go 게임오브젝트를 열고,

Outline 뷰에서 Game Object에 우클릭하고 Factory 컴포넌트를 추가한다. (Add Component -> Factory)

(Factory 컴포넌트는 게임상에 게임오브젝트를 생성하는 역할을 담당한다.)

 

 

 

 

factory의 id를 "bonus_factory"로 변경하고,

Prototype을 "/stars/bonus_star.go"로 설정한다.

그리고 factory.script를 더블클릭해서 스크립트를 연다.

 

 

 

 

스크립트의 update() 함수에서 -- component = "#bonus_factory" 의 주석을 제거한다.

이 코드는 별(Star) 생성시 20% 확률로 방금 만든 bonus_factory를 통해

bonus_star 게임오브젝트를 생성하도록 한다.

 

 

 

 

마지막으로 스크립트를 저장하고 게임 빌드후 플레이해보면

일정 확률로 녹색 별(bonus_star)이 나오는 것을 확인할 수 있다.

 

 

 

 

끝.