日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【SDL的编程】VC环境搭建

發布時間:2023/12/4 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【SDL的编程】VC环境搭建 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
SDL(simple DirectMedia Layer)是一個可跨平臺的開源庫,最近由于自己的興趣,就把它windosXP下的環境搭建了下。 PC:Mircrosoft Windows XP Service Pack3 Platform:Mircrosoft Visual C++ 6.0 SourceCode:SDL-devel-1.2.14-VC6.zip 步驟 1. 解壓SDL-devel-1.2.14-VC6.zip.將解壓后的lib文件夾里把SDL.lib SDLmain.lib拷貝到VC6.0安裝目錄的lib文件夾下面。 2. 將SDL.dll拷貝到系統盤的WINDOWS/SYSTEM32目錄下(如果你要將之后生成的SDL應用程序轉移到其他沒有配置SDL環境的機器上用的話,請將SDL.dll一起拷貝)。 3. 在VC6.0安裝目錄的include文件夾下面新建一個SDL的目錄,并將SDL-devel-1.2.14-VC6.zip解壓后的include里的文件拷貝到這個SDL目錄下面。 4. 打開VC6,新建一個project-&gt;win32 Application.打開project目錄下面的那個setting,選中C/C++,Category里選中Code Generation,Use run-time library使用Multithread DLL. 5. 繼續在上面的setting中選中Link,Category里選中input,在Object/library modules中填入SDL.lib SDLmain.lib 6. 在VC項目中新建一個cpp,并添加到項目中,編譯,運行. 相關鏈接 1.SDL http://www.libsdl.org/download-1.2.php 測試代碼 #include <stdlib.h>
#include "SDL/SDL.h"

SDL_Surface *screen;

void render()
{????????
????// Lock surface if needed
????if (SDL_MUSTLOCK(screen))????
????????if (SDL_LockSurface(screen) < 0)????
????????????return;

????// Ask SDL for the time in milliseconds
????int tick = SDL_GetTicks();

????// Declare a couple of variables
????int i, j, yofs, ofs;

????// Draw to screen
????yofs = 0;
????for (i = 0; i < 480; i++)
????{
????????for (j = 0, ofs = yofs; j < 640; j++, ofs++)
????????{
????????????((unsigned int*)screen->pixels)[ofs] = i * i + j * j + tick;
????????}
????????yofs += screen->pitch / 4;
????}

????// Unlock if needed
????if (SDL_MUSTLOCK(screen))????
????????SDL_UnlockSurface(screen);

????// Tell SDL to update the whole screen
????SDL_UpdateRect(screen, 0, 0, 640, 480);????????
}


// Entry point
int main(int argc, char *argv[])
{
????// Initialize SDL's subsystems - in this case, only video.
????if ( SDL_Init(SDL_INIT_VIDEO) < 0 )????
????{
????????fprintf(stderr, "Unable to init SDL: %s\n", SDL_GetError());
????????exit(1);
????}

????// Register SDL_Quit to be called at exit; makes sure things are
????// cleaned up when we quit.
????atexit(SDL_Quit);
????????
????// Attempt to create a 640x480 window with 32bit pixels.
????screen = SDL_SetVideoMode(640, 480, 32, SDL_SWSURFACE);
????
????// If we fail, return error.
????if ( screen == NULL )????
????{
????????fprintf(stderr, "Unable to set 640x480 video: %s\n", SDL_GetError());
????????exit(1);
????}

????// Main loop: loop forever.
????while (1)
????{
????????// Render stuff
????????render();

????????// Poll for events, and handle the ones we care about.
????????SDL_Event event;
????????while (SDL_PollEvent(&event))????
????????{
????????????switch (event.type)????
????????????{
????????????case SDL_KEYDOWN:
????????????????break;
????????????case SDL_KEYUP:
????????????????// If escape is pressed, return (and thus, quit)
????????????????if (event.key.keysym.sym == SDLK_ESCAPE)
????????????????????return 0;
????????????????break;
????????????case SDL_QUIT:
????????????????return(0);
????????????}
????????}
????}
????return 0;
}


轉載于:https://blog.51cto.com/scalpel00/247399

總結

以上是生活随笔為你收集整理的【SDL的编程】VC环境搭建的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。