| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1779 人关注过本帖
标题:万年潜水归来,发福利。 SDL2.0
只看楼主 加入收藏
天使梦魔
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:37
帖 子:564
专家分:2754
注 册:2007-8-29
结帖率:83.33%
收藏
 问题点数:0 回复次数:1 
万年潜水归来,发福利。 SDL2.0
SDL这次更新到第二代,最大的新奇地方就是支持安卓和苹果等移动设备(IOS应该不分移动和PC版,这个不清楚)

传送门:
http://www.
第一份的是源代码,第二份的是运行库,第三份的是已编译版的开发库(开发库的动态库和静态库打包了32和64位的)。
注:编译版的只提供windows,linux,苹果这三类,linux不用下载,直接更新共享库就行了。如果要开发安卓版的需要下载源代码,然后编译一份安卓版的。它不提供已编译版本的。

第三方插件:
http://www.
SDL_image,SDL_mixer,SDL_net,SDL_rtf,SDL_ttf都有下载

官方提供一份简单的教程,网上有人在翻译成中文,不过我说句实话,真心坑!不是翻译的问题,而是教程里面太坑爹了。除了向你展示能这么做,实际上什么都干不了。
SDL2的教程实在很少,官方网上推荐的书也不多,几本书里看标题就相中一本《SDL game development》翻译过来就是“SDL游戏开发”,大致看了一下还可以,每次说到什么接口的时候都会列出全部参数,总算没那么坑爹了,不过没有中文版的。也别期望我去翻。

关于配置,如果有人使用mingw版本的,那下载最新版的mingw就可以了,如果是DEV-C++,注意更新核,把G++全部更新到最新的。我编译了半天死活过不去,可能是这个问题。
VC版的6.0没试过,我用的是VS2008,我估计2005以上版本都和我的一样。
配置起来极其简单,打比方你自己写了一个DLL,连接导出使用隐式方式。使用方法一模一样。DLL,LIB或者A文件,带标示符的H头文件。

VS2008的配置方法:
下载开发库到某个地方解压,得到include文件夹和lib文件夹,lib文件夹包含DLL
为了简化把include文件夹改名为SDL,然后复制到VS的安装目录一般是Microsoft Visual Studio 9   ->   VC    ->   include   文件夹下
lib的复制方法很邪恶,具体这样做,打开VS2008,新建一个工程,查看工程配置,选择"连接器",选择"高级",在上面一大堆命令行里复制最后一个lib然后进行安装盘查找看它在哪个目录,找到后把SDL的3个lib复制进去,然后在可以自己输入的命令行里加入这三个lib的名称(带.lib的),每个以空格分隔。

测试方法:
现在继续使用这个“工程”,希望你建立的是命令提示窗程序,因为有个命令提示框很容易查看错误输出。
找到带入口函数的CPP,应该是_tmain
复制如下:(代码来自SDL game development,但我改了一下)
#include<SDL\SDL.h>
SDL_Window* g_pWindow = 0;
SDL_Renderer* g_pRenderer = 0;
int main(int argc, char* args[])
{
if(SDL_Init(SDL_INIT_EVERYTHING) >= 0)
{
g_pWindow = SDL_CreateWindow("sdl test",   \\窗口名字,注意VS7以后版本全部都是宽字符格式,要用中文的话用宽字符标志
SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED,
640, 480,
SDL_WINDOW_SHOWN);
if(g_pWindow != 0)
{
g_pRenderer = SDL_CreateRenderer(g_pWindow, -1, 0);
}
}
else
{
return 1;
}
SDL_SetRenderDrawColor(g_pRenderer, 255, 0, 0, 255);\\第2,3,4的参数分别代表RGB值,这样窗口是红色
SDL_RenderClear(g_pRenderer);
SDL_RenderPresent(g_pRenderer);
SDL_Delay(5000);\\中断5秒,只是为了测试
SDL_Quit();
return 0;
}

如果编译成功会提示找不到SDL2.dll,接着复制这个动态库到编译好的EXE目录下再运行,就会出现一个全红的窗口,并且有5秒时间。

PS:不要去找SDL1的教程,看清楚。SDL2的接口名字全改了,虽然方法都是一样的。如果去复制粘贴SDL1教程的代码,那是编译不过的。


再次PS:这是一个轻型的媒体库,功能不可能同其它大型专业库对比,请勿吐槽。
搜索更多相关主题的帖子: windows 源代码 linux 第三方 传送门 
2013-11-24 15:04
天使梦魔
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:37
帖 子:564
专家分:2754
注 册:2007-8-29
收藏
得分:0 
如果举得烦想把动态库复制到system32下面,记得安装那个运行库,不要把开发库的DLL扔进去
2013-11-24 15:06
快速回复:万年潜水归来,发福利。 SDL2.0
数据加载中...
 
   



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

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