随笔 - 96  文章 - 255  trackbacks - 0
<2008年3月>
2425262728291
2345678
9101112131415
16171819202122
23242526272829
303112345

E-mail:zbln426@163.com QQ:85132383 长期寻找对战略游戏感兴趣的合作伙伴。

常用链接

留言簿(21)

随笔分类

随笔档案

SDL相关网站

我的个人网页

我的小游戏

资源下载

搜索

  •  

积分与排名

  • 积分 - 489302
  • 排名 - 37

最新评论

阅读排行榜

评论排行榜

作者:龙飞

        最近在学习Linux,主要考虑到跨平台开发。我一直都在思考关于中文输入的问题,在win32下解决起来那么麻烦,难道SDL的作者会不解决吗──如果是bug的话。事实证明,在Linux平台下,我们自己把GB2312往Unicode转换的工作就多余了。当前Linux内部用的就是UTF-8(我的系统是Debian 4.0),SDL的TTF函数完全可以正常工作。不过,在Linux下面也会有些问题,现在发现的有这些,大家有发现的继续帮我补充哈。

1、在Linux下,TTF_RenderUTF8_Blended 是可以正常渲染简体中文的。但是不知道为什么,Solid的渲染会报错,共享(动态链接)库的问题。
2、在Linux下,mid文件用SDL_mixer是打不开的。至少我的情况是这样,我装了ALSA的声卡驱动,不知道还需要做些什么才能放midi。
3、直接装了ALSA的驱动播放SDL_mixer是有噪音的。解决方法,也是打开Linux下软件混音(ESD)的方法如下:
        混音可以让两种音乐同时播放,首先需要安装libesd-alsa0,用Synaptic或sudo apt-get install等方式都可以进行安装,它就在Ubuntu官方软件库中。然后,用sudo gedit或您喜欢的文本编辑器创建文件
/etc/asound.conf
pcm.card0 {
  type hw
  card 
0
}

pcm.
!default {
  type plug
  slave.pcm 
"dmixer"
}

pcm.dmixer {
  type dmix
  ipc_key 
1025
  slave {
    pcm 
"hw:0,0"
    period_time 
0
    period_size 
1024
    buffer_size 
4096
    periods 
128
    rate 
44100
  }
  bindings {
    
0 0
    
1 1
  }
}
接下来,运行"sudo gedit /etc/esound/esd.conf",将文件改成下面的内容:
auto_spawn=1
spawn_options
=-terminate -nobeeps -as 2 -default
spawn_wait_ms
=100
default options are used in spawned and non-spawned mode
default_options
=
属实挺麻烦的:)
posted on 2008-05-12 01:55 lf426 阅读(3669) 评论(2)  编辑 收藏 引用 所属分类: SDL入门教程跨平台与GNU

FeedBack:
# re: SDL在win32与Linux下的一些差别 2008-05-13 22:39 Timidity
用timidity做一個midi server
timidity -iA -B2,8 -Os -EFreverb=0
  回复  更多评论
  
# re: SDL在win32与Linux下的一些差别[未登录] 2008-05-13 22:59 lf426
感谢楼上的,这两天地震没时间试,找到个链接等几天来看。http://forum.ubuntu.org.cn/viewtopic.php?t=13225&sid=99a94bc36e3f28b983d6ea8d6b36c112  回复  更多评论
  

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   博问   Chat2DB   管理