linux sdl windows.h,Windows下的SDL安装

首先你要下载并安装SDL开发包。

如果装在C盘下,路径为C:\SDL1.2.5

如果在WINDOWS下。你可以按以下步骤:

1.打开VC++,点击"Tools",Options

2,点击directories 选项

3.选择"Include files"增加一个新的路径。

"C:\SDL1.2.5\include"

4,现在选择"Libary files“增加

"C:\SDL1.2.5\lib"

现在你可以开始编写你的第一个SDL程序了.

这里有一个简单的程序。目的是在窗口里显示一幅图片。

步骤:

1.我们先用SDL_Init()初始化SDL_video系统。

2,我们设置程序的窗口标题

3,我们创建窗口并用SDL_SetVideoMode()取得平面(surface)的

指针(呵呵,很像DDRAW吧里的缓冲面)但比DDRAW初始化简单太

多了。

4.将背景图片载入临时平面(surface)

5,用SDL_DisplayFormat()创建一个和主平面相同的拷贝做为临

时平面。(这就是类似DDRAW双缓冲吧)可以加快渲染速度。

6.调用SDL_FreeSurface释放临时平面占用内存

7.现在在"main loop"中不断的检测事件和更新屏幕。

8.当用户点击ESC或"q",停止循环并退出

9,释放内存。

用SDL_FreeSuface释放平面

用SDL_Quit()清空SDL

下面是代码:

#include "SDL.h"

int main ( int argc, char *argv[] )

{

/* initialize SDL */

SDL_Init(SDL_INIT_VIDEO);

/* set the title bar */

SDL_WM_SetCaption("SDL Test", "SDL Test");

/* create window */

SDL_Surface* screen = SDL_SetVideoMode(640, 480, 0,

0);

/* load bitmap to temp surface */

SDL_Surface* temp = SDL_LoadBMP("hello.bmp");

/* convert bitmap to display format */

SDL_Surface* bg = SDL_DisplayFormat(temp);

/* free the temp surface */

SDL_FreeSurface(temp);

SDL_Event event;

int gameover = 0;

/* message pump */

while (!gameover)

{

/* look for an event */

if (SDL_PollEvent(&event)) {

/* an event was found */

switch (event.type) {

/* close button clicked */

case SDL_QUIT:

gameover = 1;

break;

/* handle the keyboard */

case SDL_KEYDOWN:

switch (event.key.keysym.sym) {

case SDLK_ESCAPE:

case SDLK_q:

gameover = 1;

break;

}

break;

}

}

/* draw the background */

SDL_BlitSurface(bg, NULL, screen, NULL);

/* update the screen */

SDL_UpdateRect(screen, 0, 0, 0, 0);

}

/* free the background surface */

SDL_FreeSurface(bg);

/* cleanup SDL */

SDL_Quit();

return 0;

}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值