游戏开发论坛

 找回密码
 立即注册
搜索
查看: 2035|回复: 1

学习 《学vc编游戏》的几个问题

[复制链接]

1

主题

1

帖子

3

积分

新手上路

Rank: 1

积分
3
发表于 2004-11-8 10:44:00 | 显示全部楼层 |阅读模式
      在书店中无意发现这本书,看了看 瓦萨 字号大阿,感觉又是一本骗人的烂书。后来读了一下,感觉作者的前言写的不错,就买了一本。后来在宿舍仔细读了一下,才发现这的确是一本游戏入门的好书。虽然不厚,但是绝对有价值,对于从来没有接触游戏编程的我,有一种豁然开朗的感觉。我感觉读此书,必须还有一本api手册比较好。代码很难肯阿:(
    我刚刚读完前5章,有一些问题想和唐老师交流一下。
1:bitblt 函数 我个人觉得有一点很重要的特性老师没有讲,后来在MFC程序设计中看到,就是将一个彩色位图拷贝到一个单色位图是就会产生掩码图
以下是我的一个测试例子
HBITMAP hBm;
        int w,h;
        hBm=(HBITMAP):oadImage(::AfxGetInstanceHandle(),"f:\\c1.bmp",IMAGE_BITMAP,0,0,LR_LOADFROMFILE|LR_CREATEDIBSECTION);
        HDC hdcmem;
        HDC hdcmem1;
        CClientDC dc(this);
        //dc.SetBkColor(RGB(0,0,0));
        hdcmem=::CreateCompatibleDC(dc.m_hDC);
        hdcmem1=::CreateCompatibleDC(dc.m_hDC);
        ::SelectObject(hdcmem,hBm);
        DIBSECTION ds;
        ::GetObject(hBm,sizeof(ds),&ds);
        w=ds.dsBmih.biWidth;
        h=ds.dsBmih.biHeight;
        ::BitBlt(dc.m_hDC,0,0,800,800,hdcmem,0,0,SRCCOPY);
        HBITMAP hBm1=::CreateBitmap(w,h,1,1,NULL);
        ::SelectObject(hdcmem1,hBm1);
        ::SetBkColor(hdcmem1,RGB(255,255,255));
        ::BitBlt(hdcmem1,0,0,800,800,hdcmem,0,0,SRCCOPY);
        ::BitBlt(dc.m_hDC,0,0,800,800,hdcmem1,0,0,SRCCOPY);
其实如果老师在书上点一句 我想回节约不少时间的。
2:第五章P58
man[0].p=man[0].m1-1  这句话我不明白能不能讲的在清楚一点
3:p63 图5-3 什么是 站 5步? 走10步 刺10步啊〉?
4:P64 上面写的是 结构 JCDZ 而代码是 ZJDZ ??? 不明白
5:很多变量都是拼音的简写 JCDZ 我想使角色动作 而 ZJDZ呢? 我实在想不出来

本人学vc刚刚两个月,对游戏更是一无所知 ,不过老师的这本书的确让我学到一些有用的东西
,问题太多了 希望老师能帮我指点一二  谢谢

31

主题

278

帖子

298

积分

中级会员

Rank: 3Rank: 3

积分
298
发表于 2004-11-8 12:12:00 | 显示全部楼层

Re:学习 《学vc编游戏》的几个问题

1.关于产生掩码的东东在TransparentBlt2()中
2.位置终值减1为当然计数就是指停止动作,m1设定10(打个比方),实际反应到图片上是从0-9
3.站5步就指有五张站立不跑时的图片,而刺也是说有刺的动作图片10张,分别以5步,10步来显示
4.ZJDC和JCDZ的关系,请看64页第七行
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2025-12-23 03:57

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表