#include<graphics.h> #include<conio.h> #include<iostream> using namespace std; class CObject { public: virtual void Draw() = 0; virtual void Update(float t) = 0; }; class Cball :public CObject { private: float m_x; float m_y; int m_r; int m_color; float m_Vy; public: Cball(float x, float y, int r, int color) { m_x = x; m_y = y; m_r = r; m_color = color; m_Vy = 0; } void Draw() { COLORREF color = getfillcolor(); setfillcolor(m_color); solidcircle(m_x, m_y, m_r); } void Update(float t) { m_Vy += -9.8 * t; m_y += m_Vy * t + 0.5 * (-9.8) * t * t; if (m_y < m_r - 200) { m_Vy = -0.8 * m_Vy; m_y = m_r - 200; } } }; int main() { initgraph(800, 600); setorigin(400, 300); setaspectratio(1, -1); cleardevice(); static const COLORREF groundColor = RGB(100, 100, 100); // 绘制地面直线 line(-400, -180, 400, -180); // 绘制地面斜线 for (int i = -400; i < 400; i += 10) { // 绘制斜线 line(i,-181 , i,-179 ); } // 设置地面颜色 setcolor(groundColor); Cball ball(20, 200, 20, RED); //BeginBatchDraw(); for (int i = 0; i < 1000; ++i) { BeginBatchDraw(); cleardevice(); ball.Draw(); ball.Update(0.05); Sleep(30); EndBatchDraw(); } //EndBatchDraw(); _getch(); closegraph(); return 0; }为什么我的代码运行后不出现大地,只出现小球运动呢
时间: 2024-04-12 15:30:03 浏览: 28
你的代码中绘制了地面直线和斜线,但是没有设置填充颜色。所以即使绘制了这线段,也无法看到地面效果。你可以在设置地面颜色之后,添加以下代码来填充地面:
```cpp
// 填充地面颜色
bar(-400, -180, 400, -179);
```
这样就能够看到地面了。另外,你还需要确保你的绘图环境正常初始化和关闭,在使用 `initgraph()` 初始化绘图窗口之前,确保你已经正确安装了 EasyX 图形库,并且头文件和库文件的路径设置正确。
相关问题
#include <graphics.h> #include <conio.h> int main(int argc
`#include <graphics.h>` 和 `#include <conio.h>` 在传统的Windows API中用于图形应用程序的开发。这两个头文件分别包含了:
1. `<graphics.h>`:这个头文件提供了对GDI(Graphics Device Interface,图形设备接口)的支持,使得程序能够直接操作计算机的图形设备,如绘制点、线、矩形、圆、文本等,以及处理位图和调色板等图形功能。
2. `<conio.h>`:这个头文件包含了一些控制台输入输出相关的函数,如键盘事件处理(如`kbhit()`检查是否有键按下)、字符输入(如`getch()`获取用户输入的字符)等,常用于命令行界面或图形用户界面的简单交互。
`int main(int argc, char *argv[])`: 这是标准C++程序的主函数声明,`argc`代表命令行参数的数量,`char *argv[]`是一个指向字符串的指针数组,存储了这些参数。在包含上述头文件的程序中,可能会使用它们来初始化图形环境或者处理用户输入。
相关问题:
1. 什么情况下会用到<graphics.h>和<conio.h>?
2. 除了Windows,还有哪些平台或库支持类似的图形和控制台输入输出功能?
3. 如何在使用<graphics.h>时创建一个新的图形窗口?
#include <stdlib.h> #include <conio.h>
#include <stdlib.h> 是C语言中的一个头文件,它包含了一些常用的函数和宏定义,用于进行内存分配、类型转换、随机数生成等操作。其中一些常用的函数包括malloc()、free()、atoi()等。
#include <conio.h> 是C语言中的另一个头文件,它主要用于实现控制台输入输出相关的功能。其中一些常用的函数包括getch()、putch()等,可以用于获取键盘输入、输出字符到控制台等操作。
这两个头文件通常在C语言的程序中使用,可以根据需要选择性地包含它们来使用相应的函数和宏定义。
相关推荐
![application/x-gzip](https://img-home.csdnimg.cn/images/20210720083646.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.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)