見出し画像

24FPSのときの各フレームの秒数の算出がめんどい

って、同僚がぼやいたのを勝手に拾ってJavaScriptでスクリプト書いた。

多分Flash(現Animate)でタイミングをミリ秒で合わせるみたいな作業をしているんだと思う。

function convertFpsToMillisecond(fps, count) {
 const step = 1000/fps;
 const result = [];
 for (let i= 0; i < count; i++) {
   const ms = Math.round(i * step);
   result.push([i, ms]);
 }
 return result;
}

こんなかんじ。FPSと出したいフレーム数を引数にいれる。

convertFpsToMillisecond(24, 48)
 .map(([i, str]) => `${i}f: ${str} ms`).join('\n');

フレーム数と秒数の文字列のペアが配列で返ってくるので適当に表示する。

0f: 0 ms
1f: 42 ms
2f: 83 ms
3f: 125 ms
4f: 167 ms
5f: 208 ms
6f: 250 ms
7f: 292 ms
8f: 333 ms
9f: 375 ms
10f: 417 ms
11f: 458 ms
12f: 500 ms
13f: 542 ms
14f: 583 ms
15f: 625 ms
16f: 667 ms
17f: 708 ms
18f: 750 ms
19f: 792 ms
20f: 833 ms
21f: 875 ms
22f: 917 ms
23f: 958 ms
24f: 1000 ms
25f: 1042 ms
26f: 1083 ms
27f: 1125 ms
28f: 1167 ms
29f: 1208 ms
30f: 1250 ms
31f: 1292 ms
32f: 1333 ms
33f: 1375 ms
34f: 1417 ms
35f: 1458 ms
36f: 1500 ms
37f: 1542 ms
38f: 1583 ms
39f: 1625 ms
40f: 1667 ms
41f: 1708 ms
42f: 1750 ms
43f: 1792 ms
44f: 1833 ms
45f: 1875 ms
46f: 1917 ms
47f: 1958 ms

以上です。

サポートいただけたら美味しいご飯の足しにしてまた絵を描きたいと思います。よろしくおねがいします。