キーボード入力

リスナーまたはミニ リスナー内で簡単な対話を直接行うキーボード入力関数を次に示します。

リスナーが閉じている場合、すべてのキーボード入力関数はミニ リスナーからの入力を使用します。リスナーが開いている場合は、常にリスナーからの入力を使用します。

getKBValue [ prompt:<string> ]

getKBValue() 関数を使用すると、MAXScript 値をリスナーに入力できます。

オプションの prompt: キーワード引数には、プロンプト メッセージとしてリスナーに表示される文字列を指定します。

有効な任意の MAXScript 式をリスナーに入力できます。入力した式が評価されて、getKBValue() 関数の結果になります。

式には、整数、浮動小数、文字列、名前、配列、point2、point3、およびシーン オブジェクトのパス名が含まれます。また、数値演算や関数、スクリプトによる関数、グローバル変数などを伴う式も使用できます。

MAXScript の classOf 関数を使用して返される値のタイプをテストできます。

例:

    v = getKBValue prompt:"Enter object count:"
    if classOf v != integer do
      print "Value entered must be an integer"

入力を中止するには[Esc]キーを押します。中止した場合、#escape という特殊な値が返されます。

getKBLine [prompt:<string>]
getKBChar [prompt:<string>]

これらの関数では、MAXScript 文字列として返される文字をリスナーに入力できます。

getKBLine() では、ユーザが[ENTER]を押すまでに入力した文字がまとめて返されます。getKBChar() では、入力した文字が 1 文字ずつ即座に返されます。

入力を中止するには[Esc]キーを押します。中止した場合、#undefined という特殊な値が返されます。

getKBPoint [prompt:<string>]

この関数では、pickPoint() 関数でサポートされる構文で 3 次元座標を入力できます。

構文の詳細については、pickPoint() の説明を参照してください。

入力した 3 次元座標は現在のアクティブなグリッドの作図平面に対する相対的な座標と解釈され、ワールド座標の Point3 が返されます。

キーボードに関するシステム グローバル変数を次に示します。

keyboard.shiftPressed
keyboard.controlPressed
keyboard.altPressed
keyboard.escPressed

これらの変数は、[Shift]、[Ctrl]、[Alt]、[Esc]キーの現在の状態にアクセスし、変数を読み込んだときのキーの状態に応じて true または false を返します。これらの変数は読み取り専用です。