搜索

搜索

在线
客服

在线客服服务时间: 9:00-20:00

选择下列客服马上在线沟通:

快速
发帖

客服
热线

021-50343443
7*8小时客服服务热线

关注
微信

关注微信公众号
顶部
开启左侧

[插件脚本] 零起点入门MAXScript(第七节)

[复制链接]
有空 发表于 2015-12-2 11:43:26 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题
 
本帖最后由 有空 于 2016-5-9 10:17 编辑

通过前6节的学习,大家应该学会编写一些处理物体或者材质的简单程序代码,往下我们学习制作界面,按钮,并保存常见的ms文件。
首先,我们要用到的是
visual maxscript 编辑器,通过菜单——maxscript——新建脚本,可以新建一个max脚本窗口,它就跟记事本差不多,以后我们所有代码将在这里进行编写。
1.jpg
2.jpg

进入主题:
首先我们在maxscript脚本编辑器里面写如下代码
rollout myrollout "cs"
(
)
注释:
rollout  --maxscript保留关键词,只要它出现就表示这儿有个新的卷展栏。
myrollout  --这是你自己定义的一个变量,它必须遵循变量的命名规则,详见第三节。
"test"  --这是此卷展栏标题的名称,引号里面内容任意填写。
现在把光标放在rollout的括号内,在Editor菜单——工具——编辑卷展栏(各max版本位置不一定,请自己查找一下),找到并选择后,会弹出一个新的界面,myrollout可视化界面编辑。
3.jpg 4.jpg



高清下载
  访问密码 d6f6

通过上面的视频操作,我们得到这样的代码
rollout myrollout "cs" width:162 height:98
(
        editText edt3 "名称" pos:[17,8] width:130 height:30
        button btn2 "重命名" pos:[34,54] width:96 height:30
)



我们注意到,rollout myrollout "重命名"后面多了两个参数,宽度和高度,这是我们在visual maxscript 编辑器拖放窗口时,自动生成的,也可以手动设置数值。
再看另外两行:
editText edt3 "名称" pos:[17,8] width:130 height:30editText    --表示这是一个编辑文本。
edt3         --这是变量名,以后要调用这个编辑文本就用这个值。
"名称:"   --这个编辑文本的名称,出现在脚本界面。
pos:[17,8]  --此编辑文本在脚本界面的相对位置,可以在visual maxscript 编辑器界面用上下左右方向键调整位置。
width:130 height:30    --此编辑文本的宽度和高度。
下面的button意思差不多,只不过把控制器类型(Controls)换成了按钮(button)
上面的editText和button都是rollout的控制器类型,这些控制器可以在visual maxscript 编辑器界面拖出来。rollout的所有控制器:

我们在程序最后加上一句代码:createdialog myrollout,变成
rollout myrollout "cs" width:162 height:98
(
        editText edt3 "名称" pos:[17,8] width:130 height:30
        button btn2 "重命名" pos:[34,54] width:96 height:30
)

createdialog myrollout
再执行菜单——工具——计算所有(快捷键ctrl+E)

7.jpg
这样就执行了此脚本,弹出如下对话框

8.jpg


当然现在单击重命名,还不行,我们还没有告诉它要做什么。

打开刚刚保存的脚本,
max菜单——maxscript——打开脚本,弹出maxscript编辑器,选择maxscript编辑器——菜单工具——编辑卷展栏,进行如下操作:
11.jpg

得到如下代码:
rollout myrollout "cs" width:162 height:98
(
        edittext edt3 "名称" pos:[17,8] width:130 height:30
        button btn2 "重命名" pos:[34,54] width:96 height:30
        on btn2 pressed  do
(
        
        )
)
createdialog myrollout


比之前代码多出了
on btn2 pressed  do
(
        
        )

这句就是当按钮btn2按下时,做些什么。括号内就是需要做的内容,现在为空,即什么也不做。


在我们第五节中,讲到命名脚本:
for i in objects do i.name = uniquenme "cg"


这里我们只想命名选择的物体,应该是:
for i in selection do i.name = uniquenme "cg"
"cg"是个常量,我们想要用户可以自己输入,写到脚本中即为:
on btn2 pressed  do
(
        if edt3.text != "" then for i in selection do i.name = uniquename edt3.text
        )

这里edt3.text表示编辑文本edt3里面输入的内容,if edt3.text != "" then意思是,如果此编辑框里面内容不是空的,就执行下面命令(重命名)
至此,完整代码如下:
rollout myrollout "cs" width:162 height:98
(
        edittext edt3 "名称" pos:[17,8] width:130 height:30
        button btn2 "重命名" pos:[34,54] width:96 height:30
        on btn2 pressed  do
(
        if edt3.text != "" then for i in selection do i.name = uniquename edt3.text
        )
)
createdialog myrollout



ok,你再ctrl+E运行一下此代码,选择几个物体,在文本框输入字符,再点击重命名,看一下,物体是不是完成了重命名?


——————本节完——————



出售提现 接单赚钱 积分转换 推广 充值 赞助VIP 新手帮助
 
点击按钮快速添加回复内容: 支持 高兴 激动 给力 加油 淡定 神作 路过 感恩
您需要登录后才可以回帖 登录 | 现在注册

本版积分规则


0关注

3粉丝

142帖子

排行榜
作者专栏

精品资源出售,数据快速变现

项目交易合作,保障双方权益

COLOR旗下综合交易服务平台

  • 公众号

    官方微信公众号,欢迎您的加入。

    扫码关注
  • 微信客服

    微信客服,有问题请找我。

    扫码联系
  • QQ客服
广告图片

自由者CG期待您来加入

Copyright   ©2014-现在  自由者CGPowered by©Discuz!技术支持:迪恩网络    ( 沪ICP备11008872号 )