小编App*_*ker的帖子

是否有针对SDL的C++包装器/绑定?

我对C语言中的SDL没有任何问题,但它有点累人.使用结构做没有类的东西,或者更糟糕的是,不得不自己将这些函数包装在一个类中等等.我想知道是否有一个好的,成熟的,设计良好的(即没有宏,使用模板和STL)包装器(绑定) ?)SDL?

c++ binding sdl wrapper

5
推荐指数
2
解决办法
4538
查看次数

如何在 pygame 中为角色扮演游戏制作文本框/状态框?

我需要为我的角色扮演游戏创建一个文本框/消息框/状态框等。我已经创建了一个文本框类,但它似乎不起作用。它会传输表面但不显示任何文本。

代码:

class TextBox(pygame.sprite.Sprite):
    def __init__(self):
        pygame.sprite.Sprite.__init__(self)
        self.initFont()
        self.initImage()
        self.initGroup()
        self.setText(['a','b'])

    def initFont(self):
        pygame.font.init()
        self.font = pygame.font.Font(None,3)

    def initImage(self):
        self.image = pygame.Surface((200,80))
        self.image.fill((255,255,255))
        self.rect = self.image.get_rect()
        self.rect.center = (0,0)        

    def setText(self,text):
        tmp = pygame.display.get_surface()
        x_pos = self.rect.left+5
        y_pos = self.rect.top+5

        for t in text:
            x = self.font.render(t,False,(0,0,0))
            tmp.blit(x,(x_pos,y_pos))
            x_pos += 10

            if (x_pos > self.image.get_width()-5):
                x_pos = self.rect.left+5
                y_pos += 10

    def initGroup(self):
        self.group = pygame.sprite.GroupSingle()
        self.group.add(self)
Run Code Online (Sandbox Code Playgroud)

python text pygame

4
推荐指数
1
解决办法
6807
查看次数

任何学习 Win32 GDI 的好教程/资源?

到目前为止,我一直在 google 上搜索,但还没有找到一个全面的好教程。有谁知道教Win32 GDI的任何好的网站或书籍?

windows winapi gdi

4
推荐指数
1
解决办法
2458
查看次数

如何在C++(或C)中将Virtually Anything传递给函数?

我需要传递类似指针的东西,它将任何东西作为函数参数.你知道,没有任何预定义类型或类型的东西可以采取这样的事情:

 void MyFunc( *pointer ); 
Run Code Online (Sandbox Code Playgroud)

然后使用它像:

char * x = "YAY!";
MyFunc(x);

int y = 10;
MyFunc(&y);

MyObj *b = new MyObj();
MyFunc(b);
Run Code Online (Sandbox Code Playgroud)

而且我不想使用模板,因为我在我的项目中主要使用C语言.除了函数宏之外,还有什么可以在这里使用吗?

c c++ pointers function

4
推荐指数
2
解决办法
602
查看次数

默认情况下,Gdk-Pixbuf(Gtk-Image?)支持哪些图像格式?

我知道Gdk-Pixbuf支持png和jpg,但是我找不到Internet上任何完全(或部分)支持的图像格式的确切列表。这对于我当前的项目是必要的,因为我需要检查目录中每个文件的扩展名并确定gdk-pixbuf是否支持该文件。有什么帮助吗?

c gtk image image-processing gdkpixbuf

4
推荐指数
2
解决办法
4174
查看次数

窗口最小化时调用的Gtk事件是什么?

如果我希望在窗口关闭时调用某些函数,我会连接delete_event.如果我希望在用户最小化Gtk窗口时调用该函数,我应该连接什么.像这样的东西:minimize_event?我在文档中找不到任何内容.

c gtk events signals

4
推荐指数
1
解决办法
3287
查看次数

如何检查void*指针是否可以安全地转换为其他内容?

假设我有这个函数,它是一些gui工具包的一部分:

typedef struct _My_Struct My_Struct;
/* struct ... */

void paint_handler( void* data )
{
   if ( IS_MY_STRUCT(data) ) /* <-- can I do something like this? */
   {
      My_Struct* str = (My_Struct*) data;
   }
}

/* in main() */
My_Struct s;
signal_connect( SIGNAL_PAINT, &paint_handler, (void*) &s ); /* sent s as a void* */
Run Code Online (Sandbox Code Playgroud)

由于paint_handler也将由GUI工具包的主循环​​与其他参数一起调用,因此我不能总是确定我接收的参数将始终是指针s.

我可以IS_MY_STRUCTpaint_handler函数中执行某些操作来检查我收到的参数是否可以安全地返回到My_Struct*

c pointers casting void void-pointers

4
推荐指数
1
解决办法
6483
查看次数

std :: string真的包装了一个C char数组吗?

我一直认为a std::string是作为C char数组字符串的STL包装器实现的.但仔细观察设计,我注意到它没有任何提示或标志是一个被包裹的c字符串.对于我所知,我std::string可以在内部做任何事情!

c_str()当然有一种方法我认为它返回了内部char数组,但是如何知道该方法是否不会从它存储的任何数据中创建一个新的 c char数组并返回它?

说真的,如何std::string实施?它(看起来像)只是C char数组的包装器,还是别的?还是两者的混合?甚至可以成为两个有条件的?

c++ string stl

4
推荐指数
1
解决办法
1253
查看次数

创建窗口而不注册WNDCLASS?

是否必须始终为您的应用程序构建和注册新的WNDCLASS(EX)?然后使用lpszClassName作为主窗口?

是不是有一些我们可以用于主窗口的预建类名,比如按钮和文本框等的"按钮"和"编辑"?

c windows winapi

4
推荐指数
1
解决办法
1159
查看次数

在运行时编译C#数组并在代码中使用它?

我知道C#代码可以在运行时使用C#编译.但是,因为我几分钟之前就读过它,所以我非常不稳定.我通过例子学到了很多东西.所以告诉我.如果我想编译类似的东西:

// MapScript.CS
String[] LevelMap = {
"WWWWWWWWWWWWWWWWWWW",
"WGGGGGGGGGGGGGGGGGW",
"WGGGGGGGGGGGGGGGGGW",
"WWWWWWWWWWWWWWWWWWW" };
Run Code Online (Sandbox Code Playgroud)

并在我的代码中使用此数组,我该怎么做呢?

在伪代码中我想做这样的事情:

Open("MapScript.CS");
String[] levelMap = CompileArray("levelMap");
// use the array
Run Code Online (Sandbox Code Playgroud)

c# compiler-construction runtime compilation

4
推荐指数
1
解决办法
1万
查看次数