問題タブ [redraw]

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 に答える
901 参照

cocoa - Mac Dev - 2D ゲームのビューを更新するには?

の他の質問を見ると、Mac で簡単な 2D ゲームを作成しようとしていることがわかります。そこで、使用するライブラリ (OpenGL または Quartz) を決定していましたが、Cocoa を使用して素敵な Mac アプリケーションにし、ウィンドウとビュー (OpenGL、NSOpenGLView を使用) を作成する必要があります。明らかに、ゲームの場合、ビューは 1 秒間に何度も再描画する必要があります。ビューを再描画するには、 を行う必要がありますが[view setNeedsDisplay:YES];、これを何度も行うべきではないことを読みました (コストがかかるため)。しかし、たとえば 2D ゲームの妥当な fps でビューを再描画するにはどうすればよいですか? ありがとう。

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

c# - 深く複製されたPanel; コントロールは再描画されません

複製されたパネルの子コントロールの再描画に問題があります。

まず、IClonableを使用していませんリフレクションを使用しています。

私のコード:

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

c# - 最大化時のフォーム/タブコントロールの再描画に関するc#の問題

タブコントロールのあるアプリ/フォームがあります。アプリを最大化すると、再描画バグが表示されます。タブページの右側の領域の空の部分が正しく描画されず、他の奇妙なものが表示されます。(ただの背景です。タブページのコントロールは問題ありません)

どこかの単純な設定に違いないと思うのですが、それが何であるかわかりません。ヒントをいただければ幸いです。:)

編集: 問題のスクリーンショットはこちら: http://i48.tinypic.com/dm318p.png 右上にフォーカス:)

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

qt - Qt QSliderのスライダーの代わりに絵を描く方法は?

QSliderから継承するクラスを作成しました。普通の絵ではなく、スライダー(グラバー)に絵を描きたいです。どうやってするの?

-

回答を見つけて投稿しました。レスポンダーに敬意を表して、私はその返信を選びます。ただし、同じ問題を抱えている人が誰でも恩恵を受けることができるように、コードを共有したいと思います。

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

windows - ウィンドウのスクリーングラブ

ウィンドウの画面を取得するためのコードをいくつか書いています(Windowsで)。コードは正常に動作しますが、スクリーン グラブの前に、キャプチャして強制的に再描画するウィンドウを前面に移動する必要があります。

InvalidateRect を使用して再描画を強制します。次に、WM_PAINT を処理するために、メッセージ ループからいくつかのメッセージを送り出す必要があります。ポンプするメッセージの数がわからないため、これは明らかに少し不自由です。

RDW_ALLCHILDREN で RedrawWindow を使用してみましたが、画面を取得しているアプリは MDI アプリであり、すべての子を再描画していないようです。

私の質問は、スクリーングラブの前にウィンドウを再描画するより良い方法はありますか?

乾杯リッチ

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

c# - OnResize イベントでサイズ変更がまだ進行中かどうかを確認する方法は?

コントロールの再描画には時間がかかり、多くのリソースを浪費するため、サイズ変更中ではなく、サイズ変更後にコントロールを再描画する必要があります。

私のコントロールはControlクラスを継承し、OnResizeイベントをオーバーライドしています。

PS: OnSizeChanged はまったく同じです

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

jquery - noLoop() を使用する場合の Processing.js のイベントベースの redraw() の改善

私はProcessing.jsを使用しており、jQuery 1.3.2を自由に使用でき、Firefox 3.5、Safari 4、およびIE 8を(ExplorerCanvasを介して)ターゲットにしています。Processing.js の Web サイトには、「Processing.js で Explorer Canvas を使用すると、通常、適度に複雑なビジュアライゼーションのフレームレートが使用できなくなります」と記載されています。この場合、アニメーションは必要ありません。単純なスケッチだけなので、フレーム レートは問題になりません。フォームの入力データが変更されるたびに redraw() だけが必要です。私は 99% 成功しており、IE を制御するために必要なインスピレーションは 1 つだけです。

keyPressed() は入力フィールドの変更に完全に対応しますが、チェックボックスの変更時に再描画し、フィールドの選択は残念ながら実際のキーが押されるまで遅れます。mousePressed()は、 canvas 内でクリックされたときにのみ更新を引き起こします。ユーザー エクスペリエンスは少しぎこちなく、混乱します。キーボード/マウス イベントでスケッチをすぐに再描画するにはどうすればよいですか?

コード

ページのメイン JavaScript ブロックで、フォームと Processing.js の間の選択フィールドに依存する JSON データを渡すためのオブジェクトを設定し、IE フラグを配置する場所としても設定しました。

ブラウザがIEの場合、「条件付きコメント」スクリプトを使用して「共通」オブジェクトにブール値を入れます。

完全を期すために、「共通」オブジェクトは、すばらしい jQuery getJSON 関数を使用して、この方法で JSON データを受け取ります。

Processing.js のセットアップは次のようになります。

描画ループは次のように始まり、必要なパラメトリック データをフォームから直接取得します。

フォームの変更によって AJAX リクエストが開始されると、データは次のように draw() ループに入ります。

draw() ループの後には、条件付き再描画ロジックが続きます。

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

c# - Tao OpenGL Framework SimpleOpenGLControl - いつ再描画するか、いつ再描画しないか?

Visual Studio Express 2008 で C# を使用しています。

Tao Framework OpenGL dll も使用しています。

再描画が必要なときに SimpleOpenGLControl が再描画される原因は何ですか?

SimpleOpenGLControl がアクティブなフォームにある場合、再描画するために必要なのは、glFlush()andを呼び出すことだけSimpleOpenGLControl.Invalidate()です。

ただし、コントロールがアクティブなフォームに存在しない場合、再描画することはできません。非正統的な手段でコントロールを無効にする方法を見つけましたが、これはコントロールのコンテンツ (3D レンダリング) を再描画せず、単に空白 (黒) のコントロールを残します。

アクティブなフォームに関係なく、コントロールを実際に再描画するにはどうすればよいですか?

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

swt - SWT.NO_BACKGROUND を使用したコンポジットの背後でのコントロールの再描画

当初の目標:

メニューを表示するために使用する TreeMenu があります。このツリーで、ユーザーはさまざまな項目を選択できます。

ユーザーが最初のアイテムを選択した後に新しいアイテムを選択できないように、ツリーを無効にしたいと思います。キャッチは、グレーアウトされた外観を使用することが許可されていないため、setEnabled を使用できないことです。外観/色は変更されない場合があります。

私たちの提案するソリューション

私たちの最初のアイデアは、メニューの上に SWT.NO_BACKGROUND を指定して Composite を使用し、ユーザーによる TreeMenu の操作を防ぐことでした。

コード:

これは再描画に問題があります。

画面が別の画面で覆われてから前面に戻された場合、カバー コンポジットは前に重なったウィンドウの断片で埋められます。

私たちのアイデアは、メニューを手動で再描画することでした:

コードを paintEventListener 内に配置しました。

しかし、これにより無限ループが発生し、問題は解決しませんでした。

質問

当初の目標を達成する方法を知っている人はいますか?

提案されたソリューションを機能させる方法を知っている人はいますか?