草庐IT

c++ - SDL 链接器错误

下面的代码非常简单。它只是使用SDL将图像绘制到带有背景的屏幕上。我之前能够运行的程序运行良好,可以毫无问题地引用所有内容。然而,现在编译器会报错。无论如何,这是代码:#include#include#include"SDL/SDL.h"constintSCREEN_WIDTH=640;constintSCREEN_HEIGHT=480;constintSCREEN_BPP=32;usingstd::string;SDL_Surface*load_image(std::stringfilename){SDL_Surface*loadedImage=NULL;SDL_Surface*op

c++ - 如何使用 SDL_CreateTexture

我想知道如何使用SDL_CreateTexture功能。我只想创建纹理,给它一种颜色并将其绘制在屏幕上的某个位置。我不想加载任何图片。我以为我可以按此顺序使用SDL_CreateTexture、SDL_SetTextureColorMod、SDL_RenderCopy、SDL_RenderPresent,但我总是得到一个黑色矩形而不是红色矩形。#includeintmain(intargc,char*argv[]){SDL_Init(SDL_INIT_EVERYTHING);SDL_Window*MainWindow=SDL_CreateWindow("MyGameWindow",SD

c++ - 在 SDL 中打印键的名称

我的SDL程序正在返回所有键都相同的内存地址,我正在尝试打印键的名称,即如果用户按下“F”键,控制台输出“F”。我将如何着手编辑我的代码以实现此目的?voidGame::handleEvents(){SDL_Eventevent;if(SDL_PollEvent(&event)){switch(event.type){caseSDL_QUIT:g_bRunning=false;//SDL_Quit();break;caseSDL_KEYDOWN://thisisthelinethatisnotworkingasexpected.std::cout 最佳答案

c++ - MVS2015 使用 SDL2 不断给出 "unresolved externals"错误

我试图让SDL与我的MVS2015一起工作,但到目前为止没有成功,我真的想让它工作,所以我将解释我所做的每一步。首先,我从SDL安装指南下载了预构建SDL2库:https://wiki.libsdl.org/Installation,然后解压。在MVS2015中创建一个新的控制台应用程序,打开项目属性页面并正确设置“包含目录”,我检查了三次,也为“库目录”做了这个。然后我转到“链接器”->“输入”并将SDL2.lib添加到“附加依赖项”。到目前为止一切顺利,我的代码现在应该可以与SDL一起使用了吧?我做了一个简短的主要测试它是否有效:#includeintmain(){SDL_Init

c++ - 用opengl画图SDL Renderer就没用了吗?

我正在学习SDL2,但我也在使用使用OpenGL调用的imgui库。根据我在各种在线博客上阅读的内容,我不能轻易混合SDL2渲染器和opengl调用;我要么使用其中一个。我读过的大部分教程都使用渲染器,所以我不太明白如何在没有渲染器的情况下使用SDL2来绘制图元或绘制Sprite。以此为例:http://lazyfoo.net/tutorials/SDL/11_clip_rendering_and_sprite_sheets/index.php他创建了sdl渲染器:gRenderer=SDL_CreateRenderer(gWindow,-1,SDL_RENDERER_ACCELERA

C++ SDL帧率脉冲

最近我一直在开发一些供自己使用的SDL包装器,但我遇到了一个自从我第一次开始使用SDL库以来一直遇到的问题。看,和许多其他人一样,我一直在使用类似于这个的计时器http://lazyfoo.net/SDL_tutorials/lesson14/index.php调节我的帧率,运动永远不会流畅。它看起来不像是双缓冲或vsync问题,而是移动很流畅,但会周期性地跳跃和断断续续(实际上它有一定的脉搏和节奏)。每当关闭帧率调节时,脉冲就会消失——当然,一切都会变得不可用)所以我很确定这与它有关。我组装了一个小应用程序,它只包含计时器和一个围绕它移动的红色方block。我会把代码放在这篇文章的末

c++ - 如何向 SDL 线程发送附加参数?

是的,我知道如何创建SDL线程。intmyfunc(void*data){//mycode...}SDL_CreateThread*mythread=SDL_CreateThread(myfunc,NULL);但是如果我想做类似的事情怎么办:intmyfunc(void*data,intmyparameter1,charmyparameter2){//mycode...}SDL_CreateThread*mythread=SDL_CreateThread(myfunc,NULL,42,'c');即如何为具有多个参数的函数创建一个线程(参数不包括通常的'void*data')如果这不可能

c++ - 如何在 SDL2 中旋转一个矩形?

我打算制作一款游戏,我想为该游戏制作一些背景动画。其中一个动画是一个旋转的矩形。我找遍了所有地方,但找不到任何形式的数学或逻辑来让我旋转矩形(具体来说是SDL_Rect,但您可能已经知道了)。我自己无法算出数学,我真的没有任何可用的代码,所以我无法展示任何东西。本质上,我正在寻找某种类型的逻辑,我可以应用矩形的坐标,以便每当主游戏循环循环时,它都会将矩形旋转一定度数。 最佳答案 你不能旋转SDL_Rect.如果你看一下它的定义,它是由左上角的坐标、宽度和高度组成的。无法表示边不平行于坐标系轴的矩形。SDL_RenderCopyEx不

C++链接器错误LNK2005已在SDL中定义

我正在使用VS2005编译我的程序。我正在链接到SDL静态库并收到以下链接器错误;1>LIBCMTD.lib(fpinit.obj):errorLNK2005:__fltusedalreadydefinedinSDL2d.lib(SDL_stdlib.obj)1>LIBCMTD.lib(ftol2.obj):errorLNK2005:__ftol2_ssealreadydefinedinSDL2d.lib(SDL_stdlib.obj)1>Creatinglibrary..\..\..\product\VS2005\libs\\Standalone.libandobject..\..\

c++ - 如何在 SDL2/C++/Visual Studio 2012 Express 程序中设置窗口标题栏图标和 alt-tab 图标?

我已经在我的项目中添加了一个.rc文件,其中包含以下内容:IDI_MAIN_ICONICON"..\\..\\icon_artwork\\windows_icons\\project.ico".ico文件包含16x16、32x32、48x48和256x256分辨率的图标。我在任务栏和资源管理器中看到图标(所以毫无疑问.ico已成功嵌入到.exe中),但我在应用程序自己的标题栏中看到默认的Windows7应用程序图标,并且在alt-标签。有没有办法让操作系统在所有情况下都能自己看到嵌入的图标,或者我是否需要为此编写一些应用程序代码?我注意到有一个SDL2函数voidSDL_SetWind