CCKのLogicとかの出力先の型ごとの反応の違い、特殊な挙動 (書きかけ)
各値の型ごとの相互変換とか
理解できれば、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
Vector2をVector3に代入 => Zに0が代入される
その他
Vector型とVector型以外の方は引数に共存できない
Intenger + Vector2 NG
Vector2 + Vector2 OK
Vevtor2 + Vector3 OK
型の相互変換例
boolに数値を代入する時や、数値にboolを代入するときの挙動
boolを数値に変換
true = 1 == 1.0false = 0 == 0.0
数値をboolに変換
-4 == false-1.3 == false2 == true5.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