Skip to main content

리더보드

OasisW의 리더보드 시스템을 학습합니다.

주의사항

서버 엔티티가 생성되어 있어야 사용 가능한 기능입니다.

오아시스 스튜디오 리더보드 생성 절차

  1. OasisW Studio에 접속합니다.

  2. Leaderboard를 클릭한 후 새 리더보드 만들기를 클릭합니다.

Server

  1. 리더보드 목록에 새로 생성된 리더보드를 확인할 수 있습니다.

Server

에디터 리더보드 설정 절차

  1. 하이어라키 뷰에서 Add Entity(+) 버튼 클릭 → Server Side → Leaderboard를 선택합니다.
    • 에셋 뷰에 관련 템플릿과 leaderboard.js 파일을 자동 생성합니다.
    • 하이어라키 뷰에 2D Screen 하위 계층으로 Leaderboard를 생성합니다.

Server

  1. Leaderboard 클릭 → 인스팩터 뷰script에서 사용할 leaderboard를 선택합니다.

Server

실행 절차

  1. 툴바에서 Launch를 클릭합니다.

  2. 리더보드 버튼을 클릭하여 확인할 수 있습니다.

ImageImage

  1. 스코어 추가 시 로그인 된 게스트 계정으로 점수가 등록됩니다.

Server

스코어 적용 방법

  1. 엔티티에 스코어 등록 함수가 들어있는 스크립트를 적용합니다.
pc.app.fire("leaderboardRecord:write", {score: 1000})
  1. 엔터키를 눌렀을 때 점수가 등록되는 코드입니다.
var ScoreSubmit = pc.createScript('scoreSubmit');

// initialize code called once per entity
ScoreSubmit.prototype.initialize = function() {
// 예: 엔터키를 누르면 점수를 등록하도록 설정
this.app.keyboard.on(pc.EVENT_KEYDOWN, this.onKeyDown, this);
};

// 점수 등록 이벤트
ScoreSubmit.prototype.submitScore = function(score) {
// 리더보드에 점수 기록 요청
this.app.fire("leaderboardRecord:write", { score: score });
console.log("점수 등록 요청:", score);
};

// 키 입력 감지 예시
ScoreSubmit.prototype.onKeyDown = function (event) {
if (event.key === pc.KEY_ENTER) {
// 엔터 키를 누르면 1000점 등록
this.submitScore(1000);
}
};

엔터키를 누르면 변경 된 점수를 확인할 수 있습니다.

ImageImage