현재 Map API
페이지의 캐릭터와 Main
페이지의 캐릭터가 다르다. 기존 게임의 캐릭터가 Map API
페이지에서도 나오도록 기본 마킹이미지를 변경하였다. 기존의 mira 캐릭터의 Sprite
를 GIF 로 변환하여 저장하였다.
코드 병합 중 일어난 에러로, collider
생성 중복으로 나타난 에러였다. 기존의 collider
는 BootScene
에서 관리하였는데, 스킬에 따라 collider
를 새롭게 생성하고 제거하기 위해서는 Player
쪽에서 하는 것이 맞다고 판단했다. 다른 팀원의 코드에는 아직 BootScene
에 코드가 남아있다 보니, 병합 후 두 클래스 모두에 collider
적용 함수가 쓰이고 있던 것이다.
lat
와 lng
가 서로 바뀌어 나타난 에러로, Main
페이지와 Map API
페이지 모두 축제의 lat
, lng
값을 받고 있는데, 서로 써야하는 lat
값과 lng
값이 서로 반대로 적용되어 있었다. 해당 담당자와 잠깐 회의를 해본 결과, 아직은 mock
데이터를 쓰고 있기 때문에 실제 오는 서버와 연결하게 되었을 때, 데이터 값을 받아본 후에, 한쪽의 lat
, lng
설정을 바꾸자고 하였다.
게임에 필요한 모든 sound 파일을 로드하는 Sound
클래스를 추가하였다.
/**
* @description
* 게임에 필요한 Bgm 파일을 로드하기 위한 클래스
*
* @author bell
*/
class Bgm {
static preload(scene: Phaser.Scene, id: string, src: string[]): void {
scene.load.audio(id, src);
}
}
export default Bgm;
skillSound()
스킬 사용 시 사운드를 추가 하여 스킬을 키고 끌 때, 사운드를 입혔다. 그외에도, 걸음이나, 헤이스트 시 움직이는 모션에도 사운드를 추가하였다.
/**
* @description
* 게임에 필요한 Effect 파일을 로드하기 위한 클래스
*
* @author bell
*/
class Effect {
static preload(scene: Phaser.Scene, id: string, src: string[]): void {
scene.load.audio(id, src);
}
/**
* @param Scene {Phaser.scene} - Player 가 가진 Scene
* @param skillId {string} - load 한 skill의 참조값
* @param ms {number} - 삭제 시 setTimeout 값 조정
* @param volume {number} - 오디오 볼륨 조정
*
* @author bell
*/
static effectSound(
scene: Phaser.Scene,
skillId: string,
ms?: number | 1000,
volume?: number | 0.2,
): void {
if (scene.sound.getAll(skillId).length > 0) return;
const sound = scene.sound.add(skillId, {
volume,
});
sound.play();
setTimeout(() => {
scene.sound.remove(sound);
}, ms);
}
}
export default Effect;
계속해서 Map API
페이지에 기능을 추가해보려고 한다.