
안녕하세요 강의에서 배운 내용을 토대로 좀비가 사용자 캐릭터를 쫓는 코드를 만들었는데 오류가 나면서 작동하지 않습니다.
자바스크립트 기본 프로퍼티에 접근하지 못하는 것 같은데 어떻게 해야 하나요...?;;
제가 짠 코드는 다음과 같습니다.
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
