1

黒い画面を持つゲームを作ろうとしています。画面をスワイプすると、触れた黒い部分が消えて、その背後に画像が表示されます。目的は、画像が何であるかを推測できるまでスワイプし続けることです。

これを行う他のアプリを見てきました。私はそれを行う方法にこだわっています。私の考えは、ピクセルを変更して透けて見えるようにしてビットマップを変更することでした。しかし、ビットマップ メモリにアクセスする方法が見当たらないか、これを行う別の方法があるのでしょうか????

4

3 に答える 3

2

これを作成する 1 つの方法は、ビットマップを他の画像と同じように描画することです。その上に、編集可能な黒いビットマップ (draw() を使用して動的に作成できます。Paint クラスのドキュメントを参照してください) を作成します。ユーザーがスワイプし、パスを記録し、ブラシを使用して黒のビットマップに透明なピクセルをペイントすると、下の画像が表示されます。

最後の部分は単純なペイント アプリの実装とほぼ同じなので、理解するのは難しくありません。

于 2012-10-20T00:20:31.910 に答える
1

copy考えられる解決策は、メソッドを使用してイメージ ビットマップのコピーを作成することです。このようにして、画像に変更を加えることができます。

次に、画像を黒い四角でマスクします。ユーザーが画像上で指を拭くと、ユーザーがたどるパスを記録し、これに基づいてマスキング画像を作成する必要があります。そのマスクを使用すると、元の画像を通過し、スワイプのパスがカバーしない領域でのみ画像を黒く塗りつぶすことができます.

Paintクラスをチェックアウトする価値があるでしょう。

于 2012-10-20T00:17:09.360 に答える
0

を使用できますがViewPager、それはあなたが望むタイプのスワイプ効果ではないと思います。ただし、実装するのは簡単な方法です。ViewPagerストックアンドロイドアプリで広く使用されています。Play Music で最近の / アルバム / ... ビュー間をスワイプする方法を見てみましょう。ご覧のとおり、ページング (対スワイプ) 効果です。

を使用ImageSwitcherして、イン/アウト効果のアニメーションを追加できます。これは、アニメーションで使用する方法について説明しているSOの記事です。

アニメーションの設定 ImageSwitcher が実行されます (in_left または out_right)

ただし、スワイプが検出された後にアニメーションがトリガーされるため、これはうまく機能しません...アニメーションはスワイプに従いません。

これらが気に入らない場合は、必要なものを取得するためにいくつかの OpenGL コードを作成するのに苦労している可能性があります。

于 2012-10-19T23:59:24.103 に答える