⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.cpp

📁 Beginning Direct3D Game Programming源代码Part3chapter122dbitarray.rar
💻 CPP
字号:
#include <windows.h>
#include <iostream>
#include "ps.h"

PhysicalSprite* LoadSprite(const char* filename)
{
  HBITMAP bitmap=(HBITMAP)LoadImage(GetModuleHandle(NULL),
                          "sprite.bmp",IMAGE_BITMAP,0,0,
                          LR_LOADFROMFILE|LR_CREATEDIBSECTION);
  if (bitmap == NULL) return NULL;
  DIBSECTION di;
  GetObject(bitmap,sizeof(DIBSECTION),&di);
  PhysicalSprite* result = NULL;
  // Currently only for 8 bpp.  Easy to fit to other types
  if (di.dsBm.bmBitsPixel == 8) 
  {
    int width=di.dsBm.bmWidth;
    int height=di.dsBm.bmHeight;
    PIXELVALUE* pix=(PIXELVALUE*)di.dsBm.bmBits;
    PIXELVALUE transparent_color = pix[0];
    result = new PhysicalSprite(pix,width,height,transparent_color);
  }
  DeleteObject(bitmap);
  return result;
}

int main(int argc, char* argv[])
{
  PhysicalSprite* s1=LoadSprite("sprite.bmp");
  if (s1!=NULL)
  {
    PhysicalSprite* s2=LoadSprite("sprite.bmp");
    if (s2!=NULL)
    {
      s1->SetPosition(10,10);
      s2->SetPosition(20,20);
      s1->DetectCollision(*s2);
      delete s2;
    }
    delete s1;
  }
  return 0;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -