방명록
- [Css] Sprite-sheets 으로 달리는 애니메이션 (Run Animation) 만들기2024년 01월 22일 23시 01분 33초에 업로드 된 글입니다.작성자: 코딩백구반응형
혼자 개발을 진행하다가 progress bar 쪽에 사람이나 동물이 함께 달리는 애니메이션이 있으면 조금 더 포인트가 되지 않을까 싶어서 무작정 run animation 으로 구글링을 해보았다.
처음에는 gif 파일을 그냥 재생시켜야하나 싶었는데, 검색해서 보니 sprite-sheets 라고하는 옛날 종이 만화만드는 기법을 사용해서 animation 효과를 줄 수 있다는것을 발견했다.
Sprite-sheets 란?
- sprite sheet 란 아래와 같은 그림을 말하는데, 일련의 동작들이 연속적으로 그려져 있는 그림을 말한다.
여기까지 왔으면 어떻게 애니메이션 효과를 줄 지 어느정도 감이 왔으리라본다.
그렇다! 해당 사진을 옆으로 한프레임씩 지나가게 만들어주면 우리가 볼 때는 달려가는 모습처럼 보일 수 있다.
Code 구현
<HTML>
<div id="motion" class="-ml-[128px] -mt-[128px]"></div>
<CSS>
<style> #motion { scale: 0.1; position: absolute; height: 256px; width: calc(1536px / 6); background: url(/img/rungirl.avif); overflow: hidden; animation: moving 1s steps(6) infinite; } @keyframes moving { from { background-position: 0; } to { background-position: 1536px; } } </style>
- 해당 사진의 길이가 1536px 이고, 프레임이 6개라 width 는 1536 / 6 을 주었고, animation 주기는 steps(6) 으로 줬다.
- 배경 사진이 움직여야하는데, 범위는 0 에서부터 끝까지인 1536px 으로 정해줬다.
- 원본 크기로하면 캐릭터가 너무 크게 나와서 원하는 사이즈에 부합하지 않았기에 scale 속성으로 크기를 조절해주었다.
- TailwindCss 도 사용하였는데, scale 을 사용하면 캐릭터의 위치가 원래의 위치와는 다르게 잡혔기에 margin으로 이를 조정해주었다.
결과물을 보면 이런식으로 나오는것을 확인할 수 있다.
반응형다음글이 없습니다.이전글이 없습니다.댓글