ページトップへ戻る

DIGITAL DNA
2019.08.12 - 2019.10.12
Max Script 基本文法:条件分岐・エラー回避処理

目次
トップ
「MaxScriptヘルプ」の見かた
コメントの記述
デバッグ用に変数の値などを表示したい

■MaxScript 基本文法
| 変数 | 演算子 | 文字列  |  配列 | ループ | 条件分岐・エラー回避処理 |  関数(Function) |

条件分岐
if文
ヘルプ
[HELP] MAXScript 言語リファレンス > プログラム フロー制御 > If 式
[HELP] よくある質問と回答 > MAXScript の構文と用語 > If...Then および If...Do を使用するのはどのような場合ですか。

if … then … else

Max Scriptのサンプル
  1. --[例1]
  2. a = 10
  3. b = 10
  4. if (a != b ) then (
  5. print "この行は通過しません"
  6. ) else (
  7. print "この行は通過します"
  8. )

if … do …
else を使わない場合、if…do…を使うことが推奨されています。

Max Scriptのサンプル
  1. --[例2]
  2. a = 10
  3. b = 10
  4. if ( a == b ) do (
  5. print "この行は通過します"
  6. )


case文
ヘルプ
[HELP] MAXScript 言語リファレンス > プログラム フロー制御 > Case 式


Max Scriptのサンプル1
case文を使う場合。
変数「takasa」の値が 「1の場合」、「2の場合」、「3の場合」、「それ以外の場合」 の4つの処理に振り分ける例。
  1. case takasa of (
  2. 1:$.pos.z = 10
  3. 2:$.pos.z = 20
  4. 3:$.pos.z = 30
  5. default:$.pos.z = 0
  6. )


Max Scriptのサンプル2
条件判定で処理を振り分ける例。
変数「takasa」の値 が 「0 未満の場合」、「0 の場合」、「0 を超える場合」の3つの処理に振り分ける例。
  1. case takasa of(
  2. (takasa < 0 ):$.pos.z = 10
  3. (takassa == 0 ):$pos.z = 20
  4. (talasa > 0):$pos.z = 30
  5. )


Max Scriptのサンプル
処理内容が複数行にわたる場合は()でくくります。
  1. a = 1
  2. case a of(
  3. 1:(
  4. print "1";
  5. print "2";
  6. )
  7. 2:(
  8. print "a";
  9. print "b";
  10. )
  11. default: print "A";
  12. )


真と偽
解説とメモ
プログラミングにおいて、「真」「偽」という言葉が使われることがあります。
「真」は 「true」。「偽」は 「false」、の意味として理解しておけばほぼ問題ありません。
if 文では then ( の後に記述する処理は、「条件が真の場合」に実行される処理を記述します。
したがって下記のサンプルでは、if文に条件式を記していませんが true のときの処理が実行されます。


Max Scriptのサンプル
  1. flag = true
  2. if (flag) then (
  3. --trueのときの処理
  4. print "通過します"
  5. )


エラー回避処理
解説とメモ
エラーが発生したときは正常時とは異なる処理をさせたい場合、「try ~ catch文」で処理を振り分けることができます。


ヘルプ
[HELP]MAXScript 言語リファレンス > プログラム フロー制御 > Try 式

Max Scriptのサンプル
  1. try(
  2. select $nothing
  3. ) catch (
  4. format "存在しないオブジェクト名です\n"
  5. )
  6.