1

文字のトレース機能を提供する Android ゲーム アプリケーションを開発しています。Android グラフィックスを使用するのはこれが初めてです。ここでは、アプリに Canvas を使用しています。キャンバスにドット文字を表示して、ユーザーが画面上で文字をトレースできるようにしたいと考えています。そのために、点線の文字の画像を作成し、それらの画像を背景に設定しました。

今、特定の (x,y) 座標でこれらの点線の文字イメージに点をプロットしたいと思います。しかし問題は、Android キャンバスが異なる画面サイズに依存することです。したがって、これらのポイント(x、y)座標を画面サイズに合わせてスケーリングする必要があります。このリンクも参照しましたが、明確なアイデアが得られませんでした。

この問題を解決するのを手伝ってください。ありがとう。

4

1 に答える 1

0

まず、画面の高さと幅を見つけます。

int width = game.getWindowManager().getDefaultDisplay().getWidth();
int height = game.getWindowManager().getDefaultDisplay().getHeight();

画面を覆うように背景を拡大縮小する

Bitmap background_scaled=Bitmap.createScaledBitmap(background, width, height, true);

Convert(x、y)->(x_scaled、y_scaled)

int x_scaled=x*((float)width/(float)background.getWidth());
int y_scaled=y*((float)width/(float)background_getHeight());

ポイントを描く

canvas.drawPoint(x_scaled,y_scaled,new Paint());
于 2013-02-07T11:38:23.520 に答える