スクロールしたいサンプルアプリケーションを作成しましたが、目的の出力を得ることができません。j2meキャンバスでスクロールする方法は?
Iは、ペイント法内部次のコードは
g.translate(x,y);
とのKeyDownとkeyUpイベントイベントで変数「Y」の値を渡すことを>>>>>試みました。
これを行うには誰も助けてくれますか?
スクロールしたいサンプルアプリケーションを作成しましたが、目的の出力を得ることができません。j2meキャンバスでスクロールする方法は?
Iは、ペイント法内部次のコードは
g.translate(x,y);
とのKeyDownとkeyUpイベントイベントで変数「Y」の値を渡すことを>>>>>試みました。
これを行うには誰も助けてくれますか?
keyUPのYの値を減らして試しましたが、repaint()
メソッドもkeyDownと同じことをしましたが、今度はYの値が減少し、repaint()
メソッドを呼び出します。
はこれを試してg.translate(x, changingYvalue);
を使用してください。
MutableImageを使用して、負のy座標で描画するのが最も簡単な方法です(メモリが大量ですが)。
変更可能な画像は、単に新しい画像(w、h)です。
myImage.getGraphics()
を使用してGraphicsコンテキストを取得し、このGraphicsオブジェクトで描画します。オフスクリーンバッファーとして機能します。ペイント(グラフィックスG)よりも
、コール:
g.drawImage(0,y,...);
もしループペイントするために、各システムコールにYを減少
。
(paintをブロックしないでください - 各呼び出しは1つのフレームで、フレームごとのアニメーションを実行しています)
yを減らした別のスレッドからアニメーションループを実行し、repaint()を呼び出してスリープします。
スクロールバーは、paint
メソッド内に描画する必要があると思います。スクロールバーの矢印をクリックすると、keyReleased
メソッドが実装されます。 scrolling
を実装するには、repaint();
を呼び出すことをお勧めします。paint
メソッドをbooleanまたはその他のプライベートタイプのvariable
で管理します。
おそらくコードにバグがあります。 Canvas#keyPressedとCanvas#paintで使用しているコードを表示すると、分かりやすくなります。また、どのようにあなたのアプリをテストするのですか?エミュレータを使用していますか?あなたはコードからログメッセージを書いていますか? – gnat