亚洲欧美第一页_禁久久精品乱码_粉嫩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一区二区三区免费野_久草精品视频
免费人成黄页网站在线一区二区| 国产精品福利在线播放| 91网上在线视频| 韩日精品视频一区| 久久99精品国产.久久久久久| 视频一区二区三区入口| 亚洲丶国产丶欧美一区二区三区| 亚洲国产色一区| 亚洲高清中文字幕| 欧美aa在线视频| 激情综合色丁香一区二区| 狠狠狠色丁香婷婷综合激情| 精品亚洲免费视频| 国产69精品久久777的优势| 国产成人av一区二区三区在线| 国产精品一区二区久激情瑜伽 | 中文字幕久久午夜不卡| 国产三级一区二区三区| 国产精品福利一区| 亚洲一线二线三线视频| 日本 国产 欧美色综合| 久久成人精品无人区| 国产精品亚洲第一区在线暖暖韩国| 国产黄色精品网站| 97久久精品人人爽人人爽蜜臀| 在线观看成人小视频| 91精品久久久久久久久99蜜臂| 精品久久国产97色综合| 亚洲国产精品黑人久久久| 亚洲老司机在线| av午夜一区麻豆| 欧美三区在线视频| 久久久久久久久一| 夜夜爽夜夜爽精品视频| 国内偷窥港台综合视频在线播放| 波波电影院一区二区三区| 在线观看欧美日本| 久久久青草青青国产亚洲免观| 一区二区三区四区精品在线视频| 日本视频在线一区| 91在线高清观看| 精品成人佐山爱一区二区| 亚洲色图第一区| 国产一区三区三区| 欧美日韩一区二区三区高清| 久久精品欧美日韩| 日日欢夜夜爽一区| 色网站国产精品| 久久婷婷国产综合精品青草 | 亚洲一区二区三区四区在线观看 | 91浏览器在线视频| 精品日韩99亚洲| 亚洲影院理伦片| 99精品一区二区| 国产欧美一区在线| 激情综合亚洲精品| 宅男在线国产精品| 亚洲一区在线观看免费| 成人永久aaa| 亚洲大片精品永久免费| 成人性生交大片免费看中文| 日韩三级在线观看| 午夜av一区二区| 在线免费不卡视频| 亚洲欧美福利一区二区| 国产精品亚洲一区二区三区妖精| 日韩女优制服丝袜电影| 丝袜美腿成人在线| 欧美在线视频全部完| 亚洲免费观看高清完整版在线观看熊 | 国产精品美女久久久久久 | 激情图区综合网| 欧美日韩免费在线视频| 亚洲欧美日本在线| 91视频观看免费| 亚洲三级在线免费观看| 91麻豆高清视频| 一区二区中文视频| 一本久久a久久精品亚洲| 久久精品国产亚洲aⅴ| 日韩免费电影网站| 国产精品资源在线看| 日韩亚洲电影在线| 精品制服美女久久| 久久婷婷久久一区二区三区| 国产真实乱子伦精品视频| 欧美一区二区三区爱爱| 日韩二区三区四区| 精品国产精品网麻豆系列| 韩国av一区二区| 国产精品福利一区二区三区| 91免费版在线看| 日韩国产精品久久| 精品国产一区二区三区忘忧草 | 久久精品欧美日韩精品| 岛国一区二区在线观看| 亚洲欧美日韩精品久久久久| 欧美伊人精品成人久久综合97| 亚洲成av人综合在线观看| 91精品国产综合久久精品性色| 久久电影国产免费久久电影| 国产亚洲精品福利| 91久久精品日日躁夜夜躁欧美| 亚洲1区2区3区4区| 久久男人中文字幕资源站| www.爱久久.com| 日本不卡一区二区| 国产精品欧美久久久久无广告| 91福利在线免费观看| 激情文学综合丁香| 亚洲人成电影网站色mp4| 欧美一级午夜免费电影| 成人av集中营| 麻豆精品一二三| 亚洲靠逼com| 久久综合久久久久88| 色婷婷香蕉在线一区二区| 精品一区二区三区久久久| 1区2区3区欧美| 久久综合狠狠综合| 欧美绝品在线观看成人午夜影视| 国产盗摄一区二区| 美国毛片一区二区三区| 亚洲欧美偷拍另类a∨色屁股| 日韩久久免费av| 欧美婷婷六月丁香综合色| 国产 日韩 欧美大片| 免费高清在线一区| 亚洲综合一区二区精品导航| 国产欧美视频一区二区三区| 欧美一区二区三区在线观看 | 欧美另类一区二区三区| 不卡一区二区中文字幕| 国产一区美女在线| 午夜欧美在线一二页| 亚洲美女电影在线| 国产精品网站在线观看| 久久婷婷一区二区三区| 日韩一区二区三区视频在线观看 | 天堂久久久久va久久久久| 国产精品麻豆久久久| 久久精品欧美一区二区三区不卡 | 亚洲精品美腿丝袜| 国产精品久久久久久久久免费樱桃 | 色久优优欧美色久优优| 成人久久18免费网站麻豆| 国产精品一区免费在线观看| 蜜桃精品视频在线| 理论电影国产精品| 麻豆精品一二三| 久久97超碰国产精品超碰| 日本麻豆一区二区三区视频| 日日嗨av一区二区三区四区| 午夜免费久久看| 午夜欧美在线一二页| 日本少妇一区二区| 精品午夜一区二区三区在线观看| 蜜臀av一区二区在线观看| 麻豆精品在线看| 激情图片小说一区| 国产99精品视频| 暴力调教一区二区三区| 99在线视频精品| 色琪琪一区二区三区亚洲区| 色中色一区二区| 欧美日韩成人高清| 欧美成人精精品一区二区频| 久久亚洲综合色| 国产精品久久久久久久久快鸭| 中文字幕亚洲视频| 亚洲国产日产av| 男女性色大片免费观看一区二区 | 日韩一级成人av| 久久老女人爱爱| 国产精品免费av| 一区二区三区成人| 日韩不卡一区二区| 国产精品12区| 本田岬高潮一区二区三区| 色天使色偷偷av一区二区| 欧美日韩aaaaaa| 一区二区三区中文字幕在线观看| 亚洲在线一区二区三区| 蜜乳av一区二区三区| 国产v综合v亚洲欧| 在线观看中文字幕不卡| 日韩欧美电影一区| 亚洲视频资源在线| 日韩成人精品在线| 国产成a人亚洲精| 欧美日韩在线一区二区| 久久精品亚洲一区二区三区浴池| 成人免费在线观看入口| 免费久久99精品国产| av午夜精品一区二区三区| 日韩视频一区在线观看| 亚洲人成亚洲人成在线观看图片| 日韩va欧美va亚洲va久久| 成人爱爱电影网址| 日韩欧美国产一区在线观看|