快速业务通道

Flash MX组件开发实战

作者 佚名技术 来源 服务器技术 浏览 发布时间 2012-07-10
is . oldtime>=1000) {
        this . oldtime = getTimer();
        this . sec = _formatvalue(Number(this . sec)-1)
         if (Number(this . sec)<=0 ) {
            this . sec = " ";
              delete this . onEnterFrame;
              this . runHandler();
          }
      }
    };
    _formatvalue = function (fno) {
       if (String(fno) . length<2) {
          return fno="0"+fno;
      }
       return fno;
    };
    this.init();
    this.timerStart();
  }
  这段程序中还定义了_timerLoop_formatvalue两个私有方法Private Method。“类”有两种形式的成员—公有(Public)成员和私有(Private)成员。类的公有成员(也包括公有数据和公有函数)可以被其他类的成员访问。当然,类自己的函数可以访问自己的公有成员。类的私有成员(包括私有数据和私有函数)只限于类本身的成员使用。也就是说,除了本身的成员能够访问自己的私有成员外,其他任何类以外的函数对私有成员的访问都是非法的。私有成员也不能被子类直接继承。在Flash MX中私有成员同类一同定义,名称前有一短的下划线“-”;公有成员则一般使用构造器函数的prototype属性定义。私有方法_timerLoop的作用是每过一秒将变量sec1并判断变量sec是否到零,若到零则调用runHandler();私有方法_formatvalue的作用是当变量sec为一位数时在其前面补加零,即:将“9变为“09
  四、为类添加成员和方法
  所有定义组件类的构造器函数都有 prototype 属性,该属性是在定义该函数时自动创建的。prototype属性代表用该函数创建的对象的默认属性值。可以使用 prototype 属性将属性和方法分配给类。可以给函数的Prototype定义一个新的函数,语法如下:
  myfunction.prototype..myevent = function () {...}
  注意prototype是必须的。
  下面是为fuyzTimerClass 类添加的成员和方法:
  fuyzTimerClass.prototype.init = function() {
      this.oldtime = getTimer();
      this.sec = _formatvalue(this.fsec); //读入用户设置的倒计时秒数
      this.myText.textColor = this.txtColor; //读入用户设置的文本颜色
      this.timerDirChange();
  };
  fuyzTimerClass.prototype.runHandler = function() {
      this._parent[this.timeupHandler](); 
  }; //倒计时完后运行指定程序
  fuyzTimerClass.prototype.timerStart = function() {
      this.onEnterFrame = _timerLoop;
  }; //控制倒计时器开始
  fuyzTimerClass.prototype.timerPause = function() {
      delete this.onEnterFrame;
  }; //控制倒计时器暂停
  fuyzTimerClass.prototype.timerReset = function() {
      this . init();
  }; //控制倒计时器重新开始
  fuyzTimerClass.prototype.timerSetTime = function(secVar, setDefault) {
      this.sec = _formatvalue(secVar);
      if (setDefault) {
          this.fsec = secVar;
      }
  }; //设置倒计时秒数
  五、将组件注册(register)给组件类
  为类添加完方法后,用下面的语句将组件注册给组件类。
  Object.registerClass("fuyzTimer", fuyzTimerClass);
  这是Flash MX新增加的用于自定义组件的函数,作用是使fuyzTimerClass类与所在的组件挂接,使组件不是MovieClip的直接对象,而是从新的类实体化得到的。fuyzTimer是组件的一个linkage ID,打开linkage属性面板(右键

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号