BitmapFactory を使用して絵を描きます...内容は、絵は加速度計をリッスンします..それに応じて移動します...コードを書くと完全に機能します...しかし、画像は画面からはみ出します。 ..画像は画面に表示され、常にユーザーに表示されている必要があります....
これの解き方を教えてください...
mWidth = metrics.widthPixels;
mHeight = metrics.heightPixels;
float mRange = s.getMaximumRange();
//
// Convert MetersToPixels
// metersToPixels = mWidth / .0254f
//
float startX = mWidth / (0.0254f * mRange);
float startY = mHeight / (0.0254f * mRange);
Canvas canvas = ourHolder.lockCanvas();
canvas.drawColor(Color.WHITE);
float mPosY = sensorY * startY;
float mPosX = sensorX * startX;
if (mPosX > mHorizontalBound) {
mPosX = mHorizontalBound;
}
if (mPosY > mVerticalBound) {
mPosY = mVerticalBound;
}
canvas.drawBitmap(betty, mPosY, mPosX, null);
ourHolder.unlockCanvasAndPost(canvas);
}
@Override
protected void onSizeChanged(int w, int h, int oldw, int oldh) {
// TODO Auto-generated method stub
super.onSizeChanged(w, h, oldw, oldh);
mXOrigin = (w - betty.getWidth()) * 0.5f;
mYOrigin = (h - betty.getHeight()) * 0.5f;
mHorizontalBound = ((w / mMetersToPixelsX) * 0.5f);
mVerticalBound = ((h / mMetersToPixelsY) * 0.5f);
}
}
画像が画面からはみ出してしまう..しかし、このように行くべきではありません...