游戏开发论坛

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

游戏中如何显示文字

[复制链接]

22

主题

138

帖子

138

积分

注册会员

Rank: 2

积分
138
发表于 2005-9-9 11:59:00 | 显示全部楼层 |阅读模式
我现在有一个程序注入了一个DIRECTX的程序里面,DIRECTX是窗口化的,现在我用

txthdc:= GetDc(hh);
  SetMapMode(txthdc,1);
  hObj1:= CreateFont(-23,11,0,0,FW_NORMAL,0,0,0,$86,0,0,0,1,'宋体');
  SelectObject(txthdc,hObj1);
  hhBitMap:= CreateDIBSection(txthdc,tBitMap,DIB_RGB_COLORS, ppbit,0,0);
  SelectObject(txthdc,hhBitMap);
  SetBkMode(txthdc,OPAQUE);
  SetTextColor(txthdc, $0FFFFFF);
  SetBkColor(txthdc,0);
  SetTextAlign(txthdc,(TA_LEFT or TA_TOP));
  GetClientRect(hh,nRect);
  DrawText(txthdc, 'hello world',-1, nRect, (DT_SINGLELINE or DT_CENTER or DT_VCENTER));

代码在DX的程序上写字,字是写出来了,但是一直被重绘制,我现在是用TIMER维持我的文字的重绘(TIMER延迟设置1毫秒),如果不用TIMER,那么字只显示一下很快就被DX程序重新刷掉了,但是用TIMER,字闪的厉害,各位有什么好的办法吗?

37

主题

180

帖子

180

积分

注册会员

Rank: 2

积分
180
发表于 2005-9-9 12:46:00 | 显示全部楼层

Re: 游戏中如何显示文字

使用texture的方式
先设定渲染目标
画上去在渲染纹理

[em5] 请看用这种方式.没人直接写字的,那真的很慢
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-12-27 18:37

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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