🛠️

CCKのLogicとかの出力先の型ごとの反応の違い、特殊な挙動 (書きかけ)

2022/07/28に公開

各値の型ごとの相互変換とか
理解できれば、Logicの条件分岐を簡潔に書ける

出力先が Signal

bool(true / false)

true => シグナルが発火
false => 何もしない

数値(Int, Float)

0より大きい => シグナルが発火
0以下 => 何もしない

Vector

エラー

出力先が bool

bool(true / false)

true => true
false => false

数値(Int, Float)

0より大きい =>true
0以下 => false

Vector

エラー

出力先が 数値(Int, Float)

bool(true / false)

true => true
false => false

数値(Int, Float)

IntにFloatに代入 => 小数点以下切り捨て

Vector

エラー

出力先が Vector

bool(true / false)

エラー

数値(Int, Float)

エラー

Vector

Vector2Vector3に代入 => Zに0が代入される

その他

Vector型とVector型以外の方は引数に共存できない
Intenger + Vector2 NG
Vector2 + Vector2 OK
Vevtor2 + Vector3 OK

型の相互変換例

boolに数値を代入する時や、数値にboolを代入するときの挙動
boolを数値に変換

true = 1 == 1.0 false = 0 == 0.0

数値をboolに変換

-4 == false -1.3 == false 2 == true 5.3 == true

演算子,関数リスト

(型の名称) Logic上での名称 (出力される値の型)

一般的なコードのように表現した場合の例

代入演算子

代入 =

引数1の値を出力

results = A

等価比較演算子

NOT =Not (出力型: bool)

引数1の値の否定した値を出力
引数1が数値の場合、0より大きい場合はfalse, 0以下の場合はtrue
Vector型に対してはエラー

results = !A

反転 =Minus

引数1の値を反転したものを出力
引数1が数値型、Vector型の場合、正負が反転

加算(足し算) =Add

引数1に引数2の値を足した値を出力

results = A + B

積(掛け算) =Multiply

引数1に引数2の値を掛けた値を出力

results = A * B

減算(引き算) =Substruct

引数1に引数2の値を引いた値を出力

results = A - B

除算(割り算) =Divide

引数1を引数2で割った値を出力
*小数点を考慮しないため、Float同士で実行しても小数点以下が切り捨てられる

results = A / B

剰余(余り) =Modulo

引数1を引数2で割った値の余りを出力

results = A % B

等しければtrue =Equals

引数1と引数2の値が一致する場合、true一致しなければfalse

results = A == B

Discussion