싱글턴이란?
클래스의 객체를 단 하나만 만들게 해놓은 패턴.
싱글턴 패턴을 사용하면 어디서든지 전역변수 사용하는 것처럼 같은 객체를 여러 곳에서 사용할 수 있다.
전역변수나 전역객체는 생성해놓고 쓰지 않으면 메모리가 낭비된다는 단점이 있으나,
싱글턴의 경우는 한번이라도 호출하지 않으면 생성 자체가 안되기 때문에 전역변수와 같은 단점이 없다.
1 2 3 4 5 6 7 8 9 10 11 12 | class ST{ private: ST(){} public: ~ST(){ delete instance; } static ST* instance; static ST* Call() { if( instance == NULL ) instance = new ST; return instance; } }; | cs |
생성자를 private에 선언하면 클래스 내부에서만 객체선언이 가능해 진다.
'API > 이론' 카테고리의 다른 글
메모리 생성을 각 클래스 안으로 넣기. (0) | 2016.04.30 |
---|---|
싱글턴을 이용한 메인함수의 메모리 버퍼 정리 (0) | 2016.04.30 |
이미지 깜박거림 없앰. (0) | 2016.04.29 |
캐릭터 뒷배경 검정색 없애기. (0) | 2016.04.29 |
시간 경과에 따른 애니메이션 (0) | 2016.04.29 |
Object_Hero.cpp
애니메이션 함수 제일 위에 밑의 소스를 추가.
1
2
3
4
5
6 |
if(m_iPrevState != m_iState)
{
m_iPrevState = m_iState;
m_dFrameDelay = 0;
m_nFreame = 0;
} |
cs |
전 상태가 지금 상태와 같지 않을경우.
전 상태를 지금 상태로 바꿔주고
시간 딜레이와
프레임을 모두 0으로 대입시켜준다.
결과
'API > 이론' 카테고리의 다른 글
싱글턴을 이용한 메인함수의 메모리 버퍼 정리 (0) | 2016.04.30 |
---|---|
싱글턴 패턴 (0) | 2016.04.30 |
캐릭터 뒷배경 검정색 없애기. (0) | 2016.04.29 |
시간 경과에 따른 애니메이션 (0) | 2016.04.29 |
캐릭터 출력하기. (0) | 2016.04.28 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | void Hero::Render() { CGPoint pos = this->GetPos(); pos.x -= m_offset.x + m_srcPos.x / 2; pos.y -= m_srcPos.y; SelectObject(m_hMemDC, m_hResource); BitBlt(m_hBackBuffer, pos.x, pos.y, m_srcPos.x, m_srcPos.y, m_hMemDC, m_srcSize.x + m_srcPos.x * m_nFreame, m_srcSize.y + m_srcPos.y, SRCAND); BitBlt(m_hBackBuffer, pos.x, pos.y, m_srcPos.x, m_srcPos.y, m_hMemDC, m_srcSize.x + m_srcPos.x * m_nFreame, m_srcSize.y, SRCPAINT); } | cs |
결과
'API > 이론' 카테고리의 다른 글
싱글턴 패턴 (0) | 2016.04.30 |
---|---|
이미지 깜박거림 없앰. (0) | 2016.04.29 |
시간 경과에 따른 애니메이션 (0) | 2016.04.29 |
캐릭터 출력하기. (0) | 2016.04.28 |
배경을 클래스화 해서 출력하기. (0) | 2016.04.27 |