pad.cpp
资源名称:pong.rar [点击查看]
上传用户:szsg028
上传日期:2022-08-01
资源大小:12k
文件大小:2k
源码类别:
GDI/图象编程
开发平台:
Visual C++
- #include "pad.h"
- pad::pad()
- {
- m_fVelocidad = 0;
- m_Cancha = 0;
- m_brushBlanco = (HBRUSH)GetStockObject(WHITE_BRUSH);
- m_penBlanco = CreatePen(PS_SOLID, 1, RGB(255, 255, 255));
- }
- pad::~pad()
- {
- DeleteObject(m_brushBlanco);
- DeleteObject(m_penBlanco);
- }
- void pad::draw(HDC hDC)
- {
- HBRUSH hOldBrush;
- HPEN hOldPen;
- hOldBrush = (HBRUSH)SelectObject(hDC, m_brushBlanco);
- hOldPen = (HPEN)SelectObject(hDC, m_penBlanco);
- Rectangle(hDC, getX() - getWidth()/2, getY() - getHeight()/2, getX() + getWidth()/2, getY() + getHeight()/2);
- SelectObject(hDC, hOldBrush);
- SelectObject(hDC, hOldPen);
- }
- void pad::move(float dt)
- {
- if ( m_bMovingUp )
- {
- mY -= dt * m_fVelocidad;
- if ( mY-mHeight/2 < m_Cancha->getMarginTop() )
- {
- mY = m_Cancha->getMarginTop() + mHeight/2;
- }
- }
- if ( m_bMovingDown )
- {
- mY += dt * m_fVelocidad;
- if ( mY+mHeight/2 > m_Cancha->getMarginBottom() )
- {
- mY = m_Cancha->getMarginBottom() - mHeight/2;
- }
- }
- }
- void pad::movingUp()
- {
- m_bMovingDown = false;
- m_bMovingUp = true;
- }
- void pad::movingDown()
- {
- m_bMovingDown = true;
- m_bMovingUp = false;
- }
- void pad::movingNone()
- {
- m_bMovingDown = false;
- m_bMovingUp = false;
- }
- void pad::setVelocidad(float valor)
- {
- m_fVelocidad = valor;
- }
- void pad::setCancha(court* cancha)
- {
- m_Cancha = cancha;
- }
- void pad::centrarEnCancha()
- {
- setY( ( m_Cancha->getHeight() + m_Cancha->getMarginTop() - ( m_Cancha->getHeight() - m_Cancha->getMarginBottom() ) ) / 2);
- }