공부/SFML

이벤트 루프, 문자 UI, 문자열 연결, 타임 바, 사운드, 가속도

월러비 2025. 6. 13. 18:30

문자 UI

  • 글자도 그리기 객체처럼 ‘텍스트 객체’가 있다.
  • 텍스트 - draw ⇒ 화면에 그려진다.
  • 필요한 준비 : 폰트 데이터, 위치, 스케일, 색상, 글자 크기, 글자 높이 등..

문자열 연결

  • std::to_string(문자열) : 문자열 변환 함수다.
  • 문자열 + 문자열 ⇒ 문자열 연결된다.

타임 바

  • 전체 넓이 400
  • 5초동안 400 ~ 0
    • 400 / 5 ⇒ 5초동안 줄어드는 양 → 줄어드는 속도
  1. 타임 바 크기 가져오기
  2. 타임 바 줄어드는 속도 * deltaTime ⇒ 프레임 마다 줄어들게 된다.
  3. 타임 바의 x(Width) -= 타임 바 줄어드는 속도 * deltaTime
  4. 타임 바 사이즈 설정 함수 호출
  • 초당 가로 * 남은시간 = 타임바 현재 가로 사이즈
    • 남은시간이 0이면 0이 곱해져서 타임바의 가로가 0으로 고정된다.
    • 하는 이유 : 고정을 안하면 0 뒤로 즉, 반대로까지 그려지기 떄문이다.

사운드

  • 사운드 파일 로딩(사운드 버퍼) + 사운드(사운드 버퍼 재생) 2개의 객체가 필요하다.

가속도

  • vravity : 아래로 내릴 값 ⇒ 시간의 흐름에 따른 속도의 변화량
  • SFML의 좌표계는 -라면 위로 올라간다. / +면 아래로 내려간다.
  • velocity = 방향 * speed