묻고 답해요
156만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨[JS] Phaser 게임 제작 - 뱀파이어 서바이벌 클론
[참고] 33강 캣닢어택 강화시 버그 관련
재현경로게임 시작레벨 4 도달캣닢 범위 강화몬스터 타격현재결과캣닢 범위는 넓어지나 몬스터에게 데미지가 들어가지 않음. (피격판정 O 데미지 X)기대결과캣닢 범위가 넓어지더라도 몬스터에게 데미지가 들어가야 함.재현빈도Always테스트환경강의자료 최종 레포지토리 강의자료 최종 배포본 상황https://paullabworkspace.notion.site/3-23-d2df6742dd0141d6bcad23902b9c3c20현재 강의 자료에서 공격 이벤트를 추가하기 위해 addAttackEvent()선언 시 아래와 같은 로직으로 캣닢을 m_attackEvents에 담고 있습니다.이후 공격 범위를 증가시키는 로직은 아래와같이 정의되어 있습니다.강의 자료 내에서는 레벨 4에 캣닢 공격의 스케일을 확장합니다. 현상강의 자료 내에서는 레벨 4에 캣닢 공격의 스케일을 확장합니다.이때 catnip이라는 class 구성에는 damage 값이 없어서 문제가 발생합니다. 공격 범위 증가 로직 작동 시 아래의 값이 undefined가 되게 됩니다.scene.m_attackEvents.catnip.damage 캣닢에서의 데미지는 m_damage로 선언되어 있기 때문입니다. 이는 오버레이 등 여러 로직과 엮여있는 컨벤션이므로 건들기 난해합니다.다른 공격 액션 또한 m_damage로 class가 구성되어 있으나, 다른 액션들은 이벤트 등록 시 damage가 있는 객체로 전달해서 큰 문제가 없습니다.결국 damage를 undefined 로 받은 캣닢은 레벨 4 이후 범위를 확장시키면서 데미지가 사라지는 현상이 나타나게 됩니다. 아무리 맞춰도 죽지 않습니다. 뼈를 내어주고 살을 얻습니다.JS인지라 damage가 undefined라고 에러는 나타나지 않지만 버그입니다.첫 강의 소개당시 왕까지 어렵게 가신 가장 큰 이유가 아닐까 싶습니다.해결방법이야 많겠지만 일단 무식하게 damage를 포함한 객체로 전달했습니다.(겸사겸사 동일한 에러를 도출할 것으로 보이는 scale과 repeatGap도 포함합니다.)/attackManager.js이 상태에서는 기존 catnip 자체를 저장하던 때와 비교하여 destroy() 메서드를 사용 할 수 없게 되므로 사이드이펙트 해소를 위해 아래와 같이 수정했습니다.객체에 destroy 함수만 넘길지 고민 많이 되더군요./attackManager.js
-
해결됨[JS] Phaser 게임 제작 - 뱀파이어 서바이벌 클론
배포 파이프라인
노션에 있는 글 순서따라 했는데 아래 사진 단계에서 계속 멈춰있어서 질문드립니다.(제가 손을 댄 부분이 2군데 있는데 아래에서 말씀드리겠습니다.)용량이 그리 크지 않은 파일인데 배포에 30분이상 걸린다는건 분명히 문제가 있는 것 같아서요별도의 에러 로그가 나오지도 않는 상황이라 이유를 알 수도 없습니다.[변경한 부분]명령어 수정--> -N 옵션 다음에 ""로 명령어를 입력해도 아무 반응이 없어서 " " 로 수정 후 ssh key 생성ssh-keygen -t rsa -b 4096 -C "$(git config user.email)" -f gh-pages -N ""ssh-keygen -t rsa -b 4096 -C "$(git config user.email)" -f gh-pages -N " " deploy.yml 파일에서 branches: [ main ] / branches: [ main ] 를 main에서 master로 변경--> git branch 명령어로 현재 브랜치명을 확인해보니 master로 나와있어 수정 했습니다. cf) 위의 사진 상태에서 Cancel workflow 해보니 아래와 같은 메세지가 나왔습니다.
-
해결됨[JS] Phaser 게임 제작 - 뱀파이어 서바이벌 클론
[참고] hello world 강의 중 에셋 사용시 baseURL 수정 필요합니다.
교육자료 노션을 복사하여 index.html 을 작성하면 이미지가 깨지는 현상을 보실 수 있습니다. (23.5.5 기준) 이는 여러가지 이유로 Phaser 사이트 리뉴얼 과정에서 baseURL이 https로 수정되었기 때문입니다. 따라서 노션의 코드 중27번째 줄의 아래 코드를 this.load.setBaseURL("http://labs.phaser.io");아래와같이 http를 https로 수정해주시면 정상적으로 나타납니다.this.load.setBaseURL("https://labs.phaser.io");
-
해결됨[JS] Phaser 게임 제작 - 뱀파이어 서바이벌 클론
CHAPTER3.1 몹만들기
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 해당 관련 강의가 잘못 올라와 있습니다. 몹 죽음만드는 강으로 잘못 올라가져 있네요