API 가이드

다음 문장을 포함함으로써 Bangtal API를 사용할 수 있다.

 #include <bangtal.h>

게임 관련 함수

  1. void startGame(SceneID scene)
    scene으로부터 게임을 시작한다. scene으로 들어가면서 이벤트(EVENT_ENTER_SCENE)가 발생한다.

  2. void enterScene(SceneID scene)
    scene으로 전환한다. 이전 scene에서 나오면서 이벤트(EVENT_LEAVE_SCENE)가 발생하고, scene으로 들어가면서 이벤트(EVENT_ENTER_SCENE)가 발생한다.

  3. void endGame()
    게임을 종료한다.

장면(Scene) 관련 함수

  1. SceneID createScene(const char* name, const char* image = nullptr)
    주어진 이름(name)과 배경 이미지(image)를 가진 장면을 생성하고 ID를 반환한다.
      SceneID scene1 = createScene("룸1", "Images/배경-1.png");
    
  2. void setSceneImage(SceneID scene, const char* image = nullptr)
    장면(scene)의 배경 이미지(image)를 변경한다.
      setSceneImage(scene1, "Images/배경-2.png");
    
  3. void setSceneLight(SceneID scene, SceneLight light)
    장면(scene)의 밝기(light)를 조정한다. light는 0~1 사이의 float 값이다.
      setSceneLight(scene1, 0.5f);      // 50%
    
  4. void setSceneCallback(SceneCallback callback)
    장면에서 발생하는 이벤트를 수신하는 callback 함수를 설정한다. 장면에 들어갈 때(EVENT_ENTER_SCENE), 나올 때(EVENT_LEAVE_SCENE) 이벤트가 발생한다.

물체(Object) 관련 함수

  1. ObjectID createObject(const char* image)
    주어진 이미지(image)로 믈체를 생성하고 ID를 반환한다.
      ObjectID door1 = createObject("Images/문-오른쪽-닫힘.png");
    
  2. void setObjectImage(ObjectID object, const char* image)
    물체(object)의 이미지(image)를 변경한다.
      setObjectImage(door1, "Images/문-오른쪽-열림.png");
    
  3. void setObjectText(ObjectID object, const char* text = “”)
    물체(object)의 텍스트(text)를 변경한다.
      setObjectText(door1, "한글 ABC\n123456");
    
  4. void locateObject(ObjectID object, SceneID scene, int x, int y)
    물체(object)를 장면(scene)에 위치(x, y)시킨다.
      locateObject(door1, scene1, 800, 270);
    
  5. void scaleObject(ObjectID object, ObjectScale scale)
    물체(object)의 크기(scale)를 조정한다.
      scaleObject(door1, 2.f);            // 200%
    
  6. void showObject(ObjectID object) / void hideObject(ObjectID object)
    물체(object)를 보이거나(showObject) 숨긴다(hideObject)
      showObject(door1);
    
  7. void pickObject(ObjectID object) / void dropObject(ObjectID object)
    물체(object)를 줍거나(pickObject) 떨어 뜨린다(dropObject)
      pickObject(key);
    
  8. void defineCombination(ObjectID object1, ObjectID object2, ObjectID object3)
    물체의 조합 방법을 정의한다. object1과 object2를 조합(Combine)하면 object3가 된다. 반대로 object3를 분해(Dismantle)하면 object1과 object2가 된다.

  9. ObjectID getHandObject()
    현재 사용하고 있는 물체의 ID가 반환된다. 사용하고 있는 물체가 없으면 0이 반환된다.

  10. void setObjectCallback(ObjectCallback callback)
    물체에서 발생하는 이벤트를 수신하는 callback 함수를 설정한다. 물체를 주울 때(EVENT_PICK_OBJECT), 떨어 뜨릴 때(EVENT_DROP_OBJECT) 이벤트가 발생한다. 물체를 조합할 때(EVENT_COMBINE_OBJECT), 분해할 때(EVENT_DISMANTLE_OBJECT) 이벤트가 발생한다. KEYPAD 암호가 입력된 경우에 EVENT_KEYPAD 이벤트가 발생한다.

  11. void setMouseCallback(MouseCallback callback)
    물체에 마우스 입력을 수신하는 callback 함수를 설정한다. 마우스를 클릭(MOUSE_CLICK)하거나 드래그(MOUSE_DRAG_UP/DONW/LEFT/RIGHT)가 발생한다.

  12. void setKeyboardCallback(KeyboardCallback callback)
    키보드 입력을 수신하는 callback 함수를 설정한다. 키가 눌리는 경우에 코드와 상태(KEY_PRESSED / KEY_RELEASED)가 전달된다.

사운드(Sound) 관련 함수

  1. SoundID createSound(const char* sound)
    사운드 파일(sound)로 사운드 객체를 생성하고 ID를 반환한다.
      SoundID sound1 = createSound("Audios/Start.mp3");
    
  2. void playSound(SoundID sound, bool loop = false) / void stopSound(SoundID sound)
    사운드를 재생하고(playSound) 재생을 종료한다(stopSound).
      playSound(sound1);
    
  3. void setSoundCallback(SoundCallback callback)
    사운드에서 발생하는 이벤트를 수신하는 callback 함수를 설정한다. 사운드 재생이 종료될 때 이벤트(EVENT_SOUND)가 발생한다.

타이머(Timer) 관련 함수

  1. TimerID createTimer(Second second = 0)
    주어진 시간(second 초)으로 타이머 객체를 생성하고 ID를 반환한다.
      TimerID timer1 = createTimer(10.5f);          // 10.5초
    
  2. void startTimer(TimerID timer) / void stopTimer(TimerID timer)
    타이머를 시작하고(startTimer) 멈춘다(stopTimer)
      startTimer(timer1);
    
  3. Second getTimer(TimerID timer)
    타이머(timer)의 현재 시간(초)을 반환한다.

  4. void setTimer(TimerID timer, Second second) / void increaseTimer(TimerID timer, Second second) / void decreaseTimer(TimerID timer, Second second)
    타이머(timer)의 현재 시간을 주어진 시간(second)으로 설정하거나(setTimer), 주어진 시간 만큼 증가시키거나(increaseTimer) 감소시킨다(decreaseTimer).

  5. void showTimer(TimerID timer) / void hideTimer()
    타이머(timer)를 보여주거나(showTImer) 숨긴다(hideTimer).

  6. void setTimerCallback(TimerCallback callback)
    타이머에서 발생하는 이벤트를 수신하는 callback 함수를 설정한다. 타이머가 종료될 때 이벤트(EVENT_TIMER)가 발생한다.

다이얼로그 관련 함수

  1. void showMessage(const char* message)
    주어진 메시지(message)를 메시지 창에 보인다.

  2. void showImageViewer(const char* image)
    주어진 이미지(image)를 보인다.

  3. void showKeypad(const char* password, ObjectID object)
    주어진 암호(password)를 입력할 수 있는 키패드를 보인다. 암호를 맞추면 이벤트(EVENT_KEYPAD)가 발생한다.

      showKeypad("PASS1234", door1);
    

댓글남기기