要實現車輪旋轉動畫效果,可以借助計時器或者循環來不斷更新車輪的角度,并通過繪圖函數將更新后的車輪繪制到屏幕上。
下面是一個簡單的示例代碼:
#include <stdio.h>
#include <graphics.h>
// 車輪的半徑
#define WHEEL_RADIUS 50
// 車輪的顏色
#define WHEEL_COLOR RED
// 車身的顏色
#define BODY_COLOR YELLOW
// 車輪的中心點坐標
int wheel_center_x = 200;
int wheel_center_y = 200;
// 車輪的當前角度
int wheel_angle = 0;
// 繪制車身
void drawBody() {
// 繪制車身矩形
rectangle(100, 100, 300, 200);
// 填充車身顏色
setfillcolor(BODY_COLOR);
floodfill(200, 150, WHITE);
}
// 繪制車輪
void drawWheel() {
// 計算車輪的當前位置
int wheel_x = wheel_center_x + WHEEL_RADIUS * cos(wheel_angle * 3.14 / 180);
int wheel_y = wheel_center_y + WHEEL_RADIUS * sin(wheel_angle * 3.14 / 180);
// 繪制車輪圓形
circle(wheel_x, wheel_y, WHEEL_RADIUS);
// 填充車輪顏色
setfillcolor(WHEEL_COLOR);
floodfill(wheel_x, wheel_y, WHITE);
}
int main() {
// 初始化繪圖環境
initgraph(640, 480);
// 繪制車身
drawBody();
// 循環繪制車輪
while (1) {
// 延時一段時間,控制車輪旋轉速度
delay(50);
// 清空車輪的上一幀
setfillcolor(WHITE);
drawWheel();
// 更新車輪的角度
wheel_angle = (wheel_angle + 10) % 360;
// 繪制車輪的當前幀
drawWheel();
}
// 關閉繪圖環境
closegraph();
return 0;
}
在這個示例代碼中,我們使用了EasyX圖形庫來實現繪圖功能。首先,在drawBody
函數中繪制了車身,然后在drawWheel
函數中繪制車輪并填充顏色。在主函數中,我們使用一個循環來實現車輪的不斷旋轉效果,其中delay
函數用來控制旋轉速度。每一幀開始時,先清空上一幀的車輪,然后更新車輪的角度,最后繪制當前幀的車輪。繪圖函數circle
用來繪制圓形,rectangle
用來繪制矩形,setfillcolor
用來設置填充顏色,floodfill
用來填充區域顏色。