美文网首页
GDI基础 | 《Windows游戏编程》读书笔记(二)

GDI基础 | 《Windows游戏编程》读书笔记(二)

作者: 温素年 | 来源:发表于2017-12-21 21:41 被阅读0次

    书名:《逐梦旅程:Windows游戏编程之从零开始》

    作者博客地址:http://blog.csdn.net/poem_qianmo/article/details/12895487


    第四章讲了GDI的一些基础,主要是一些函数的使用,看了代码就能看懂,主要是能熟练掌握。这里贴代码也不好看,我就不贴代码了。以下写一些笔记,主要是我写代码时遇到的问题、解决方法、和我的一些理解。

    1. PlaySound函数

    使用PlaySound函数播放音乐,但是播放不出来。发现PlaySound函数不能播放MP3格式的音乐,貌似只能播放wav格式的音频。所以,如果下载下来的音频是MP3格式的话,可以在网上下载一个“音频格式转换器”,转化成wav格式的音乐就可以播放了。

    2. DefWindowProc函数

    第一次自己写完一个窗口的框架时,发现窗口显示不出来,只有文字浮在屏幕上。比对了自己的代码之后发现是因为在WndProc函数中的switch语句里,default部分少写了一句 :

    return DefWindowProc(hWnd, message, wParam, lParam);

    只调用DefWindowProc函数也不行,必须要return它的返回值才行。

    3. 矩形边框

    在用画刷填充矩形区域的时候会有边框出现,边框的颜色和样式就是当前画笔的颜色和样式。如果不想要边框,就可以将画笔的样式设置成PS_NULL。如下图所示:

    矩形边框示例

    4. 随机函数的说明

    (1)srand() 中的种子一样,产生的随机数的顺序就一样。

    (2)rand() 的内部实现用的是线性同余法,不是真的随机数,但因其周期特别长,故在一定范围内可看成是随机的。

    (3)产生的最大随机数是RAND_MAX。

    5. 绘制位图四部曲

    (1)加载位图         LoadImage()

    (2)建立兼容DC    CreateCompatibleDC()

    (3)选用位图对象  SelectObject()

        这里是将bitmap选入到内存DC中,而不是窗口DC中。

    (4)进行贴图         BitBlt()


    相关文章

      网友评论

          本文标题:GDI基础 | 《Windows游戏编程》读书笔记(二)

          本文链接:https://www.haomeiwen.com/subject/ywfzwxtx.html