問題タブ [surfaceview]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
489 参照

android - 変数を外部クラスに渡す

内部の View クラスを Main クラスから独自のファイルに分割しました。メイン クラスでは、ユーザーの動きをマトリックスに記録する onTouchListener としてビューを設定し、ビューを変換およびスケーリングできるようにします。それを分離した後、すべてが機能しますが、マトリックスをViewに渡してonDrawを更新する方法がわかりません。助言がありますか?ありがとう

0 投票する
1 に答える
446 参照

android - Android: HTC Hero 1.5 でビデオが表示されない

アプリケーションでビデオを再生しようとしています。

XML ファイル:

音しか聞こえませんが、映像は聞こえません。

しかし、ファイルマネージャーを介してこのビデオを個別に再生しようとすると. 完璧に遊んでいます。どこが間違っていますか?

助けてください。

0 投票する
2 に答える
8746 参照

android - 静的メソッドで AlertDialog を作成しますか?

作ろうとしているゲームのほとんどを完成させ、プロジェクト全体を通して、SurfaceView と Thread も呼び出す 1 つの特定のアクティビティを作成しました。3 つのクラスのそれぞれに update() メソッドを配置して、何かが変更されるたびに他のクラスがどこにあるかをそれぞれが認識できるようにします。どうやら、このようなことを行う唯一の方法は、静的メソッドを使用することです...これは、SurfaceView で衝突が発生し、Activity に何をすべきかを伝えたいまでは問題ありません。情報を中継することはできますが、AlertDialog を作成する方法が見つかりません。

静的メソッドから showDialog() を呼び出すことができないことは理解していますが、非静的メソッドを作成してそれを呼び出し、そのメソッドを静的メソッドから呼び出す方法を見つけることができません。私は答えを探していて、オブジェクトのインスタンス化について何か聞いたことがありますが、それが何を意味するのかわかりません...

誰かがこれを回避するための良いアイデアを持っている場合は、私に知らせてください:)

0 投票する
1 に答える
588 参照

android - canvas.drawBitmap が呼び出されると、システムで何が起こりますか?

ズームスケールが小さいときに描画されるマップの低解像度コピーと、ユーザーが特定のポイントを超えてズームインしたときにタイルシステムを含む、スクロール可能でズーム可能なマップがあります。私が抱えている問題は、タイルが最初に描画されるときに、短いが顕著な遅延があることです。その最初の遅れの後、すべてがスムーズです。GC は実行されておらず、起動時にすべてのビットマップが読み込まれます。ラグを処理できるように、正確に何が起こっているのか考えていますか? または回避策はありますか?ありがとう。以下にコードを示します。

0 投票する
8 に答える
40934 参照

android - surfaceViewスレッドを一時停止および再開する方法

surfaceViewをセットアップして実行していますが、再開すると、スレッドがすでに開始されているというエラーが表示されます。アプリがバックグラウンドに移動してからフォアグラウンドに戻るときに処理する適切な方法は何ですか?私はいじくり回して、クラッシュすることなくアプリを元に戻すことができました...しかし、surfaceViewはもう何も描画しません。私のコード:

0 投票する
1 に答える
3332 参照

android - SurfaceViewとカスタムビュー(ビューから拡張)。SurfaceViewの速度が遅いのはなぜですか?

私は同じプログラムを2つの方法で書きました。

1つはSurfaceviewを使用し、もう1つはカスタムビューを使用します。android SDK開発ガイドによると、グラフィックを処理するために別のスレッドを生成できるため、サーフェスビューを使用する方が優れています。SDK開発ガイドでは、invalidate呼び出しでカスタムビューを使用することは、アニメーションが遅く、グラフィックの強度が低い場合にのみ有効であると主張しています。

ただし、私の単純なアプリでは、無効化の呼び出しでカスタムビューを使用すると、レンダリングが速くなるように見えることがはっきりとわかります。

あなたたちはこれについて何を知っている/考えていますか?

私のtouchEventコードはまったく同じであり、描画コードもまったく同じです。唯一の違いは、1つはすべてUIスレッドにあり、もう1つは描画を処理するためにトレッドを使用していることです。

0 投票する
2 に答える
3261 参照

android - SurfaceView.setbackground() が私のキャンバスを支配しています

背景をサーフェスビューに設定すると、背景として設定したものが表示されます。ただし、サーフェスビューのキャンバスをロック/ロック解除すると、円などの単純なものを描画できません。私が見るのは背景画像だけです。

足りないものはありますか?

何かご意見は?

0 投票する
5 に答える
60183 参照

android - カメラ プレビュー SurfaceView に画像を重ねる

画像の描画に使用されてSurfaceViewいる があり、電話のカメラからのライブ フィードにオーバーレイしたいと考えています。

現在、SurfaceView画像を含む の背景は白ですが、携帯電話のカメラ フィードに重ねる場合は透明にする必要があります。カメラとアニメーションの描画は、同じ で行うことはできませんSurfaceView

カメラの管理と画像の描画を含む複数のビューの使用を追求するための最良のコースは何ですか? SurfaceView透明にすることは可能ですか?

0 投票する
4 に答える
9563 参照

android - SurfaceViewのちらつき/ティアリング

私は自分の問題を回避する方法を見つけようとしています。http://groups.google.com/group/android-developers/browse_thread/thread/a2aac88a08cb56c2/b7dff4ba388cd664?lnk=gst&q=SurfaceView#b7dff4ba388cd664を読んだことがありますが、私が知る限り、それは一種の「タフな運」の答え。だからここに私の問題があります:

通常の方法(lock / unlockAndPost)でSurfaceViewを使用して、サーフェスが変更されるたびにゲームの背景のビットマップを描画し(方向など)、一連の移動する円(半径が最大30)をレンダリングしています。約25.f)。これらの円の位置のx、yデータはサーバーからのものであり、すべて正常に実行されます。すべての円オブジェクトはリストに保存され、この更新が同期されるように注意してそれらの位置が更新されます。ただし、これらの円を画面に描画すると(canvas.lock()中)、ほとんどの場合、うまくレンダリングされますが、フレームの一部の円が一時的に裂けたりちらついたりすることがあります(たとえば、数秒に1回)。円の数は常に一定であるため、問題はなく、円のリストが同時に変更されることはありません(前述のとおり、同期されています)。これらすべての円を各レンダリングループのビットマップに描画し、そのビットマップをメインキャンバスに描画してみました。これはパフォーマンスにさらに影響を与えるようです(メインキャンバスに直接円を描く場合は〜30FPSではなく〜13FPS)。情報が少し漠然としている場合は申し訳ありませんが(会社を幸せに保つために:p)、誰かが私に手がかりを与えることができるかどうか疑問に思っていましたか?それとも私は運が悪かったのですか。サーバーからの測位データはリアルタイムデータであり、レンダリングがこれらのリアルタイムの位置を反映することが非常に重要であることに注意する必要があります。情報が少し漠然としている場合は申し訳ありませんが(会社を幸せに保つために:p)、誰かが私に手がかりを与えることができるかどうか疑問に思っていましたか?それとも私は運が悪かったのですか。サーバーからの測位データはリアルタイムデータであり、レンダリングがこれらのリアルタイムの位置を反映することが非常に重要であることに注意する必要があります。情報が少し漠然としている場合は申し訳ありませんが(会社を幸せに保つために:p)、誰かが私に手がかりを与えることができるかどうか疑問に思っていましたか?それとも私は運が悪かったのですか。サーバーからの測位データはリアルタイムデータであり、レンダリングがこれらのリアルタイムの位置を反映することが非常に重要であることに注意する必要があります。

助けてくれてありがとう!クリス

編集:

けっこうだ。これがレンダリングスレッドからのrun()です。

かなり標準的なもの(月着陸船のほぼカーボンコピー:p)

非常に簡単にフォローできます。向きが変わった場合は背景のビットマップを再描画して、レンダリングスレッドを開始してください。

そして最後に:

みんなありがとう。クリス

0 投票する
1 に答える
795 参照

android - Android で SurfaceView を使用する場合の onActivityResult fc

コンテンツ ビューとして SurfaceView を使用しているアクティビティが startActivityForResult(...) を呼び出し、開始されたアクティビティが finish() を呼び出すと、私のアプリ fc

コンテンツ ビューを SurfaceView 以外のものに変更すると、これは発生しません。

これは、要求された logcat になります。

09-05 00:17:18.926: エラー/AndroidRuntime(339): キャッチされていないハンドラー: キャッチされていない例外が原因でスレッド メインが終了しています始めました。09-05 00:17:18.937: エラー/AndroidRuntime(339): java.lang.Thread.start(Thread.java:1322) 09-05 00:17:18.937: エラー/AndroidRuntime(339): fi で。 mikuz.soundboards.GraphicalSoundboardEditor$DrawingPanel.surfaceCreated(GraphicalSoundboardEditor.java:426) 09-05 00:17:18.937: エラー/AndroidRuntime(339): android.view.SurfaceView.updateWindow(SurfaceView.java:454) 09-05 で00:17:18.937: エラー/AndroidRuntime(339): android.view.SurfaceView.onWindowVisibilityChanged(SurfaceView.java:189) 09-05 00:17:18.937: エラー/AndroidRuntime(339): android.view.View で.dispatchWindowVisibilityChanged(View.java:3782) 09-05 00:17:18。