游戏开发论坛

 找回密码
 立即注册
搜索
查看: 4941|回复: 6

为何文字显示有些不清晰?

[复制链接]

64

主题

146

帖子

146

积分

注册会员

Rank: 2

积分
146
发表于 2005-6-11 17:17:00 | 显示全部楼层 |阅读模式
关于字体的两个问题:

1、比如将字体大小设置为16X16,显示出来就有些模糊,而且设置的文字颜色好象并不那么清晰准确,比如白色font->Color.Set(1,1,1,1),看上去并不是纯白,有些发暗。

2、由于文字的默认颜色是白色,当将文字设置成非白色的时候,刚开始显示的时候出现白色和所设置颜色交替显示的情况,但时间非常短就恢复正常了,我不明白这是为什么,能解决吗?

71

主题

1330

帖子

2585

积分

金牌会员

Rank: 6Rank: 6

积分
2585
发表于 2005-6-11 19:57:00 | 显示全部楼层

Re:为何文字显示有些不清晰?

16*16的大小实在是小了点,不太清楚是正常的
如果要设置纯白,应该是(0, 0, 0)吧

2万

主题

2万

帖子

6万

积分

论坛元老

Rank: 8Rank: 8

积分
66489
QQ
发表于 2005-6-11 22:47:00 | 显示全部楼层

Re:为何文字显示有些不清晰?

1.FreeType的渲染器处理中文的却有这样的问题。

2.程序发上来看一下

64

主题

146

帖子

146

积分

注册会员

Rank: 2

积分
146
 楼主| 发表于 2005-6-11 23:24:00 | 显示全部楼层

Re:为何文字显示有些不清晰?

为了能看清楚一些,我将文字的颜色设置为蓝色,背景为黑色。

#include <hgl/hgl.h>
#include <hgl/opengl.h>
#include <hgl/hgp.h>
#include <hgl/font.h>
#include <hgl/flowobject.h>
#include <hgl/inputstate.h>
#include <hgl/TextureAnim2D.h>
using namespace hgl;

class CTest : public FlowObject
{
  Font* fnt;
  HGP* hgp;
  TextureAnim2D* tex;
  TextureAnim2D* tex2;
  uint8 count;
  uint64 tt;              // 控制延迟时间
protected:
  void OnKeyProc(uint32 key)
  {
    if(key==kbEsc) { fos = fosExitGame; return; }

  }

public:
  CTest()
  {
    fnt = LoadFont(L"c:\\windows\\fonts\\STSONG.TTF",32,32);
    fnt->Color.Set(0,0,1,1);
    hgp=new HGP(L"5.hgp");
    count=0;
    tt=Application->Time;
    //GIF部分
    tex=CreateTextureAnim2D(L"anim5.tex");
    tex->Loop=true;
    tex2 = new TextureAnim2D;
    *tex2 = *tex;
    tex2->Speed=0.5;
    To2DMode(800,600);
    glEnable(GL_TEXTURE_2D);
    //glClearColor(0.2,0.5,0.2,1);
    OnKeyDown = OnKeyProc;
  }

  ~CTest()
  {
    delete fnt;
    delete hgp;
    delete tex;
    delete tex2;
  }

  void Draw()
  {
    ClearScreen();
    fnt->DrawFormat(0,0,L"ESC退出 (%d/%d)",count+1,hgp->LayerNumber);
    fnt->DrawFormat(0,50,L"已流逝的时间 %ld 秒",Application->Time/1000);
    hgp->SetShow(false);
    if(Application->Time - tt > 125)
    {
      if(++count >= hgp->LayerNumber) count=0;
      tt = Application->Time;
    }
    hgp->Layer[count].Visible = true;
    hgp->Draw((800-hgp->Width)/2,(600-hgp->Height)/2);

    tex->Draw(0,0);
    tex2->Draw(300,0);
  }

};

void GameMain(char *)
{
  SystemInitInfo iis;
  iis.info.ProjectName=L&quotSD转化到HGP";
  iis.info.ProjectCode=L"Application";
  iis.graphics.Width=800;
  iis.graphics.Height=600;
  iis.graphics.fs.Width=800;
  iis.graphics.fs.Height=600;


  if(!Application->Init(&iis))  return;
  Application->flow.SetStart(new CTest);
  Application->Run();
}

2万

主题

2万

帖子

6万

积分

论坛元老

Rank: 8Rank: 8

积分
66489
QQ
发表于 2005-6-12 18:46:00 | 显示全部楼层

Re:为何文字显示有些不清晰?

我们可在下一版中提供12x12的点阵字库,用于解决小字体不清晰问题。

64

主题

146

帖子

146

积分

注册会员

Rank: 2

积分
146
 楼主| 发表于 2005-6-12 19:39:00 | 显示全部楼层

Re:为何文字显示有些不清晰?

那颜色晃动是不是也和这个有关系呢?

2万

主题

2万

帖子

6万

积分

论坛元老

Rank: 8Rank: 8

积分
66489
QQ
发表于 2005-6-12 20:49:00 | 显示全部楼层

Re:为何文字显示有些不清晰?

颜色晃动应该是程序的BUG,会在下一版中修正。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-12-22 14:52

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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