gpt4 book ai didi

c++ - 使用 SDL_FillRect 创建矩形

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

我的代码并没有真正起作用(没有错误,但没有显示矩形)。我有 3 个类:CFramework、CRectangle、CGame。有什么问题/缺失?

我的 CFramework 类启动 SDL 并设置视频模式等。

CRectangle.hpp:

#ifndef  RECTANGLE_HPP
#define RECTANGLE_HPP

#include "Framework.hpp"

class CRectangle
{
public:
CRectangle ();
void createRectangle (int x, int y, int width, int height, int r, int g, int b);

private:
SDL_Surface *m_pScreen; // Pointer at the screen of CFramework
SDL_Rect m_Rect;
};


#endif

CRectangle.cpp:

#include "Rectangle.hpp"


// Konstruktor
//
// Aufgabe: Zeiger auf Screen holen
//
CRectangle::CRectangle ()
{
// Zeiger auf Screen holen
m_pScreen = g_pFramework->GetScreen ();

} // Konstruktor

// createRectangle
//
// Aufgabe: Viereck erstellen
//
void CRectangle::createRectangle (int x, int y, int width, int height, int r, int g, int b)
{
m_Rect.x = x;
m_Rect.y = y;
m_Rect.w = width;
m_Rect.h = height;
SDL_FillRect(m_pScreen, &m_Rect, SDL_MapRGB(m_pScreen->format, r, g, b));
} // createRectangle

CGame.cpp:

... // just the important stuff
m_pRectangleMenu = new CRectangle;
m_pRectangleMenu->createRectangle(100,100,400,400,233,34,34);
...

最佳答案

// just the important stuff
m_pRectangleMenu = new CRectangle;
m_pRectangleMenu->createRectangle(100,100,400,400,233,34,34);

好吧,因为您没有包含“SDL_Flip(screen_variable)”...也许这就是您的问题。如果没有,您应该发布到 SDL_Flip()。

里根

关于c++ - 使用 SDL_FillRect 创建矩形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11403597/

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