文字逐字上屏的实现(C代码)
最近突发奇想,想写一个小游戏《迷宫乐翻天》(下载地址:http://ggg82.go.nease.net/soft/migong.rar),游戏写好了,总觉得太单调,向在开始时设置一个问题逐字上屏的特效,琢磨了好半天,最终完成任务,拿出来与大家共享。
要文字逐字上屏,要计算好每个文字的宽度,每输出一个字后然后进行适当的延时。效果就出来了。纯粹的文字叙述不是最好的展示,就让代码说话吧!
void StepText(HDC hdc,RECT *rc,char *str)//文字逐字显示
{
int len=strlen(str);//计算字符串的长度
int posx;//当前字符位置
int posy=rc->top;
SIZE size;//存储每个字符的宽高
SetTextAlign(hdc,TA_UPDATECP|TA_LEFT|TA_TOP);//设置自动更新文字位置
while(len>0)
{
posx=rc->left;
MoveToEx(hdc,rc->left, posy,NULL);//移动到行首
while(len>=0)
{
int t;
if((str[0])<0) t=2;//中西字符辨别
else t=1;
GetTextExtent