名無し蛙さん、ありがとうございます!
コメントを付け加えてくださり、ありがとうございます
難しいですが、ちょっとは理解できました!
const、prototype、functionなどを調べて勉強しました
一昨日、書いて頂いたプラグインを実際に入れて、動かしてみたのですが、
向きが変わって、その後動かなくなったので、
多分、何か仕様が違うんだろうなと思っていたのですが、
昨日、リージョン内(道路内)に住民が入らないようにするプラグインを入れていた事を思い出し、
訂正してもう一度動かしてみたら、めちゃくちゃスムーズに動いて、驚きました!
個別に定義しなくてもこんなに完璧に動くんですね
すみません><
ランダムでつまずいたというのは、
車の位置を個別に出している方法の事です
調べて、スクリプトで書いてみたのですが、記述が何か間違ってるのか、左折しかしないんです^▽^;
必要ないかもしれませんが、こんな感じです
信号ありの十字路のページの一部です
コード: 全て選択
if($gameVariables.value(102/*車2の乗っているリージョン*/) == 8){
if($gameSwitches.value(310/*横が信号青*/)){
this.character(0).forceMoveRoute({
"list":[{"code":3},
{"code":0}],
"wait":true
})
$gameSwitches.setValue(325/*車2左から入る*/,true)
}
}
コード: 全て選択
if($gameVariables.value(102/*車2の乗っているリージョン*/) == 43){
if($gameSwitches.value(325/*車2左から入る*/)){
$gameVariables.setValue(68/*ランダム2*/, Math.round(Math.random()*3)+1)
if($gameVariables.value(68/*ランダム2*/) ==1){
this.character(0).forceMoveRoute({
"list":[{"code":4},
{"code":0}],
"wait":true
})
$gameSwitches.setValue(325/*車2左から入る*/,false)
}
if($gameVariables.value(68/*ランダム2*/) ==2){
this.character(0).forceMoveRoute({
"list":[{"code":3},
{"code":0}],
"wait":true
})
}
if($gameVariables.value(68/*ランダム2*/) ==3){
this.character(0).forceMoveRoute({
"list":[{"code":3},
{"code":0}],
"wait":true
})
}
}
if($gameSwitches.value(328/*車2下から入る*/)){
if($gameVariables.value(68/*ランダム2*/) ==2){
this.character(0).forceMoveRoute({
"list":[{"code":4},
{"code":0}],
"wait":true})
$gameSwitches.setValue(328/*車2下から入る*/,false)
}
if($gameVariables.value(68/*ランダム2*/) ==3){
this.character(0).forceMoveRoute({
"list":[{"code":3},
{"code":0}],
"wait":true})
}
}
if($gameSwitches.value(326/*車2右から入る*/)){
if($gameVariables.value(68/*ランダム2*/) ==3){
this.character(0).forceMoveRoute({
"list":[{"code":3},
{"code":0}],
"wait":true})
$gameSwitches.setValue(326/*車2右から入る*/,false)
}
}
}
実際のマップではないですが、こんな感じになっています
歩道がある交差点は信号があります
なんかめちゃくちゃ複雑になっていてすみません^^;
もっといい方法があると思うのですが、
隣が、とか高度な事ができないので、
シンプルにリージョンごとに右に進む、とか決めています
複雑なので、ちょっと説明しますね
1、2、3、4は乗っていたら右、左、下、上に進む
101、102、103、104は、住人が通る事のできる場所として分けてありますが、車の挙動は、101は1、102は2、、、と同じ
信号は、縦横で切り替わります
全て同じタイミングで統一しています
横が青スイッチ(310)、縦が青スイッチ(311)(黄色の時とかあるのでそれぞれ分けてあります)
信号ありの十字路は、8、9、10、11で信号が青かどうかで進むか止まる、同時に車2がその方角から入ったスイッチをON
(8なら左から入ったスイッチ(325)をON)
信号ありのT字路は24、25、26で信号が青かどうかで進むか止まる、同時に各方角から入ったスイッチをON
今気づいたのですが、これ、8、9、10、11と同じでも大丈夫ですね;
交差点ごとにページを変えてるから変えなくても大丈夫でした^^;
信号なしの十字路 20、21、22、23は信号は関係なくそのまま侵入、どの方角から入ったかのスイッチをON
信号なしのT字路 16、17、18は信号は関係なくそのまま侵入、その方角のスイッチをON
(20、21、22、23と同じで大丈夫でした)
信号なしの上下逆のT字路 40、41、42は信号は関係なくそのまま侵入、その方角のスイッチをON
(20、21、22、23と同じで大丈夫でした)
交差点上の43、44、45、46
左上、43の挙動は、6こ
これまた複雑なので画像を用意しました
画像の矢印のパターンがあります
左からは3こ、下からは2こ、右からは1こ
同様に44、45、46も6こ
31、32は端なので、逆方向の端にランダムで移動させる
長くなってすみませんm(_ _)m
こんな感じのマップになっています