gpt4 book ai didi

c++ - 未设置 SDL_Texture

转载 作者:行者123 更新时间:2023-11-28 06:01:29 29 4
gpt4 key购买 nike

我在使用 SDL_Texture 时遇到了问题

角色扮演教程.cpp

#include "stdafx.h"

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

bool quit = false;

SDL_Init(SDL_INIT_VIDEO);
SDL_Window* window = NULL;
window = SDL_CreateWindow("RPG Tutorial!", 100, 100, 600, 400, SDL_WINDOW_SHOWN);

if (window == NULL)
{
std::cout << "Window couldn't be created" << std::endl;
return 0;
}

SDL_Renderer* renderer = NULL;
renderer = SDL_CreateRenderer(window, -1, SDL_RENDERER_ACCELERATED);
if (renderer == NULL)
{
std::cout << "Renderer is not being created!" << std::endl;

SDL_DestroyWindow(window);
system("PAUSE");
return 0;

}

SDL_Event* mainEvent = new SDL_Event();

SDL_Texture* grass = NULL;
grass = IMG_LoadTexture(renderer, "Grass.bmp");
if (grass == NULL)
{
std::cout << "Grass Image was not found!" << std::endl;

SDL_DestroyWindow(window);
SDL_DestroyRenderer(renderer);
delete mainEvent;
system("PAUSE");
return 0;
}

SDL_Rect grass_rect;
grass_rect.x = 0;
grass_rect.y = 0;
grass_rect.w = 64 * 2;
grass_rect.h = 64 * 2;

while (!quit && mainEvent->type != SDL_QUIT)
{
SDL_PollEvent(mainEvent);
SDL_RenderClear(renderer);

SDL_RenderCopy(renderer, grass, NULL, &grass_rect);

SDL_RenderPresent(renderer);
}

SDL_DestroyWindow(window);
SDL_DestroyRenderer(renderer);
delete mainEvent;

return 0;
}

stdafx.h

#include <SDL.h>
#include <SDL_image.h>
#include <SDL_mixer.h>
#include <iostream>

我在 RPGTutorial->RPGTutorial->Grass.bmp 中有 Grass.bmp当我编译它时,它是成功的。它运行代码,直到我到达检查 if(grass == NULL) 的部分,然后它通过并退出。有人可以帮助我知道为什么当我的图像与 .cpp 文件位于同一文件夹中时我的草没有设置为图像吗?我什至尝试添加一个图像文件夹来保存它,但它也没有用。

最佳答案

如果你有时间,我建议你花点时间浏览一下 Lazyfoo tutorials他们太棒了。他在第二个教程“在屏幕上获取图像”中提到了这个问题。

Visual Studio 将您当前的工作目录更改为您的 .vcxproj 文件所在的位置。那将是您要放置资源的目录。如果您不确定它在哪里,您可以使用 direct.h header 中的 _getcwd() 函数 MSDN Source For getcwd

关于c++ - 未设置 SDL_Texture,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33203123/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com