第三步:建立Flash界面
前面的两个步骤完成后,就我们继续建立客户端的Flash界面。
首先,在Flash中建立一个简单的计算器界面。这个界面和普通的数字计算器很相似--用户在键盘上输入数值和计算方法,计算器显示出计算结果。为了能够进行计算,在Flash中需要有一些全局变量来存放数值和计算方法。当用户点击计算器的按钮时,更新这些变量的值。我们用三个root-level变量存放了这些数据:
_root.calcValue 存放计算器显示的数值
_root.operator 存放选择了的计算方法
_root.lastValue 存放上一次运算的结果
然后需要建立各种与用户交互的按钮,比如0~9的数字,各种运算符,小数点,等号等等。除此之外,还需要建立一个文本框,以便显示计算结果。在Flash中,通过动态文本(Dynamic Text)把变量绑定到文本框上,这个文本框中将显示出变量的值,并随变量的变化而刷新。(方法是:从text options面版中选择Dynamic Text,设置bind variable为 _root.calcValue。)
下一步,为每个按钮建立相应的Action:当数字按钮被按下的时候,更新变量 _root.calcValue 的值,当运算符按钮被按下时,设置变量_root.operator的值。这个值要和服务器端的SOAPCalc 组件所需要的值保持一致。(本例中是"Add", "Subtract", Multiply", 或 "Divide")同样在这个Action中,添加代码用来把当前的计算结果保存到变量_root.lastValue中。运算符按钮的Action中应该有这样的代码:
on (release) { // operator应该是 "Add", "Subtract", Multiply", 或 "Divide" _root.operator = "Add"; _root.lastValue = _root.calcValue; ... } |
下面,添加"="按钮的Action,当用户按下这个按钮的时候,将调用函数发送SOAP消息,进行计算:
on (release) { _root.calculate(_root.operator, _root.lastValue, _root.calcValue); } |
在Flash影片的root level中的新层中,建立一个所有函数都将用到的Action。在这个Action中,建立一个函数calculate()处理SOAP请求和回应。函数calculate()的作用是向服务器发送运算所需要的两个数和运算符。
其形式是:
function calculate(operator, a, b) { ... } |
具体的代码将在下面的部分继续填充。