Doc:JA/2.6/Manual/Game Engine/Logic/Editor
目次
Logic Editor
ゲームを構成するさまざまな俳優たち(=オブジェクト)用の、ゲームロジックの作成、編集作業の中心となるのが Logic Editor です。
関連する 3D パネルで選択中のオブジェクトのロジックが、logic brick として表示されます。センサー、コントローラー、アクチュエータの三つの列を持つ表として表示されます。ロジックブリックを繋いでいるリンクは、センサー-コントローラー間、コントローラー-アクチュエータ間に信号を伝えます。
ロジックパネルをより良く理解してもらえるように、メニューの一部を拡大して番号をつけたものが、下の画像です。 下の画像に付けられた番号を追いながら、個別に各セクションを見ていきます。
1 Properties
プロパティは、他のプログラミング言語における変数に似ています。これらは、オブジェクトに関連付けられたデータを保存したり、アクセスしたりするために使用されます。以下の種類があります:
- Timer - 定義された番号から始まり、カウントアップします。
- String - テキストを保持します。
- Float - -10000.000から10000.000の小数を保持します。
- Integer - -10000〜10000の整数を保持します。
- Bool - TrueまたはFalseのいずれかです。
より詳細な説明については、 Propertiesを参照してください 。
2 Associated Object(s)
Blender game engine のロジックは、オブジェクトに結び付けられます。 オブジェクトは、その名前順に一覧表示され、それらが選択されている場合、ロジックウィンドウに表示されます。 あなたは上の図のように単一のオブジェクトを選択するか、右の図のように複数のオブジェクトを選択することができます。
オブジェクトのロジックは、そのロジックに関連付けられているオブジェクト(s)が選択されているときにのみ表示されます
3 Links
リンク(3A)は、オブジェクト間の論理的な流れの方向です。リンク線は LMB で一方のリンクのノード(3B)から他方へドラッグすることで描かれます。 リンクは、センサからコントローラへ、もしくはコントローラからアクチュエータへにだけ描画することができます。 送信ノード(センサとコントローラの右側にある黒い丸)は、複数の受信ノード(コントローラとアクチュエータの左側にある)に送信することができます。 受信ノードは、同様に複数のリンクを受け取ることができます。
あなたが直接アクチュエータにセンサをリンクすることはできません。 アクチュエータは、センサに戻るほうにリンクすることはできません。 もしアクチュエータが完了した後にセンサーを起動させたい場合は、アクチュエータのセンサーを使用してください。
4 Sensors
センサーは、すべてのロジックのアクションを開始します。センサーは、オブジェクトの接近や、キーボードのキーの押下や、時限イベント等々を “感知” します。 センサーがトリガされると、パルスがすべてリンクされているコントローラに送信されます。
より詳細な説明については、 Sensorsを参照してください 。
5 Controllers
コントローラは、ロジック、センサーからのパルスの評価、およびそれに応答してアクチュエータへのパルスの送信を扱います。コントローラにはさまざまな種類があります:
- AND - すべての接続されたセンサーは正のパルスを送信するため、正の値でなければなりません。
- OR - 1つ以上の接続されたセンサーが正である必要があります。
- XOR - 排他的論理和:どちらか片方だけ、接続されたセンサーが正である必要があります。
- NAND - 否定論理積、ANDのビット反転のコントローラ。
- NOR - 否定論理和、ORのビット反転のコントローラ。
- XNOR - 排他的NORコントローラ。
- Expression - あなた自身の表現をお書きください。
- Python - Pythonスクリプトやモジュールのセンサを制御します。
より詳細な説明については、 Controllersを参照してください 。
6 Actuators
アクチュエータは、オブジェクトまたはゲームに何らかの方法で影響を与えます。アクチュエータは動き、音、プロパティ、オブジェクト、などを変更します。これらの変更は、他のオブジェクト、物理学、プロパティなどにも及び、またそれらは他のロジックブリックへのトリガイベントを発生させることもできます。
より詳細な説明については、 Actuatorsを参照してください 。