728x90
캐릭터 이동을 할 때 필요했던 값은
캐릭터의 위치를 계산해
1. 첫위치 값
2. 제한된 구역을 더이상 이동 못하게 할 기준값
두 가지가 필요했다.
1. clientWidth
clientWidth와 clientHeight 값은
배경이 되는 크기가 어느 정도인지 확인이 가능하다.
배경이 되는 값을 먼저 계산한 뒤
캐릭터 크기를 빼면
캐릭터가 갈 수 있는 거리를 알 수 있다.
예를 들면 다음과 같다.
캐릭터는 80 x 80
높이는 300이다
캐릭터가 최대로 갈 수 있는 높이 거리는
300 - 80 = 220이다.
position: absolute로 하는 경우
부모는 relative로 잡았을 때
top:0, left:0의 좌표는 좌상단이다.
따라서
위로 갈 수 있는 최대값은
top: 0
아래로 갈 수 있는 최대 값은
top: 220px
const person = document.querySelector('.person');
person.offsetTop;
offsetTop은
부모만큼에서 얼마만큼 떨어져있냐의 값이다.
이 값으로 220이 넘는지 체크 후
이동제한을 할 수 있다.
2. getBoundingClientRect
얘는 부모고 뭐고
viewport 기준으로 잡아준다.
viewport 기준으로 xy좌표 얼마만큼 떨어져있나 확인가능...
'Javascript Tips' 카테고리의 다른 글
캐릭터메신저구현기 부드러운 무빙 - requestAnimationFrame (0) | 2025.04.04 |
---|---|
Javascript로 캐릭터 메신저 구현기(모아보기) (0) | 2025.04.03 |
screen, page, offset, client차이를 잘 보여주는 그림 (0) | 2024.12.22 |
mouseEnter&mouseLeave와 mouseOver&mouseOut의 차이 (0) | 2024.12.21 |
React - 이미지경로를 src에 바로 넣으면 안되는 이유 (1) | 2024.11.29 |