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

android - すべての Android グラフィックス/SurfaceView チュートリアルで問題が発生しています

私は Android でビデオ ゲームを作成する方法を学ぼうとしているので、SurfaceView オブジェクトを使用して Android でグラフィックスを作成する方法についての適切なチュートリアルを入手する必要があります。ただし、私が試したすべてのグラフィックチュートリアル(主にSurfaceViewのもの)は失敗しました。XMLは私の要素から外れているため、使用したくないことに注意してください。Googleは、プログラムで実行できるきちんとした広告でその手法を販売したいだけです。

私が遭遇した大きな問題の 1 つは、Google とサードパーティの両方から、import android.opengl.GLSurfaceView コマンドを使用するか、GLSurfaceView のサブセットをインポートするコードを含む多くのチュートリアルがあり、それが私の IDE では機能しないことです。 . それらのいずれかをインポートしようとするたびに、Eclipse は基本的にそのパッケージを認識しないと言いたいのです。奇妙なことに、android.opengl.* をインポートできますが、それでもこれらのパッケージのコードの一部が、認識されていない型やメソッドを参照しています。

最初の問題をしばらくいじってみたところ、Lunar Lander の例では、これら 2 つの問題ライブラリのいずれもインポートしようとしていないことに気付きました。そのため、そのコードと参照リソースを初期段階のプロジェクトの 1 つに取り込み、そのプロジェクトの他のすべてを未使用のままにしました。もちろん、Lunar Lander コードが入っているパッケージを変更し、LunarLander.java などのクラス名を変更しましたが、それは問題ではありません。Eclipseでビルドするものを手に入れることができました。しかし、実行しようとすると、クラッシュするだけでした。Lunar Lander のグラフィックスなどを一切表示せずに、エミュレーターは、基本的にアプリが予期せず動作を停止し、アプリを閉じるように指示するこのエラー メッセージを表示します。

1) opengl.GLSurfaceView パッケージの問題はどうなっていますか? 2) 月着陸船の例はどうなっていますか? 3) Android 用のビデオ ゲームの作り方についてのしっかりしたチュートリアルはどこにありますか

ありがとう。

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

java - アニメーション付きのチェスに OpenGL を使用する必要がありますか?

現時点では、アニメーション付きのチェス ゲームで SurfaceView を試しています。エミュレーターで約 8 FPS しか得られません。チェス盤と 32 個のチェスの駒を描画し、すべてを回転させて (滑らかさを確認するため)、アンチエイリアシングを使用しています。Droid では約 20FPS になるので、あまりスムーズではありません。OpenGL を使用せずに、非常に少ない単純なアニメーションでゲームを実装することは可能ですか?

これは私がすべてのフレームで行うことです:

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

android - 他のアクティビティから戻った後、Androidのサーフェスビューは表示されなくなります

私はいくつかのAndroidプログラムの開発に質問があります...

私はカメラのプレビューにsurfaceviewを使用しています。正常に動作しますが、他のアクティビティを開始して(何かをクリックして)、そのアクティビティから戻ると、1つの問題が発生します。その後、サーフェスビューは表示されなくなります。(ただし、onclicklistenerは機能しています)

しかし、単一のアクティビティで可視/不可視のサーフェスビューによってサーフェスが作成/破棄された場合、それは非常にうまく機能します。

plzは私に助けを与えます。

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

android - Android game goes blank after pressing home and restarting

I am making an Android game with an Activity called Game, a SurfaceView called GameView and a Thread called GameThread. The Game's onCreate(), I make a new GameView, which makes a new GameThread, where all the game logic and canvas drawing is carried out.

However, I'm having some lifecycle difficulties. When I press back and restart it, it works fine, but when I press home and restart it, all I see is a blank screen. Here are the GameView's onSurfaceCreated() and onSurfaceDestroyed():

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

android - SurfaceView を常に水平にする方法は?

キャンバスを使用していくつかのものを描画するために SurfaceView を使用しています。問題は、デフォルトですべてを水平に表示し、デバイスの位置に関係なくそのままにしたいことです。SurfaceView を表示するためにレイアウト XML ファイルを使用していません。代わりに、SurfaceView を拡張するクラスがあり、それsetContentView(new Panel(this));を表示します。

ご協力いただきありがとうございます。

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

android - Android: ランドスケープ モードでフレーム レートが低下する

(最新の) Android SDK を試しているところ、奇妙な動作に気付きました。

骨組みの SurfaceView アプリを作成しました: アクティビティ、SurfaceView、およびレンダリング スレッド。実際には描画は行わず、フレームレートを 1 秒に 1 回だけ logcat に書き込みます。ポートレートモードで実行すると、約60 fpsになります。ただし、横向きにすると、フレームレートは約 30 fps に低下します。

LunarLender サンプルでもテストしたところ、同様の結果が得られました。物理デバイスを持っていないため、すべてのテストはエミュレーターで行われます。

それは何ですか?Googleでこれについての言及が見つからないようです。他の誰かがそれを経験したことがありますか? それは単なるエミュレータの癖ですか、それとも物理ハードウェアにも当てはまりますか?

0 投票する
3 に答える
101903 参照

android - Androidのカメラで使用されるSurfaceViewにオーバーレイを描画するには?

のプレビューを に描画する簡単なプログラムがCameraありSurfaceViewます。私がやろうとしているのは、メソッドを呼び出すはずのメソッドを実行するためにonPreviewFrame、新しいフレームが に描画されるたびに呼び出されるメソッドを使用することです。実際、メソッドは呼び出されていますが、何も印刷されていません (カメラのプレビューが、描画しようとしているテキストを上書きしていると思います)。SurfaceViewinvalidateonDrawonDraw

SurfaceViewこれは、私が持っているサブクラスの単純化されたバージョンです:

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

android - 仮想キーボードが表示され、SurfaceViewが関与している場合、AndroidのEditTextは非表示になります

シンプルなユーザーインターフェイスがあります。EditTextはSurfaceViewの下に配置する必要があります。私はRelativeLayoutを使用してこれら2つのビューを配置します。

ここで、EditTextをタップして仮想キーボードを開くと、SurfaceViewが上にスライドしますが、EditTextは非表示になり、入力した文字列は表示されません。

再現するには、次のレイアウトXMLコードを使用します。

メインのActivityクラスは、レイアウトを表示するだけで済みます。プログラムを起動してEditTextをタップすると、仮想キーボードは表示されますが、EditTextフィールドは表示されなくなります。

おそらくRelativeLayoutが問題を引き起こしていますが、同じレイアウトを別のLayoutクラスで再現する方法がわかりません。

どんな提案でも大歓迎です、私は本当にあなたの助けに感謝します。

ありがとう。

編集:

これは2つのスクリーンショットです。1つは仮想キーボードなしで下部にEditTextを示し、もう1つは仮想キーボードはあるがEditTextがないものです。SurfaceViewとEditTextが実際には上にシフトし、EditTextが消えてしまうことに注意してください。ところで、これは、ボタンがEditTextの横にある場合にも発生します。

SurfaceViewの下のEditText(左)。EditTextがなくなりました(右)

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

android - SurfaceView からレイアウトに拡張されたビューを追加すると、空白の画面が表示されます

私は Android プログラミングに非常に慣れていないので、これはおそらくかなり基本的なものです。いくつかのボタンを備えた xml レイアウトがあります。JetBoy デモで提供されたモデルに従おうとしているので、SurfaceView を拡張するレイアウトにビューを追加しています。この新しいビューを xml レイアウトに配置すると、空白の画面が表示されます。

役立つ場合は、XML レイアウトを次に示します。gameview 要素は、画面が空白になる原因です

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

android - サーフェス ビューに透明なイメージを描画する

私の目的は、画像上で光るアニメーションを実行することです。この効果を生み出すために、画像のアルファを変更しています。

Android フレームワークで提供される基本的な AlphaAnimation を使用しましたが、他のアニメーションの速度が低下することがわかりました。そこで、SurfaceView からクラスを拡張し、それを更新するスレッドを作成しました。(ここでも、画像のアルファを操作しています)。

透明な画像をSurfaceViewに描画できないことを除いて、すべて問題ないようです。ビットマップの透明な領域に黒い色が表示されます。

前もって感謝します。