Flash组件之旅(1):认识和使用(2)
来源:中国艺术设计联盟作者:chila_blus发布时间:2005-01-02
  第1帧完成,我们已经实现了让用户确定是否接受协议的第一步。下面我们来设计第2帧。这第2帧的场景中放置了许多组件,以及两个输入文本。如图4所示。这些元件所完成的任务是让用户填入个人信息以及意见,并检验是否又漏填或是添写不正确。


图 4

  4.选中第2帧场景中左边的输入文本,起实例名为“text1”,如图5所示。该输入文本是用来纪录用户姓名的。在该文本的右侧添加一个静态文本,并输入两个红色的星,以表示该项是必须填写的。场景右侧的输入文本,起实例名为“intext”,该文本是用来纪录用户的意见。


图 5

  5.从“组件”面板中拖拽出一些复选框、列表框、普通按钮、单选按钮组件以及“文本滚动条”到场景中。并如图4所示放置。接着是更换标签,如把“单选按钮”组件的标签改为“男”、“女”。

  6.分别给第2帧中的所有组件起实例名。性别一栏的两个“单选按钮”组件的实例名分别为“male”、“female”。如图6所示。把生日静态文本右侧两个列表框组件实例命名为“mymonth”和“myday”。把兴趣静态文本右侧的四个“复选框”组件的实例名分别为“product”、“hard”、“soft”、“game”。


图 6

  7.把第2帧中两个“普通按钮”组件的标签改为“提交”和“重写”。其执行函数分别为“bn_func()”和“bn_func2()”。

  8.点选第2帧,打开的“动作”面板,键入如下代码。

stop();

// 执行函数bn_func()的功能是纪录用户信息并显示
function bn_func() {
  // 用户必须输入姓名和意见才能提交信息
  if (text1.text != "" && intext.text != "") {
    // 变量str0至str4用来接受用户输入的信息
    str0 = "您的姓名是:"+text1.text;
    // getState()方法可以判断单选按钮组件是否被选中
    // getLabel()方法可以将单选按钮的标签以字符串形式返回
    if (male.getState() == true) {
      str1 = "您的性别是:" + male.getLabel();
    } else {
      str1 = "您的性别是:" + female.getLabel();
    }
    n1 = "\n" + "  ";
    n2 = "\n " + "\n";

    // 字符串变量str2用来纪录用户的生日信息,str3纪录用户的喜欢的栏目
    tr2 = "您的生日是:"+mymonth.getValue()+myday.getValue();
    if (product.getValue() == true) {
      ch1 = n1 + product.getLabel();
    }
    if (hard.getValue() == true) {
      ch2 = n1 + hard.getLabel();
    }
    if (soft.getValue() == true) {
      ch3 = n1 + soft.getLabel();
    }
    if (game.getValue() == true) {
      ch4 = n1 + game.getLabel();
    }
    str3 = "您喜欢的栏目有:" + ch1 + ch2 + ch3 + ch4;
    str4 = "您的建议是:" + intext.text;

    // 变量“outtext”是第3帧中输出文本的变量名
    outtext = str0 + n2 + str1 + n2 + str2 + n2 + str3 + n2 + str4;
    gotoAndStop(3);
  }
}

// 执行函数bn_func2()的功能是清空用户输入的信息
function bn_func2() {
  // 清空输入文本“text1”和“intext”中的内容
  text1.text = "";
  intext.text = "";

  // 方法setState()可以设置“单选按钮”组件的选中状态
  male.setState(true);
  female.setState(false);

  // 设置列表框组件的菜单选项为第1项
  // 方法setSelectedIndex()的作用是选择指定索引处的项目,并更新列表框
  mymonth.setSelectedIndex(0);
  myday.setSelectedIndex(0);

  // 重置四个复选框组件回初始状态
  product.setValue(false);
  hard.setValue(false);
  soft.setValue(false);
  game.setValue(false);
}



本篇编辑:chila_blus