gpt4 book ai didi

c++ - 图像未显示在 SDL 中

转载 作者:行者123 更新时间:2023-11-30 05:44:29 24 4
gpt4 key购买 nike

当我运行它时它只显示黑屏,如果我在末尾放置 SDL_GetError() 它会打印一个空行......

关于如何解决这个问题有什么想法吗?

#include <SDL2/SDL.h>
#include <SDL2/SDL_image.h>
#include <iostream>

class character {

public: SDL_Rect src, cur;
public: SDL_Texture *image;

void setSrc(int x, int y, int w, int h) {

src.x = x;
src.y = y;
src.w = w;
src.h = h;

}

void setCur(int x, int y, int w, int h) {

src.x = x;
src.y = y;
src.w = w;
src.h = h;

}

};

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

bool in = true;
character p1, p2, ball;
SDL_Window *window = 0;
SDL_Renderer *renderer = 0;
SDL_Surface *screen, *imageLoader;

SDL_Init(SDL_INIT_VIDEO);

window = SDL_CreateWindow("Pong",SDL_WINDOWPOS_CENTERED,SDL_WINDOWPOS_CENTERED, 800, 600, SDL_WINDOW_SHOWN);

renderer = SDL_CreateRenderer(window, -1, 0);

p1.setSrc(0, 0, 100, 500);
p1.setCur(0, 0, 100, 500);

imageLoader = IMG_Load("/home/donaldo/Documents/Games/Images/player.bmp");

p1.image = SDL_CreateTextureFromSurface(renderer, imageLoader);

SDL_RenderCopy(renderer, p1.image, &p1.src, &p1.cur);

SDL_RenderPresent(renderer);

SDL_Delay(3000);

return 0;

最佳答案

您的 setCur() 函数中有错字。我假设您想再次设置 cur 矩形,而不是 src

此外,不相关但最好在完成分配后释放表面和纹理。

关于c++ - 图像未显示在 SDL 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29814205/

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