私は Android 用のゲームを作成しようとしています。複数の解像度を扱うときに問題があります。これは私のゲームビューの例です: http://oi42.tinypic.com/vh6ir6.jpg。
小さなエリアにはいくつかの情報があり、最大のエリアは私の遊び場です。私の目的は、画像 (ビットマップ) が再生領域の端を超えないようにすることです。これは部分的に機能していますが、800x432 の解像度 (私のタブレット xD の解像度) でのみ機能します。
これは私のコードです:
case MotionEvent.ACTION_MOVE:
//left edge
if (deltaX <= 90 && deltaY <= 400 && deltaY >28){
Static_PositionX = 52;
Static_PositionY = (int)deltaY-35;
Drag = false;
}
//down edge
else if (deltaY >= 380 && deltaX > 90 && deltaX <770) {
Static_PositionX = (int)deltaX-42;
Static_PositionY = 360;
Drag = false;
//right edge
}else if((deltaY <= 390 && deltaY > 20) && deltaX > 770){
Static_PositionX =723;
Static_PositionY = (int)deltaY-35;
Drag = false;
}
// up edge
else if ((deltaX >= 90 && deltaX < 770) && deltaY <= 35 ){
Static_PositionX =(int)deltaX-42;
Static_PositionY = 0;
Drag = false;
}
ここで、deltaX と deltaY は画像座標であり、Static_PositionX/Static_PositionY はランダムな開始位置です
deltaX=event.getX();
deltaY=event.getY();