Skip to content

SendBRDObject()#

SendBRDObject(objID, tag, d, userID)#

部品IDで指定した特定の部品に'broadcast'イベントを送信します。ユーザー定義イベントの実装などで利用します。

パラメータ#

int objID

部品のID

string tag

ユーザー定義のイベントタグの文字列。送信したイベントを識別するために必ず設定してください。

dict d

ユーザー定義のイベントパラメータ。dict型で設定します。

int userID

イベントを識別するためにユーザーが設定した任意の数値。省略した場合は0になります。

戻り値#

コメント#

実行するとbroadcastイベントが送信されます。

ユーザーIDは、イベントをハンドラで判別するために使用します。

param['eventUID']に、設定したuserIDが入ります。

param['broadcast']に、ユーザー定義のイベントタグが入ります。 ユーザー定義タグでイベントを識別してください。

ビルド156以降、ユーザーIDが追加されました。

スレッド処理ではありませんが、並列を想定してコードを実装してください。

サンプル#

Xキーで編成部品9にイベント送信

1
2
3
4
5
6
7
8
9
#LAYOUT
import vrmapi
def vrmevent(obj,ev,param):
    if ev == 'init':
        obj.SetEventKeyDown('X',100)
    elif ev == 'keydown':
        if param['eventUID'] == 100:
            d = dict(pm=123)
            obj.SendBRDObject(9, 'test', d, 500)
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
#編成スクリプト
#OBJID=9
import vrmapi
def vrmevent_9(obj,ev,param):
    if ev == 'init':
        dummy = 1
    elif ev == 'broadcast':
        vrmapi.LOG(param['eventUID'])
        # testタグに反応させる
        if param['broadcast'] == 'test':
            obj.SetVoltage(0.2)