VRM入道

VRM侍は出家しますた(w    カリカリ

 
投稿者
メール

 
コメント
URL
コメントは新しいものから表示されます。
コメント本文中とURL欄にURLを記入すると、自動的にリンクされます。
投稿者:ghost
謝る必要はないです。

ある意味、意図がうまく伝わっていないという点では、ボクの解説だって偉そうなことは言えませんから。

とりあえず、ifeq命令の変数の書き方を直して、次の記事に掲載するフローチャートを待ってください。多分、今のゆゆぽん☆殿であれば、このフローチャートを見ればいけると思いますので。
投稿者:ゆゆぽん☆
説明が下手なものですみません。

> 確かに、MtdWaitNextSingalとなってました。
は、おっしゃるとおり微妙な間違いがあり、
それを修正することでビュワーが起動しました。
という意味です。

>ペアのセンサー
Signal1だったら、SigSns1という組合せの事です。

ぼくが解りやすいかと思ってても伝わらないこともあるということを学びました。
投稿者:ghost
以前にも申し上げたと思いますが、貴殿の目の前で起きていることは、ボクには見えていません。そのことを忘れないように。

> 確かに、MtdWaitNextSingalとなってました。

意図がわかりません。
綴り間違いがみつかり、それを修正することでエラーが解決したと理解しますが、それで良いですか?

> ペアのセンサーを通過すると、青から黄になってしまいます

“ペアの信号”とは、具体的に何を指していますか。少なくとも、ボクの解説の中では使っていない言葉なので、ゆゆぽん☆殿がそれが何を指しているのか説明してくれないと、回答できません。

恩着せがましく申し上げるつもりはありませんが、ボクはボクなりに、意図がゆゆぽん☆殿(を含む読者諸兄)に伝わるよう、努力しています。ゆゆぽん☆殿も、ボクに貴殿の意図が伝わるよう、努力してください。



明日日付で、閉塞信号を実現するためのフローチャートを公開する予定です。まずはそれを見て、ゆゆぽん☆殿が今書いているスクリプトと、やろうとしていることが一致するかを確認するように。

少なくとも、現時点でコメント欄に書き込んでくれているスクリプトは、ボクが思っているそれとは違います。

加えて、1つ先の信号(ObjNextSignal)の灯火色(VarSignalColor)をif系命令その他で参照する場合、

 誤:ObjNextSignal VarSignalColor

 正:ObjNextSignal.VarSignalColor

です。要するにオブジェクトと変数名の間のピリオド(.)が抜けています。双方の変数に正しく値がget/setされているならば、

if ObjNextSignal VarSignalColor

(続く1は、構文違反なのでVRMに無視されています)

は常に不成立です。従ってelse以降の命令が即座に実行される状態のはずです。これが“黄になってしまいます”の直接の原因でしょう。

が、繰り返しますが、ロジックが間違っています。でも構文は(前述の.抜けがあるものの)安定してきました。つまり、確実に上達してきているということです。ここが山場ですので、もう一頑張りしちゃってください。よろしく。
投稿者:ゆゆぽん☆
確かに、MtdWaitNextSingalとなってました。
ビュワーは起動するのですが、今度はペアのセンサーを通過すると、青から黄になってしまいます。

[信号スクリプト]
//閉塞実施メソッド
BeginFunc MtdSectionBlock
//イベントを解除
KillEvent WaitID
//灯火色切替メソッドを実行
call this MtdSignalR
//次の信号が赤以外になるのを待つメソッドを実行
call this MtdWaitNextSignal
EndFunc


//次の信号が赤以外になるのを待つメソッド
BeginFunc MtdWaitNextSignal
ifeq ObjNextSignal VarSignalColor 1
SetEventAfter this MtdWaitNextSignal WaitID 100
else
call this MtdSignalY
endif
EndFunc

ObjNextSignalが赤ならば、100ミリ秒後に
MtdSignalYを実行し、この信号を黄にする。

はずが、どうしてでしょう?
MtdSignalYは間違いでしょうか?
現在、MtdWaitNextSignalは1つの信号にしか
書いていません。

投稿者:ghost
既に複数の信号にスクリプトを書いていませんか?

エラーメッセージを正確に示しましょう。よく見ると、MtdWaitNextSignalと微妙に綴りのことなるそれがエラーになっている可能性があります。

以下の記事も参考にしてください。

http://silver.ap.teacup.com/ghost/564.html
投稿者:ゆゆぽん☆
MtdWaitNextSingalのペアができているのに
未定義のメソッドと言われます。
どうしてでしょうか?
[センサースクリプト]
//信号灯火色管理変数
Var VarSignalColor
call this MtdSignalG
//次の信号
VarSignal ObjNextSignal
get ObjNextSignal Signal7
//条件待ち用イベント変数
Var WaitID


//灯火色設定メソッド
BeginFunc MtdSignalR
set VarSignalColor 1
SetSignal VarSignalColor
EndFunc

BeginFunc MtdSignalY
set VarSignalColor 3
SetSignal VarSignalColor
EndFunc

BeginFunc MtdSignalG
set VarSignalColor 6
SetSignal VarSignalColor
EndFunc

//閉塞実施メソッド
BeginFunc MtdSectionBlock
//イベントを解除
KillEvent WaitID
//灯火色切替メソッドを実行
call this MtdSignalR
//次の信号が赤以外になるのを待つメソッドを実行
call this MtdWaitNextSignal
EndFunc


//次の信号が赤以外になるのを待つメソッド
BeginFunc MtdWaitNextSignal
ifeq ObjNextSignal.VarSignalColor 1
SetEventAfter this MtdWaitNextSingal WaitID 100
else
call this MtdSignalY
endif
EndFunc

実験的代物

CSS無効化 ここで知った方法を使ってます

真・世界征服新着情報

今月のお勤め

2008年
← July →
Sun Mon Tue Wed Thu Fri Sat
    1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31    
Copyright (C) GMO Tea Cup Communication, Inc. All Rights Reserved.