Nearly Equalって??
値同士が同じかどうかを判定する「=」ノード
2つの値のどちらが大か小かは「>」「≧」「≦」「<」を使って判定を行う。
恐らくこれらのノードはよく使うと思う。
だがこれは多分あまり使ったことがないんじゃないんだろうか?
Nearly Equalノード
AとBの値がほぼ等しい場合Trueを返すノードだ。
だが、一体どの程度の差を「ほぼ等しい」というのか。
それは自分で設定できる。
例えば・・・
Aに「10」、Bに「9」を入れた。
まあ感じ方に個人差はあれど、ほぼ等しいと言えるだろうw
実際にプレイしてみると・・・
Falseと判定された。
等しくないと判定されたのだ。
今度はAに「10」、Bに「9.9」と入れてみる。
またもFalseだ。
全然等しくないらしい。
A「10」B「9.9」のまま、Error Toleranceに「0.5」を入れてやってみよう。
今度はTrueが出た。「ほぼ等しい」と判定されたのだ。
しかし何故、
A「10」B「9.9」を入れた状態で、Error Toleranceに「0.5」を入れたら「ほぼ等しい」と判定されたのか?
重要なのは「Error Tolerance」だ。
Error Toleranceは訳すと、「エラー耐性」
「?」と思うかもだが、Error Toleranceとは「ほぼ等しい」と判定される許容範囲を指定できる部分なのだ。
例えば・・・
A「10」B「9」にし、Error Toleranceに「1」を入れてみよう。
Trueと判定された。
理由は、AとBの差が「1以内」に入っていたからだ。
A「10」‐B「9」=「1(Error Toleranceの値)」
確かにAとBの差は「1」以内だ。
A「10」B「9.5」にしても同じ。
AとBの値の差が「1(Error Toleranceの値)以内」に入っているのでTrueになる。
逆にAとBの値の差がError Toleranceの値を超えるようなら当然Falseになる。
※ここで注意※
これは仕様なのか何なのか分からないが、Error Toleranceの値に「0.1」以下の値を入れると、たとえAとBの値の差が「0.1」以内だとしてもFalseと判定されてしまう。
例)
A「10」‐B「9.9」=「0.1」
明らかに「0.1」以内のはずなのだが、False扱いされてしまう。
何でぇ??詳しい方求ム!!!!!!!!
それではまた!^^ノシ