問題タブ [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 に答える
2184 参照

android - ユーザーが画面を動かさずに画面上で指を押し続けているかどうかをどのように感知できますか?

私は現在、純粋なOpenGLを使用して、自分の小さな方法でボタンをペイントしています。

onTouchEventでボタンが押されたかどうかは検出できますが、ユーザーがボタンを押し続けているのか、それともユーザーが画面に触れていないのかを知りたいのです。

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

android - 動的位置のレイアウト

少し珍しいかもしれないレイアウトがあります。構造は次のとおりです。

XML の下部にある私の customRelativeLayout にも XML レイアウトがあります。

私のCustomRelativeLayout:

やりたいこと: CustomRelativeLayout の位置を変更できるようにしたい。それは私のタッチに従う必要があります。SurfaceView よりも小さく、私のタッチに従って上に「スライド」する必要があります...

2 つの問題があります。

  1. mLinearLayout (CustomRelativeLayout 内) への onTouchListener バインドは、ACTION_DOWN に対してのみ 1 回だけトリガーされます。ログ出力が 1 回しか表示されない
  2. メモの位置が変わることはなく、変更されたマトリックスで再描画されることもありません...onDrawタッチが発生した後、never に記載されている出力が表示されます。

1 つ目は、SurfaceView がタッチ イベントも処理するためです。しかし、CustomRelativeLayout が最初にそれを処理すれば、うまくいくはずだと思いました。

いくつかのアイデア?

ソリューションの編集

Xil3 のおかげで、遭遇した壁を取り除くことができました...これが私の解決策です。

私のメモxml:

そして、ここに私のコンストラクタがあります:

また、私にとってまったく新しいバグ/機能/問題も発見しました。メモのルート要素 (現在は透明) の背景を削除すると、内部に設定した 200 dp の幅/高さの範囲内でのみメモが表示されます。 LinearLayout。だから、そうではなくfill_parentwrap_content私が設定したのと同じfill_parentです。したがってlayout_width、背景が設定されている場合にlayout_heightのみ指定されたものを使用してfill_parentください...おかしくなりました...

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

android - SurfaceView KeyEvents

Color Computer Emulator を Android に移植する作業が大幅に進んでいます。ハードウェア キーボードを備えた Droid 2 で動作しますが、仮想キーボードから KeyEvents を SurfaceView サブクラスに送信することができません。ここの提案ごとに、ビューに setFocusable(true)、setFocusableInTouchMode(true)、requestFocus()、および requestFocusFromTouch() を含めました。仮想キーボードの使用時に onKeyUp および onKeyDown メソッドが呼び出されません。onCreateInputConnection を実装し、新しい BaseInputConnection を (対応する onCheckIsTextEditor とともに) 返すことを試みましたが (必要かどうかは完全にはわかりません)、成功しませんでした。

テストには HTC Incredible を使用しています。ヘルプやサンプル コードをいただければ幸いです。

ありがとう。

0 投票する
10 に答える
131776 参照

java - クラスの拡張時にエラーが発生しました

GhostSurfaceCameraViewを拡張するカスタム ビューを作成しようとしていますSurfaceView。これが私のクラス定義ファイルです

GhostSurfaceCameraView.java:

そして、これは私の ghostviewscreen.xml にあります:

今私が作った活動で:

gets が呼び出されるとsetContentView()、例外がスローされます。

このエラーが発生する理由を誰か教えてもらえますか? ありがとう。

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

android - Androidでスクロールゲームカメラをプログラムするには?

私は現在、トップダウンの視点で単純なシューティングゲームを書こうとしています。SurfaceView と Canvas を使用して画面にグラフィックを描画していますが、「カメラ」をスクロール可能にする方法がわかりません。プレイヤー キャラクターは常に画面の中央にあり、カメラ (本質的には SurfaceView のキャンバス) は常に彼を追いかけているはずです (たとえば、Alien Swarm のように)。しかし、それを定期的に行う方法がわかりません。私が現在行っている方法は、プレイヤーの入力に従ってゲーム世界の他のすべてのオブジェクトを移動し、それらの座標がたまたま画面上にある場合はそれらを描画することです。プレイヤーは常に同じ座標に留まります。SurfaceView 自体を実際に移動 (スクロール) する方法はありますか? Scroll ウィジェットとメソッド SurfaceView を見ました。scrollBy(int x, int y) ですが、これらのいずれかを実装しようとすると強制的に閉じます。どんな助けでも大歓迎です、事前に感謝します!

PS ただのメモ - このプロジェクトでオープン GL を使用することに興味はありません。

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

android - keyEvent オブジェクトを Button に渡して、クリックしたように見せる方法は?

OnTouchEvent を受け入れるための surfaceView を作成しました。このビューでは、Button.draw(Canvas) を使用して手動でボタンを描画します (ViewGroup を作成しません)。

これで、このボタンを SurfaceView に描画できますが、KeyEvent を OnTouchEvent から Button.onTouchEvent(keyEvent) のように Button に渡すと、このボタンはクリック効果を表示できません

問題は、キーイベントをビューに手動で渡す方法であり、レイアウトに表示されているものを表示しますか????

何かアイデアはありますか?thx!!

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

android - SurfaceViewからビットマップ

SurfaceView(カメラプレビュー)をその場で顔検出用のビットマップに変換しようとしています。null以外の画像を受信して​​いますが、ビューに表示すると、真っ黒に見えます。理由は何で、どのように進めるかについてのアイデアはありますか?

(SurfaceViewからビットマップを抽出することは難しいですが不可能ではないと思いますが、誰も解決策を投稿していません)

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

android - Androidで座標系を乱さずにキャンバスを回転するにはどうすればよいですか?

canvas.rotate を使用してキャンバスを回転させ、同時にオブジェクトを移動しようとしています。問題は、回転するとキャンバスの座標系も回転するため、オブジェクトが y 軸に沿って移動するはずなのに、x 軸の代わりに y 軸が回転する場合があります。それはめちゃくちゃです。これを回避する方法はありますか?

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

java - Android SurfaceHolder.unlockCanvasAndPost() が再描画を引き起こさない

SurfaceView、SurfaceHolder、Callback セットアップを使用した描画を含むかなり標準的なアプリを Android SDK で実装しています。

私のメイン スレッド (UI スレッド) では、SurfaceHolder (またはそれで取得したキャンバス) の描画や処理はありません。

別のスレッドで、私は以下を持っています:

このコードは実行されており、例外はスローされず、私が見つけた負の副作用もありません。ただし、unlockCanvasAndPost() 呼び出しによって onDraw() が呼び出されることはありません。

つまり、unlockCanvasAndPost() は SurfaceView の再描画を引き起こしません。

この症状の原因は何ですか?私はJavaの経験が豊富で、Androidの経験もかなりあり、デバッグの経験も豊富で、これを追跡することはできません.

前もって感謝します。

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

android - 奇妙なレイアウトの問題。(添付画像をご覧ください)

代替テキスト

上の画像は私のゲームの最初のページです。通常、大きな青い「ボタン」の背景画像はそこに表示されません。

次のように、レイアウトファイルでボタンのカスタム背景画像を宣言します。

そして、これがドローアブルフォルダのbutton_bg.xmlです

ご覧のとおり、添付画像をご覧ください。下の3つのボタンは通常の場合です。私は自分のアプリのどこでもそれらを使用しています。ただし、画面中央に表示される場合があります。この大きなボタンは押せません。それは私のゲームの上に浮かんでいるところです。ゲームを開始することはできますが、この大きな青いものがすべてをカバーしているため、明らかにコンテンツを見ることができません。

ゲームを数回起動/終了し続けることで、このバグを再現できます。

もっと情報を入れたいです。しかし、私があなたにどんな情報を与えるべきかわからない。私FrameLayoutはSurfaceViewの上にUIを配置するために使用します。

そして、ほとんどの場合、このバグは発生しません。ゲームを起動/終了して数回繰り返した後、ランダムに発生するようです。

誰かが以前にこのようなものを見たことがありますか?もしそうなら、どうやってそれを修正したのか教えてください。