分享

maxscript脚本语言的(五十)【图文教程】

 步行d天涯 2018-06-07


【正文】

今天的内容简单,但是却非常必要。

我们都知道,观看别人的脚本源码,学习每一个功能的具体写法,是脚本提升最快的一种方式。

但是因为基础薄弱,想要看懂别人的脚本太难了。比如下面这个截图:

满屏幕的 fn ,这到底是个啥表达式,这么厉害。

其实这个我们前面讲过的。

fn 相当于自己的预定义函数。也就是你设定一个变量的名称,然后让他等于一个表达式。

然后后面界面设定完成后,想要设置一个按钮,调用这个功能的话,只需要写上变量名再加上一对小括号,就可以用了。

举个例子:

下图的 fn 定义了变量名 updatelistMat 这个变量名,它等于下面的一大堆计算。有预设,有for循环,有if判断,好大的一坨。后面还跟了一大堆收尾组啥的。

然后底下写完按钮了,点击btnref这个按钮时,就调用前面写的那个updatelistMat() 变量预设函数就好了。多简单。

这是一个思维习惯的问题。

程序员在思考一个功能时,是独立的。知道把这个功能解决。然而合入截面时,不想重新写一遍了。也就是功能是功能,界面编写是界面编写。

那么咋办呢?就用fn在前面定义一下自己写的脚本等于个变量名。然后后面再去调用这个自己定义的变量名。

好的理解了fn这个设定后,我们再来看一个常见的表达式书写 try() catch()

如图,这里面有两个try表达式的书写。

第一种是比较常用的写法。

前面不论写了一堆啥,后面直接跟一个catch()

第二种是完整的写法,但是一般不这么写。

还是前面不管写了一堆啥,后面调用一个结果。

下来看看官方的解释。下图是从王华老师的书上截取的中文翻译。

红线画的位置写的已经很清楚了。我们再从字面上来翻译一下。

try的意思是常识

catch的意思是引用调用

那意思非常明白了。

就是我不知道我写的对不对,但是我怕它影响整个脚本的运行,所以我加个try的表达式试一下。能成功那最好,成功不了,也别影响整个脚本的运行。我要么维持默认,忽略这个功能,要么反馈给他一个我设定的结果,比如弹出一个对话框啥的。

刚刚的案例第二方式就是:

在这个脚本里,如果将选择的物体转换成mesh网格物体失败,就会弹出一个对话框,写着【对不起,您的脚本运行错误】的对话框。

好了,时间原因,今天我们就讲这些。

今天研究的脚本来自于n年前的大神【杨洪征(铁豌豆)】的cgjoy_tools工具集。

特此感谢。

脚本的道路还异常的漫长。我还在继续的努力。感谢ACE大神的指导。fade无女声纯音版

生命不息,抖腿不止

一回家发现男朋友在沙发坐着看电视,使坏的过去把他扑倒,好不容易骑到他身上,男朋友“别闹,我大姨妈来了!”我:你应该说大姨父来了~” 这时候厨房他大姨夫出来了“我和他大姨妈都来了!你俩先看会电视,饭都做好了....

菇凉,在我们村,大姨妈还是大姨妈,大姨夫也确实是大姨夫。

【正文】

今天的内容简单,但是却非常必要。

我们都知道,观看别人的脚本源码,学习每一个功能的具体写法,是脚本提升最快的一种方式。

但是因为基础薄弱,想要看懂别人的脚本太难了。比如下面这个截图:

满屏幕的 fn ,这到底是个啥表达式,这么厉害。

其实这个我们前面讲过的。

fn 相当于自己的预定义函数。也就是你设定一个变量的名称,然后让他等于一个表达式。

然后后面界面设定完成后,想要设置一个按钮,调用这个功能的话,只需要写上变量名再加上一对小括号,就可以用了。

举个例子:

下图的 fn 定义了变量名 updatelistMat 这个变量名,它等于下面的一大堆计算。有预设,有for循环,有if判断,好大的一坨。后面还跟了一大堆收尾组啥的。

然后底下写完按钮了,点击btnref这个按钮时,就调用前面写的那个updatelistMat() 变量预设函数就好了。多简单。

这是一个思维习惯的问题。

程序员在思考一个功能时,是独立的。知道把这个功能解决。然而合入截面时,不想重新写一遍了。也就是功能是功能,界面编写是界面编写。

那么咋办呢?就用fn在前面定义一下自己写的脚本等于个变量名。然后后面再去调用这个自己定义的变量名。

好的理解了fn这个设定后,我们再来看一个常见的表达式书写 try() catch()

如图,这里面有两个try表达式的书写。

第一种是比较常用的写法。

前面不论写了一堆啥,后面直接跟一个catch()

第二种是完整的写法,但是一般不这么写。

还是前面不管写了一堆啥,后面调用一个结果。

下来看看官方的解释。下图是从王华老师的书上截取的中文翻译。

红线画的位置写的已经很清楚了。我们再从字面上来翻译一下。

try的意思是常识

catch的意思是引用调用

那意思非常明白了。

就是我不知道我写的对不对,但是我怕它影响整个脚本的运行,所以我加个try的表达式试一下。能成功那最好,成功不了,也别影响整个脚本的运行。我要么维持默认,忽略这个功能,要么反馈给他一个我设定的结果,比如弹出一个对话框啥的。

刚刚的案例第二方式就是:

在这个脚本里,如果将选择的物体转换成mesh网格物体失败,就会弹出一个对话框,写着【对不起,您的脚本运行错误】的对话框。

好了,时间原因,今天我们就讲这些。

今天研究的脚本来自于n年前的大神【杨洪征(铁豌豆)】的cgjoy_tools工具集。

特此感谢。

脚本的道路还异常的漫长。我还在继续的努力。感谢ACE大神的指导。fade无女声纯音版

生命不息,抖腿不止

一回家发现男朋友在沙发坐着看电视,使坏的过去把他扑倒,好不容易骑到他身上,男朋友“别闹,我大姨妈来了!”我:你应该说大姨父来了~” 这时候厨房他大姨夫出来了“我和他大姨妈都来了!你俩先看会电视,饭都做好了....

菇凉,在我们村,大姨妈还是大姨妈,大姨夫也确实是大姨夫。

【正文】

今天的内容简单,但是却非常必要。

我们都知道,观看别人的脚本源码,学习每一个功能的具体写法,是脚本提升最快的一种方式。

但是因为基础薄弱,想要看懂别人的脚本太难了。比如下面这个截图:

满屏幕的 fn ,这到底是个啥表达式,这么厉害。

其实这个我们前面讲过的。

fn 相当于自己的预定义函数。也就是你设定一个变量的名称,然后让他等于一个表达式。

然后后面界面设定完成后,想要设置一个按钮,调用这个功能的话,只需要写上变量名再加上一对小括号,就可以用了。

举个例子:

下图的 fn 定义了变量名 updatelistMat 这个变量名,它等于下面的一大堆计算。有预设,有for循环,有if判断,好大的一坨。后面还跟了一大堆收尾组啥的。

然后底下写完按钮了,点击btnref这个按钮时,就调用前面写的那个updatelistMat() 变量预设函数就好了。多简单。

这是一个思维习惯的问题。

程序员在思考一个功能时,是独立的。知道把这个功能解决。然而合入截面时,不想重新写一遍了。也就是功能是功能,界面编写是界面编写。

那么咋办呢?就用fn在前面定义一下自己写的脚本等于个变量名。然后后面再去调用这个自己定义的变量名。

好的理解了fn这个设定后,我们再来看一个常见的表达式书写 try() catch()

如图,这里面有两个try表达式的书写。

第一种是比较常用的写法。

前面不论写了一堆啥,后面直接跟一个catch()

第二种是完整的写法,但是一般不这么写。

还是前面不管写了一堆啥,后面调用一个结果。

下来看看官方的解释。下图是从王华老师的书上截取的中文翻译。

红线画的位置写的已经很清楚了。我们再从字面上来翻译一下。

try的意思是常识

catch的意思是引用调用

那意思非常明白了。

就是我不知道我写的对不对,但是我怕它影响整个脚本的运行,所以我加个try的表达式试一下。能成功那最好,成功不了,也别影响整个脚本的运行。我要么维持默认,忽略这个功能,要么反馈给他一个我设定的结果,比如弹出一个对话框啥的。

刚刚的案例第二方式就是:

在这个脚本里,如果将选择的物体转换成mesh网格物体失败,就会弹出一个对话框,写着【对不起,您的脚本运行错误】的对话框。

好了,时间原因,今天我们就讲这些。

今天研究的脚本来自于n年前的大神【杨洪征(铁豌豆)】的cgjoy_tools工具集。

特此感谢。

脚本的道路还异常的漫长。我还在继续的努力。感谢ACE大神的指导。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多