自己做的一些东西和心得。
sdl吧
全部回复
仅看楼主
level 1
梦影幻忆 楼主
我的网站:r
lz
l点net
和sdl有关的:
魔法次元 造梦者 消灭超级星星2 RZ俄罗斯方块2
当然可以自己网上搜索,下载后请杀毒,我的程序可通过任意杀毒软件。(注意那些采集网站是否会改动什么)
全部都是用sdl2来开发的,里面有我自己写的动态库用于打包和解码各种资源(dll功能和版本我每次都在升级,它们可能不能共用),这是一个很大的复合式工程,所以不要奇怪我到底都做了什么东西。
另外是一些使用感受:
1.sdl似乎只能作为一个小型媒体库来使用。我在很多功夫上想从游戏方面去使用最后发现没办法驾驭。
2.sdl官网里有个论坛,活跃性很低,而且参与者好多都是开发上入门级的。
3.该库唯一可用性较强的就是2D图形,接口部分设计的比较好用入门快。3D属于外挂opengl库,其它库包括声音,网络等更是糊弄鬼的。
4.我的游戏里涉及到音频处理的全部使用openal,原因很简单,sdl音频播放不支持混合,大多数接口在处理解码,播放只是重新封装了win32的sdk。如果不混合,那意味着同时播放2个音频就要开两个线程。但我既然依赖库文件了我干吗还要自己混合?
5.图形自定性太低,入门很方便,但以后就没什么机会扩展了。说两个我实际遇到的两个东西,以免说我瞎说。第一个是渲染方式定制,我希望同时使用内存和显存绘制模式,很显然不允许。第二个是它自身dc句柄是不可操作的,并且接口也不提供dc互相复制。这意味着跨线程的不可操作,一个线程用于渲染,一个线程用于读取资源这种事情基本没戏。(想取巧的,我再说下,sdl原生每个窗口只能对应一个dc。什么?用其它库?我用过mfc来托管框架,程序运行没问题,唯一的bug是没办法删除已存在的dc资源,包括mfc的接口函数和sdl自身的接口函数。最后内存占用越来越大,然而你却无能为力)。
6.sdl官方似乎把精力全部投入到移动开发上,似乎这也是它唯一的优势。
7.这些问题都可以通过修改源码来完成依赖(sdl是开源的),但有那个空的人自己不会写一套引擎?
。。。。。。。。。。(其它省略几千字)
2017年05月14日 07点05分 1
level 13
看了看你的网站,也看了看你的吐槽,可能是我见识太低了吧,我倒是觉得sdl还是有很多可圈可点之处的,简单易用。个人感觉最大的优点就是跨平台了,有得必有失嘛。明天试试你的游戏(既然是sdl开发,为什么不试试移植到安卓平台呢)
2017年05月14日 15点05分 2
不弄了,只能做so类型的动态库上层任需要java设置进入点
2017年05月15日 05点05分
@梦影幻忆 好吧
2017年05月15日 14点05分
level 1
请问,我写了一个帧动画,随着程序运行cpu占用率会越来约高,请问要怎么避免呢
2017年05月14日 16点05分 3
动画都是很多帧组成的,你可以下载一个fraps程序或者直接在代码里加入一个简易的fps显示。通常画面组成复杂程度越高,fps下降越厉害。 图形渲染上使用硬件加速和双缓冲。 通常用于渲染的是一个独立线程,渲染成什么一般在其它线程中共享数据。控制,音频,甚至读取数据。
2017年05月15日 05点05分
可能是循环中的surface,texture或者其它没释放
2017年05月15日 07点05分
@梦影幻忆 是我没释放surface
2017年05月15日 17点05分
@辉辉游戏解说🐾 话说texture不释放好像没关系
2017年05月15日 17点05分
level 10
一个游戏你居然要管理员权限?
2017年05月15日 01点05分 4
如果安装到系统盘,对磁盘的写操作需要管理员权限。写操作可能是保存存档或者保存当前配置
2017年05月15日 06点05分
@梦影幻忆 照你这么说我C盘上的软件不都得要权限了?
2017年05月15日 06点05分
@lxfly2000 除了微软有数字签名的。其它自己在根目录操作的都要。 windows默认软件安装目录是Program Files文件夹只要你没关uac,往里面新建,复制,删除都需要权限。读取是不需要的。你也可以自己写个小程序,比如文件流新建一个txt写入一些字符。如果被创建目标在系统盘里,没有权限是失败的。
2017年05月15日 07点05分
level 9
不是很明白为啥要用mfc,都那么老的库了。。
另外混音的话有个叫sdl_mixer的库,不知道是不是你要的那种。
另外内存绘制模式效率实在是太做鸡,不知道你为何有这个需求。
2017年05月15日 15点05分 5
1