updated_at: 2024-12-16 03:41

Create FlatForm

display an Image

public create ()
{
  this.add.image(400, 300, 'sky');
  this.platforms = this.physics.add.staticGroup();

  this.platforms.create(400, 568, 'ground').setScale(2).refreshBody();

  this.platforms.create(600, 400, 'ground');
  this.platforms.create(50, 250, 'ground');
  this.platforms.create(750, 220, 'ground');
}

this.physics : Arcade Physics system을 사용할 것이라고 정의함 이경우 config 에 physics를 추가해 주어야 한다.

Arcade Physics 은 두가지 유형의 body가 존재한다. (Dynamic and Static)

  • dynamic body: 중력이나 가속도와 같은 힘에 의해 움직여진다. bouncd 되거나 다른 물체와 충돌할 수도 있다.
  • static: 말그대로 화면에 고정되어지는 것이다.

두가지 Physics를 group으로 묶는 이유는 비슷한 물체나 작동등을 하나의 unit으로 만들기 위해서 이다. 그룹을 만든 후는 'create'를 사용하여 loading된 이미지등을 그룹에 포함시킬 수 있다.

private config = {
  ....
  physics: {
    default: 'arcade',
    arcade: {
      gravity: { y: 300 },
      debug: false
    }
  }
  ....
}

this.physics 을 호출하여 element에 물리적 특성을 넣어둔다. 이때 주의점은 config에 physics property를 추가하여야 한다.

this.platforms.create(400, 568, 'ground').setScale(2).refreshBody();

실제 ground의 이미지 크기는 400x32 이다. 화면이 800 이므로 setScale을 이용하여 2배 크기로 만들었다.

Table of contents 목차

평점을 남겨주세요
평점 : 5.0
총 투표수 : 1

질문 및 답글