Doc:JA/2.6/Manual/Game Engine/Logic/Properties
< Doc:JA | 2.6 | Manual | Game Engine | Logic
2012年6月5日 (火) 11:28時点におけるwiki>BlueBlender42zuによる版
プロパティ
プロパティは変数に相当するものです。これはオブジェクトに格納されており、たとえば弾薬、体力、名前などを表すことができます。
プロパティパネル
View » PropertiesまたはNでプロパティを開きます。
プロパティパネルは6つの要素から成っています。
- Add Property button
- 新しいプロパティを追加します。デフォルトではFloatプロパティで、名前は
prop
、すでに同じ名前がある場合は後ろに番号が付きます。
- Name field
- プロパティの名前。この名前を使ってPythonプログラムまたは式でプロパティにアクセスします。その場合ディクショナリ形式でアクセスします(
GameObject["propname"]
)。名前は大文字と小文字が区別されます。
- Property type menu
- プロパティの種類(後述)。
- Value field
- プロパティの初期値。
- Debug button
- デバッグを有効にします。GameメニューのShow Debug Propertiesも有効にする必要があるので注意してください。Show Debug Propertiesを有効にすると、デバッグを有効にしてあるすべてのプロパティが、オブジェクト名、プロパティ名、数値、としてゲームの実行中に表示されます。プロパティが問題を起こしている疑いがある場合に便利です。
- Delete button X
- それぞれのプロパティの横には削除ボタンがあります。
プロパティの種類
プロパティには5種類あります。
Timer | 初期値から始めて、オブジェクトが存在する限りカウントアップしていきます。たとえばゲームのステージをクリアするのにかかった時間などを調べるのにつかいます。 |
Float | -10000.000から10000.000までの少数。精密な数値が必要な場合に遣います。 |
Integer | -10000から10000までの整数。たとえば弾丸の数など、少数が必要ない場合に使います。 |
String | テキストを値として持ちます。128文字まで使えます。 |
Boolean | 真か偽の二値を持ちます。明かりのスイッチなど、二つしか状態がないようなものに便利です。 |
プロパティを使う
ロジックエディタではプロパティセンサとプロパティアクチュエータが使えます。
Property Sensor
Property センサには4つのモードがあります
- Equal
- プロパティ値とセンサの値が等しい場合に正パルスを発信します。
- Not Equal
- プロパティ値とセンサの値が異なる場合に正パルスを発信します。
- Interval
- プロパティ値がセンサのMinからMaxの価の範囲にある場合に正パルスを発信します。
- 最低値のみを指定したい場合は、自身のプロパティ名をMax欄に、パルスを送る最低値をMin欄に入力します(訳注:最高値は自分自身の値なので、常に範囲内にある)。
- 最高値のみを指定したい場合は、自身のプロパティ名をMin欄に、パルスを送る最高値をMax欄に入力します。
- 値を比べるために他のプロパティ名を入力することもできます。
- Changed
- プロパティの値が変わったときに正パルスを発信します。
センサの基本的な使い方についてはセンサを、プロパティセンサについてはプロパティセンサを参照してください。
Property Actuator
Propertyアクチュエータには4つのモードがあります。
- Assign
- Value欄の値をProp欄に与えます。同じオブジェクトのプロパティのみに使えます。
- Add
- プロパティの値を増加させます。マイナスの数値をしてすれば減少させます。Boolに関しては0以外の値(マイナスでも)は真とみなされます。
- Copy
- 他のプロジェクトのプロパティをアクチュエータのオーナーのプロパティにコピーします。
- Toggle
- 0は1に変え、0以外の値は0に変えます。オン/オフのようなスイッチに便利です。Stringプロパティには使えません。
アクチュエータの基本的な使い方についてはアクチュエータを、プロパティアクチュエータについてはプロパティアクチュエータを参照してください。