ページトップへ戻る

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]
a = 10
b = 10
if (a != b ) then (
	print "この行は通過しません"
) else (
	print "この行は通過します"
)

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

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


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


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


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


Max Scriptのサンプル
処理内容が複数行にわたる場合は()でくくります。
a = 1
case a of(
	1:(
		print "1";
		print "2";
	)
	2:(
		print "a";
		print "b";
	)
	default: print "A";
)


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


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


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


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

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