커뮤니티
포인트
쿠폰
내 강의실
국비 신청 내역
증명서
계정
로그아웃
학습 질문
개발 일지
나의 활동
답변 완료
배운 것을 바탕으로 코딩하다 막혔습니다..ㅜㅜ.
undefined주차
북마크
정*혁
댓글
1
추천
0
조회수
11
조회수
11
답변 완료

안녕하세요 강의에서 배운 내용을 토대로 좀비가 사용자 캐릭터를 쫓는 코드를 만들었는데 오류가 나면서 작동하지 않습니다.

자바스크립트 기본 프로퍼티에 접근하지 못하는 것 같은데 어떻게 해야 하나요...?;;


제가 짠 코드는 다음과 같습니다.

let zombie = App.loadSpritesheet('zombie-NESW.png', 48, 64, 
             {left: [9,10,11], up: [0,1,2], down: [6,7,8], right: [3,4,5]}, 8);


let players = App.players;
let player = players[0]


App.onInit.Add(function(){
    
   App.cameraEffect = 1; // 1 = 비네팅 효과
  App.cameraEffectParam1 = 500; // 비네팅 효과의 범위를 500으로 지정
    // App.sendUpdated(); 
})


App.onJoinPlayer.Add(function(){
    Map.putObject(5, 5, zombie);
    // Map.moveObject(5, 5, 100, 5, 34);
    startChase();
})


function startChase()
{
  const followSpeed = 1; // 좀비 추격 속도

function moveToPlayer() {
  const playerPos = player.getBoundingClientRect();
  const zombiePos = zombie.getBoundingClientRect();


  const deltaX = playerPos.left - zombiePos.left;
  const deltaY = playerPos.top - zombiePos.top;


  const distance = Math.sqrt(Math.pow(deltaX, 2) + Math.pow(deltaY, 2));


  // 좀비를 주인공에게 점진적으로 이동시킵니다.
  zombie.style.left = `${zombiePos.left + (followSpeed * deltaX) / distance}px`;
  zombie.style.top = `${zombiePos.top + (followSpeed * deltaY) / distance}px`;
}


// setInterval 함수를 사용하여 주기적으로 moveToPlayer 함수를 호출하고 좀비가 주인공을 따라가도록 합니다.
setInterval(moveToPlayer, 100);
}




작성한 코드 및 에러 메세지

TryInvokeInternal():225
 - Jint.Runtime.JavaScriptException: Cannot read property 'getBoundingClientRect' of undefined
   at :26:28



취소
 공유
취소
댓글 0
댓글 알림
나의얼굴