Skip to content
hoge1e3 edited this page Jan 23, 2020 · 4 revisions

api

GIFWriterクラス

画面やパネルの画像からアニメーションGIFを作成します.

Main

// 5フレーム後から撮影開始,撮影長さ30フレーム,終了後"anim.gif"というファイル名でダウンロード
g=new GIFWriter{delay=5,length=30,after="download",filename="anim.gif"};
x=100;y=100;
while(true) {
    x++;
    update();
}

コンストラクタ

new GIFWriter(param)

paramには,次の値をもつオブジェクトを渡します.

  • target: 撮影対象となるPanelオブジェクト.省略すると$Screen
  • delay : 撮影開始するまでに待機するフレーム数.省略するとすぐに撮影開始.
  • fps: フレームレート.省略すると 15
  • interval :フレームを撮影する間隔(1ならすべてのフレームを撮影,2なら2フレームに1回撮影).省略すると$Bootで指定されているフレームレートをfpsで割った値で算出. 例えば,$Bootで60FPSが指定されていて,fpsが15の場合,4フレームに1回撮影.
  • length: 撮影する期間をフレーム数で指定.省略した場合,saveまたはdownloadメソッドが明示的に呼ばれるまで撮影する.
    • GIFファイルに実際に格納されるフレーム数は,length / interval になります.
  • afterlengthが指定されている場合,撮影完了後の動作を指定."save"ならfiles/フォルダに保存,"download"ならダウンロードを行う.
  • filename: 保存またはダウンロードするファイル名
  • manualtrueの場合,startaddFramesaveまたはdownloadメソッドを明示的に呼び出して撮影する.

メソッド

これらのメソッドは,主にmanualtrueの時に用います.

  • start
    • 撮影を開始します.
  • addFrame
    • 現在のフレームを撮影します.startを呼んでいない場合は自動的に呼び出します.
  • save(f)
    • 撮影したGIF画像をファイルfに保存します.fはファイルオブジェクトかファイル名です.省略すると作成時のfilenameの値を参照.
  • download(name)
    • 撮影したGIF画像をnameというファイル名で保存します.name省略すると作成時のfilenameの値を参照.

注意

  • save, download の各メソッドは,呼び出しが完了してもそれぞれの動作は完了しません.動作の完了を待つにはwaitForを利用してください.

例:

g=new GIFWriter{manual=true};
for (i=0; i<30; i++) {
    g.addFrame();
    update();
}
waitFor(g.save("anim.gif"));
print("Save complete!");
Clone this wiki locally