QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 1174|回复: 6

使用SDL的SetVideoMode函数,系统就无响应

[复制链接]
发表于 2005-10-26 15:17:36 | 显示全部楼层 |阅读模式
装好SDL后,用他的例子来运行,运行到
screen=SDL_SetVideoMode(640,480,video_bpp,videoflags)
就停止响应了,只能强行退出
不知道哪里出了问题,望指教,谢谢!
发表于 2005-10-26 15:43:01 | 显示全部楼层
把你的代码给贴出来 让大家看看!
回复

使用道具 举报

发表于 2005-10-26 15:44:30 | 显示全部楼层
我也在学习sdl 希望可以共同学习解决问题!
回复

使用道具 举报

 楼主| 发表于 2005-10-26 15:54:49 | 显示全部楼层
来段短的,问题就在SDL_SetVideoMode(640, 480, 8, SDL_SWSURFACE);函数上
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

#include "SDL/SDL.h"

int main(void)
{
    SDL_Surface *screen;

    /* Initialize the SDL library */
    if( SDL_Init(SDL_INIT_VIDEO) < 0 ) {
        fprintf(stderr,
                "Couldn't initialize SDL: %s\n", SDL_GetError());
        exit(1);
    }

    /* Clean up on exit */
    atexit(SDL_Quit);

    screen = SDL_SetVideoMode(640, 480, 8, SDL_SWSURFACE);
    if ( screen == NULL ) {
        fprintf(stderr, "Couldn't set 640x480x8 video mode: %s\n",
                        SDL_GetError());
        exit(1);
    }

}
回复

使用道具 举报

发表于 2005-10-26 16:47:25 | 显示全部楼层
代码没有问题啊!我的机器上很正常,SDL Library Documentation 例子阿!!!!!
,你换换其他显示模式,看看。
[code:1]
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

#include "SDL/SDL.h"

int main(int argc, char **argv)
{
        SDL_Surface *screen;
        SDL_Event event;
        int quit = 0;
        /* Initialize the SDL library */
        if( SDL_Init(SDL_INIT_VIDEO) < 0 ) {
                fprintf(stderr,
                        "Couldn't initialize SDL: %s\n", SDL_GetError());
                exit(1);
        }

        /* Clean up on exit */
        atexit(SDL_Quit);

        screen = SDL_SetVideoMode(640, 480, 32, SDL_SWSURFACE);
        if ( screen == NULL ) {
                fprintf(stderr, "Couldn't set 640x480x32 video mode: %s\n",
                        SDL_GetError());
                exit(1);
        }
        while (!quit) {
                while (SDL_PollEvent(&event)) {
                        switch (event.type) {
                        case SDL_QUIT:
                                quit = 1;
                                break;
                        }
                        if (event.key.keysym.sym == SDLK_ESCAPE || event.key.keysym.sym == SDLK_q)
                                quit = 1;
                }

                SDL_Delay(50);
        }
        SDL_Quit();

        return 0;

}
[/code:1]
回复

使用道具 举报

 楼主| 发表于 2005-10-27 09:03:45 | 显示全部楼层
我用SSH的,今天才发现,图像显示在服务器上了,有没有办法让他显示在客户端啊
回复

使用道具 举报

发表于 2005-10-27 13:19:51 | 显示全部楼层
汗。。。!!!你需要一个 X 服务器(Xwin32 之类),然后设定环境变量 DISPLAY 让你的 SDL 程序通过 X Protocol 把图像输出到你机器上的 X Server 。。。

一堆名词,看了想吐……
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-11-3 04:24 , Processed in 0.040491 second(s), 16 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表