注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

zzj的博客

风起风过

 
 
 

日志

 
 

C++期末项目即将release+SDL使用笔记  

2010-07-23 21:54:50|  分类: 个人日记 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
这个学期学校把期末的项目放到了暑假,今天做的差不多了,明天再把小杰杰的代码合一下,应该就能release了。

这次用了SDL这个每三方库,只用了些很简单的函数,在做的期间整理了些笔记,也顺便贴上来,不说能为人们提供多少方便,也是为自己这个经历的一个记录。

先是两个给我提供了不少帮助的网站:
http://www.libsdl.org/intro.cn/
http://lazyfoo.net/SDL_tutorials/index.php


1.除了 shuizhuyuanluo 博客里那篇 SDL的文章中的那些设置外,为了能函数跑起来,main函数里必须加上运行时参数,比如:
     int main(int argc, char *argv[]) { }这样才能跑起来。

2.在属性的linker / system 里把 subsystem选项定成  console,这样就可以控制台,窗体双开了,调试也很爽。

3.要是想在页面中加载jpg文件,只用 IMG_Load 函数替代 SDL_LoadBMP 是不够的,还要添加 jpeg.dll 这个东东才行(这个搞死我了)。

4.设置窗口标题函数是 "SDL.h" ---> SDL_WM_SetCaption(string, icon)。(这个挺有用的)

5.字体下面的三个DLL都要用到的,一次性复制过去。

6.字体的显示前后一定要加上  TTF_Init() 和 TTF_Quit() 这两个函数。

7.关于SDL_BlitSurface(SDL_Surface* s1, SDL_Rect* r1, SDL_Surface* s2, SDL_Rect* r2)这个函数参数的意思是:
    将s1叠加在s2上,r1是在s1的图片上以x,y为左上角,w,h为宽和高来进行裁剪;r2的x,y是s1图片的左上角出现在s2上坐标,r2的w,h没用,我随便赋了很多值没有影响,甚至超出屏幕大小也无所谓。

/*
8.播放声音:
      看过很多的资料里都说,SDL_PlayMusi是用来播放背景音乐的,SDL_PlayChannel()是用来播放chunk的,因为是播放 channel,于是就可以好几个频道一起播放,然后背景音在循环 ,这就样就可以做到有背景乐,然后也会有音效了。(现在同时播放还没搞出来)。
    要想播放chunk和music,对应的不可少的函数分别是Mix_Playing(int channel)和Mix_PlayintMusic()。
    chunk的播放中,while (Mix_Playing(Mix_PlayChannel());这个循环是会一直播放到chunk结束。
    music的是while (Mix_PlayingMusic());一旦开始播放就可以用这个函数了。
    如果少了这两个函数,音乐就不会播放。这两个函数是必备的。
*/

(上面这个注释掉的是有些错误的,就留着吧。Mix_PlayMusic是另外开一个线程的,不加while也可以在后台循环播放,要播放chunk这些效果音我就用Mix_PlayChannel(-1,chunk,loop)就可以了,总觉得这个函数中写-1不好,也许要事先alloc一个channel出来更好吧。)

9.关于VS2008的一个发现:在写类的时候,对应的*.cpp下定义函数的时候,当用到作用域的时候,即int ClassName::  ,在这个时候,会出现自动补全,会看到有很多函数是成双出现的,而且一个是函数名,一个是带有函数参数列表的,即
function1
function1(arg1,arg2...)
function2
funtionf2(arg1,arg2...)
而每当一个函数被定义之后,带有参数列表的那人就会消失,即只剩下函数名了。

好了,就是这样,游戏截图在我完全做好后会传上来。
  评论这张
 
阅读(184)| 评论(2)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017