和我们一起放飞理想吧!
  • 本栏最新文章
摄影专辑AD
  • 本栏推荐文章
当前位置:应用教程首页 >> FLASH教程 >> 详细内容

一步一步学ActionScript 2.0(二十二)

2007-12-29 21:23:44    作者:时进军    来源:互联网    文字大小: |  | 
简介:MC对象的属性   [学习目标]:通过本讲学习掌握MC对象的常用属性,并且对比理解按钮和文本字段的属性 。 在上讲我们自己做了个日历,相信大家多看几遍as会掌握Date类对象的属性和方法的,从现在开始我们又回到 ...


MC对象的属性  
 
 [学习目标]:通过本讲学习掌握MC对象的常用属性,并且对比理解按钮和文本字段的属性 。
 在上讲我们自己做了个日历,相信大家多看几遍as会掌握Date类对象的属性和方法的,从现在开始我们又回到了MC的控制,在flash里面用的最多的就是mc了,我们可以控制mc在时间轴的播放和停止、也可以复制生成一个新的MC,更可以改变一个MC的外观特点。在编辑状态,我们可以通过鼠标的操作来完成这些,比如大小、初始位置等,但要在as中控制,就要通过改变MC的属性来完成了。MC是MovieClip类的对象,按钮是Button 类的对象,还有前面我们用到的动态文本字段和输入文本字段都是 TextField 类的对象,他们的属性有许多是相似的,在这里我把他们放一起,供大家比较记忆理解。
 
 
 

 

  对于MC的有关属性其实我们在前面已经接触到了,比如在介绍flash坐标体系时的_x,_y,还有透明度_alpha等。
  一、全局属性
 全局属性就是影响整个动画,而不仅仅是动画片段。其主时间轴上的属性的值可以在任意处读出或者设置。

全局属性
 解释
 取值
 按钮
 MC
 文本框
 
_focusrect
 当按钮或影片剪辑具有键盘焦点时,是否在其周围显示黄色矩形。默认值为 true
 true或者false
如:_focusrect = Boolean;
 
 √
 √
 ×
 
_quality
(_highquality)
 设置或获取用于影片的呈现品质
 1、"LOW" 低呈现品质。
2、"MEDIUM" 中等呈现品质。
3、"HIGH" 高呈现品质。
4、"BEST" 极高的呈现品质
_quality = "LOW";
 
 √
 √
 √
 
_soundbuftime
 在声音进入流之前,必须预先缓冲的声音的时间量
 默认值为 5 秒
_soundbuftime = integer
 √
 √
 √
 

  另外还有个_accProps可以在运行时控制 SWF 文件、影片剪辑、按钮、动态文本字段或输入文本字段的屏幕读取器辅助功能选项,有兴趣大家可以自己看看。
二、MC、按钮、文本框对象属性对比

属性
 说明
 取值
 MC
 按钮
 文本框
 
MovieClip._alpha
TextField._alpha
Button._alpha
 透明度值。
 有效值为:
0(完全透明)到 100(完全不透明)。
默认值为 100。
 √
 √
 √
 
MovieClip.enabled
Button.enabled
 是否处于启用状态。
 一个布尔值,默认值为 true
 √
 √
 ×
 
MovieClip._focusrect
Button._focusrect
 具有焦点的对象周围是否有黄色矩形。
 类似_focusrect,但可以覆盖全局属性
 √
 √
 ×
 
MovieClip._height
Button._height
TextField._height
 实例的高度,以像素为单位。
  
 √
 √
 √
 
MovieClip._highquality
Button._highquality
TextField._highquality
Button._quality
TextField._quality
 设置 SWF 文件的呈现品质。
 类似_quality
(_highquality)
但可以覆盖全局属性
 √
 √
 √
 
MovieClip.menu
Button.menu
TextField.menu
 将与 ContextMenu 对象关联。
 用于修改当用户在 Flash Player 中右击时显示的上下文菜单,
 √
 √
 √
 
MovieClip._name
Button._name
TextField._name
 实例名称。
  
 √
 √
 √
 
MovieClip._parent
Button._parent
TextField._parent
 对此实例的父级实例的引用;其类型为 Button或 MovieClip。
 父级引用
 √
 √
 √
 
MovieClip._rotation
Button._rotation
TextField._rotation
 旋转角度。
 从 0 到 180 的值表示顺时针旋转,从 0 到 -180 的值表示逆时针旋转。不属于上述范围的值将与 360 相加或相减以得到该范围内的值。
 √
 √
 √
 
MovieClip.
_soundbuftime
Button.
_soundbuftime
TextField.
_soundbuftime
 声音开始进入流之前存储的秒数。
 类似_soundbuftime
但可以覆盖全局属性
 √
 √
 √
 
MovieClip.tabEnabled
Button.tabEnabled
TextField.tabEnabled
 指示本对象是否包含在 Tab 键排序中。
 属性为 undefined 或 true则该对象包括在 Tab 键的自动排序中、属性为false该对象不包括在 Tab 键的自动或自定义排序中
 √
 √
 √
 
MovieClip.tabIndex
Button.tabIndex
TextField.tabIndex
 指示对象的 Tab 键顺序。
 默认情况下,它为 undefined,其值必须为正整数。
 
 √
 √
 √
 
MovieClip._target
Button._target
TextField._target
 返回实例的目标路径。
 只读属性
 √
 √
 √
 
MovieClip.trackAsMenu
Button.trackAsMenu
 指示其它按钮是否可接收鼠标按钮释放事件。
 允许您创建菜单
 √
 √
 ×
 
MovieClip._url
Button._url
TextField._url
 获取创建该对象的 SWF 文件的 URL
 只读属性
 √
 √
 √
 
MovieClip.
useHandCursor
Button.
useHandCursor
 确定当用户滑过对象时是否显示手形光标。
 一个布尔值,当设置为 true(默认值)时,鼠标指针滑过上方时显示手形光标如果将该属性设置为 false,则将改用箭头光标。
 
 √
 √
 ×
 
MovieClip._visible
Button._visible
TextField._visible
 确定实例是隐藏的还是可见的。
 一个布尔值,不可见的,_visible 属性设置为 false
 √
 √
 √
 
MovieClip._width
Button._width
TextField._width
 实例的宽度,以像素为单位。
  
 √
 √
 √
 
MovieClip._x
Button._x
TextField._x
 实例的 x 坐标。
 
 √
 √
 √
 
MovieClip._xmouse
Button._xmouse
TextField._xmouse
 实例中鼠标指针的 x 坐标。
 只读属性
返回鼠标位置的 x 坐标
按钮:相对于按钮
文本字段:相对于文本字段
 √
 √
 √
 
MovieClip._xscale
Button._xscale
TextField._xscale
 指定用于水平缩放对象的百分比的值。
 以注册点(0,0)为基准
 √
 √
 √
 
MovieClip._y
Button._y
TextField._y
 
 实例的 y 坐标。
 
 √
 √
 √
 
MovieClip._ymouse
Button._ymouse
TextField._ymouse
 实例中鼠标指针的 y 坐标。
 只读属性
返回鼠标位置的 y 坐标
按钮:相对于按钮
文本字段:相对于文本字段
 √
 √
 √
 
MovieClip._yscale
Button._yscale
TextField._yscale
 指定用于垂直缩放对象的百分比的值。
 以注册点(0,0)为基准
 √
 √
 √
 


三、MC特有的属性

属性
 说明
 取值
 
MovieClip._currentframe
 播放头当前所处的帧的编号。
 只读属性
my_mc.gotoAndStop(_currentframe + 5);
 
MovieClip._droptarget
 始终返回以斜杠 (/) 开始的MC绝对路径
 只读属性
在as2.0要求配合eval()函数转换成.语法
比如:if (eval(my_mc._droptarget) == _root.my_path) {
my_mc._visible = false;
}
 
 
MovieClip.focusEnabled
 使影片剪辑能够接收焦点。
 值为 true,可以接收输入焦点,undefined 或 false不可以接收输入焦点
 
MovieClip._framesloaded
 从 SWF 文件流中已经加载的帧数。
 只读属性
该属性很有用,可确定特定帧及其前面所有帧的内容是否已经加载
 
MovieClip.hitArea
 将另一个影片剪辑指定为按钮影片剪辑的点击区域。
  
 
MovieClip.tabChildren
 指示影片剪辑的子级是否包含在 Tab 键的自动排序中。
  
 
MovieClip._totalframes
 影片剪辑实例中的总帧数。
 只读属性
 
 

四、TextField特有的属性

属性
 说明
 取值
 
TextField.autoSize
 控制文本字段的自动对齐和大小调整。
  autoSize 可接受的值是 "none"(默认值)、"left"、"right" 和 "center"。设置 autoSize 属性时,true 与 "left" 同义,而 false 与
"none" 同义。
 
TextField.background
 指示文本字段是否具有背景填充。
 如果为 true,则文本字段具有背景填充。如果为 false,则文本字段没有背景填充。
 
 
TextField.
backgroundColor
 指示背景填充的颜色。
 默认值为 0xFFFFFF(白色)
 
TextField.border
 指示文本字段是否具有边框。
 如果为 true,则文本字段具有边框。如果为 false,则文本字段没有边框。
 
TextField.
borderColor
 指示边框的颜色。
 默认值为 0x000000(黑色)
 
TextField.
bottomScroll
 文本字段中最下面的可见行。只读。
 只读属性
当前最底端可见行的整数
TextField.scroll 行和第 TextField.bottomScroll 行之间的所有文本当前都可见
 
TextField.embedFonts
 指示文本字段是使用嵌入字体轮廓还是使用设备字体。
 当此值为 true 时,使用嵌入字体轮廓呈现文本字段。如果为 false,则使用设备字体呈现文本字段。
 
TextField.hscroll
 指示文本字段的水平滚动值。
 一个整数
如果 hscroll 属性为 0,则不能水平滚动文本
 
TextField.html
 指示文本字段是否包含 HTML 表示形式的标记
 true,则该文本字段为 HTML 文本字段。
 
TextField.htmlText
 包含文本字段内容的 HTML 表示形式。
 比如:
text2.html = true;
text2.htmlText = "<b> this is bold text </b>";
 
 
TextField.length
 文本字段中的字符数。只读。
 只读属性
 
TextField.maxChars
 文本字段最多可容纳的字符数。
 如果此属性的值为 null,则对用户可以输入的文本量没有限制
 
TextField.maxhscroll
 TextField.hscroll 的最大值。只读。
 只读属性
 
TextField.maxscroll
 TextField.scroll 的最大值。只读。
 只读属性
 
TextField.
mouseWheelEnabled
 指示当鼠标指针停在文本字段上且用户滚动鼠标滚轮时,Flash Player 是否应自动滚动多行文本字段。
 默认情况下,此值为 true
 
TextField.multiline
 指示文本字段是否包含多行。
 值为 true,则该文本字段为多行文本字段;如果此值为 false,则该文本字段为单行文本字段
 
TextField.password
 指示文本字段是否隐藏输入字符。
 如果 password 的值为 true,则该文本字段为密码文本字段
 
TextField.restrict
 用户可输入文本字段的字符集。
 值为 null,则可以输入任何字符
以 ^ 开头,则不接受^后面的任何字符
-:表示范围
比如:包含除大写字母 Q 之外的大写字母:
my_txt.restrict = "A-Z^Q";
 
TextField.scroll
 定义文本在文本字段中的垂直位置。
 
 
TextField.selectable
 指示文本字段是否可选。
 值为 true 表示文本可选
 
TextField.text
 文本字段中的当前文本。
 行用回车符("\r"即 ASCII 13)分隔
 
TextField.textColor
 文本字段中当前文本的颜色。
 
 
TextField.textHeight
 文本字段边框的高度。
 
 
TextField.textWidth
 文本字段边框的宽度。
 
 
TextField.type
 指示文本字段是输入文本字段还是动态文本字段。
 有两种值:"dynamic" 指定动态文本字段(用户不能对其进行编辑);"input" 指定输入文本字段。
 
TextField.variable
 与文本字段关联的变量名。
 此属性的类型为 String
 
TextField.wordWrap
 指示文本字段是否自动换行。
 值为 true,则该文本字段自动换行
 


五、MC属性控制例子
要求:演示MC常用的几个属性
步骤:
1、新建flash文档
2、新建MC元件runman_mc,在这里你随便做个动画就可以了。
3、新建按钮元件space_btn,在点击插入关键桢,画个长方形。
4、回到主场景。
5、新建图层runman_mc,把MC元件runman_mc拖入,并且对应名称runman_mc。
6、新建图层txt,在上面8个静态文本框,分别为
7、新建图层d_txt,在上面拖入10个动态文本框,分别对应变量:x_txt,y_txt,alpha_txt,rotation_txt,xscale_txt,yscale_txt,width_txt,height_txt,visible_txt,name_txt。
8、新建图层btn,拖入8个按钮space_btn,分别给名称:alpha_btn,rotation_btn,scale_btn,width_btn,height_btn,visible_btn,name_btn,reset_btn
9、新建图层ActionScript,加as:

//保持runman_mc的位置和宽、高
X = runman_mc._x;
Y = runman_mc._y;
W = runman_mc._width;
H = runman_mc._height;
runman_mc.onEnterFrame = function() {
         // 如果敲击左方向键,实例"runman_mc"左移10px
         if (Key.isDown(Key.LEFT)) {
                 this._x -= 10;
         }
         // 如果敲击右方向键,实例"runman_mc"右移10px
         if (Key.isDown(Key.RIGHT)) {
                 this._x += 10;
         }
         // 如果敲击上方向键,实例"runman_mc"上移10px
         if (Key.isDown(Key.UP)) {
                 this._y -= 10;
         }
         // 如果敲击下方向键,实例"runman_mc"下移10px
         if (Key.isDown(Key.DOWN)) {
                 this._y += 10;
         }
         // 不让实例"runman_mc"跑到按钮区里
         if (this._x<=200) {
                 this._x = 200;
         }
         // 不让实例"runman_mc"从场景右面跑出去
         if (this._x>=500+this._width) {
                 this._x = 500-this._width;
         }
         // 不让实例"runman_mc"从场景上面跑出去
         if (this._y<=50-this._height) {
                 this._y = 50+this._height;
         }
         // 不让实例"runman_mc"从场景下面跑出去
         if (this._y>=350+this._height) {
                 this._y = 350-this._height;
         }
         x_txt = runman_mc._x;
         y_txt = runman_mc._y;
};
// 实例"runman_mc"完全透明时重置透明值为100
alpha_btn.onRelease = function() {
         runman_mc._alpha -= 10;
         if (runman_mc._alpha<0) {
                 runman_mc._alpha = 100;
         }
         alpha_txt = runman_mc._alpha;
};
// 在按一定角度进行旋转runman_mc实例
rotation_btn.onRelease = function() {
         runman_mc._rotation += 30;
         if (runman_mc._rotation>360) {
                 runman_mc._rotation = 0;
         }
         rotation_txt = runman_mc._rotation;
};
// 在水平和垂直方向上按一定比例进行缩放runman_mc实例
scale_btn.onRelease = function() {
         runman_mc._xscale *= 0.5;
         runman_mc._yscale *= 0.5;
         if (runman_mc._width<10) {
                 runman_mc._xscale = 50;
                 runman_mc._yscale = 50;
         }
         xscale_txt = runman_mc._xscale;
         yscale_txt = runman_mc._yscale;
};
//改变runman_mc的宽
width_btn.onRelease = function() {
         runman_mc._width -= 10;
         if (runman_mc._width<10) {
                 runman_mc._width = 200;
         }
         width_txt = runman_mc._width;
};
//改变runman_mc的高
height_btn.onRelease = function() {
         runman_mc._height -= 10;
         if (runman_mc._height<10) {
                 runman_mc._height = 300;
         }
         height_txt = runman_mc._height;
};
//改变runman_mc的可见性
visible_btn.onRelease = function() {
         runman_mc._visible -= 1;
         visible_txt = runman_mc._visible;
};
//取得runman_mc的_name
name_btn.onRelease = function() {
         name_txt = runman_mc._name;
};
//恢复runman_mc的设置
reset_btn.onRelease = function() {
         runman_mc._alpha = 100;
         runman_mc._rotation = 0;
         runman_mc._width = W;
         runman_mc._height = H;
         runman_mc._visible = 1;
         runman_mc._x = X;
         runman_mc._y = Y;
};
 
 
查看效果 | 源代码下载
 
 在这部分内容也是比较多的,大家看明白就可以,关键是比较着看,把共同的东西找出来,便于记忆,要求大家把下面几个常用的属性要记住:
透明:_alpha
宽高:_width、_height
鼠标位置:_xmouse、_ymouse
缩放:_xscale、_yscale
旋转:_rotation
坐标位置_x、_y
可见:_visible
 

相关文章
绵阳网警