タイル状態の表示

デバッグ・ビューを作成して、次の方法でタイル・レイヤーにタイルの状態を表示できます。
名前のとおり、このデバッグ・ビューは、新しい地図形式にロード・オンデマンドを実装する際のデバッグ処理に特に便利です。
タイルには、3 つの異なる状態があります。次のとおりです。
  • 空。オブジェクトがメモリーにロードされていないことを表します。
  • ロード済み。オブジェクトがメモリーにローディングされており、可視であることを表します。
  • キャッシュ済み。オブジェクトはメモリーにローディングされていますが、可視でないことを表します。
デバッグ・ビューは IlvManagerView タイプであり、タイル・レイヤーに付加する必要があります。デバッグ・ビューでは、タイル・ロック・カウンターの増減は行われません。これはタイル・コントローラーの役割です。デバッグ・ビューは、ロード・オンデマンド・デバッグ・ビュー のように、ステータスに従ってタイルを色表示するだけです。
LoadOnDemand1.gif
ロード・オンデマンド・デバッグ・ビュー
1 より大きいロック・カウンターを持つタイルは、青色で表示されます。このようなタイルは、1 つ以上のビューで表示されます。カウンターが 0 のタイルは、黄色で表示されます。それらのタイルはキャッシュされています。白色のタイルは、読み込まれません。
前の例では、 IlvManagerMagViewInteractor がデバッグ・ビューに関連付けられていました。青色のタイルの中に小さい黄色の正方形を表示するのは、このインタラクターです。正方形はメイン・ビューで表示されているゾーンを表します。
以下は、レイヤーのデバッグ・ビューを作成するコードの例です。
  public static void createDebugView(IlvTiledLayer layer) {
    IlvManagerView view = new IlvManagerView(layer.getManager());
    layer.setDebugView(view);
    
    // Create a swing frame to display this debug view.
    JFrame frame = new JFrame("Debug View");
    frame.setLayout(new BorderLayout());
    frame.add(BorderLayout.CENTER, view);
    view.setAutoFitToContents(true);
    frame.setSize(200, 200);
    frame.setVisible(true);
  }
この例のソース・コード一式は、以下のファイルにあります。