U E D R , A S I H C RSS

레�즈프로�트/프로토타입/�니메�션

코드 설명

추�화 기초 �래스.
AddFrame(UINT ITEM)으로 프레임� 추가시키고 외부�서 �절한 타�머를 통해서 움�임� 조절한다.(NextFrame())
Upload:beonit.exe

코드

~cpp
class CmyAnimation{
protected:
	vector<UINT> m_frameList;
	int m_nowFrame;

private:
	void init(){
		m_nowFrame = 0;
	}
public:
	CmyAnimation(){
		init();
	}
	void nextFrame(){
		if(m_nowFrame < int(m_frameList.size())-1)
			m_nowFrame++;
		else m_nowFrame = 0;
	}
	int getFrameSize(){
		return int(m_frameList.size());
	}
	void addFrame(UINT ITEM){
		m_frameList.push_back(ITEM);
	}
	virtual void drawFrame(CmyDouBuffDC* dc)=0;
};
----

GIF �기

ê²°ë¡ 

���� �니메�션� 불가능. 프레임마다 �니메�션 �체가 스스로� �태를 파악하여 새로 BMP를 뿌려 주어야 함.

왜?

CDC를 확장한 레�즈프로�트/그리기DC� �� �니메�션� 구현 하고� 하였다.
하지만 OnDraw�서 �성�고 파괴�는 그리기DC�서 프레임단위� �니메�션 처리는 옳지 않다. 만약 하게 �다면 모든 레�들� �체를 그리기DC안� 넣어야 할 것�다.

대안

대안. 수�으로 진행�는 �니메�션 작업� �래싱 할 수 있� 듯-_- 버튼�서 활용 가능 할 듯

CmyAnimation

�니메�션� 필요한 �체들� � �래스를 �� 받�으로서 �니메�션 처리를 할 수 있다.
� �래스는 �블버��과 bmp그리기를 ��화 시켜둔 레�즈프로�트/그리기DC(CmyDouBuffDC)를 사용하여 드로잉� 수행한다. (CDC를 사용하는 � 있지만... 편�를 위해서...)

Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2021-02-07 05:29:22
Processing time 0.0047 sec