我最近尝试学习 C#,在学习了其中的一些内容后,我遵循了教程(https://jsayers.dev/category/c-sdl-tutorial-series/),我尝试使用 sdl_blitsurface 但它没有没有给出任何错误,但它只是不让图像显示出来。 顺便说一句,这是源代码https://pastebin.com/iVkhkjsq
var SourceRect = new SDL.SDL_Rect
{
x = 0,
y = 0,
w = 16,
h = 16
};
var DestRect = new SDL.SDL_Rect
{
x = 20,
y = 200
};
SDL.SDL_BlitSurface(surf, ref SourceRect, renderer, ref DestRect);
我尝试了 sdl_blitsurface 但它没有显示出来
我也遇到了同样的问题。您正在使用在渲染器上运行的较新的 SDL 函数。 然后您必须使用 IMG_LoadTexture 和 SDL_RenderCopy。 另请注意,目标矩形确实需要宽度和高度,否则不会显示。 例如:
var SourceRect = new SDL.SDL_Rect
{
x = 0,
y = 0,
w = imgw,
h = imgh
};
var DestRect = new SDL.SDL_Rect
{
x = (int)circle.x,
y = (int)circle.y,
w = imgw,
h = imgh
};
var img2 = SDL_image.IMG_LoadTexture(renderer,@"Examples\dog.jpg");
SDL.SDL_RenderCopy(renderer, img2, ref SourceRect, ref DestRect);