c gobjects.h 通过变量将颜色值传递给 setColor

标签 c variables colors

我正在尝试编写一个在窗口内绘制一定数量的 block 的函数。我想让 block 的颜色随机。理想情况下,我希望有一个变量,每次迭代都会随机修改该变量,使下一个 block 具有不同的颜色:

setColor(brick, myColorVariable);

不幸的是,gobjects 允许以以下形式声明颜色:

setColor(brick, "BLACK") // 

函数代码如下:

void initBricks(GWindow window)
{
     int x = 5;
     int y = 100;
     int color = 0xff0000;



     GRect brick = newGRect(x,y,55,10);
     setFilled(brick, true);
     setColor(brick, PROBLEM HERE);
     add(window, brick);

}

非常感谢!

最佳答案

库本身可能有一种从 RGB 值或调色板索引设置颜色的方法(请参阅其文档),但为了使用该特定函数(通过其名称获取颜色),您可以将“调色板”设置为颜色名称数组:

static const char* COLOR_NAMES[] = {
  "BLACK",
  "WHITE",
  ...
};

然后从数组中选择一个随机元素:

int colorIndex = rand() % (sizeof(COLOR_NAMES)/sizeof(COLOR_NAMES[0]));
setColor(brick, COLOR_NAMES[colorIndex]);

关于c gobjects.h 通过变量将颜色值传递给 setColor,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25585255/

相关文章:

c++ - 用于导出和 C 和 C++ API 的单个头文件

javascript - 将变量添加到 javascript url 调用

javascript - 在 JS 中,找到白色背景上不透明度为 0.5 的颜色?

javascript - Node.js Javascript 随机彩色打印

c - 我应该照顾 memcmp 中的 n 吗?

c - fwrite 中偏移量的奇怪值

php - 如何在简单的html dom中使用变量

php - 将 php 变量从一个文件传递到另一个文件?

css - 如何在选择时设置输入边框颜色的样式?

c - 将 printf() 作为参数传递