2

私の HubNet アプリケーションでは、各クライアントがスライダーにアクセスして、質問に対する答えを推測するために使用できます。コマンドを使用します

set slider-value 0

質問間のスライダーをリセットするため。ただし、これは、参加者が操作するスライダーではなく、スライダーに関連付けられたグローバル変数を 0 に設定するだけのようです。(サーバーから) スライダー自体を変更するにはどうすればよいですか?

もちろん、参加者がスライダーを動かす前に推測ボタンを押すと、スライダーが現在設定されているものに関係なく、推測がグローバル変数と等しくなるため、そのままでは非常に混乱します。

4

1 に答える 1

3

ここでの混乱の 1 つの理由は、HubNet システムが「シン」または「ダム」クライアント システムであることだと思います。

特に、クライアントはそのインターフェイス要素の意味を認識していません。したがって、あなたのアイデア (NetLogo サーバー上の変数を更新し、この変数 [その意味] に対応するインターフェイス要素が更新されることがクライアントに通知されることを期待する)。

代わりに、NetLogo モデルはその意味と意味を管理する必要があります。したがって、「slider-value」変数が変更されます。次に、ホストはクライアントにインターフェイス要素を更新するように指示する必要があります。これを行うには、コマンドを発行しhubnet-sendます。

たとえば、HubNet クライアントが「joe」と呼ばれ、クライアント インターフェイスのスライダーが「my-slider」と呼ばれ、関連する変数が、あなたが言うように、slider-value であるとします。

hubnet-send "joe" "my-slider" slider-value

通常、HubNet モデルでは、クライアント (「学生」または「クライアント」など) に関連付けられたカメの種類があり、これらのクライアントには、HubNet クライアントの識別子を追跡する変数があります (この変数は「my- id")。次に、すべてのクライアントのスライダーを一度に更新するには、次のように言います...

ask clients [
  hubnet-send my-id "my-slider" slider-value
]
于 2014-02-19T19:31:35.353 に答える