游戏开发论坛

 找回密码
 立即注册
搜索
查看: 7502|回复: 7

D3DXCreateFont无论怎么改参数都调用失败,为何呢?

[复制链接]

8

主题

25

帖子

25

积分

注册会员

Rank: 2

积分
25
发表于 2005-12-8 20:47:00 | 显示全部楼层 |阅读模式
hr = D3DXCreateFont( pd3dDevice, -12, 0, FW_NORMAL, 1, FALSE, DEFAULT_CHARSET, OUT_DEFAULT_PRECIS, DEFAULT_QUALITY, DEFAULT_PITCH | FF_DONTCARE, _T(“Tahoma”), &m_Font);

返回错误代码 D3DXERR_INVALIDDATA The data is invalid.

关于这个错误代码的说明也非常少,怎么测试也不知道为何。
尝试用windows的CreateFont的相同参数创建,可以成功呀。。。。

求教各位了。

64

主题

856

帖子

856

积分

高级会员

Rank: 4

积分
856
QQ
发表于 2005-12-9 15:39:00 | 显示全部楼层

Re:D3DXCreateFont无论怎么改参数都调用失败,为何呢?

HFONT TextFont=CreateFont( 12, 6,
                0, 0, FW_NORMAL, FALSE, FALSE, FALSE, DEFAULT_CHARSET, OUT_DEFAULT_PRECIS,
                CLIP_DEFAULT_PRECIS, PROOF_QUALITY, FIXED_PITCH | FF_SCRIPT, "宋体" );

D3DXCreateFont( pd3dDevice, TextFont, &pTextFont );

64

主题

856

帖子

856

积分

高级会员

Rank: 4

积分
856
QQ
发表于 2005-12-9 15:42:00 | 显示全部楼层

Re:D3DXCreateFont无论怎么改参数都调用失败,为何呢?

貌似你的字体宽度高度有问题

8

主题

25

帖子

25

积分

注册会员

Rank: 2

积分
25
 楼主| 发表于 2005-12-10 14:13:00 | 显示全部楼层

Re:D3DXCreateFont无论怎么改参数都调用失败,为何呢?

谢谢,试验了下你的参数,不行,还是失败。。。

D3DXCreateFont( pd3dDevice, TextFont, &pTextFont );
没有这个重载函数阿?Managed的?

0

主题

5

帖子

29

积分

注册会员

Rank: 2

积分
29
发表于 2006-6-26 22:38:00 | 显示全部楼层

Re: D3DXCreateFont无论怎么改参数都调用失败,为何呢?

有很大的可能性是你的相对路径不对。在调用你的函数之前不妨可以用GetCurrentDirectory函数来看看你的当前路径。有很多原因会导致你的当前目录不是exe文件的执行目录。

10

主题

69

帖子

69

积分

注册会员

Rank: 2

积分
69
发表于 2006-7-20 02:12:00 | 显示全部楼层

Re:D3DXCreateFont无论怎么改参数都调用失败,为何呢?

这个问题好象跟编译环境有关系,

D3DXCreateFont( pd3dDevice, TextFont, &pTextFont );
这个形式在VC6下会被正确识别,但在.NET里就会编译出错


而下边这个形式在.NET下就能编译通过,现象非常奇怪,不知道还有谁遇到类似问题
HRESULT D3DXCreateFont(
  LPDIRECT3DDEVICE9 pDevice,
  INT Height,
  UINT Width,
  UINT Weight,
  UINT MipLevels,
  BOOL Italic,
  DWORD CharSet,
  DWORD OutputPrecision,
  DWORD Quality,
  DWORD PitchAndFamily,
  LPCTSTR pFacename,
  LPD3DXFONT * ppFont
);

72

主题

447

帖子

454

积分

中级会员

Rank: 3Rank: 3

积分
454
QQ
发表于 2006-7-21 16:31:00 | 显示全部楼层

Re:D3DXCreateFont无论怎么改参数都调用失败,为何呢?

初始化了没有!

1

主题

11

帖子

11

积分

新手上路

Rank: 1

积分
11
发表于 2011-4-21 09:25:00 | 显示全部楼层

Re:D3DXCreateFont无论怎么改参数都调用失败,为何呢?

6 楼说的有道理,这个函数虽然名字相同,但有3个参数的和12个参数的,具体是vc6、vc7的区别,还是dxsdk版本的区别? 树上的例子用的是vc7+D3DXCreateFont(12参数),我用vc6+dx9总是提示error C2660: 'D3DXCreateFont' : function does not take 12 parameters。改成3个参数的后成功,这是我参考的文章:http://hi.baidu.com/%D3%CE%C0%B6%BA%A3/blog/item/3daa31deb27322e177c63870.html
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-6-7 18:40

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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