게임제작/API
Rectangle(), Ellipse() 함수로 도라에몽 만들기
SYeonni
2021. 5. 28. 15:38
> 사각형 그리기 Rectangle()
> 타원 그리기 Ellipse()
위 2개의 함수를 사용해서 사각형, 원을 출력하여 도라에몽을 만들어 봤다.
구현방식
1. 사이즈 정보를 담기 위한 구조체 만들기
#pragma once
#ifndef __STRUCT_H__
#define __STRUCT_H__
typedef struct tagInfo
{
float fX;
float fY;
int iCX;
int iCY;
}INFO;
#endif // !__STRUCT_H__
2. 구조체 값 초기화
void CPlayer::Initialize()
{
m_tInfo.fX = _fx;
m_tInfo.fY = _fy;
m_tInfo.iCX = _icx;
m_tInfo.iCY = _icy;
m_fSpeed = _fSpeed;
}
3. 매 프레임마다 사이즈 업데이트
void CObj::Update_Rect()
{
m_tRect.left = (LONG)(m_tInfo.fX - (m_tInfo.iCX >> 1));
m_tRect.top = (LONG)(m_tInfo.fY - (m_tInfo.iCY >> 1));
m_tRect.right = (LONG)(m_tInfo.fX + (m_tInfo.iCX >> 1));
m_tRect.bottom = (LONG)(m_tInfo.fY + (m_tInfo.iCY >> 1));
}
4. 출력
void CPlayer::Render(HDC _DC)
{
Rectangle(_DC, m_tRect.left, m_tRect.top, m_tRect.right, m_tRect.bottom);
}
void CBullet::Render(HDC _DC)
{
Ellipse(_DC, m_tRect.left, m_tRect.top, m_tRect.right, m_tRect.bottom);
}
728x90