| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3420 人关注过本帖
标题:allegro显示中文问题
只看楼主 加入收藏
leeyou
Rank: 1
来 自:大连海事大学
等 级:新手上路
帖 子:2
专家分:0
注 册:2008-2-25
收藏
 问题点数:0 回复次数:7 
allegro显示中文问题
听说dev-cpp加allegro显示中文需要allfont的支持,我下载了allfont,并装上了,但是编译下面代码的时候出现错误。请高手指点;
代码:
#include <allegro.h>
#include <alfont.h>

/*任何使用allegro的源文件,必须包含allegro.h,使用alfont的源文件必须包含alfont.h,并且Alfont.h应该在allegro.h之后.*/

int main(void)
{
    int i;
    ALFONT_FONT *user_font;
   
    allegro_init();
    install_keyboard();

  /*  必须使用allegro_init初始化,然后使用install_keyboard安装键盘.*/

    if (set_gfx_mode(GFX_AUTODETECT, 800, 600, 0, 0) < 0) {
    allegro_message("Couldn't set gfx mode: %s\n", allegro_error);
    exit(1);
    }

    /*设置图形模式.*/

    /* now init AllegroFont */
    if (alfont_init() != ALFONT_OK) {
      set_gfx_mode(GFX_TEXT, 0, 0, 0, 0);
      allegro_message("Error while initializing alfont");
      allegro_exit();
      return 1;
    }

   /* 初始化alfont,注意在设置成GFX_TEXT模式以后才可以使用allegro_message.*/

    /* try to load the font given by the parameter*/
    user_font = alfont_load_font("c:\\WINDOWS\\Fonts\\simfang.ttf");
    if (user_font == NULL) {
      set_gfx_mode(GFX_TEXT, 0, 0, 0, 0);
      allegro_message("Cannot load the font");
      alfont_exit();
      allegro_exit();
      return 1;
    }

    /*加载ttf字体文件,注意更改字体文件的路径.*/

    clear(screen);

   /* 清屏.*/
        alfont_set_language(user_font, Encode_Code);    
    alfont_set_convert(user_font, TYPE_WIDECHAR);
    alfont_set_char_extra_spacing(user_font, 0);
    alfont_set_font_background(user_font, FALSE);
    alfont_set_font_size(user_font,20);
    alfont_textout_aa(screen, user_font, "这只是一个测试", 0, 0, makecol(255,255,255));

    /*输出文本.*/
   
    readkey();

    /*等待摁任意键.*/
   
    alfont_destroy_font(user_font);
    alfont_exit();
    allegro_exit();

    /*以上几行一个都不能少.*/
   
    return 0;
}
END_OF_MAIN()
错误信息:
D:\allegro\fdas1.c In function `_mangled_main':
D:\allegro\fdas1.c `Encode_Code' undeclared (first use in this function)
for each function it appears in.)
D:\allegro\fdas1.c `TYPE_WIDECHAR' undeclared (first use in this function)

[[it] 本帖最后由 leeyou 于 2008-3-14 20:55 编辑 [/it]]
搜索更多相关主题的帖子: allegro 中文 
2008-03-14 20:47
jig
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
帖 子:530
专家分:242
注 册:2005-12-27
收藏
得分:0 
是设置问题吗?

我一直直接用汉字库来做汉字显示的

个人网站 -  http://.h001.
2008-03-15 00:54
leeyou
Rank: 1
来 自:大连海事大学
等 级:新手上路
帖 子:2
专家分:0
注 册:2008-2-25
收藏
得分:0 
有人说要在要在 连接命令行加入-lalfont -lalleg。我也试了还是通不过。
2008-03-15 10:39
prince1234
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2008-7-11
收藏
得分:0 
楼主最后解决了吗?
2008-07-12 23:58
moonlake_w
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2008-8-10
收藏
得分:0 
工程属性问题,我用ALLEGRO(STAIC)或者单独的c文件形式建立文件都这样。你建立ALLEGRO工程选择DLL动态模式试试,在工程属性里->参数->连接器中加上-lalfont -lalleg。我的是这样了在DEV-CPP中,成功了。不过ALFONT开销很大。还有这个对字体文件有要求有些字体TTF乱码。
可能还需要set_uformat(U_UTF8);//只有这一中形式不会让程序显示中文死掉。
有兴趣大家讨论allegro做图形程序qq45267767,注allegro。
2008-08-10 16:26
prince1234
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2008-7-11
收藏
得分:0 
楼上的, 你的qq拒绝加入qq好友啊?
2008-08-13 10:49
yongzhang12
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2009-6-11
收藏
得分:0 
回复 楼主 leeyou
我编译运行已经通过,可以参考一下网页
http://hi.baidu.com/yongahao/blog/item/b407accd0bacde36f8dc61d7.html
2010-01-05 13:08
快速回复:allegro显示中文问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.023382 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved