新手学习笔记,大佬勿笑,有不对的还请指出!!

今天在群里问大佬问题,就是下面GIF 图中的,用 spinner 滑杆来控制 box 的大小,一开始我印象中记的有个词是可以直接把 box.length ,width等属性和 spinner .value实时连起来的(实际没有这么个词)。结果大佬说用 changed  ,我想这是土办法啊!(我外行。。。!!) 如下:

rollout sizebox "box"
(button c "box"spinner f "length" range:[1,500,30] type:#IntegerSpinner g "height" range:[1,500,30] type:#Integerspinner h "width" range:[1,500,30] type:#Integeron c pressed do (a=box()a.length = f.valuea.height = g.valuea.width = h.value)on f changed val do ($.length = $.length = f.value)on g changed val do ($.height = $.height = g.value)
)
createdialog sizebox

这样确实是可以的,但是有个问题,就是如果在修改面板下修了 box 的属性参数,box是变了,但是spinner .value却没有跟着变! 这样就只是有了两个独立控制。

然后大佬就被我搞烦了。。。。

解决不了就只能看书啊,,王华 《3ds MAXScriptjie脚本语言完全学习手册》 看到这章就感觉是这个了。通用事件反馈机制,从外部代码里存取Utility内部变量和控件

不多说还是给例子吧,看的清楚,这个和上面的其实是一样的,只是表现对象从 box 换成了时间轴。

fn f_get_anim_time =
(testfoo.f_start.value = (animationRange.start as integer)/TicksPerFrametestfoo.f_end.value = (animationRange.end as integer)/TicksPerFrame)callbacks.addscript #animationRangeChange "f_get_anim_time()" id:#f_get_anim_timeUtility testfoo "Time line"(slider get_time "" range:[1,500,30] orient:#horizontal ticks:1Spinner f_start "Start:" range:[-99999,99999,((animationRange.start as integer)/TicksPerFrame)] type:#Integerspinner f_end "end:" range:[-99999,99999,((animationRange.end as integer)/TicksPerFrame)] type:#Integeron f_start changed val do (animationRange = interval f_start.value f_end.value)on f_end changed val do (animationRange = interval f_start.value f_end.value))

按上面 box 的例子来的话,spinner  changed 只能 改变时间轴动画区间,

animationRange.start 
animationRange.end

这两个参数,如果是手动按住ctrl + Alt +鼠标左键 拖动时间轴来改变动画区间 start 和 end 。spinner. valve 一样不会变, 一但去动滑杆 ,start 和 end又会跳到 以spinner.value为准了。

而我想要的效果是 当我鼠标拖动时间轴时,spinner 上的 strat 值也会跟着变,同时当我调整滑杆上是 strat 值时间轴也会动。如下图:

列子代码已贴,新手看的不明白,就看看《3ds MAXScriptjie脚本语言完全学习手册》一书中我提到的那两节应该就懂了。

Maxscript-通用事件反馈相关推荐

  1. JavaScript判断设备类型加载对应网页并设置两端通用事件

    JavaScript如何判断设备类型加载对应网页并设置通用事件 基本思路: 在网页入口添加判断逻辑,如下:首先获取当前navigator对象的userAgent,通过userAgent判断当前设备类型 ...

  2. VCL组件之主要方法(Methods)和通用事件(Events)

    组件的主要方法(Methods) 大多数组件有20多个公用方法,窗口组件有40多个公用方法可以选择.有趣地是,并不是都被广泛使用.组件的多数功能通过属性来完成.例如,隐蔽一组件,可调用其Hide方法或 ...

  3. 细说浏览器特性检测(2)-通用事件检测

    在上一篇中介绍了jQuery1.4版本新增的几个浏览器特性检测方案和具体的目的,本文将以事件为中心,介绍一个较为完整.通用的事件检测方案. 事件检测,即检测某一事件在不同的浏览器中是否存在(可用),这 ...

  4. php事件检测,细说浏览器特性检测(2)-通用事件检测_jquery

    在上一篇中介绍了jQuery1.4版本新增的几个浏览器特性检测方案和具体的目的,本文将以事件为中心,介绍一个较为完整.通用的事件检测方案. 事件检测,即检测某一事件在不同的浏览器中是否存在(可用),这 ...

  5. 哪种修复redis未授权访问漏洞的方法是相对不安全的_关于Linux挖矿、DDOS等应急事件处置方法...

    前言 从去年六月份到现在做的应急响应.事件分析大大小小的做了数百个,主要遇到的有挖矿.DDoS.短信接口盗刷.用户接口泄漏.越权信息获取.挂黑页.删数据等.本文只针对自己做的应急响应中的挖矿和DDoS ...

  6. React中的合成事件

    React中的合成事件 React自己实现了一套高效的事件注册.存储.分发和重用逻辑,在DOM事件体系基础上做了很大改进,减少了内存消耗,简化了事件逻辑,并最大程度地解决了IE等浏览器的不兼容问题. ...

  7. 微信如何解绑小程序_微信小程序解绑事件,微信小程序解除绑定

    什么是事件 事件是视图层到逻辑层的通讯方式. 事件可以将用户的行为反馈到逻辑层进行处理. 事件可以绑定在组件上,当达到触发事件,就会执行逻辑层中对应的事件处理函数. 事件对象可以携带额外信息,如id, ...

  8. EventSource 引发的一系列事件

    背景 大家好,我是江辰,最近小小的实现了下 chatGPT 的问答式回复,调研了前端如何实现这种问答式请求,有几种方案,Http.EventSource.WebSocket,三种实现方案各有优缺点,H ...

  9. java 获取键盘事件,java获取键盘事件

    本人认为,实现它其实最 简单的莫属一个类,Java 本身就提供的,这个类就是 Scanner.先举个例子如下: import java.util.Scanner; /** * 测试从键盘读取用户的.. ...

  10. ASP.NET Aries 3.0发布(附带通用API设计及基本教程介绍)

    主要更新: 1:升级处理机制(js请求由同步变更为异步) 2:优化前端JS:包括API和配置方式. 3:增加InputDialog功能. 4:增远远程验证功能. 5:优化权限安全机制. 6:增加一次请 ...

最新文章

  1. Java中的包,类的导入,静态导入
  2. 一款零注解侵入的 API 文档生成工具,你用过吗?
  3. 京津冀计算机学科大学排名,2021京津冀地区大学排名!北师大第3,北航第7,人大不敌天大?...
  4. 【BZOJ4873】[六省联考2017]寿司餐厅(网络流)
  5. POJ-排序-归并排序与逆序对
  6. VC++动态链接库(DLL)编程深入浅出
  7. CSS定位总结:position=static/relative/absolute/fixed时的区别、top/bottom/left/right与margin外边距的运用
  8. Graph-Bert:没有我Attention解决不了的
  9. Codeforces Gym 101142 C. CodeCoder vs TopForces(思维+图论)
  10. Mockito + JUnit 单元测试实例
  11. Visual Studio2017 MSDN安装
  12. Android 音频(一) _ 采样量化编码 AudioRecord 录制音频
  13. pocket pc 2003 联网
  14. Qt之Q_OBJECT
  15. 宏观低速物理 '牛顿篇'
  16. Intel寄存器名称解释及用途,%eax%ebx等都是什么意思
  17. 互联网思维:毛利率变零下的硬件厂家将横尸遍野,华为这样的硬件公司何去何从
  18. 第15课:如何用RPA循环填写表单?(练兵场二)
  19. Intellij idea创建.xml文件
  20. 2004版最新核心期刊目录

热门文章

  1. 管理员登录页面html代码,Admin管理员登录界面
  2. 进行数据分析时,如何过滤报告数据?玩转永洪BI就够了
  3. 重庆邮电大学c语言题库
  4. 迪杰斯特拉模板-刘汝佳紫书
  5. YUV420数据格式详解
  6. 小程序 video 控制器外观调整_Kessil 360X Tuna Sun无线控制器使用分享
  7. Mac苹果电脑怎么调整磁盘区域的大小
  8. Teamview使用方法说明
  9. c语言用flag找2-n素数,C语言求素数和
  10. 任玉刚【Android开发艺术探索】读后笔记三