免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1143 | 回复: 0
打印 上一主题 下一主题

Windows下的SDL安装 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-05-26 11:00 |只看该作者 |倒序浏览

首先你要下载并安装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;
}


本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/19671/showart_118351.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP