SYeonni Study Room
Rectangle(), Ellipse() 함수로 도라에몽 만들기 본문
> 사각형 그리기 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
'게임제작 > API' 카테고리의 다른 글
API 게임 모작 - 쿠키런 (0) | 2021.07.06 |
---|---|
라인그리기 (if/else if 연습) (0) | 2021.06.09 |
위/아래/좌우 총알쏘기 <실수한 부분 정리> (0) | 2021.05.30 |
움직이면서 총쏘기 (실패 후 성공) (0) | 2021.05.30 |
객체 위,아래,좌우로 움직이기 (0) | 2021.05.28 |