-
미니프로젝트 - Web.Jom.BIE미니프로젝트 2025. 2. 20. 14:28
사전캠프가 끝나고 시작된 첫 미니 프로젝트
2025.02.17 ~ 2025.02.21일까지 진행될 프로젝트다.
S.A(Starting Assignments) 작성
- S.A란?
- 프로젝트의 시작점 역할, 전체적인 흐름을 만들기 위한 용 (많이 사용하는 용어는 아닌 듯 하다)
- 프로젝트 명, 프로젝트 개요, 개발 일정, 역할 분담, 사용하는 기술, 와이어 프레임 등으로 구성하여 작성 - * 와이어 프레임: 프로젝트의 기본 구조를 시각적으로 보여주는 다이어그램, 핵심 기능만 단순하게 표현한 것
★ 팀명 정하기
- Minecraft라는 건축, 공장 등등 다양한 커셉을 가지고 플레이하느 게임이다.
- 그 중 '휘용' 유투버 서버이름이 '곡좀빌'이 떠올랐다. ->' 곡갱이 좀 빌리게요'의 약자
- 팀원들에게 제안했고, 약간의 수정을 거치게 되어서 탄생하게된 새로운이름
Web.JOM.BIE : 웹.좀.비(ㄹ할게요!)
★ 팀원들의 아이디어를 모아 정리한 상세하게 PPT로 제작한 화면 구성.
초안(손작업) Main 웹페이지 화면 팀원들의 상세한 정보 표시 https://firebase.google.com/?hl=ko
Firebase | Google's Mobile and Web App Development Platform
개발자가 사용자가 좋아할 만한 앱과 게임을 빌드하도록 지원하는 Google의 모바일 및 웹 앱 개발 플랫폼인 Firebase에 대해 알아보세요.
firebase.google.com
★ 역활 분담
메인 html을 제작
프로필 html을 제작
메인 CSS 제
프로필 CSS제작
● 내 담당
버튼 상호작용(스크립트) 구성
프로필 카드 슬라이드 애니메이션 제작
SQL은 파이어베이스 연결
git 허브 관리
결과물
★ 구현 방향:
마우스가 버튼 위에 있다면 좀비 이미지가 위아래 진동하며 마치 반응해주는 애니메이션을한다.
★ 구현 순서:
1. 이미지와 버튼이 한 공간에 존재한다.
2. 애니메이션 구성.
why?!
무엇으로 누군가를 강조하는 애니메이션이 있으면 하는것이 어떤가? 아이디어를 제시했다.
@keyfram, transform, animaition은 사전 캠프에서도 보지 못했던 기능이다.
animaition
전환?
전 후 상태를 부드럽게 변화시키는 효과를 제공하는 기능이다.
시작과 종료 상태만 고려하면 되기때문에 간단하게 사용할 수있다.
애니메이션?
- 여러 CSS 스타일 속성으로 요소의 크기, 색상,모양등을 제어해 애니메이션 효과를 부여하는 기능입니다.
- 자바스크립트를 사용하지 않고 간단하게 요소애 동적 효과를 부여 할수 있기 때문에,
보다 좋은 성능으로 애니메이션을 구현 할수 있다.
@keyfram ?
애니메이션 중간중간의 특정 지점들을 거칠 수 있는 키프레임들을 설정함으로써
CSS 애니메이션 과정의 중간 절차를 제어할 수 있는 기능 중 하다.
transform?
특정 CSS 속성의 값을 점진적으로 바꿀 수 있는 CSS 모듈
타이밍 함수 , 시간등 여러 속성을 통해 바뀌는 방식을 조절한다.
https://developer.mozilla.org/ko/docs/Web/CSS/@keyframes
@keyframes - CSS: Cascading Style Sheets | MDN
@keyframes @규칙은 개발자가 애니메이션 중간중간의 특정 지점들을 거칠 수 있는 키프레임들을 설정함으로써 CSS 애니메이션 과정의 중간 절차를 제어할 수 있게 합니다. 이를 통해 브라우저가 tran
developer.mozilla.org
★CSS >적용 위치 header의 style태그에 적용 할것!
.button-container { position: relative; display: inline-block; } .zombie { position: absolute; top: -60px; left: 50%; transform: translateX(-50%); width: 80px; height: 80px; background: url('...') no-repeat center/cover; animation: idle 1s infinite alternate; } .button { width: 150px; height: 50px; background-color: red; border: none; color: white; font-size: 18px; cursor: pointer; position: relative; } @keyframes idle { 0% { transform: translateX(-50%) translateY(0); } 100% { transform: translateX(-50%) translateY(-5px); } } @keyframes knock { 0%, 100% { transform: translateX(-50%) translateY(0) rotate(0deg); } 50% { transform: translateX(-50%) translateY(5px) rotate(-5deg); } } @keyframes shake { 0%, 100% { transform: translateX(0); } 25% { transform: translateX(-3px); } 50% { transform: translateX(3px); } 75% { transform: translateX(-2px); } } .button-container:hover .zombie { animation: knock 0.2s infinite alternate; } .button:active { animation: shake 0.2s ease-in-out; }
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Zombie Button</title> </head> <body> <div class="button-container"> <div class="zombie"></div> <button class="button">Click Me</button> </div> </body> </html>
팀원들 코드에 작업하기위해 별도로 만들었다.
★ 어려웠다면 ?
모든지 처음 쓰는 것은 어렵다.
GPT에게 제안한 것은 애니메이션 기초중에 기초코드를 달라고 했다.
이리저리 만져 보고 MSDN에가서 예제를 사용해보고 구글링하면서 시도 끝에 제작을 하게 되었다.
'미니프로젝트' 카테고리의 다른 글
미니프로젝트 - Web.Jom.BIE (0) 2025.02.21 미니프로젝트 - Web.Jom.BIE (0) 2025.02.21 - S.A란?