Canvasでクラウドソーシングのプロジェクトを作る - ページ 6

 
Комбинатор:

根本的な疑問があります。

例えば、1つのチャートに2つのアプリケーション、パネル、インジケータがあるとします。それぞれのキャンバスに描くべきか、それとも二人で共通のキャンバスに描くべきか。

どちらのケースにも疑問があります。

ここで、単純にキャンバスを描いてみることを提案します。すべての要素を載せた状態。
いずれにせよ、このような実行インスタンスの数をcanvasで制御することはできない(あるいは、canvas上の「マルチウィンドウインターフェース」のためのOS機能に深く入り込むことになる)。いずれはこうなるかもしれないが、まだだ)。

結果として、私は今、キャンバス間の「ウィンドウ イベント」を送信するレベルでの相互作用は行わないことを提案します。

また、複数のex5が1つの共有kanvasの内容についてどのようにデータをやり取り するのか、今ひとつ想像がつきません。

 
Vasiliy Sokolov:
キーボードを使えば、すべてがクリアになる。キーが押されるとイベントが発生し、そのキーに対応したコードが存在します。これ以上何を望む?

残念ながら、このコードには完全性がありません。現在では、チャートイベントはAと aを 区別しません。

このテーマについては、すでにSDで書きました

 
Комбинатор:
ところで、OnMouseDownイベントを導入することで、通常のDNDという意味ではかなり楽になると思うのですが。

Sparam の CHART_MOUSE_MOVE イベントは、ボタンとキーボードの状態を送信します。= 左、右、Ctrl、Shift、Alt。

つまり、DNDが実装されたのです。

 
もうひとつ疑問があります。知っている人、説明してください。 すでに1つのオブジェクトで表現されている制御を、なぜ新しい技術で入力フィールドに するのでしょうか?省資源や新機能など、どのようなメリットがあるのでしょうか? 要するに、それはなぜなのでしょうか?
 
o_O:

つまり、今すぐDNDを実装することができるのです。

はい、最近のプロジェクトで実装しましたので、承知しています。だから今、DNDはケツの穴を通してしか実装できない。

まず、通常のドラッグ&ドロップでは、チャートのプロパティを有効にしたり無効にしたりする必要があります。

次に、MouseMoveはClickなどのようにオブジェクトに束縛されないので、マウスの下に2つのオブジェクトがある場合、両方ともドラッグされることになります。ちなみに標準ライブラリでは、こうなっています。

そして、どのオブジェクトを引っ張るかを選択する内部ロジックが なければ、そうなるのです。

というわけで、MoseDownイベントの2つ目の問題は、事実上解決されたようです。

また、3点目があります。MouseMoveはスパムイベントです。強制的に有効にする必要があり、有効にするとチャート上の全てのコードに送信され、メッセージの数が多くなり良いブレーキになる可能性があるので、使わない方法があれば使わない方が良い。

 
Комбинатор:

あ、3点目もありますね。MouseMoveはスパムイベントです。強制的に有効にする必要があり、有効にするとグラフ内のすべてのコードに送信され、メッセージの数により良いラグが発生するため、使用しない方法があれば使用しない方が良い。

ラグがあったとしても、肉眼では感知できない程度です。私のパネルでは一時期、MouseMoveは不可視を含む数千のアイテムを送信していましたが、その後、より巧妙な送信を行いましたが、視覚的には速度が追加されませんでした。
 
Комбинатор:

はい、最近のプロジェクトで実装しましたので、承知しています。だから今、DNDはケツの穴を通してしか実装できない。

まず、通常のドラッグ&ドロップでは、いくつかのチャートのプロパティを無効化したり有効化したりする必要があります。

次に、MouseMoveはClickなどのようにオブジェクトに束縛されないので、マウスの下に2つのオブジェクトがある場合、両方ともドラッグされることになります。ちなみに標準ライブラリでは、こうなっています。

そして、どのオブジェクトを引っ張るかを選択する内部ロジックが なければ、そうなるのです。

というわけで、MoseDownイベントの2つ目の問題は、事実上解決されたようです。

また、3点目があります。MouseMoveはスパムイベントです。強制的に有効にする必要があり、有効にするとチャート上の全てのコードに送信され、メッセージの数が多くなり良いブレーキになる可能性があるので、使わない方法があれば使わない方が良い。

カンヴァスに行っても、自分たちのことは自分たちでやるしかないということをわかっているのか。ハイレベルなイベントはもうない。受信可能なmtオブジェクトがない

マウスの動きやボタンの状態だけなら、アホとは言わんが )).低レベルのイベントに過ぎない。

 
Vasiliy Sokolov:
ラグがあったとしても、それは肉眼では見えません。私のパネルでは一時期、MouseMoveが不可視を含む数千のアイテムを送信していました。その後、送信をスマートにしましたが、視覚的には速度が上がりませんでした。
確認します。
そのスピードは計り知れません。
 
o_O:
ナド何千ものオブジェクトがあっても、スピードに差はないんです。
問題は、オブジェクトの数ではなく、コードの数です。また、1つのインジケータコードが常にChartEventによってハードな処理を行うとしても。
o_o

選挙に出れば、自分たちのことは自分たちでやるしかないということをわかっているのか?ハイレベルなイベントはもうないんです。受信するmtオブジェクトがない。

マウスの動きやボタンの状態だけなら、ケツとは言いませんが)、低レベルのイベントに過ぎません。

また、他のコードとの相互作用のレベルもあります。少なくとも、1つの指標の複数のインスタンス間などでは。考慮する必要があります。

しかし、そう、すべてクリアしているのです。

 
Комбинатор:

また、他のコードとの相互作用のレベルもあります。例えば、1つの指標の複数のインスタンス間など。それを考慮しなければならない。

正直、どのようなやり取りをしているのか、さっぱりわかりません。

複数のインジケーターが1つのキャンバスに出力されるのですか?