用easyx写一个同心圆程序
时间: 2024-09-30 16:08:15 浏览: 49
EasyX是一个轻量级的游戏开发框架,主要用于快速创建2D图形界面应用。下面是一个简单的使用EasyX编写同心圆程序的示例:
```cpp
#include "easyx.h" // 引入 EasyX 的头文件
class CircleSprite : public CNode {
public:
CircleSprite(int centerX, int centerY, float radius) {
pos = Point(centerX, centerY);
circleColor = RGB(255, 0, 0); // 红色圆圈
lineColor = RGB(0, 0, 0); // 黑色描边
lineWidth = 1;
rad = radius;
}
void onDraw() override { // 绘制同心圆
beginShape(TRIANGLE_STRIP);
for (float t = 0; t <= TAU; t += PI * 0.1f) {
float x = cos(t) * rad + pos.x;
float y = sin(t) * rad + pos.y;
vertex(x, y, circleColor);
vertex(x - lineWidth, y - lineWidth, lineColor);
vertex(x + lineWidth, y + lineWidth, lineColor);
}
endShape();
}
private:
Point pos;
Color circleColor;
Color lineColor;
float lineWidth;
const static float rad = 50; // 圆半径
};
int main() {
Application app("同心圆演示", 800, 600);
app.setLoopFPS(60);
// 创建两个同心圆
CircleSprite cir1(400, 300, 75);
CircleSprite cir2(400, 250, 50);
app.add(cir1);
app.add(cir2);
while (!app.isClosed()) {
app.clear(BLACK);
cir1.onDraw(); // 绘制第一个圆
cir2.onDraw(); // 绘制第二个圆
app.update();
app.display();
}
return 0;
}
```
在这个例子中,我们定义了一个`CircleSprite`类,它继承自`CNode`,并在`onDraw`函数中绘制了同心圆。`main`函数中创建了两个同心圆实例,并将它们添加到EasyX的应用中。
阅读全文
相关推荐
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)