2011-01-07 52 views
1

私はアンドロイド用のアプリをいくつか作っていますが、どれもそれほどグラフィックを使用していません。私は今、実際のゲームを作ろうとしています。私はキャンバスにあるビットマップを持っています。私の問題は、自分のポジションをどこで初期化するかわからないということです。 OnTouchイベントでは、ビットマップが画面の外に逸れないようにしたいと思っています。Android SurfaceViewの幅/高さ

canvas.drawBitmap(glider.getGraphic(), 30, 20, null); 

20及び30の任意であった:1つのビットマップを初期化する。例えば 、。しかし、私はscreen.getWidth()のようなものを書くことができるように、ビットマップが画面の境界線との相対的な位置を正確に知っています。私は開発者のリファレンスでこれを見つけることができません。

答えて

2

画面サイズを調べる場合は、DisplayMetricsクラスをご覧ください。インスタンスとそのような測定値を得ることができます:

DisplayMetrics metrics = new DisplayMetrics(); 
getWindowManager().getDefaultDisplay().getMetrics(metrics); 
int screenHeight = metrics.heightPixels; 
int screenWidth = metrics.widthPixels; 

これは絶対的な画面サイズであることに注意してください。フルスクリーンゲームを行っている場合は正常に動作しますが、そうでない場合は、通知バーのサイズとタイトルバーを考慮する必要があります。その場合、SurfaceView自体の高さを取得して計算に使用するほうが良いかもしれません。

関連する問題