ここから本文です

BVEについての質問です。 ランダムにイベントが発生するような構文(おそらく$Sub...

yuk********さん

2011/3/2120:59:49

BVEについての質問です。
ランダムにイベントが発生するような構文(おそらく$Sub構文)が、よく分からないんですが…
出来れば、どう定義?すればどうなるかの例を教えて下さい。
お願いします!!

閲覧数:
1,268
回答数:
1

違反報告

ベストアンサーに選ばれた回答

kog********さん

2011/3/2422:39:09

ランダムにイベントを発生させるには、Rnd構文で乱数を利用することで可能です。

例えば、車内放送を流す位置を100m~200mの間でランダムにする場合は、
$Rnd(100;200),.Announce (ファイル名)
と書けば、100m~200mの間のどこかで車内放送が流れます。
構文の前に書く距離の部分を乱数にするという意味です。

FreeObj構文で、自線にA.csv、B.csv、C.csvの3種類のオブジェクトの内からランダムで置く場合は、
ストラクチャインデックスはA.csvを0、B.csvを1、C.csvを2とすると、
.FreeObj 0;$Rnd(0;2);0;0;0
と書くことで可能です。

異なる数種類の構文を用意して、その中から一種類ランダムに発生させる場合は、
1、半径500mのカーブ
2、半径-500mのカーブ
3、30‰の勾配
この3通りの中から1つランダムに発生させるとします。
この場合、$Sub構文で3種類の構文を格納しておきます。
1000m地点で発生させるには、
$Sub(0)=Curve 500
$Sub(1)=Curve -500
$Sub(2)=Pitch 30
1000,.$Sub($Rnd(0;2))
と書けばできます。
$Sub(Index)のIndexの部分を乱数にすればいいのです。

これを応用すれば、車両をランダムにすることもできます。
207系0番台、207系1000番台、207系2000番台の中からランダムに決める場合は、
$Sub(0)=207-0
$Sub(1)=207-1000
$Sub(2)=207-2000
Train.Folder $Sub($Rnd(0;2))
とするだけです。しかし、この車両ランダムだけは、BVE2では使えません。BVE4では使えますが、規則性が発生してしまいます。(この例の場合は最初は必ず2000番台になります。)openBVEではちゃんとランダムになります。

これらを応用すれば、他にもいろいろランダムにすることが可能ですよ。

質問した人からのコメント

2011/3/25 09:20:01

成功 分かりやすい回答ありがとうございました!やってみます!

この質問につけられたタグ

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる