游戏开发论坛

 找回密码
 立即注册
搜索
查看: 2508|回复: 4

问题:创建ID3DXFont字体对象。

[复制链接]

106

主题

743

帖子

745

积分

高级会员

Rank: 4

积分
745
QQ
发表于 2006-10-31 22:03:00 | 显示全部楼层 |阅读模式
D3DXCreateFontIndirect(D3D设备,字体属性结构体D3DXFONT_DESC,ID3DXFont接口)

第一步:
typedef struct D3DXFONT_DESC {
    UINT Height;
    UINT Width;
    UINT Weight;
    UINT MipLevels;
    BOOL Italic;
    BYTE CharSet;
    BYTE OutPrecision;
    BYTE Quality;
    BYTE PitchAndFamily;
    TCHAR FaceName[LF_FACESIZE];
} D3DXFONT_DESC;
第二步:
D3DXFONT_DESC  tFont;
        tFont.CharSet = DEFAULT_CHARSET;
        //tFont.FaceName = L"Arial";
        tFont.Height = 24;
        tFont.Italic = TRUE;
    tFont.MipLevels = 1;
        tFont.OutputPrecision = OUT_DEFAULT_PRECIS;
        tFont.PitchAndFamily = DEFAULT_PITCH|FF_DONTCARE;
        tFont.Quality = DEFAULT_QUALITY;
        tFont.Weight = 12;
        tFont.Width = 20;
        wcsncpy(tFont.FaceName, L"Arial",32);
第三步:
D3DXCreateFontIndirect(dx,&tFont,&df);

结果:编译错误。

106

主题

743

帖子

745

积分

高级会员

Rank: 4

积分
745
QQ
 楼主| 发表于 2006-11-2 17:13:00 | 显示全部楼层

Re:问题:创建ID3DXFont字体对象。

哪位会显示文字的指点一下,谢谢!

15

主题

129

帖子

129

积分

注册会员

Rank: 2

积分
129
QQ
发表于 2006-11-2 22:39:00 | 显示全部楼层

Re:问题:创建ID3DXFont字体对象。

兄弟,你的代码我试过了。跟你有一句不同
strcpy_s(lf.FaceName, "Arial");
因为不懂那个wcsncpy(tFont.FaceName, L"Arial",32);
试过了,运行起来一切正常,你自己试试。
有问题再联系我QQ:349330748

106

主题

743

帖子

745

积分

高级会员

Rank: 4

积分
745
QQ
 楼主| 发表于 2006-11-3 13:10:00 | 显示全部楼层

Re:问题:创建ID3DXFont字体对象。

多谢楼上,已经能用了。

15

主题

1268

帖子

1268

积分

金牌会员

Rank: 6Rank: 6

积分
1268
发表于 2007-3-16 12:07:00 | 显示全部楼层

Re:问题:创建ID3DXFont字体对象。

//创建文字对象
        D3DXFONT_DESCW font2={
                Size, //大小
                0,//宽度
                (Bold)?FW_HEAVY:FW_THIN,//粗度
                1, //MipLevels
                bItalic,//下划线
                DEFAULT_CHARSET,
                OUT_DEFAULT_PRECIS,
                CLEARTYPE_QUALITY,
                DEFAULT_PITCH |FF_DONTCARE,
                NULL };
        wcsncpy(font2.FaceName, Path,UI_FONTNAME_MAX);
        if(D3DXCreateFontIndirectW( m_pDevice,&font2, &tmp_Font.p2DFontStand ) != D3D_OK)
        {
                wstring tem_str = L"创建序号为[";
                tem_str += g_PathLoader.GetStringByID(ResID);
                tem_str += L"]的文字资源失败。";
                g_ErrorLogRecorder.AddErrorToLog(tem_str.data());
                return false;
        }
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2026-1-26 17:58

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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