私は Android (およびその点で Java) が初めてで、簡単なゲームを作成しています。私は立ち往生しています。
私の問題はこれです:
起動時に画面全体を占める 2 つの png 画像 (背景と前景) があります。前景の「描画部分」の幅を ON_DRAG の x 座標に設定できるようにしたいと考えています。私の制御方法は正常に機能します。次のように使用されます。
g.drawRect(0, 0, scene.getLine(), g.getHeight(), Color.GREEN);
ここで、scene.getLine() はタッチの x 値を返します。この時点で、画像の上に緑色の長方形を描くことができます。しかし、私が実際に望んでいるのは、これらの長方形の寸法が最上層の png に「穴を開ける」ことです (そのため、背景が下に表示されます)。前景を拡大縮小したくありません。
私はclipRectを試しましたが、これら2つの上に描画する必要がある他の画像があり、clipRectがこれを防ぐため、機能しません。「PorterDuffXfermode」コードの束を見てきましたが、それを自分の状況に適用する方法を理解できず、機能させることができません。つまり、PorterDuff の「SRC」モード セットを使用してペイントを作成できますが、「ソース」イメージと「宛先」イメージを定義する方法がわからないため、ペイントは魔法のように機能します。これに関する最後の考慮事項は、たとえ PorterDuff が機能したとしても、これを 60fps で実行したいことを考えると、それが実用的かどうかわからないということです。
助言がありますか?
ありがとう。