亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? sprite.cpp

?? 游戲源代碼
?? CPP
字號:
//-----------------------------------------------------------------
// Sprite Object
// C++ Source - Sprite.cpp
//-----------------------------------------------------------------

//-----------------------------------------------------------------
// Include Files
//-----------------------------------------------------------------
#include "Sprite.h"

//-----------------------------------------------------------------
// Sprite Constructor(s)/Destructor
//-----------------------------------------------------------------
Sprite::Sprite(Bitmap* pBitmap)
{
  // Initialize the member variables
  m_pBitmap = pBitmap;
  m_iNumFrames = 1;
  m_iCurFrame = m_iFrameDelay = m_iFrameTrigger = 0;
  SetRect(&m_rcPosition, 0, 0, pBitmap->GetWidth(), pBitmap->GetHeight());
  CalcCollisionRect();
  m_ptVelocity.x = m_ptVelocity.y = 0;
  m_iZOrder = 0;
  SetRect(&m_rcBounds, 0, 0, 640, 480);
  m_baBoundsAction = BA_STOP;
  m_bHidden = FALSE;
}

Sprite::Sprite(Bitmap* pBitmap, RECT& rcBounds, BOUNDSACTION baBoundsAction)
{
  // Calculate a random position
  int iXPos = rand() % (rcBounds.right - rcBounds.left);
  int iYPos = rand() % (rcBounds.bottom - rcBounds.top);

  // Initialize the member variables
  m_pBitmap = pBitmap;
  m_iNumFrames = 1;
  m_iCurFrame = m_iFrameDelay = m_iFrameTrigger = 0;
  SetRect(&m_rcPosition, iXPos, iYPos, iXPos + pBitmap->GetWidth(),
    iYPos + pBitmap->GetHeight());
  CalcCollisionRect();
  m_ptVelocity.x = m_ptVelocity.y = 0;
  m_iZOrder = 0;
  CopyRect(&m_rcBounds, &rcBounds);
  m_baBoundsAction = baBoundsAction;
  m_bHidden = FALSE;
}

Sprite::Sprite(Bitmap* pBitmap, POINT ptPosition, POINT ptVelocity, int iZOrder,
    RECT& rcBounds, BOUNDSACTION baBoundsAction)
{
  // Initialize the member variables
  m_pBitmap = pBitmap;
  m_iNumFrames = 1;
  m_iCurFrame = m_iFrameDelay = m_iFrameTrigger = 0;
  SetRect(&m_rcPosition, ptPosition.x, ptPosition.y,
    ptPosition.x + pBitmap->GetWidth(), ptPosition.y + pBitmap->GetHeight());
  CalcCollisionRect();
  m_ptVelocity = ptVelocity;
  m_iZOrder = iZOrder;
  CopyRect(&m_rcBounds, &rcBounds);
  m_baBoundsAction = baBoundsAction;
  m_bHidden = FALSE;
}

Sprite::~Sprite()
{
}

//-----------------------------------------------------------------
// Sprite General Methods
//-----------------------------------------------------------------
SPRITEACTION Sprite::Update()
{
  // Update the frame
  UpdateFrame();

  // Update the position
  POINT ptNewPosition, ptSpriteSize, ptBoundsSize;
  ptNewPosition.x = m_rcPosition.left + m_ptVelocity.x;
  ptNewPosition.y = m_rcPosition.top + m_ptVelocity.y;
  ptSpriteSize.x = m_rcPosition.right - m_rcPosition.left;
  ptSpriteSize.y = m_rcPosition.bottom - m_rcPosition.top;
  ptBoundsSize.x = m_rcBounds.right - m_rcBounds.left;
  ptBoundsSize.y = m_rcBounds.bottom - m_rcBounds.top;

  // Check the bounds
  // Wrap?
  if (m_baBoundsAction == BA_WRAP)
  {
    if ((ptNewPosition.x + ptSpriteSize.x) < m_rcBounds.left)
      ptNewPosition.x = m_rcBounds.right;
    else if (ptNewPosition.x > m_rcBounds.right)
      ptNewPosition.x = m_rcBounds.left - ptSpriteSize.x;
    if ((ptNewPosition.y + ptSpriteSize.y) < m_rcBounds.top)
      ptNewPosition.y = m_rcBounds.bottom;
    else if (ptNewPosition.y > m_rcBounds.bottom)
      ptNewPosition.y = m_rcBounds.top - ptSpriteSize.y;
  }
  // Bounce?
  else if (m_baBoundsAction == BA_BOUNCE)
  {
    BOOL bBounce = FALSE;
    POINT ptNewVelocity = m_ptVelocity;
    if (ptNewPosition.x < m_rcBounds.left)
    {
      bBounce = TRUE;
      ptNewPosition.x = m_rcBounds.left;
      ptNewVelocity.x = -ptNewVelocity.x;
    }
    else if ((ptNewPosition.x + ptSpriteSize.x) > m_rcBounds.right)
    {
      bBounce = TRUE;
      ptNewPosition.x = m_rcBounds.right - ptSpriteSize.x;
      ptNewVelocity.x = -ptNewVelocity.x;
    }
    if (ptNewPosition.y < m_rcBounds.top)
    {
      bBounce = TRUE;
      ptNewPosition.y = m_rcBounds.top;
      ptNewVelocity.y = -ptNewVelocity.y;
    }
    else if ((ptNewPosition.y + ptSpriteSize.y) > m_rcBounds.bottom)
    {
      bBounce = TRUE;
      ptNewPosition.y = m_rcBounds.bottom - ptSpriteSize.y;
      ptNewVelocity.y = -ptNewVelocity.y;
    }
    if (bBounce)
      SetVelocity(ptNewVelocity);
  }
  // Die?
  else if (m_baBoundsAction == BA_DIE)
  {
    if ((ptNewPosition.x + ptSpriteSize.x) < m_rcBounds.left ||
      ptNewPosition.x > m_rcBounds.right ||
      (ptNewPosition.y + ptSpriteSize.y) < m_rcBounds.top ||
      ptNewPosition.y > m_rcBounds.bottom)
      return SA_KILL;
  }
  // Stop (default)
  else
  {
    if (ptNewPosition.x  < m_rcBounds.left ||
      ptNewPosition.x > (m_rcBounds.right - ptSpriteSize.x))
    {
      ptNewPosition.x = max(m_rcBounds.left, min(ptNewPosition.x,
        m_rcBounds.right - ptSpriteSize.x));
      SetVelocity(0, 0);
    }
    if (ptNewPosition.y  < m_rcBounds.top ||
      ptNewPosition.y > (m_rcBounds.bottom - ptSpriteSize.y))
    {
      ptNewPosition.y = max(m_rcBounds.top, min(ptNewPosition.y,
        m_rcBounds.bottom - ptSpriteSize.y));
      SetVelocity(0, 0);
    }
  }
  SetPosition(ptNewPosition);

  return SA_NONE;
}

void Sprite::Draw(HDC hDC)
{
  // Draw the sprite if it isn't hidden
  if (m_pBitmap != NULL && !m_bHidden)
  {
    // Draw the appropriate frame, if necessary
    if (m_iNumFrames == 1)
      m_pBitmap->Draw(hDC, m_rcPosition.left, m_rcPosition.top, TRUE);
    else
      m_pBitmap->DrawPart(hDC, m_rcPosition.left, m_rcPosition.top,
        0, m_iCurFrame * GetHeight(), GetWidth(), GetHeight(), TRUE);
  }
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
99久久久久久99| 亚洲国产视频一区| 91精品国产丝袜白色高跟鞋| 春色校园综合激情亚洲| 久久精品国产一区二区三区免费看| 国产精品夫妻自拍| 精品欧美乱码久久久久久1区2区| 欧美日韩国产一区| 欧洲国内综合视频| 欧美日韩一区二区不卡| 色成年激情久久综合| 成人激情免费视频| 99这里只有久久精品视频| 国产成人免费9x9x人网站视频| 久热成人在线视频| 精品一区中文字幕| 免费人成精品欧美精品| 亚洲视频狠狠干| 国产精品入口麻豆原神| 国产欧美一区二区在线观看| 国产性色一区二区| 国产精品护士白丝一区av| 中文在线免费一区三区高中清不卡| 精品国产伦一区二区三区观看方式| 日韩一级二级三级精品视频| 欧美一区二区日韩一区二区| 日韩午夜激情免费电影| 精品日韩欧美一区二区| 久久久国产精品麻豆| 国产三级三级三级精品8ⅰ区| 国产婷婷精品av在线| 亚洲国产成人自拍| 亚洲一区二区三区四区在线观看 | 激情欧美日韩一区二区| 精品中文字幕一区二区小辣椒| 精东粉嫩av免费一区二区三区| 国产原创一区二区| www.欧美亚洲| 欧美日韩国产天堂| 久久久午夜电影| 国产精品第13页| 婷婷综合五月天| 狠狠色综合播放一区二区| 成人污视频在线观看| 欧洲一区二区三区在线| 精品国产91乱码一区二区三区 | 欧美午夜寂寞影院| 欧美日韩一区在线观看| 日韩精品一区二区三区四区| 国产精品私人影院| 亚洲一区二区在线视频| 精品亚洲aⅴ乱码一区二区三区| 高清不卡一区二区| 制服.丝袜.亚洲.中文.综合| 日韩欧美亚洲一区二区| 国产精品久久777777| 蜜臀91精品一区二区三区| 成人av网址在线| 日韩欧美亚洲国产精品字幕久久久| 久久精品免费在线观看| 性感美女极品91精品| 国产精品亚洲一区二区三区在线| 在线视频一区二区三| 久久久久国产精品麻豆ai换脸| 亚洲黄色免费电影| 国产黄色成人av| 7777精品伊人久久久大香线蕉超级流畅 | 成人激情视频网站| 日韩欧美国产一区在线观看| 国产精品色噜噜| 裸体健美xxxx欧美裸体表演| 99re热这里只有精品视频| 精品盗摄一区二区三区| 精品一区二区日韩| 日韩欧美国产成人一区二区| 日本在线不卡视频| 欧美一区二区三级| 久久国产精品一区二区| 日韩一级精品视频在线观看| 免费在线看成人av| 欧美一区二区三区免费| 麻豆传媒一区二区三区| 精品国产乱码久久久久久牛牛| 看电视剧不卡顿的网站| 久久网站最新地址| 风流少妇一区二区| 亚洲女人小视频在线观看| 在线中文字幕不卡| 天天操天天综合网| 日韩精品影音先锋| 国产一区亚洲一区| 国产精品久久久久三级| 色激情天天射综合网| 日韩黄色片在线观看| 久久精品视频一区二区| 波多野结衣欧美| 亚洲一区日韩精品中文字幕| 欧美精品精品一区| 国产福利91精品一区二区三区| 久久精品亚洲精品国产欧美kt∨| 成人午夜碰碰视频| 天堂一区二区在线免费观看| 欧美成人福利视频| 91在线精品一区二区| 日本欧美大码aⅴ在线播放| 久久精品视频免费观看| 色88888久久久久久影院按摩 | 日韩三级在线免费观看| 国产mv日韩mv欧美| 亚洲成人激情av| 久久精品一区二区三区av| 色先锋aa成人| 精品一区二区三区在线观看国产| 中文字幕av资源一区| 欧美系列在线观看| 国产精一品亚洲二区在线视频| 亚洲精品欧美在线| 久久久国产一区二区三区四区小说| 91福利在线看| 国产一区二区网址| 天天色天天爱天天射综合| 国产精品国产成人国产三级| 日韩午夜激情av| 色综合色综合色综合色综合色综合| 免费人成精品欧美精品| 一区二区三区精品久久久| 国产免费成人在线视频| 337p亚洲精品色噜噜| 色噜噜偷拍精品综合在线| 国产一区二区在线视频| 亚洲va天堂va国产va久| 椎名由奈av一区二区三区| 久久综合久久综合九色| 欧美欧美午夜aⅴ在线观看| av网站免费线看精品| 韩国中文字幕2020精品| 日韩电影在线看| 亚洲欧洲国产专区| 中文在线资源观看网站视频免费不卡 | 亚洲国产精品欧美一二99| 中文字幕一区二区三| 国产女人18毛片水真多成人如厕| 日韩午夜中文字幕| 日韩一区二区在线播放| 欧美顶级少妇做爰| 欧洲激情一区二区| 色妹子一区二区| 91精彩视频在线| 欧洲人成人精品| 欧美性欧美巨大黑白大战| 色天天综合色天天久久| caoporn国产精品| 不卡的电影网站| 91麻豆精品在线观看| 91老师片黄在线观看| 97久久精品人人爽人人爽蜜臀| 成人免费看片app下载| 成人黄色777网| 一本色道久久加勒比精品| 91麻豆国产自产在线观看| 91丝袜美腿高跟国产极品老师 | 欧美三级电影网| 制服丝袜成人动漫| 日韩欧美国产高清| 久久奇米777| 国产精品初高中害羞小美女文| 日韩理论在线观看| 亚洲国产精品久久久久秋霞影院 | 精品欧美乱码久久久久久1区2区| 精品国产亚洲在线| 中文字幕av不卡| 亚洲免费观看高清| 日日摸夜夜添夜夜添亚洲女人| 日韩电影一二三区| 国产精品自拍av| 一本久道久久综合中文字幕| 欧美美女直播网站| 日韩免费看的电影| 国产日韩亚洲欧美综合| 国产精品不卡在线| 天堂av在线一区| 国产精品1区2区3区| 91久久奴性调教| 欧美一级二级在线观看| 欧美国产精品一区| 亚洲图片一区二区| 国产精品888| 欧美日韩精品高清| 欧美国产1区2区| 亚洲国产精品精华液网站 | 中文字幕不卡在线| 午夜亚洲国产au精品一区二区| 黄网站免费久久| 欧美性受xxxx| 国产农村妇女毛片精品久久麻豆| 亚洲一卡二卡三卡四卡五卡| 激情小说欧美图片| 在线精品观看国产| 久久综合网色—综合色88| 五月婷婷久久丁香|