發現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!^_^)