5

作業中のプロジェクトのViewとCanvasを初期化する必要がありますが、1時間ほどまたは検索した後、それらを何に等しくするかがわかりません。

これが私がこれまでに持っているコードです:

 public class DisplayMap extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        try {
            displayMap();
        } catch (IOException e) {
            e.printStackTrace();
        } catch (SlickException e) {
            e.printStackTrace();
        }

    }

    public void displayMap() throws IOException, SlickException {
        loadWorld("assets/World.tmx");
    }

    public void loadWorld(String path) throws IOException {
        View view = ?????;
        Canvas canvas = ?????;

        //World loading goes here
    }
    }

では、ViewとCanvasを初期化する方法を教えてもらえますか?それとも私はこれを完全に間違った方法で行っていますか?

4

1 に答える 1

1

マップを読み込むカスタム ビューを記述し、そのカスタム ビューをアクティビティで使用する必要があります。

TMXView.java

public class TMXView extends View {
  public TMXView(Context context) {
    super(context);
    // Load map
  }

  public void onDraw(Canvas canvas) {
     // Draw the map on the canvas
  }
}

onCreateあなたの活動の中で:

 View view = new TMXView(this);
 setContentView(view);

詳細については、カスタム コンポーネントに関する私の講演を参照してください: http://www.sqisland.com/talks/android-custom-components/

于 2012-12-31T23:51:04.320 に答える