코드로 조금 더 (선택)

코드로 조금 더 (선택)

여기는 "JavaScript 한두 줄 정도 써봤거나 해보고 싶은 분들"을 위한 선택 기능이에요. 못 읽어도 게임 만드는 데는 전혀 문제없어요.

Script 액션을 추가하면, 내장된 pm 명령으로 게임을 직접 조작할 수 있어요.

pm 명령 모음

장면 이동

pm.scene.goto("scene_id")     // 특정 장면으로 이동

pm.scene.current // 지금 어느 장면에 있나

화면 요소 다루기

pm.object.show("obj_id")                // 보이기

pm.object.hide("obj_id") // 숨기기 pm.object.setText("obj_id", "안녕!") // 글자 바꾸기 pm.object.setImage("obj_id", "url") // 그림 바꾸기 pm.object.moveTo("obj_id", 100, 200, 1) // 1초 동안 (100,200)으로 이동 pm.object.setOpacity("obj_id", 0.5, 1) // 1초 동안 반투명으로

변수

pm.var.get("Gold")            // 값 읽기

pm.var.set("Gold", 100) // 값 정하기 pm.var.add("Gold", 50) // 값 더하기

인벤토리

pm.inventory.add("key")       // 아이템 주기

pm.inventory.remove("key") // 아이템 뺏기 pm.inventory.has("key") // 갖고 있나? (true/false) pm.inventory.list() // 전체 아이템 목록

소리

pm.sound.play("click_sfx")    // 효과음

pm.sound.bgm("theme_music") // 배경음악 pm.sound.stop() // 배경음악 끄기

대화

pm.dialog.play("dialog_id")   // 대화 실행

pm.dialog.showSelection([ // 선택지 띄우기 { text: "A를 선택", actions: [...] }, { text: "B를 선택", actions: [...] } ])

기타

pm.wait(1000)                  // 1초 대기

pm.signal.emit("mySignal") // 다른 규칙에 신호 보내기 pm.timer.after(3000, "alarm") // 3초 뒤 신호 발동 pm.log("디버깅 메시지") // 로그 출력 pm.dt // 매 프레임 경과 시간 (움직이는 연출용)

언제 쓰면 좋아요?

보통은 기본 액션만으로 충분해요. 이걸 쓰게 되는 경우는:

  • 수식이 필요한 복잡한 계산 (예: "HP = (Level × 10) + 기본값")
  • 여러 액션을 한 덩어리로 묶어 반복하고 싶을 때
  • 특수한 움직임을 프레임마다 조정하고 싶을 때

부담 갖지 말고 기본 액션부터 천천히 올라가도 돼요.