C言語で車のタイヤの回転アニメーション効果を実装する方法

車輪の回転アニメーションを作成するには、タイマーまたはループを使用して車輪の角度を継続的に更新し、新しい車輪を画面に描画する描画関数を呼び出します。

以下、簡単なサンプルコードを示します。

#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は領域の色の塗りつぶしに使用します。

bannerAds