MIR Engine
미래 지향 설계에 초점을 맞춘 자체 제작 게임 엔진
로딩중...
검색중...
일치하는것 없음
MIR::Animation 구조체 참조final

애니메이션 데이터를 관리하는 컴포넌트 구조체 더 자세히 ...

#include <Animation.hpp>

MIR::Animation에 대한 상속 다이어그램 :
[범례]
MIR::Animation에 대한 협력 다이어그램:
[범례]

Public 멤버 함수

 Animation ()
 Animation 구조체의 기본 생성자
 
- MIR::Component(으)로부터 상속된 Public 멤버 함수
virtual ~Component ()=default
 가상 소멸자
 

데이터 필드

std::vector< sf::IntRect > frames
 애니메이션을 구성하는 각 프레임의 영역 정보 목록
 
float delay
 각 프레임 간 전환에 소요되는 시간(초 단위)
 
float elapsed
 현재까지 경과한 시간(초 단위)
 
std::size_t curr_frame
 현재 표시 중인 프레임의 인덱스
 
bool is_looping
 애니메이션이 반복(loop) 재생되는지 여부
 
bool is_playing
 애니메이션이 현재 재생되고 있는지 여부
 

추가로 상속된 멤버들

- MIR::Component(으)로부터 상속된 Public 타입
using Tag = std::uint32_t
 컴포넌트를 식별하기 위한 태그 타입 정의
 

상세한 설명

애니메이션 데이터를 관리하는 컴포넌트 구조체

이 구조체는 프레임 정보를 담는 벡터와 애니메이션 재생 시간, 현재 프레임 인덱스, 루프 여부, 재생 상태 등을 관리. SFML의 IntRect를 이용하여 각 프레임이 차지하는 텍스처 영역을 정의하며, delay값으로 프레임 전환 간격 조정.

생성자 & 소멸자 문서화

◆ Animation()

MIR::Animation::Animation ( )
inline

Animation 구조체의 기본 생성자

초기값으로 delay를 0.16초, elapsed를 0초, curr_frame을 0으로 설정. 또한 기본적으로 애니메이션은 루프 재생(is_looping = true), 재생 중(is_playing = true) 상태.

97 : delay(0.16f), elapsed(0.f), curr_frame(0), is_looping(true), is_playing(true)
98 {
99 }
std::size_t curr_frame
현재 표시 중인 프레임의 인덱스
Definition Animation.hpp:72
bool is_playing
애니메이션이 현재 재생되고 있는지 여부
Definition Animation.hpp:88
bool is_looping
애니메이션이 반복(loop) 재생되는지 여부
Definition Animation.hpp:80
float elapsed
현재까지 경과한 시간(초 단위)
Definition Animation.hpp:63
float delay
각 프레임 간 전환에 소요되는 시간(초 단위)
Definition Animation.hpp:55

필드 문서화

◆ curr_frame

std::size_t MIR::Animation::curr_frame

현재 표시 중인 프레임의 인덱스

frames 벡터를 기준으로 0부터 시작하는 인덱스를 가짐. elapsed가 delay를 초과할 때마다 curr_frame을 증가시키며, is_looping이 true라면 마지막 프레임 후에 0으로 초기화.

◆ delay

float MIR::Animation::delay

각 프레임 간 전환에 소요되는 시간(초 단위)

예를 들어 0.16f라면 약 0.16초마다 프레임이 다음으로 넘어감.

◆ elapsed

float MIR::Animation::elapsed

현재까지 경과한 시간(초 단위)

프레임 전환을 위해 매 프레임 업데이트 시 누적되는 시간. delay를 초과하면 다음 프레임으로 전환되고, elapsed는 다시 0으로 초기화.

◆ frames

std::vector<sf::IntRect> MIR::Animation::frames

애니메이션을 구성하는 각 프레임의 영역 정보 목록

이 벡터는 각 애니메이션 프레임에 해당하는 SFML의 IntRect 저장. IntRect는 텍스처 상에서 특정 부분을 지정하는 직사각형 영역.

◆ is_looping

bool MIR::Animation::is_looping

애니메이션이 반복(loop) 재생되는지 여부

true일 경우 마지막 프레임 이후 다시 첫 프레임으로 돌아가며 재생. false일 경우 마지막 프레임에서 정지.

◆ is_playing

bool MIR::Animation::is_playing

애니메이션이 현재 재생되고 있는지 여부

true일 경우 elapsed 시간을 증가시키며 delay를 넘으면 프레임 전환이 일어남. false라면 프레임 전환이 멈추며 현재 프레임 상태 유지.


이 구조체에 대한 문서화 페이지는 다음의 파일로부터 생성되었습니다.: