0

次のコードでは、WC_InterpolateColor(0xFF0000, 0xFFFF00, 0.5) を実行して、指定された 2 つの色 (この場合は赤と黄色) の中間の色を取得できるはずです。pos 値は 1.0 から 0.0 の間でなければなりません。コードは明らかに未完成であり、次にどこに行くべきかわかりません。他の誰かがこのようなことを試みましたか? 誰かがそれを正しく行う方法を教えてもらえますか? 現在、コードは常に終了色 (この場合は黄色) を返します。事前に感謝します。説明してください。そこから学ぶことができます。

WC_InterpolateColor(start, end, Float:pos) {
    new start_bytes[1], end_bytes[1];
    start_bytes[0] = start;
    end_bytes[0] = end;

    for (new i = 0; i < 4; i++) {
        start_bytes{i} = floatround(start_bytes{i} * (1.0-pos) + end_bytes{i} * pos);
    }

    return end_bytes[0];
}

Ps。使用される言語は、C++ に非常によく似た言語である Pawn です。キーワード new は、int または float を実行するようなものです。この場合は int です。

4

1 に答える 1