https://linen.dev logo
jsonで指定したドアの開閉音や警笛音などを動的に変更したい
# forum
h
jsonの
Copy code
json
"sound_Horn": "sound_hr_2000_sc:train.1103_horn",
"sound_DoorOpen": "sound_hr_2000_sc:train.1504_door_open",
"sound_DoorClose": "sound_hr_2000_sc:train.1504_door_close",
などの項目で設定できる、警笛音・ドア開閉音といった音声をSoundScript上で変更したいです。読み込む音声に干渉できるメソッドはあるのでしょうか?
k
sound_\*を動的に変更することは不可能ですが、同じような処理をスクリプト上で行うことで似たようなことが可能です sound_Hornの場合、キーの押下をトリガーにDataMapでサーバースクリプトで再生(hiさんの車掌スクリプトが恐らく似たようなことをしているはずので省略) sound_Door\*の場合、
Copy code
js
var train = //EntityTrainBase

var doorState = train.getTrainStateDate(TrainStateType.State_Door.id);
if ((doorState & 1) == 1) {
    if (train.doorMoveR == 0) {
        //ドア開
    }   
} else {
    if (train.doorMoveR == EntityVehicleBase.MAX_DOOR_MOVE) {
        //ドア閉
    }
}

if ((doorState & 2) == 2) {
    if (train.doorMoveL == 0) {
        //ドア開
    }   
} else {
    if (train.doorMoveL == EntityVehicleBase.MAX_DOOR_MOVE) {
        //ドア閉
    }
}
試してないですが多分これで動くと思います
h
なるほど………ご教授ありがとうございます
h
補足説明になります 自分のところでは描画スクリプトでキー押下検知→dataMap経由で音声スクリプトで再生という形を取っています。音声スクリプトの再生処理であれば音源を自由に変えることができるかなと思います。 警笛部分はこちらと共通するところもあるため、よろしければご参考にどうぞ。 https://discord.com/channels/799152792518393917/1346814237493952532/1346836962379567214