MaxScript 冷门知识点

$ 物体选择器,后面接物体名字(不区分大小写),物体存在即返回物体对象

$Teapot001
返回:$Teapot:Teapot001 @ [22.317734,-36.929871,0.000000]

* 通配符

$T* --返回所有名字前面是t的物体集合
返回:$$objects/.../T*

' 单引号,我称之为变量包裹器

作用1:包裹后可以使用任意符号作为变量名,比如空格开头,数字开头,桌子为了代码人性化真是下了苦心
作用2:选择带有空格或者七七八八不规则名字的物体

'1个茶壶' = $'Teapot 001'
返回:$Teapot:Teapot 001 @ [22.317734,-36.929871,0.000000]

~ 波浪号,资源id,不知道怎么调用,文档上说在2012以后的版本可以使用此id代替字符串做本地化

Resource String Replacement.

~发顺丰~
返回:
-- 编译错误: 查找 resourceID 失败: 发顺丰
-- 所在行: ~发顺丰~

name类型可以和字符串类型直接相加

"aaa" + #tesT
返回:"aaatest"

:: 全局变量定义的另一种写法

global aa = 5
::aa = 1

解引用(Dereferencing)与指针运算符(何必要为难自己)

--引用传递
fn foo &num =
(
	num = 50
)

x = 10
foo &x

format "x=%
" x
返回:x=50

--通过指针修改值
num = 5
ref = &num
*ref = 6
返回:
Global:num
6
原文地址:https://www.cnblogs.com/trykle/p/11437984.html