Flash 5 ActionScript交互动画简明教程(中)

Author: 莫治雄 Date: 2001年 60期

 3.对象
      对象是面向对象编程语言的重要语言元素。对象一般都封装了一些属性和方法。通过读取或设置对象的属性,调用对象的方法,可以减少
  编程工作量,提高编程效率,轻松实现我们想要完成的任务。Flash的预定义对象如下表所列。
             对象         说明
         ----------  -------------------------
            Object       Object对象
            Number       数值对象
            String       字符串对象
            Boolean      逻辑对象
            Math         数学对象
            Array        数组对象
            Date         日期对象
            Color        颜色对象
            Key          按键对象
            Selection    选择对象
            Sound        声音对象
            MovieClip    电影剪辑对象
            XML          可扩展标记语言对象
            XMLSocket    XML端口对象
         --------------------------------------
  
      下面简要介绍其中一些对象的属性和方法。
      (1) Math(数学对象) 
      数学对象的作用是提供一些数学常数(如圆周率、2的平方根等等)和一些常用的数学函数,在编写脚本时可以随时调用。数学对象的属性
  和方法如下表所列。
           属性和方法                 说明
          ------------  -------------------------------------------------
            E           自然对数的底数,其值约为2.71828
            LN2         以e为底2的自然对数,其值约为0.69314718059945286
            LN10        以10为底的自然对数,其值约为2.30258509299404590
            LOG10E      以10为底e的对数,其值约为0.43429448190325181667
            LOG2E       以2为底e的对数,值约为1.442695040888963387
            PI          圆周率,其值约为3.14159265358979
            SQRT1_2     1/2的平方根,其值约为0.707106781186
            SQRT2       2的平方根,其值约为1.414213562373.
            Sin         求正弦值
            asin        求反正弦值
            cos         求余弦值
            acos        求反余弦
            tan         求正切值
            atan        求反正切
            atan2       求Y/X弧度值的反正切值
            abs         求绝对值
            random      产生0-1之间的随机数
            sqrt        求根号2的值
            log         求自然对数
            exp         求指数
            ceil        求数的上限整数
            floor       求下限整数
            round       求四舍五入
            max         求最大值
            min         求最小值
            pow         求x的y次方
  
      数学对象的属性都是一些常用的数学常数,它的方法都是一些常用的数学函数,包括三角函数、常用对数、自然对数、随机函数等等。
      (2) Array 
      我们可以把相同性质的一组数据存入一个数组对象中,便于利用数组对象的各种属性和方法,以及循环控制对这组数据进行处理。
      使用数组对象的属性和方法可以访问和处理数组中的数据,包括增加、删除数组元素,对数组元素进行排序等操作。数组对象的属性和方
  法如下表所列。
              方法              说明
          -----------   -------------------------------------------
            length      返回数组的长度
            concat      把指定参数连接起来组成一个新数组
            join        把数组中所有的元素连接起来生成一个字符串
            pop         删除并返回数组的最后一个元素
            push        把一个或更多元素添加到数组尾部
            reverse     倒置数组中的元素
            shift       删除数组的第一个元素,并返回该元素的值
            slice       取指定数组的部分元素组成一个新的数组
            sort        对数组元素排序
            splice      增加或删除数组中的元素
            toString    返回由所有数组元素的值组成的字符串
            unshift     在数组前面插入一个或多个元素
  
      (3) Date 
      日期对象的作用是对访问系统日期和时间,并可对日期对象的日期和时间执行设置、转换等各种操作。日期对象共有37个方法,可以对日
  期和时间进行各种操作,如下表所列。
              方法              说明
          ------------------   --------------------------------------------------------------
          getDate              根据本地时间返回指定日期对象本月的第几天(1-31) 
          getDay               根据本地时间返回指定日期对象的周日(0-星期日,1-星期一…) 
          getFullYear          根据本地时间返回指定日期对象的四位数年份 
          getHours             根据本地时间返回指定日期对象的小时数 
          getMilliseconds      根据本地时间返回指定日期对象的毫秒数 
          getMinutes           根据本地时间返回指定日期对象的分钟数 
          getMonth             根据本地时间返回指定日期对象的月份 
          getSeconds           根据本地时间返回指定日期对象的秒数 
          getTime              返回指定日期对象自1970年1月1日午夜以来的毫秒数(世界时) 
          getTimezoneOffset    返回计算机本地时间与世界时之间的时差(以分为单位) 
          getUTCDate           根据世界时返回指定日期对象本月的第几天(1-31) 
          getUTCDay            根据世界时返回指定日期对象的周日(0-星期日,1-星期一…)  
          getUTCFullYear       根据世界时返回指定日期对象的四位数年份 
          getUTCHours          根据世界时返回指定日期对象的小时数 
          getUTCMilliseconds   根据世界时返回指定日期对象的毫秒数 
          getUTCMinutes        根据世界时返回指定日期对象的分钟数 
          getUTCMonth          根据世界时返回指定日期对象的月份 
          getUTCSeconds        根据世界时返回指定日期对象的秒数 
          getYear              根据本地时间返回指定日期对象的年份 
          setDate              根据本地时间设置指定日期对象本月的第几天
          setFullYear          根据本地时间设置日期对象的四位数年份 
          setHours             根据本地时间设置日期对象的小时数 
          setMilliseconds      根据本地时间设置日期对象的毫秒数 
          setMinutes           根据本地时间设置日期对象的分钟数 
          setMonth             根据本地时间设置日期对象的月份 
          setSeconds           根据本地时间设置日期对象的秒数 
          setTime              用毫秒数设置指定日期对象的日期 
          setUTCDate           根据世界时设置指定日期对象的日期 
          setUTCFullYear       根据世界时设置指定日期对象的四位数年份 
          setUTCHours          根据世界时设置指定日期对象的小时数 
          setUTCMilliseconds   根据世界时设置指定日期对象的毫秒数 
          setUTCMinutes        根据世界时设置指定日期对象的分钟数 
          setUTCMonth          根据世界时设置指定日期对象代表的月份 
          setUTCSeconds        根据世界时设置指定日期对象的秒数 
          setYear              根据本地时间设置指定日期对象的年份 
          toString             返回代表指定日期对象中存储的日期和时间的字符串值 
          Date.UTC             返回1970年1月1日午夜与指定时间之间的毫秒数(世界时) 
  
      (4) Color
      通过颜色对象,可以在动作脚本中操纵电影剪辑的颜色,包括读取、设置和变换颜色等操作,使电影剪辑实例的颜色丰富多彩。颜色对象
  有4个方法,调用这些方法读取和设置颜色,如下表所列。
             方法              说明
          --------------   ---------------------------------------------------
           setRGB          设置颜色对象的RGB颜色
           getRGB          返回最近一次调用setRGB方法设置的RGB值
           setTransform    设置颜色对象的颜色变换
           getTransform    返回setTransform方法最后一次设置的变换信息
  
      (5) Key
      使用按键对象可以捕获用户的按键。按键对象的属性和方法如下表所列。
           属性和方法          说明
          -------------   ------------------------------------
            BACKSPACE     返回退格键键码(9)
            CAPSLOCK      返回Caps Lock键键码(20)
            CONTROL       返回Ctrl键键码(17)
            DELETEKEY     返回Delete键键码(46)
            DOWN          返回下箭头键键码(40)
            END           返回End键键码(35)
            ENTER         返回Enter键键码(13)
            ESCAPE        返回Esc键键码(27)
            HOME          返回Home键键码(36)
            INSERT        返回Insert键键码(45)
            LEFT          返回Left键键码(37)
            PGDN          返回PageDown键键码(34)
            PGUP          返回PageUp键键码(33)
            RIGHT         返回右箭头键键码(39)
            SHIFT         返回Shift键键码(16)
            SPACE         返回空格键键码(32)
            TAB           返回Tab键键码(9)
            UP            返回上箭头键键码(38)
            getAscii      返回最近一次按键的ASCII码
            getCode       返回最近一次按键的虚拟键码
            isDown        判断键码所对应的键是否已按下
            isToggled     判断CapsLock或NumLock是否被激活
  
      (6) Sound
      有了声音对象,我们可以在动作脚本中实现动态音效控制,如声音的播放控制、音量控制、左右声道平衡控制等等。掌握声音对象
  setTransform方法的高级应用,你还可以随心所欲地添加各种有趣的音效。
      使用声音对象的方法可以实现对声音的各种控制,包括声音文件的连接、播放控制、音量控制、左右声道平衡控制等等,如下表所列。
             方法                     说明
          ----------------  ------------------------------------
            attachSound     把指定的声音连接到指定的声音实例
            start           开始播放声音
            stop            停止播放声音
            setVolume       设置指定声音对象的音量
            getVolume       返回声音对象的音量大小(0-100)
            setPan          设置声音对象的左右声道平衡
            getPan          返回声音均衡值(从-100到100)
            setTransform    设置声音对象的转换信息
            getTransform    返回声音对象的声音转换信息
  
      (7) MovieClip
      通过电影剪辑对象,我们可以在动作脚本中控制动画中的电影剪辑实例,指令某个电影剪辑播放或停止播放,向时间轴中添加电影剪辑,
  用动作复制电影剪辑,测试剪辑之间的相互碰撞等等。总之,有了电影剪辑对象就可以设计出复杂多变的,交互性更强的动画作品。
      电影剪辑对象拥有22种方法,有些方法的功能与标准动作相同,但也有一些方法是它特有的,如下表所列。
             方法                     说明
          --------------------  -----------------------------------------------------
            attchMovie          添加电影剪辑到动画中
            duplicateMovieClip  复制电影剪辑实例
            getBounds           返回指定电影剪辑在目标坐标系中的边界坐标对象
            getBytesLoaded      返回指定电影剪辑对象数据流已下载的字节数
            getBytesTotal       返回指定电影剪辑的总字节数
            getURL              指定要下载文档的URL
            globalToLocal       把point对象从动画全局坐标转换为剪辑局部坐标
            gotoAndPlay         把播放头移动到指定的帧并开始播放
            gotoAndStop         把播放头移动到指定帧并停止播放
            hitTest             检测电影剪辑之间或剪辑与点之间的碰撞
            loadMovie           在不关闭Flash播放器的情况下载入指定的动画并播放
            loadVariable        从外部文件读取数据设置动画中的变量的值
            localToGlobal       把剪辑局部坐标转换为动画全局坐标
            nextFrame           把电影剪辑的播放头移至当前帧的下一帧
            play                播放指定的电影剪辑
            PrevFrame           把剪辑的播放头移至当前帧的前一帧并停止播放
            removeMovie         删除电影剪辑实例
            startDrag           使电影剪辑在播放时可以拖动
            stop                停止当前正在播放的电影剪辑的播放
            stopDrag            停止startDrag方法设置的拖动剪辑操作
            swapDepths          交换动画中电影剪辑的堆叠顺序
            unloadMovie         卸载loadMovie或attachMovie方法加载的动画