Tgif FAQ - アニメーション


注意:

このページは、 Tgif ホームページ にある FAQ のページ を、竹野研究室 (主に竹野) が日本語に翻訳したものです。 オリジナルサイトの作者 (Bill Cheng 氏) の許可の元、ここに公開します。

FAQ 以外のページへのリンクは、 ほとんどがオリジナルページへのリンクになっていますので、 日本語訳はされていません (ただし、そのうち主なものは今後日本語訳することも考えています)。 また、ここに書かれているリンク先やソフトウェアなどの情報は、 書かれてからかなり年月が経っていますので、 リンク切れになっていたり、 現在の状況には合わない情報である可能性もあります。

この日本語訳のページに関する意見や質問は、 オリジナルサイトの作者ではなく、 竹野 にお願いいたします。

(05/31 2017)

このページのオリジナルサイト: http://bourbon.usc.edu/tgif/faq/animate.html

目次へ戻る


 
私は動的な結果を表示する単純なツールを探しています。 tgif のマニュアルを見ると、 bigin_animate というコマンドがあるのを見つけましたが、 これを実行する例がありません。私がやりたいのは、Object をいくつか定義し、 シミュレーションの結果を tgif にパイプ経由で渡して、 それに応じてその Object を移動、回転させる、ということです。 これは tgif で可能ですか ?
あなたがやりたいことのための一つの方法は、 tgif の内部コマンドを使い、それがどのように動くかを観察することです。 例えば、中心 (50,50) で半径 10 の塗り潰した赤い円を作りたい場合は、 以下の内部コマンドを使います:
      set_selected_obj_color("red");
      set_selected_obj_fill(1);
      create_center_oval_obj(50,50,10);
      set_selected_obj_fill(0);
新しく作成したオブジェクトは他のすべてのオブジェクトの一番上に置きます。 それを選択し、このオブクジェクトに名前をつけることができます:
      select_top_obj();
      add_attr_to_selected_obj("name","foo",50,50);
これでこのオブジェクトには "!foo" という名前が付いたことになりますが、 この文字 "!" はトップレベルであることを意味します。 "!foo" オブジェクトの名前 ("name") の属性を隠すには、 以下のようにします:
      hide_attr("!foo.name");
外枠を作りたければ、以下のようにします:
      set_selected_obj_color("blue");
      set_selected_obj_fill(0);
      create_box_obj(80,80,60,40);
それを選択し 45°回転させるには、以下のようにします:
      select_top_obj();
      rotate_selected_obj(45);
tgif の起動時に、以上のすべてのコマンドを、 以下のようにして標準入力から与えることができます:
      tgif -exec -
もちろん、これは手始めに過ぎません。さらに聞きたいことがあれば、 私にメールをください。

ところで、begin_animate() コマンドは、 ものを滑らかにするだけのもので、 実はアニメーションを起動するものではありません。