アニメーション

アクションリストを一本化して、アニメーションさせる例。
キモは、RepaintAction と ForceDirectedLayout。

private Visualization makeVisualization(Graph g){
    Visualization m_vis;
    ColorAction nodeDraw;
    ColorAction edgeDraw;
    ActionList animate;
 
    /*
      Visualization クラスのインスタンスを作り、Graph データを与える。
    */
    m_vis = new Visualization();
    m_vis.addGraph(GRAPH, g);
 
    nodeDraw=new ColorAction(NODES,
      VisualItem.FILLCOLOR, ColorLib.rgb(200,200,255));
    nodeDraw.add(VisualItem.FIXED, ColorLib.rgb(250,100,100));
    nodeDraw.add(VisualItem.HIGHLIGHT, ColorLib.rgb(250,200,100));
 
    edgeDraw=new ColorAction(EDGES,
      VisualItem.STROKECOLOR, ColorLib.rgb(100,100,100));
 
    /*
      アクション
    */
    animate = new ActionList(Activity.INFINITY);
    animate.add(new ColorAction(GRAPH,
      VisualItem.STROKECOLOR,ColorLib.rgb(200,200,200)));
    animate.add(nodeDraw);
    animate.add(edgeDraw);
    animate.add(new RepaintAction());
    animate.add(new ForceDirectedLayout(GRAPH));
 
    /*
      アクションの登録
    */
    m_vis.putAction("animate", animate);
    m_vis.run("animate");
    return m_vis;
  }
 



最終更新:2009年02月01日 22:21