如果不是一个Director新手,就肯定听说过Imaging Lingo。使用这套随Director 8.0添加的全新Lingo命令,能够对影片中图形进行像素级控制,例如运行时创建、填充与合成图像。虽然使用CastEffects、DrawXtra或Composite Xtras也可以达到同样的效果,但由于Imaging Lingo是Director本身内置的功能,所以在许多方面拥有不可比拟的优势。
本文主要演示了一项在Mui对话框的callback处理程序中使用Imaging Lingo的技巧。你将学会如何根据对话框的设置即时将几个图形元素合为一个,然后利用Mui Xtra的ItemUpdate在运行时更新对话框中的图形。关于如何使用Mui Xtra创建对话框,参考这里。
首先操作一下样本影片,注意复选框或单选按钮被点击后图形的变化,并确保在演员表里有多个图形供合成使用。实际上,通过将下面看到的六个单独的图形元素添加到一个空的面板图形上,这个对话框能够产生128种可能的合成效果。
这个程序里使用了七个演员
这便是Imaging Lingo的强大之处——运行时合成图像。下面让我们看看具体是怎么做的。
一、在屏幕上获取对话框
首先使用Mui Xtra根据下面的步骤建立一个对话框:
1) 创建一个此Xtra的实例
2) 配置对话框的整体属性
3) 配置每个元素的局部属性
4) 显示对话框
1. 什么是Mui Callback处理程序
Mui callback处理程序类似一个自编处理程序,只是无法从代码中直接调用。但只需传递callback处理程序的名称,Mui便会对其进行适时的调用。
当需要Mui Xtra显示对话框时,它便准备将事件传递给callback处理程序,两者专门设计用来处理对话框中发生的用户交互。也就是说,无论何时用户输入了文本,拖动了滑块,点击了复选框或者以其他任何方式同对话框发生了交互,此Xtra都会如实告诉处理程序发生了什么,而处理程序则以相应的方式作出响应。callback处理程序和对话框息息相关,两者互相协作,合成并更新图像。
当对话框处于可见状态时,此Xtra会注意每一个用户交互,并将三部分数据发送到callback处理程序:
1) 用户事件的类型(一个符号型数据)
2) 在#windowItemList中的窗口组件位置(一个整