Nearly Equalって??

値同士が同じかどうかを判定する「=」ノード

2つの値のどちらが大か小かは「>」「≧」「≦」「<」を使って判定を行う。

恐らくこれらのノードはよく使うと思う。

 

だがこれは多分あまり使ったことがないんじゃないんだろうか?

f:id:Free_Gamer:20181106213844p:plain

Nearly Equalノード

AとBの値がほぼ等しい場合Trueを返すノードだ。

だが、一体どの程度の差を「ほぼ等しい」というのか。

それは自分で設定できる。

 

例えば・・・

 

f:id:Free_Gamer:20181106215147p:plain

Aに「10」、Bに「9」を入れた。

まあ感じ方に個人差はあれど、ほぼ等しいと言えるだろうw

実際にプレイしてみると・・・

f:id:Free_Gamer:20181106215610p:plain

Falseと判定された。

等しくないと判定されたのだ。

 

今度はAに「10」、Bに「9.9」と入れてみる。

f:id:Free_Gamer:20181106215835p:plain

f:id:Free_Gamer:20181106215910p:plain

またもFalseだ。

全然等しくないらしい。

 

A「10」B「9.9」のまま、Error Toleranceに「0.5」を入れてやってみよう。

f:id:Free_Gamer:20181106221558p:plain

f:id:Free_Gamer:20181106221709p:plain

今度はTrueが出た。「ほぼ等しい」と判定されたのだ。

 

しかし何故、

A「10」B「9.9」を入れた状態で、Error Toleranceに「0.5」を入れたら「ほぼ等しい」と判定されたのか?

 

重要なのは「Error Tolerance」だ。

Error Toleranceは訳すと、「エラー耐性」

」と思うかもだが、Error Toleranceとは「ほぼ等しい」と判定される許容範囲を指定できる部分なのだ。

 

例えば・・・

A「10」B「9」にし、Error Toleranceに「1」を入れてみよう。

f:id:Free_Gamer:20181106222630p:plain

f:id:Free_Gamer:20181106221709p:plain

Trueと判定された。

 

理由は、AとBの差が「1以内」に入っていたからだ。

A「10」‐B「9」=「1(Error Toleranceの値)」

確かにAとBの差は「1」以内だ。

 

A「10」B「9.5」にしても同じ。

f:id:Free_Gamer:20181106223038p:plain

f:id:Free_Gamer:20181106221709p:plain

AとBの値の差が「1(Error Toleranceの値)以内」に入っているのでTrueになる。

 

逆にAとBの値の差がError Toleranceの値を超えるようなら当然Falseになる。

 

※ここで注意※

これは仕様なのか何なのか分からないが、Error Toleranceの値に「0.1」以下の値を入れると、たとえAとBの値の差が「0.1」以内だとしてもFalseと判定されてしまう。

例)

f:id:Free_Gamer:20181106223907p:plain

f:id:Free_Gamer:20181106215910p:plain

A「10」‐B「9.9」=「0.1」

明らかに「0.1」以内のはずなのだが、False扱いされてしまう。

 

何でぇ??詳しい方求ム!!!!!!!!

 

それではまた!^^ノシ