使用带Z值测试的ID3DXFont[难度:初级]

 在一个网游中需要在角色的头顶显示角色的姓名,当角色被一个房子挡住的时候,他的姓名也应该看不到,或者是挡住一半,这就需要使用Z值测试。如果你使用了ID3DXFont,会发现它并没有一个带z值参数的接口函数,要使得ID3DXFont支持z值,需要多做几个步骤,我感觉这就是MS的风格。:(
 MS声称ID3DXFont是一个完全2D的接口,所以如果你想接入z值测试,那么必须通过ID3DXSprite!不过用法倒也简单:
 1、创建一个ID3DXFont对象和一个ID3DXSprite对象;
 2、调用ID3DXSprite对象的Begin():
       m_pD3DSprite->Begin(D3DXSPRITE_ALPHABLEND);
 3、将ID3DXSprite对象的Transform矩阵:
       D3DXMATRIX matrix;
       D3DXMatrixIdentity(&matrix);
       D3DXMatrixTranslation(&matrix, 0.0f, 0.0f, z);
       m_pD3DSprite->SetTransform(&matrix);
 4、调用一下ID3DXSprite的End()才能真正的画出文字。

参考资料:
 DirectX9.0 Decemeber 2004 SDK文档

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值