在Authorware中实现拉框

4/8/2006来源:Authorware教程人气:8595

很多交互需要用户对画面上的内容进行拉框的操作.(鼠标按下,框随拖曳的区域而变化,鼠标放开,框出现在画面上),表示对于画面上的某个部分的选中。在Authorware中,.笔者经过实践,发现用一个很小的交互结构就可以实现拉框。

  一、建立流程框架(见图1)。在该框架中有一个命名为“交互”的交互分支,该分支中有两个交互项,第一项为Conditional方式的交互,第二项是命名为“拉框”的Time Limit方式的交互。最后,在交互分支前放入一Calculation图标,命名为“设置线色”。
220375__b0602t01.jpg
  图1

  二、为交互设置属性。交互分支中的Conditional方式的交互属性中,设置Condition属性为MouseDown=1,Automatic属性为WhenTrue,即当鼠标左键按下时触发该交互;在Time Limit方式的交互属性中,设置Active If为aa=1,这里的aa为自定义变量,其变化值将从鼠标按下时得到,选中Options中的Restart For EachTry项,设置Time Limit的时间为0.001秒(这里的时间值在拉框时表现为框的刷新周期)。

  三、
.在三个Calculation图标中分别输入控制语句:

  1.在“设置线色”中输入:

  SetFrame(TRUE,RGB(255,0,0))

  2.在名为“MouseDown=1”的第一项交互中输入:

  x1:=CursorX

  y1:=CursorY

  aa:=1

  3.在名为“拉框”的第二项交互中输入:

  DrawBox(2,x1,y1,CursorX,CursorY)

  四、变量与函数说明:

  SetFrame()系统函数,设置框线颜色;

  DrawBox()系统函数,画框线;

  RGB()系统函数,设置颜色;

  MouseDown系统变量,当鼠标左键按下时返回1,否则,为0;

  CursorX系统变量,鼠标当前位置的横坐标;

  CursorY系统变量,鼠标当前位置的纵坐标;

  x1自定义变量,得到鼠标左键按下时鼠标当前位置的横坐标;

  x2自定义变量,得到鼠标左键按下时鼠标当前位置的纵坐标;

  aa自定义变量,在交互的第一项结束后触发第二项交互。