zoukankan      html  css  js  c++  java
  • 游戏设计手札05

    终于用GDI实现了人物在屏幕上行走的功能。

    成功后发现其实方法挺简单的,只是这个方法几乎没看到有人用,于是。。折磨初学者哎。。差点就摆弄DirectDraw了,幸好我多坚持了那么些。

    在屏幕上希望的位置显示硬盘上某个图片的某个希望的部分的方法:

     1 {
    2 HDC hDC = GetDC(hwnd);
    3 HDC memDC = CreateCompatibleDC ( hDC );//创建兼容DC
    4 HBITMAP hbmp = (HBITMAP)LoadImage(0,".\\PLAYER.BMP", IMAGE_BITMAP,0,0,LR_CREATEDIBSECTION|LR_LOADFROMFILE);
    5 SelectObject(memDC,hbmp);
    6 BitBlt(hDC,g_screenx/2-16,g_screeny/2-24,32,48,memDC,32*i,48*j,SRCCOPY);
    7 DeleteObject(hbmp);
    8 ReleaseDC(hwnd,hDC);
    9 DeleteDC(memDC);
    10
    11 }

    2:获取当前DC:hDC

    3:创建兼容DC:memDC

    4:用LoadImage函数在硬盘上载入bmp图片,得到HBITMAP:hbmp

    5:将memDC与hbmp关联,相当于把图片放到memDC上

    6:用BitBlt函数将memDC上图像的相应部分复制到当前DC上,此时便完成显示功能,至于在哪显示哪个部分,由该函数的参数确定

    7、8、9:释放,其中9处不能用ReleaseDC

    到此总算是又迈出了艰难的一步,明天开始尝试绘制地图。

  • 相关阅读:
    实验4
    实验3
    第七章例7-14
    第七章例7-13
    第七章例7-12
    第七章例7-11
    第七章例7-10
    diyiti
    disanti
    第二题
  • 原文地址:https://www.cnblogs.com/cybersword/p/2330312.html
Copyright © 2011-2022 走看看