发现maxscript和adobe 的javascript有诸多相似,于是用js模拟重载的思路,我尝试了maxscript实现函数重载。
1、按照脚本引擎解释脚本的顺序,后定义的函数会覆盖之前定义的函数,如下
fn sayHi =
(
messageBox("第一个sayHi方法!")
)
fn sayHi =
(
messageBox("第二个sayHi方法!")
)
fn sayHi =
(
messageBox("第三个sayHi方法!")
)
sayHi()
2、以下方式可以模拟函数重载
fn hhSayHi arguments=
(
if (arguments.count == 1) then
(
messageBox(arguments[1] + "第一个sayHi方法!")
)
else if (arguments.count == 2) then
(
messageBox(arguments[1] + "," + arguments[2] + "第二个sayHi方法!")
)
else if (arguments.count == 3) then
(
messageBox(arguments[1] + "," + arguments[2] + "," + arguments[3] + "第三个sayHi方法!")
)
)
hhSayHi #("Tom")
hhSayHi #("Tom","Lucy")
hhSayHi #("Tom","Lucy","jame")
更多技术一起交流。。。(.mse type file open source code ,oh yeah !!!^_^good good study ,day day up!^_^)