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.0
false = 0 == 0.0
数値をboolに変換
-4 == false
-1.3 == false
2 == true
5.3 == true
演算子,関数リスト
例
Logic上での名称
(出力される値の型)
(型の名称) 一般的なコードのように表現した場合の例
代入演算子
=
代入 引数1の値を出力
results = A
等価比較演算子
=Not
(出力型: bool)
NOT 引数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
=Equals
等しければtrue 引数1と引数2の値が一致する場合、
true
一致しなければfalse
results = A == B
Discussion