当前位置: 首页 > 图文教程 > Flash动画 > Flash动画制作 > 实用Flash应用程序—打字练习(4)

Flash动画制作
Flash新手入门教程:AS2代码中duplicateMOvieClip的应用
Flash新手入门教程:AS代码实现漂亮的立体球旋转效果
Flash新手入门教程:AS代码打造漂亮的螺旋上升效果
Flash新手入门教程:初识Flash的开始页面、界面、工具栏
Flash新手入门教程:文件的导出和导入
Flash新手入门教程:AS入门第一课_认识编程环境
Flash cs3仿真艺术设计3.2:遮罩运用制作飘扬的旗帜
Flash AS3.0菜鸟学飞教程:创建Bitmap类
Flash AS 3.0入门教程:初识AS 3.0
Flash cs3仿真艺术设计3.3:遮罩运用打造光圈变换效果
Flash AS3.0菜鸟学飞教程:用反射动态创建实例
Flash cs3仿真艺术设计3.4:遮罩运用制作手写字效果
Flash cs3仿真艺术设计3.5:遮罩运用之聚光灯效果
Flash AS3.0菜鸟学飞教程:代码的位置
Flash实例教程:AS 3.0打造漂亮的水汶效果
Flash cs3仿真艺术设计3.6:运用遮罩打造焦点效果
Flash AS 3.0实例教程:Main类打造发散效果
Flash cs3仿真艺术设计4.1:阴影的基本运用
Flash cs3仿真艺术设计4.2:阴影之投影的应用
Flash cs3仿真艺术设计4.3:阴影之透视阴影

Flash动画制作 中的 实用Flash应用程序—打字练习(4)


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-22   浏览: 66 ::
收藏到网摘: n/a

5、场景中帧的划分

  把主场景划分为4段循环的帧结构。

  4.2.5.1.第一帧,用于初始化全局变量。

  fscommand ("fullscreen", "true");
  fscommand ("showmenu", "false");
  baseDepth = 1;
  testDepth = 10;
  menuDepth = 2;
  menux = 118;//菜单的横坐标
  menuy = 102;//菜单的纵坐标
  timeBarWidth = 76;//时间棒的总长度
  startTimer = false;
  typePause = false;
  nowTimer = getTimer();//计时一次
  showType = "menu"; //显示菜单
  menushowFram = true;// 显示背景
  backToFram = false;//是否返回到开始界面
  loadText = false;//是否开始倒入原文
  level = 1;//难度级别为1
  text1 = "";
  text2 = "";
  textLength = 0;
  loopNum = 0;

  back = false;
  again = false;
  timeOver = false;
  typeSound = new Sound();
  typeSound.attachSound("type");
  errorSound = new Sound();
  errorSound.attachSound("error");
  typeSoundPlay = true;time = 3;
  errorNum = 0;
  speedNum = 0;
  choose = new String("normalText");
  inputText = choose;
  attachMovie("fram", "fram", baseDepth);//显示开始界面的背景

  4.2.5.2  第二帧到第三帧;

  第2帧设一个标签“mainLoop":

  if(loadText==true)
    gotoAndPlay("loadNum");//跳到下载原文的循环中
  if (showFram == false)
  {
    fram.removeMovieClip();//把背景从屏幕上抹去
    removeMovieClip (showType);//把菜单从屏幕上抹去
    attachMovie("typeSpace", "typeSpace", testDepth);
    gotoAndPlay ("typeLoop");//跳到练习的场景中
  } else
  {
    attachMovie(showType, showType, menuDepth);//跳到另一个菜单中
  }
  _root[showType]._x = menux;//设置横坐标
  _root[showType]._y = menuy;//设置纵坐标第3帧的代码:
  gotoAndPlay("mainLoop");

  4.2.5.3第3个循环段:

  从第5帧到第6帧。

  第5帧标签“typeLoop";

  if (backToFram == true)
  {  //响应在typeSpace剪辑上的按钮BACK的事件返回到开始界面
    removeMovieClip ("typeSpace");
    gotoAndPlay (1);
  }
  if(again==true)//响应在typeSpace剪辑上的按钮AGAIN的事件
  {  //场景不变,重复上一次的练习
    removeMovieClip("showScores");
    text1.scroll=1;
    text2="";
    loopNum=0;
    again=false;
  }//以下的代码是用于练习过程中实时判断,检测我们分为几个小节进行分析。

     

  1.让原文文本向上卷动。

  if(Key.isDown(Key.PGDN))
  {  
    text1.scroll+=1;
  }
  if(Key.isDown(Key.PGUP)){
    text1.scroll-=1;
  }

  2.排除SHIFT键码错误。

  SHIFT用于大小写转换,但他也有自己的键码值。所以我们必须屏蔽掉SHIFT的返回值:

  if(Key.getCode() !=Key.SHIFT )
  {//屏蔽掉SHIFT的返回值后
    var tempText1=text1.charAt(Selection.getBeginIndex()-1);
    var tempText2=text2.charAt(Selection.getBeginIndex()-1);
    if(tempText1 !=tempText2 && textLength1!=text2.length)
    {
      if(Key.getCode() != Key.BACKSPACE)
      {
        errorSound.start(0,1);
      }
      textLength1=text2.length;
    }
    if(tempText1 ==tempText2 && textLength1!=text2.length)
    {
       textLength1=text2.length;
      if(typeSoundPlay==true)
      {
        typeSound.start(0,1);
      }
    }
  } // e