动作脚本字典概述

本字典描述 Macromedia Flash MX 2004 和 Macromedia Flash MX Professional 2004 中的动作脚本元素的语法和用法。若要使用脚本中的示例，请复制本字典中的示例代码，然后将其粘贴到“脚本”窗格或外部脚本文件中。本字典列出了所有动作脚本元素，包括运算符、关键字、语句、动作、属性、函数、类和方法。有关所有字典条目的概述，请参见字典内容；若要查找其类未知的运算符号或方法，可以从本节中的表开始入手。有关组件的信息，请参见使用组件。

本字典中有两种类型的条目：

  • 表示运算符、关键字、函数、变量、属性、方法和语句的单独条目
  • 提供与内置类有关的一般信息的类条目

范例条目中的信息用于解释在这些类型的条目中使用的结构和约定。


大多数动作脚本元素的范例条目

下面的范例字典条目解释用于除类之外的所有动作脚本元素的约定。

条目标题

所有条目均按字母顺序列出。这种字母顺序不考虑大写、前导下划线等等。

可用性

除非另有说明，否则，“可用性”部分中将指出哪些版本的 Flash Player 支持该元素。这里所说的版本与创作该内容所用的 Flash 的版本不同。例如，如果您使用 Macromedia Flash MX 2004 或 Macromedia Flash MX Professional 2004 为 Flash Player 6 创建内容，则只能使用可用于 Flash Player 6 的动作脚本元素。

在某些情况下，该部分还指出哪一版本的创作工具支持某一元素。有关示例，请参见
System.setClipboard()。

最后，如果某一元素只在动作脚本 2.0 中得到支持，则在该部分中还将指出这一信息。

用法

这一部分提供在代码中使用该动作脚本元素的正确语法。语法的必需部分以代码字体表示，用户提供的代码以斜体代码字体 表示。括号 ([]) 表示可选参数。

参数

这一部分描述在语法中列出的所有参数。

返回

这一部分说明该元素返回什么值（如果有的话）。

说明

这一部分标识元素类型（例如运算符、方法、函数等等），然后描述如何使用该元素。

示例

这一部分提供代码范例，演示如何使用该元素。

另请参见

这一部分列出相关的动作脚本字典条目。


类的范例条目

下面的范例字典条目解释用于内置动作脚本类的约定。类以及所有其它元素按字母顺序在字典中列出。

条目标题

条目标题提供类的名称。类名后面是一般性描述信息。

方法和属性摘要表

每个类条目都包含一个列出所有相关方法的表。如果该类具有属性（通常为常数）、事件处理函数或事件侦听器，则这些元素在另外的表中摘要列出。这些表中列出的所有元素还有其自己的字典条目，这些条目跟在该类条目的后面。

构造函数

如果某个类要求使用构造函数来访问其方法和属性，则在每个类条目中描述该构造函数。这种描述中包含其它字典条目所具有的全部标准元素（语法、说明等等）。

方法和属性列表

类的方法和属性在该类条目后面按字母顺序列出。


字典内容

所有字典条目均按字母顺序列出。但是，有些运算符是符号，所以按 ASCII 码顺序列出。另外，与某个类关联的方法将与该类名称一起列出，例如，Math 类的 abs() 方法以 Math.abs() 的形式列出。

下面的两个表可帮助您找到这些元素。第一个表按照运算符号在字典中的出现顺序列举它们。第二个表列出所有其它的动作脚本元素。

运算符号 | 参见条目
-- | --（递减）
++ | ++（递增）
! | !（逻辑 NOT）
!= | !=（不等于）
!== | !==（不全等）
% | %（模）
%= | %=（模赋值）
& | &（按位 AND 运算符）
&& | &&（逻辑 AND）
&= | &=（按位 AND 赋值）
() | ()（括号）
- | -（减号）
* | *（乘号）
*= | *=（相乘赋值）
, | ,（逗号）
. | .（点）
: | :（类型）
?: | ?:（条件）
/ | /（除号）
// | //（注释分隔符）
/* | /*（注释分隔符）
/= | /=（除法赋值）
[] | []（数组访问）
^ | ^（按位 XOR）
^= | ^=（按位 XOR 赋值）
{} | {}（对象初始值设定项）
| | |（按位 OR）
|| | ||（逻辑 OR）
|= | |=（按位 OR 赋值）
~ | ~（按位 NOT）
+ | +（加号）
+= | +=（加法赋值）
< | <（小于）
<< | <<（按位向左移位）
<<= | <<=（按位向左移位并赋值）
<= | <=（小于等于）
<> | <>（不等于）
= | =（赋值）
-= | -=（减法赋值）
== | ==（等于）
=== | ===（全等）
> | >（大于）
>= | >=（大于等于）
>> | >>（按位向右移位）
>>= | >>=（按位向右移位并赋值）
>>> | >>>（按位无符号向右移位）
>>>= | >>>=（按位无符号向右移位并赋值）

下表列出所有不是运算符号的动作脚本元素。

动作脚本元素 | 参见条目
#endinitclip | #endinitclip
#include | #include
#initclip | #initclip
__proto__ | Object.__proto__
_accProps | _accProps
_alpha | MovieClip._alpha、Button._alpha、TextField._alpha
_currentframe | MovieClip._currentframe
_droptarget | MovieClip._droptarget
_focusrect | _focusrect、Button._focusrect、MovieClip._focusrect
_framesloaded | MovieClip._framesloaded
_global | _global 对象
_height | Button._height、MovieClip._height、TextField._height
_highquality | _highquality、Button._highquality、MovieClip._highquality、TextField._highquality
_lockroot | MovieClip._lockroot
_name | Button._name、MovieClip._name、TextField._name
_parent | _parent、Button._parent、MovieClip._parent、TextField._parent
_quality | _quality、Button._quality、TextField._quality
_root | _root
_rotation | Button._rotation、MovieClip._rotation、TextField._rotation
_soundbuftime | _soundbuftime、Button._soundbuftime、MovieClip._soundbuftime、TextField._soundbuftime
_target | Button._target、MovieClip._target、TextField._target
_totalframes | MovieClip._totalframes
_url | Button._url、MovieClip._url、TextField._url
_visible | Button._visible、MovieClip._visible、TextField._visible
_width | Button._width、MovieClip._width、TextField._width
_x | Button._x、MovieClip._x、TextField._x
_xmouse | Button._xmouse、MovieClip._xmouse、TextField._xmouse
_xscale | Button._xscale、MovieClip._xscale、TextField._xscale
_y | Button._y、MovieClip._y、TextField._y
_ymouse | Button._ymouse、MovieClip._ymouse、TextField._ymouse
_yscale | Button._yscale、MovieClip._yscale、TextField._yscale
abs | Math.abs()
Accessibility | Accessibility 类
acos | Math.acos()
activityLevel | Camera.activityLevel、Microphone.activityLevel
add | add
addListener | Key.addListener()、Mouse.addListener()、MovieClipLoader.addListener()、Selection.addListener()、Stage.addListener()、TextField.addListener()
addPage | PrintJob.addPage()
addProperty | Object.addProperty()
addRequestHeader | LoadVars.addRequestHeader()、XML.addRequestHeader()
align | Stage.align、TextFormat.align
allowDomain | LocalConnection.allowDomain、System.security.allowDomain()
allowInsecureDomain | LocalConnection.allowInsecureDomain、System.security.allowInsecureDomain()
and | and
appendChild | XML.appendChild()
apply | Function.apply()
Arguments | Arguments 类
Array | Array 类、Array()
asfunction | asfunction
asin | Math.asin()
atan | Math.atan()
atan2 | Math.atan2()
attachAudio | MovieClip.attachAudio()
attachMovie | MovieClip.attachMovie()
attachSound | Sound.attachSound()
attachVideo | Video.attachVideo()
attributes | XML.attributes
autosize | TextField.autoSize
avHardwareDisable | System.capabilities.avHardwareDisable
background | TextField.background
backgroundColor | TextField.backgroundColor
BACKSPACE | Key.BACKSPACE
bandwidth | Camera.bandwidth
beginFill | MovieClip.beginFill()
beginGradientFill | MovieClip.beginGradientFill()
blockIndent | TextFormat.blockIndent
bold | TextFormat.bold
布尔值 | Boolean()、Boolean 类
border | TextField.border
borderColor | TextField.borderColor
bottomScroll | TextField.bottomScroll
break | break
bufferLength | NetStream.bufferLength
bufferTime | NetStream.bufferTime
builtInItems | ContextMenu.builtInItems
bullet | TextFormat.bullet
按钮 | Button 类
bytesLoaded | NetStream.bytesLoaded
bytesTotal | NetStream.bytesTotal
call | call()、Function.call()
callee | arguments.callee
caller | arguments.caller
摄像头 | Camera 类
capabilities | System.capabilities 对象
CAPSLOCK | Key.CAPSLOCK
caption | ContextMenuItem.caption
case | case
catch | try..catch..finally
ceil | Math.ceil()
charAt | String.charAt()
charCodeAt | String.charCodeAt()
childNodes | XML.childNodes
chr | chr
class | class
clear | MovieClip.clear()、SharedObject.clear()、Video.clear()
clearInterval | clearInterval()
cloneNode | XML.cloneNode()
close | LocalConnection.close()、NetStream.close()、XMLSocket.close()
Color | Color 类、TextFormat.color
concat | Array.concat()、String.concat()
connect | LocalConnection.connect()、NetConnection.connect()、 XMLSocket.connect()
condenseWhite | TextField.condenseWhite
构造函数 | Array 类、Boolean 类、Camera 类、Color 类、ContextMenu 类、ContextMenuItem 类、Date 类、Error 类、LoadVars 类、LocalConnection 类、Microphone 类、NetConnection 类、NetStream 类、Number 类、Object 类、PrintJob 类、SharedObject 类、Sound 类、String 类、TextField.StyleSheet 类、TextFormat 类、XML 类、XMLSocket 类
contentType | LoadVars.contentType、XML.contentType
ContextMenu | ContextMenu 类
ContextMenuItem | ContextMenuItem 类
continue | continue
CONTROL | Key.CONTROL
copy | ContextMenu.copy()、ContextMenuItem.copy()
cos | Math.cos()
createElement | XML.createElement()
createEmptyMovieClip | MovieClip.createEmptyMovieClip()
createTextField | MovieClip.createTextField()
createTextNode | XML.createTextNode()
currentFps | Camera.currentFps、NetStream.currentFps
curveTo | MovieClip.curveTo()
CustomActions | CustomActions 类
customItems | ContextMenu.customItems
data | SharedObject.data
日期 | Date 类
deblocking | Video.deblocking
default | default
delete | delete
DELETEKEY | Key.DELETEKEY
do while | do while
docTypeDecl | XML.docTypeDecl
domain | LocalConnection.domain()
DOWN | Key.DOWN
duplicateMovieClip | duplicateMovieClip()、MovieClip.duplicateMovieClip()
duration | Sound.duration
dynamic | dynamic
E | Math.E
else | else
else if | else if
embedFonts | TextField.embedFonts
enabled | Button.enabled、ContextMenuItem.enabled、MovieClip.enabled
END | Key.END
endFill | MovieClip.endFill()
ENTER | Key.ENTER
eq | eq（等于 - 字符串专用）
Error | Error 类
ESCAPE（常数） | Key.ESCAPE
escape（函数） | escape
eval | eval()
exactSettings | System.exactSettings
exp | Math.exp()
extends | extends
false | false
finally | try..catch..finally
findText | TextSnapshot.findText()
firstChild | XML.firstChild
floor | Math.floor()
flush | SharedObject.flush()
focusEnabled | MovieClip.focusEnabled
font | TextFormat.font
for | for
for..in | for..in
fps | Camera.fps
fromCharCode | String.fromCharCode()
fscommand | fscommand()
function | function、Function 类
gain | Microphone.gain
ge | ge（大于或等于 - 字符串专用）
get | Camera.get()、CustomActions.get()、get、Microphone.get()
getAscii | Key.getAscii()
getBeginIndex | Selection.getBeginIndex()
getBounds | MovieClip.getBounds()
getBytesLoaded | LoadVars.getBytesLoaded()、MovieClip.getBytesLoaded()、 Sound.getBytesLoaded()、XML.getBytesLoaded()
getBytesTotal | LoadVars.getBytesTotal()、MovieClip.getBytesTotal()、Sound.getBytesTotal()、XML.getBytesTotal()
getCaretIndex | Selection.getCaretIndex()
getCode | Key.getCode()
getCount | TextSnapshot.getCount()
getDate | Date.getDate()
getDay | Date.getDay()
getDepth | Button.getDepth()、MovieClip.getDepth()、TextField.getDepth()
getEndIndex | Selection.getEndIndex()
getFocus | Selection.getFocus()
getFontList | TextField.getFontList()
getFullYear | Date.getFullYear()
getHours | Date.getHours()
getInstanceAtDepth | MovieClip.getInstanceAtDepth()
getLocal | SharedObject.getLocal()
getMilliseconds | Date.getMilliseconds()
getMinutes | Date.getMinutes()
getMonth | Date.getMonth()
getNewTextFormat | TextField.getNewTextFormat()
getNextHighestDepth | MovieClip.getNextHighestDepth()
getPan | Sound.getPan()
getProgress | MovieClipLoader.getProgress()
getProperty | getProperty
getRGB | Color.getRGB()
getSeconds | Date.getSeconds()
getSelected | TextSnapshot.getSelected()
getSelectedText | TextSnapshot.getSelectedText()
getSize | SharedObject.getSize()
getStyle | TextField.StyleSheet.getStyle()
getStyleNames | TextField.StyleSheet.getStyleNames()
getSWFVersion | MovieClip.getSWFVersion()
getText | TextSnapshot.getText()
getTextExtent | TextFormat.getTextExtent()
getTextFormat | TextField.getTextFormat()
getTextSnapshot | MovieClip.getTextSnapshot()
getTime | Date.getTime()
getTimer | getTimer
getTimezoneOffset | Date.getTimezoneOffset()
getTransform | Color.getTransform()、Sound.getTransform()
getURL | getURL()、MovieClip.getURL()
getUTCDate | Date.getUTCDate()
getUTCDay | Date.getUTCDay()
getUTCFullYear | Date.getUTCFullYear()
getUTCHours | Date.getUTCHours()
getUTCMilliseconds | Date.getUTCMilliseconds()
getUTCMinutes | Date.getUTCMinutes()
getUTCMonth | Date.getUTCMonth()
getUTCSeconds | Date.getUTCSeconds()
getVersion | getVersion
getVolume | Sound.getVolume()
getYear | Date.getYear()
globalToLocal | MovieClip.globalToLocal()
goto | gotoAndPlay()、gotoAndStop()
gotoAndPlay | gotoAndPlay()、MovieClip.gotoAndPlay()
gotoAndStop | gotoAndStop()、MovieClip.gotoAndStop()
gt | gt（大于 - 字符串专用）
hasAccessibility | System.capabilities.hasAccessibility
hasAudio | System.capabilities.hasAudio
hasAudioEncoder | System.capabilities.hasAudioEncoder
hasChildNodes | XML.hasChildNodes()
hasEmbeddedVideo | System.capabilities.hasEmbeddedVideo
hasMP3 | System.capabilities.hasMP3
hasPrinting | System.capabilities.hasPrinting
hasScreenBroadcast | System.capabilities.hasScreenBroadcast
hasScreenPlayback | System.capabilities.hasScreenPlayback
hasStreamingAudio | System.capabilities.hasStreamingAudio
hasStreamingVideo | System.capabilities.hasStreamingVideo
hasVideoEncoder | System.capabilities.hasVideoEncoder
height | Camera.height、Stage.height、Video.height
hide | Mouse.hide()
hideBuiltInItems | ContextMenu.hideBuiltInItems()
hitArea | MovieClip.hitArea
hitTest | MovieClip.hitTest()
hitTestTextNearPos | TextSnapshot.hitTestTextNearPos()
HOME | Key.HOME
hscroll | TextField.hscroll
html | TextField.html
htmlText | TextField.htmlText
ID3 | Sound.ID3
if | if
ifFrameLoaded | ifFrameLoaded
ignoreWhite | XML.ignoreWhite
implements | implements
import | import
indent | TextFormat.indent
index | Camera.index、Microphone.index
indexOf | String.indexOf()
Infinity | Infinity
-Infinity | -Infinity
INSERT | Key.INSERT
insertBefore | XML.insertBefore()
install | CustomActions.install()
instanceof | instanceof
int | int
interface | interface
isActive | Accessibility.isActive()
isDebugger | System.capabilities.isDebugger
isDown | Key.isDown()
isFinite | isFinite
isNaN | isNaN()
isToggled | Key.isToggled()
italic | TextFormat.italic
join | Array.join()
Key | Key 类
language | System.capabilities.language
lastChild | XML.lastChild
lastIndexOf | String.lastIndexOf()
le | le（小于或等于 - 字符串专用）
leading | TextFormat.leading
LEFT | Key.LEFT
leftMargin | TextFormat.leftMargin
length | length、arguments.length、Array.length、String.length、TextField.length
level | _level
lineStyle | MovieClip.lineStyle()
lineTo | MovieClip.linSeTo()
list | CustomActions.list()
LN10 | Math.LN10
LN2 | Math.LN2
load | LoadVars.load()、TextField.StyleSheet.load()、XML.load()
loadClip | MovieClipLoader.loadClip()
loaded | LoadVars.loaded、XML.loaded
loadMovie | loadMovie()、MovieClip.loadMovie()
loadMovieNum | loadMovieNum()
loadSound | Sound.loadSound()
loadVariables | loadVariables()、MovieClip.loadVariables()
loadVariablesNum | loadVariablesNum()
LoadVars | LoadVars 类
LocalConnection | LocalConnection 类
localFileReadDisable | System.capabilities.localFileReadDisable
localToGlobal | MovieClip.localToGlobal()
log | Math.log()
LOG10E | Math.LOG10E
LOG2E | Math.LOG2E
lt | lt（小于 - 字符串专用）
manufacturer | System.capabilities.manufacturer
Math | Math 类
max | Math.max()
MAX_VALUE | Number.MAX_VALUE
maxChars | TextField.maxChars
maxhscroll | TextField.maxhscroll
maxscroll | maxscroll、TextField.maxscroll
mbchr | mbchr
mblength | mblength
mbord | mbord
mbsubstring | mbsubstring
menu | Button.menu、MovieClip.menu、TextField.menu
message | Error.message
麦克风 | Microphone 类
min | Math.min()
MIN_VALUE | Number.MIN_VALUE
MMExecute | MMExecute()
motionLevel | Camera.motionLevel
motionTimeOut | Camera.motionTimeOut
Mouse | Mouse 类
mouseWheelEnabled | TextField.mouseWheelEnabled
moveTo | MovieClip.moveTo()
MovieClip | MovieClip 类
MovieClipLoader | MovieClipLoader 类
multiline | TextField.multiline
muted | Camera.muted、Microphone.muted
name | Error.name、Microphone.name
names | Camera.names、Microphone.names
NaN | NaN、Number.NaN
ne | ne（不等于 - 字符串专用）
NEGATIVE_INFINITY | Number.NEGATIVE_INFINITY
NetConnection | NetConnection 类
NetStream | NetStream 类
new（运算符） | new
newline | newline
nextFrame | nextFrame()、MovieClip.nextFrame()
nextScene | nextScene()
nextSibling | XML.nextSibling
nodeName | XML.nodeName
nodeType | XML.nodeType
nodeValue | XML.nodeValue
not | not
null | null
数字 | Number()、Number 类
对象 | Object 类、Object()
on | on()
onActivity | Camera.onActivity、Microphone.onActivity
onChanged | TextField.onChanged
onClipEvent | onClipEvent()
onClose | XMLSocket.onClose()
onConnect | XMLSocket.onConnect()
onData | LoadVars.onData、MovieClip.onData、XML.onData、XMLSocket.onData()
onDragOut | Button.onDragOut、MovieClip.onDragOut
onDragOver | Button.onDragOver、MovieClip.onDragOver
onEnterFrame | MovieClip.onEnterFrame
onID3 | Sound.onID3
onKeyDown | Button.onKeyDown、Key.onKeyDown、MovieClip.onKeyDown
onKeyUp | Button.onKeyUp、Key.onKeyUp、MovieClip.onKeyUp
onKillFocus | Button.onKillFocus、MovieClip.onKillFocus、TextField.onKillFocus
onLoad | LoadVars.onLoad、MovieClip.onLoad、Sound.onLoad、TextField.StyleSheet.onLoad、XML.onLoad()
onLoadComplete | MovieClipLoader.onLoadComplete()
onLoadError | MovieClipLoader.onLoadError()
onLoadInit | MovieClipLoader.onLoadInit()
onLoadProgress | MovieClipLoader.onLoadProgress()
onLoadStart | MovieClipLoader.onLoadStart()
onMouseDown | Mouse.onMouseDown、MovieClip.onMouseDown
onMouseMove | Mouse.onMouseMove、MovieClip.onMouseMove
onMouseUp | Mouse.onMouseUp、MovieClip.onMouseUp
onMouseWheel | Mouse.onMouseWheel
onPress | Button.onPress、MovieClip.onPress
onRelease | Button.onRelease、MovieClip.onRelease
onReleaseOutisde | Button.onReleaseOutside 、 MovieClip.onReleaseOutside
onResize | Stage.onResize
onRollOut | Button.onRollOut、MovieClip.onRollOut
onRollOver | Button.onRollOver、MovieClip.onRollOver
onScroller | TextField.onScroller
onSelect | ContextMenu.onSelect、ContextMenuItem.onSelect
onSetFocus | Button.onSetFocus、MovieClip.onSetFocus、Selection.onSetFocus、TextField.onSetFocus
onSoundComplete | Sound.onSoundComplete
onStatus | Camera.onStatus、LocalConnection.onStatus、Microphone.onStatus、NetStream.onStatus、SharedObject.onStatus、System.onStatus
onUnload | MovieClip.onUnload
onUpdate | onUpdate
onXML | XMLSocket.onXML()
or（逻辑 OR） | or
ord | ord
os | System.capabilities.os
parentNode | XML.parentNode
parseCSS | TextField.StyleSheet.parseCSS()
parseFloat | parseFloat()
parseInt | parseInt
parseXML | XML.parseXML()
password | TextField.password
pause | NetStream.pause()
PGDN | Key.PGDN
PGUP | Key.PGUP
PI | Math.PI
pixelAspectRatio | System.capabilities.pixelAspectRatio
play | play()、MovieClip.play()、NetStream.play()
playerType | System.capabilities.playerType
pop | Array.pop()
position | Sound.position
POSITIVE_INFINITY | Number.POSITIVE_INFINITY
pow | Math.pow()
prevFrame | prevFrame()、MovieClip.prevFrame()
previousSibling | XML.previousSibling
prevScene | prevScene()
print | print()
printAsBitmap | printAsBitmap()
printAsBitmapNum | printAsBitmapNum()
PrintJob | PrintJob 类
printNum | printNum()
private | private
prototype | Function.prototype
public | public
push | Array.push()
quality | Camera.quality
random | random、Math.random()
rate | Microphone.rate
registerClass | Object.registerClass()
removeListener | Key.removeListener()、Mouse.removeListener()、MovieClipLoader.removeListener()、Selection.removeListener()、Stage.removeListener()、TextField.removeListener()
removeMovieClip | removeMovieClip()、MovieClip.removeMovieClip()
removeNode | XML.removeNode()
removeTextField | TextField.removeTextField()
replaceSel | TextField.replaceSel()
replaceText | TextField.replaceText()
resolutionX | System.capabilities.screenResolutionX
resolutionY | System.capabilities.screenResolutionY
restrict | TextField.restrict
return | return
reverse | Array.reverse()
RIGHT | Key.RIGHT
rightMargin | TextFormat.rightMargin
round | Math.round()
scaleMode | Stage.scaleMode
screenColor | System.capabilities.screenColor
screenDPI | System.capabilities.screenDPI
screenResolutionX | System.capabilities.screenResolutionX
screenResolutionY | System.capabilities.screenResolutionY
scroll | scroll、TextField.scroll
seek | NetStream.seek()
selectable | TextField.selectable
Selection | Selection 类
send | LoadVars.send()、LocalConnection.send()、PrintJob.send()、XML.send()、XMLSocket.send()
sendAndLoad | LoadVars.sendAndLoad()、XML.sendAndLoad()
separatorBefore | ContextMenuItem.separatorBefore
serverString | System.capabilities.serverString
set | set
set variable | set variable
setBufferTime | NetStream.setBufferTime()
setClipboard | System.setClipboard()
setDate | Date.setDate()
setFocus | Selection.setFocus()
setFullYear | Date.setFullYear()
setGain | Microphone.setGain()
setHours | Date.setHours()
setInterval | setInterval()
setMask | MovieClip.setMask()
setMilliseconds | Date.setMilliseconds()
setMinutes | Date.setMinutes()
setMode | Camera.setMode()
setMonth | Date.setMonth()
setMotionLevel | Camera.setMotionLevel()
setNewTextFormat | TextField.setNewTextFormat()
setPan | Sound.setPan()
setProperty | setProperty()
setQuality | Camera.setQuality()
setRate | Microphone.setRate()
setRGB | Color.setRGB()
setSeconds | Date.setSeconds()
setSelectColor | TextSnapshot.setSelectColor()
setSelected | TextSnapshot.setSelected()
setSelection | Selection.setSelection()
setSilenceLevel | Microphone.setSilenceLevel()
setStyle | TextField.StyleSheet.setStyle()
setTextFormat | TextField.setTextFormat()
setTime | Date.setTime()
setTransform | Color.setTransform()、Sound.setTransform()
setUseEchoSuppression | Microphone.setUseEchoSuppression()
setUTCDate | Date.setUTCDate()
setUTCFullYear | Date.setUTCFullYear()
setUTCHours | Date.setUTCHours()
setUTCMilliseconds | Date.setUTCMilliseconds()
setUTCMinutes | Date.setUTCMinutes()
setUTCMonth | Date.setUTCMonth()
setUTCSeconds | Date.setUTCSeconds()
setVolume | Sound.setVolume()
setYear | Date.setYear()
SharedObject | SharedObject 类
SHIFT（常数） | Key.SHIFT
shift（方法） | Array.shift()
show | Mouse.show()
showMenu | Stage.showMenu
showSettings | System.showSettings()
silenceLevel | Microphone.silenceLevel()
silenceTimeout | Microphone.silenceTimeout()
sin | Math.sin()
size | TextFormat.size
slice | Array.slice()、String.slice()
smoothing | Video.smoothing
sort | Array.sort()
sortOn | Array.sortOn()
Sound | Sound 类
SPACE | Key.SPACE
splice | Array.splice()
split | String.split()
sqrt | Math.sqrt()
SQRT1_2 | Math.SQRT1_2
SQRT2 | Math.SQRT2
Stage | Stage 类
start | PrintJob.start()、Sound.start()
startDrag | startDrag()、MovieClip.startDrag()
static | static
status | XML.status
stop | stop()、MovieClip.stop()、Sound.stop()
stopAllSounds | stopAllSounds()
stopDrag | stopDrag()、MovieClip.stopDrag()
字符串 | String 类、String()
StyleSheet（类） | TextField.StyleSheet 类
styleSheet（属性） | TextField.styleSheet
substr | String.substr()
substring | substring、String.substring()
super | super
swapDepths | MovieClip.swapDepths()
switch | switch
System | System 类
TAB | Key.TAB
tabChildren | MovieClip.tabChildren
tabEnabled | Button.tabEnabled、MovieClip.tabEnabled、TextField.tabEnabled
tabIndex | Button.tabIndex、MovieClip.tabIndex、TextField.tabIndex
tabStops | TextFormat.tabStops
tan | Math.tan()
target | TextFormat.target
targetPath | targetPath
tellTarget | tellTarget
text | TextField.text
textColor | TextField.textColor
TextField | TextField 类
TextFormat | TextFormat 类
textHeight | TextField.textHeight
TextSnapshot | TextSnapshot 对象
textWidth | TextField.textWidth
this | this
throw | throw
time | NetStream.time
toggleHighQuality | toggleHighQuality()
toLowerCase | String.toLowerCase()
toString | Array.toString()、Boolean.toString()、Date.toString()、Error.toString()、LoadVars.toString()、Number.toString()、Object.toString()、XML.toString()
toUpperCase | String.toUpperCase()
trace | trace()
trackAsMenu | Button.trackAsMenu、MovieClip.trackAsMenu
true | true
try | try..catch..finally
type | TextField.type
typeof | typeof
undefined | undefined
underline | TextFormat.underline
unescape | unescape
uninstall | CustomActions.uninstall()
unloadClip | MovieClipLoader.unloadClip()
unloadMovie | unloadMovie()、MovieClip.unloadMovie()
unLoadMovieNum | unloadMovieNum()
unshift | Array.unshift()
unwatch | Object.unwatch()
UP | Key.UP
updateAfterEvent | updateAfterEvent()
updateProperties | Accessibility.updateProperties()
url | TextFormat.url
useCodePage | System.useCodepage
useEchoSuppression | Microphone.useEchoSuppression()
useHandCursor | Button.useHandCursor、MovieClip.useHandCursor
UTC | Date.UTC()
valueOf | Boolean.valueOf()、Number.valueOf()、Object.valueOf()
var | var
variable | TextField.variable
version | System.capabilities.version
Video | Video 类
visible | ContextMenuItem.visible
void | void
watch | Object.watch()
while | while
width | Camera.width、Stage.width、Video.width
with | with
wordwrap | TextField.wordWrap
XML | XML 类
xmlDecl | XML.xmlDecl
XMLNode | XMLNode 类
XMLSocket | XMLSocket 类


--（递减）

可用性

Flash Player 4。

用法

行expression
expression行

参数

无。

返回

一个数字。

说明

运算符（算术）；从 expression 中减 1 的预先递减和滞后递减一元运算符。此运算符的预先递减格式 (--expression) 从 expression 中减去 1，然后返回结果。此运算符的滞后递减格式 (expression--) 从 expression 中减去 1，然后返回 expression 的初始值（即减去 1 之前
的值）。

示例

此运算符的预先递减格式将 x 递减为 2 (x - 1 = 2)，并将结果返回给 y：

x = 3;
y = --x;
//y 等于 2

此运算符的滞后递减格式将 x 递减为 2 (x - 1 = 2)，并将 x 的初始值作为结果返回给 y：

x = 3;
y = x--
//y 等于 3


++（递增）

可用性

Flash Player 4。

用法

++expression
expression++

参数

无。

返回

一个数字。

说明

运算符（算术）；将 expression 加 1 的预先递增和滞后递增一元运算符。expression 可以是变量、数组中的元素或对象属性。此运算符的预先递增格式 (++expression) 将 expression 加 1，然后返回结果。此运算符的滞后递增格式 (expression++) 将 expression 加 1 并返回
expression 的初始值（即加上 1 之前的值）。

此运算符的预先递增格式将 x 递增为 2 (x + 1 = 2)，并将结果返回给 y：

x = 1;
y = ++x
//y 等于 2

此运算符的滞后递增格式将 x 递增为 2 (x + 1 = 2)，并将 x 的初始值作为结果返回给 y：

x = 1;
y = x++;
//y 等于 1

示例

下面的示例将 ++ 用作滞后递增运算符，以使 while 循环运行 5 次。

i = 0;
while(i++ < 5){
trace("this is execution " + i);
}

此示例将 ++ 用作预先递增运算符。

var a = [];
var i = 0;
while (i < 10) {
  a.push(++i);
}
trace(a.join());

此脚本在“输出”面板中显示以下结果：

1,2,3,4,5,6,7,8,9,10

下面的示例将 ++ 用作滞后递增运算符。

var a = [];
var i = 0;
while (i < 10) {
a.push(i++);
  }
trace(a.join());

此脚本在“输出”面板中显示以下结果：

0,1,2,3,4,5,6,7,8,9


!（逻辑 NOT）

可用性

Flash Player 4。

用法

!expression

参数

无。

返回

一个布尔值。

说明

运算符（逻辑）；对变量或表达式的布尔值取反。如果 expression 是绝对值或转换值为 true 的变量，则 !expression 的值为 false。如果表达式 x && y 的计算结果为 false，则表达式
!(x && y) 的计算结果为 true。

下面的表达式说明使用 ! 运算符的结果：

!true 返回 false

!false 返回 true

示例

在下面的示例中，将变量 happy 设置为 false。if 条件对 !happy 条件进行计算，如果该条件为 true，则 trace() 动作向“输出”面板发送一个字符串。

happy = false;
if (!happy) {
  trace("don't worry, be happy");
}


!=（不等于）

可用性

Flash Player 5。

用法

expression1 != expression2

参数

无。

返回

一个布尔值。

说明

运算符（不等于）；测试结果与 == 运算符正好相反。如果 expression1 与 expression2 相等，则结果为 false。与 == 运算符一样，相等 的定义取决于所比较的数据类型。

  • 数字、字符串和布尔值按值进行比较。
  • 变量、对象、数组和函数按引用进行比较。

示例

下面的示例举例说明 != 运算符的结果：

5 != 8 返回 true

5 != 5 返回 false

此示例举例说明 != 运算符在 if 语句中的用法。

a = "David";
b = "Fool"
if (a != b){
  trace("David is not a fool");
}

另请参见

!==（不全等）、==（等于）、===（全等）


!==（不全等）

可用性

Flash Player 6。

用法

expression1 !== expression2

说明

运算符；测试结果与 === 运算符正好相反。除了不转换数据类型外，不全等运算符执行的运算与不等于运算符相同。如果 expression1 等于 expression2，而且它们的数据类型也相同，则结果为 false。与 === 运算符一样，相等 的定义取决于所比较的数据类型。

  • 数字、字符串和布尔值按值进行比较。
  • 变量、对象、数组和函数按引用进行比较。

示例

下面的代码显示使用等于、全等和不全等运算符的运算所返回的值。

s1 = new String("5");
s2 = new String("5");
s3 = new String("Hello");
n  = new Number(5);
b = new Boolean(true);

s1 == s2; // true
s1 == s3; // false
s1 == n; // true
s1 == b; // false

s1 === s2;  // true
s1 === s3; // false
s1 === n; // false
s1 === b; // false

s1 !== s2; // false
s1 !== s3; // true
s1 !== n; // true
s1 !== b; // true

另请参见

!=（不等于）、==（等于）、===（全等）


%（模）

可用性

Flash Player 4。在 Flash 4 文件中，% 运算符在 SWF 文件中展开为 x - int(x/y) * y，而且可能不如在 Flash Player 的更高版本中那样快速和精确。

用法

expression1 % expression2

参数

无。

返回

无。

说明

运算符（算术）；计算 expression1 除以 expression2 的余数。如果两个 expression 参数中有一个是非数字值，则模运算符尝试将它们转换为数字。expression 可以是数字或转换为数值的字符串。

示例

下面是一个使用模 (%) 运算符的数字示例。

trace (12 % 5);
// 返回 2
trace (4.3 % 2.1);
// 返回值约等于 0.1


%=（模赋值）

可用性

Flash Player 4。

用法

expression1 %= expression2

参数

无。

返回

无。

说明

运算符（算术复合赋值）；将 expression1 % expression2 的值赋予 expression1。例如，下面两个表达式是相同的：

x %= y
x = x % y

示例

下面的示例将值 4 赋予变量 x。

x = 14;
y = 5;
trace(x %= y);
// 返回 4

另请参见

%（模）


&（按位 AND 运算符）

可用性

Flash Player 5。在 Flash 4 中，& 运算符用于连接字符串。在 Flash 5 和更高版本中，& 运算符是一个按位 AND 运算符，因此必须使用 add 和 + 运算符来连接字符串。使用 & 运算符的 Flash 4 文件在引入 Flash 5 或更高版本创作环境时自动更新为使用 add。

用法

expression1 & expression2

参数

无。

返回

无。

说明

运算符（按位）；将 expression1 和 expression2 转换为 32 位无符号整数，并对这些整数参数的每一位执行布尔 AND 运算。结果是一个新的 32 位无符号整数。


&&（逻辑 AND）

可用性

Flash Player 4。

用法

expression1 && expression2

参数

无。

返回

一个布尔值。

说明

运算符（逻辑）；对一个或两个表达式的值执行布尔运算。计算 expression1（该运算符左侧的表达式），当此表达式的计算结果为 false 时返回 false。如果 expression1 的计算结果为
true，则计算 expression2（该运算符右侧的表达式）。如果 expression2 的计算结果为 true，则最终结果为 true；否则，为 false。

示例

此示例用 && 运算符执行一个测试，确定游戏者是否已经赢得游戏。在游戏过程中，当游戏者赢得一轮或者得到计分点时，就会对 turns 和 score 变量进行更新。在 3 轮之内游戏者的得分达到或超过 75 时，下面的脚本就会在“输出”面板中显示“You Win the Game!”。

turns=2;
score=77;
winner = (turns <= 3) && (score >= 75);
if (winner) {
  trace("You Win the Game!");
} else {
  trace("Try Again!");
}


&=（按位 AND 赋值）

可用性

Flash Player 5。

用法

expression1 &= expression2

参数

无。

返回

无。

说明

运算符；将 expression1 & expression2 的值赋予 expression1。例如，下面两个表达式是相同的。

x &= y;
x = x & y;

示例

下面的示例将值 9 赋予 x。

x = 15;
y = 9;
trace(x &= y);
// 返回 9

另请参见

&（按位 AND 运算符）


()（括号）

可用性

Flash Player 4。

用法

(expression1, expression2)
function(parameter1,..., parameterN)

参数

expression1、expression2 数字、字符串、变量或文本。

function 要对括号中的内容执行的函数。

parameter1...parameterN  一系列参数，在将其结果作为参数传递给括号外的函数之前执行这些参数。

返回

无。

说明

运算符；对一个或多个参数执行分组运算，或者括住一个或多个参数并将它们作为参数传递给括号外的函数。

用法 1：控制表达式中运算符的执行顺序。括号覆盖正常的优先级顺序，从而导致先计算括号内的表达式。如果括号是嵌套的，则先计算最里面括号中的内容，然后计算较靠外括号中的内容。

用法 2：括住一个或多个参数并将它们作为参数传递给括号外的函数。

示例

用法 1：下面的语句举例说明用括号控制表达式执行顺序的方法。每个表达式的值显示在每行的下面，如下所示：

trace((2 + 3) * (4 + 5));
// 显示 45

trace(2 + (3 * (4 + 5)));
// 显示 29

trace(2 + (3 * 4) + 5);
// 显示 19

用法 2：下面的示例举例说明将括号与函数结合使用的方法。

getDate();

invoice(item, amount);

function traceParameter(param){
  trace(param);
}
traceParameter(2*2);

另请参见

with


-（减号）

可用性

Flash Player 4。

用法

（符号反转）-expression

（减法）expression1 - expression2

参数

无。

返回

无。

说明

运算符（算术）；用于符号反转或减法运算。

用法 1：用于符号反转时，它将数值 expression 的符号反转。

用法 2：用于减法时，它对两个数值表达式执行算术减法运算，从 expression1 中减去
expression2。两个表达式都为整数时，差为整数。其中任何一个或两个表达式为浮点数时，差为浮点数。

示例

用法 1：下面的语句将表达式 2 + 3 的符号反转。

-(2 + 3)

结果为 -5。

用法 2：下面的语句从整数 5 中减去整数 2。

5 - 2

结果为 3，是一个整数。

用法 2：下面的语句从浮点数 3.25 中减去浮点数 1.5。

3.25 - 1.5

结果为 1.75，是一个浮点数。


*（乘号）

可用性

Flash Player 4。

用法

expression1 * expression2

参数

无。

返回

无。

说明

运算符（算术）；将两个数值表达式相乘。如果两个表达式都是整数，则积为整数。如果其中任何一个或两个表达式是浮点数，则积为浮点数。

示例

用法 1：下面的语句将整数 2 与 3 相乘。

2 * 3

结果为 6，是一个整数。

用法 2：下面的语句将浮点数 2.0 与 3.1416 相乘。

2.0 * 3.1416

结果为 6.2832，是一个浮点数。


*=（相乘赋值）

可用性

Flash Player 4。

用法

expression1 *= expression2

参数

无。

返回

无。

说明

运算符（算术组合赋值）；将 expression1 * expression2 的值赋予 expression1。例如，下面两个表达式是相同的：

x *= y
x = x * y

示例

用法 1：下面的示例将值 50 赋予变量 x。

x = 5;
y = 10;
trace(x *= y);
// 返回 50

用法 2：以下示例的第二行和第三行计算等号右侧的表达式，然后将结果赋予 x 和 y。

i = 5;
x = 4 - 6;
y = i + 2;
trace(x *= y);
// 返回 -14

另请参见

*（乘号）


,（逗号）

可用性

Flash Player 4。

用法

expression1, expression2

参数

无。

返回

无。

说明

运算符；先计算 expression1，再计算 expression2，然后返回 expression2 的值。此运算符主要与 for 循环语句一起使用。

示例

下面的代码范例使用了逗号运算符：

var a=1, b=2, c=3;

这相当于编写了如下代码：

var a=1;
var b=2;
var c=3;


.（点）

可用性

Flash Player 4。

用法

object.property_or_method
instancename.variable
instancename.childinstance.variable

参数

object 类的一个实例。此对象可以是任意内置动作脚本类或自定义类的实例。此参数总是在点 (.) 运算符的左侧。

property_or_method 与对象相关联的属性或方法的名称。内置类的所有有效方法和属性都在该类的方法和属性摘要表中列出。此参数总是在点 (.) 运算符的右侧。

instancename 影片剪辑的实例名称。

childinstance 从属于或嵌套于另一个影片剪辑的影片剪辑实例。

variable 影片剪辑实例时间轴上的变量，该影片剪辑实例的名称在点 (.) 运算符的左侧。

返回

无。

说明

运算符；用于定位影片剪辑的层次结构，以便访问嵌套的（子级）影片剪辑、变量或属性。点运算符也用于测试或设置对象的属性、执行对象的方法或创建数据结构。

示例

下面的语句标识影片剪辑 person_mc 中变量 hairColor 的当前值。

person_mc.hairColor

这与下面的 Flash 4 语法等效：

/person_mc:hairColor


:（类型）

可用性

Flash Player 6。

用法

[modifiers] [var] variableName:[type]
function functionName():[type] { ... }
function functionName(parameter1[:type], ..., parameterN[:type]) { ... }

参数

variableName 变量的标识符。

type 本机数据类型、您已定义的类名称或接口名称。

functionName 函数的标识符。

parameter 函数参数的标识符。

说明

运算符；指定变量类型、函数返回类型或函数参数类型。在变量声明或赋值中使用时，此运算符指定变量的类型；在函数声明或定义中使用时，此运算符指定函数的返回类型；在函数定义中与函数参数一起使用时，此运算符指定该参数应使用的变量类型。

类型是仅限编译时的功能。所有类型都在编译时检查，并在出现不匹配的情况时生成错误。（有关更多信息，请参见错误消息。）在使用点 (.) 运算符进行赋值运算、函数调用和类成员解除引用的过程中，可能会出现不匹配情况。若要避免类型不匹配错误，可使用显式类型（请参见严格数据类型指定）。

您可以使用的类型包括全部本机对象类型、您定义的类和接口以及 Void 和 Function（仅作为类型存在，而不能作为对象存在）。识别的本机类型有 Array、Boolean、Button、Color、
CustomActions、Date、Function、LoadVars、LocalConnection、Microphone、
MovieClip、NetConnection、NetStream、Number、Object、SharedObject、Sound、
String、TextField、TextFormat、Video、Void、XML、XMLNode 和 XMLSocket。

示例

用法 1：下面的示例声明一个类型为 String 且名为 userName 的公共变量，并且给该变量分配一个空字符串。

public var userName:String = "";

用法 2：该示例举例说明如何指定函数的参数类型。下面的代码定义一个名为 setDate() 的函数，该函数使用类型为 Date 且名为 currentDate 的参数。

function setDate(currentDate:Date) {
   this.date = currentDate;
}

用法 3：下面的代码定义一个名为 squareRoot() 的函数，它使用类型为 Number 且名为 val 的参数，并且返回 val 的平方根（也为 Number 类型）。

function squareRoot(val:Number):Number {
  return Math.sqrt(val);
}


?:（条件）

可用性

Flash Player 4。

用法

expression1 ? expression2 :expression3

参数

expression1 计算结果为布尔值的表达式，通常为像 x < 5 这样的比较表达式。

expression2、expression3 任何类型的值。

返回

无。

说明

运算符；指示 Flash 计算 expression1，如果 expression1 的值为 true，则它返回
expression2 的值；否则，它返回 expression3 的值。

示例

下面的语句因为 expression1 的计算结果为 true，所以将变量 x 的值赋予变量 z：

x = 5;
y = 10;
z = (x < 6) ? x:y;
trace (z);
// 返回 5


/（除号）

可用性

Flash Player 4。

用法

expression1 / expression2

参数

expression 数字或计算结果为数字的变量。

返回

无。

说明

运算符（算术）；将 expression1 除以 expression2。除法运算的结果为双精度浮点数。

示例

下面的语句将浮点数 22.0 除以 7.0，然后在“输出”面板中显示结果。

trace(22.0 / 7.0);

结果为 3.1429，是一个浮点数。


//（注释分隔符）

可用性

Flash 1。

用法

// 注释

参数

comment 任何字符。

返回

无。

说明

注释；指示脚本注释的开始。任何出现在注释分隔符 // 和行结束符之间的字符都被动作脚本解释程序解释为注释并忽略。

示例

此脚本使用注释分隔符将第一、第三、第五和第七行标识为注释。

// 记录 ball 影片剪辑的 X 位置
ballX = ball._x;
// 记录 ball 影片剪辑的 Y 位置
ballY = ball._y;
// 记录 bat 影片剪辑的 X 位置
batX = bat._x;
// 记录 bat 影片剪辑的 Y 位置
batY = bat._y;

另请参见

/*（注释分隔符）


/*（注释分隔符）

可用性

Flash Player 5。

用法

/* comment */
/*
comment
comment
*/

参数

comment 任何字符。

返回

无。

说明

注释；指示一行或多行脚本注释。任何出现在注释开始标签 /* 和注释结束标签 */ 之间的字符都被动作脚本解释程序解释为注释并忽略。第一种语法类型用于标识单行注释。第二种语法类型用于标识连续多行注释。在使用注释分隔符的这种格式时，如果不使用结束标签 */，就会返回一个错误信息。

示例

此脚本在脚本的开头使用注释分隔符。

/* 记录 ball 和 bat 影片剪辑的
 X 和 Y 位置
*/

ballX = ball._x;
ballY = ball._y;
batX = bat._x;
batY = bat._y;

另请参见

//（注释分隔符）


/=（除法赋值）

可用性

Flash Player 4。

用法

expression1 /= expression2

参数

expression1、expression2 数字或计算结果为数字的变量。

返回

无。

说明

运算符（算术组合赋值）；将 expression1 / expression2 的值赋予 expression1。例如，
下面两个语句是相同的：

x /= y
x = x / y

示例

下面的代码举例说明如何将 /= 运算符与变量和数字结合使用。

x = 10;
y = 2;
x /= y;
// x 现在包含值 5


[]（数组访问）

可用性

Flash Player 4。

用法

my_array = ["a0", a1,...aN]
myMultiDimensional_array = [["a0",...aN],...["a0",...aN]]
my_array[E] = value
myMultiDimensional_array[E][E] = value
object["value"]

参数

my_array 数组的名称。

a0, a1,...aN 数组中的元素。

myMultiDimensional_array 模拟多维数组的名称。

E  数组中元素的编号（或索引）。

object 对象的名称。

value 字符串或计算结果为字符串的表达式，用来命名对象的属性。

返回

无。

说明

运算符；用指定的元素（a0，等等）初始化新数组或多维数组，或者访问数组中的元素。数组访问运算符使您能够动态地设置和获取实例、变量和对象的名称。它还使您能够访问对象属性。

用法 1：数组是一种对象，其属性称作“元素”，这些元素由称作“索引”的数字逐一标识。创建数组时，需用数组访问运算符（或“括号”）括住元素。一个数组可以包含各种类型的元素。例如，下面这个名为 employee 的数组包含三个元素；第一个元素是数字，另外两个元素是字符串（在引号内）。

employee = [15, "Barbara", "Erick"];

用法 2：可以通过嵌套括号来模拟多维数组。下面的代码创建一个名为 ticTacToe 且含有三个元素的数组；而每个元素也是一个具有三个元素的数组。

ticTacToe = [[1,2,3],[4,5,6],[7,8,9]];

// 在测试影片模式下，选择“调试”>“变量列表”
// 来查看数组元素的列表

用法 3：用括号括住每个元素的索引可直接对其进行访问；这样可以向数组添加新元素以及更改或获取现有元素的值。数组中第一个元素的索引永远是 0：

my_array[0] = 15;
my_array[1] = "Hello";
my_array[2] = true;

可以使用括号来添加第四个元素，如下所示：

my_array[3] = "George";

用法 4：括号可用于访问多维数组中的元素。第一对括号标识原始数组中的元素，第二对括号标识嵌套数组中的元素。下面的几行代码将数字 6 发送到“输出”面板。

ticTacToe = [[1,2,3],[4,5,6],[7,8,9]];
trace(ticTacToe[1][2]);

// 返回 6

用法 5：您可以用数组访问运算符代替 eval 函数，从而动态地设置并获取影片剪辑名称的值或一个对象的任何属性：

name["mc" + i] = "left_corner";

示例

用法 1：下面的代码范例说明新建空 Array 对象的两种不同方式；第一行使用括号。

my_array =[];
my_array = new Array();

用法 1 和 2：下面的示例创建一个名为 employee_array 的数组，并使用 trace() 动作将这些元素发送到“输出”面板。在第四行中，更改数组中的一个元素，而第五行将刚修改过的数组发送到“输出”面板：

employee_array = ["Barbara", "George", "Mary"];
trace(employee_array);
// Barbara, George, Mary
employee_array[2]="Sam";
trace(employee_array);
// Barbara, George, Sam

用法 3：在下面的示例中，计算括号中的表达式 ("piece" + i)，并将结果用作要从影片剪辑 my_mc 中获取的变量名。在此示例中，变量 i 与所释放的按钮必须在同一个时间轴上。例如，如果变量 i 等于 5，影片剪辑 my_mc 中的变量 piece5 的值将显示在“输出”面板中：

on (release) {
  x = my_mc["piece"+i];
  trace(x);
}

用法 3：在下面的代码中，计算括号中的表达式，并将结果用作要从影片剪辑 name_mc 中获取的变量名：

name_mc["A" + i];

如果您熟悉 Flash 4 动作脚本的斜杠语法，可以使用 eval 函数来达到同样的结果：

eval("name.A" & i);

用法 3：您还可以在赋值语句的左侧使用数组访问运算符，从而动态地设置实例、变量和对象的名称：

name[index] = "Gary";

另请参见

Array 类、Object 类、eval()


^（按位 XOR）

可用性

Flash Player 5。

用法

expression1 ^ expression2

参数

expression1、expression2 数字。

返回

无。

说明

运算符（按位）；将 expression1 和 expression2 转换为 32 位无符号整数，然后对于
expression1 或者 expression2 中相应位为 1 且不同时为 1 的每一位，返回 1。

示例

下面的示例对十进制的 15 和 9 使用按位 XOR 运算符，然后将结果赋予变量 x。

// 十进制的 15 = 二进制的 1111
// 十进制的 9 = 二进制的 1001
x = 15 ^ 9
trace (x)
// 1111 ^ 1001 = 0110
// 返回十进制的 6（= 二进制的 0110）


^=（按位 XOR 赋值）

可用性

Flash Player 5。

用法

expression1 ^= expression2

参数

expression1、expression2 整数和变量。

返回

无。

说明

运算符（按位组合赋值）；将 expression1 ^ expression2 的值赋予 expression1。例如，下面两个语句是相同的：

x ^= y
x = x ^ y

示例

下面是一个 ^= 运算的示例。

// 十进制的 15 = 二进制的 1111
x = 15;
// 十进制的 9 = 二进制的 1001
y = 9;
trace(x ^= y);
//返回十进制的 6（= 二进制的 0110）

另请参见

^（按位 XOR）


{}（对象初始值设定项）

可用性

Flash Player 5。

用法

object = {name1:value1, name2:value2,...nameN:valueN}

参数

object 要创建的对象。

name1,2,...N 属性名。

value1,2,...N 每个 name 属性对应的值。

返回

无。

说明

运算符；创建一个新对象并用指定的 name 和 value 属性对将其初始化。使用此运算符的效果与使用 new Object 语法然后使用赋值运算符填充属性对的效果相同。通常，将新建对象的原型命名为 Object 对象。

示例

下面代码的第一行用对象初始值设定项运算符创建一个空对象；第二行用构造函数创建一个新对象。

object = {};
object = new Object();

下面的示例创建对象 account，然后用附带的值初始化属性 name、address、city、state、zip 和 balance。

account = { name:"Betty Skate",
  address:"123 Main Street",
  city:"Blossomville",
  state:"California",
  zip: "12345",
  balance: "1000" };

下面的示例说明数组和对象初始值设定项可以如何相互嵌套。

person = { name:"Gina Vechio",
  children:[ "Ruby", "Chickie", "Puppa"] };

下面的示例使用上述示例中的信息，并使用构造函数得到相同的结果。

person = new Object();
person.name = 'Gina Vechio';
person.children = new Array();
person.children[0] = 'Ruby';
person.children[1] = 'Chickie';
person.children[2] = 'Puppa';

另请参见

[]（数组访问）、new、Object 类


|（按位 OR）

可用性

Flash Player 5。

用法

expression1 | expression2

参数

expression1、expression2 数字。

返回

无。

说明

运算符（按位）；将 expression1 和 expression2 转换为 32 位无符号整数，然后对于
expression1 或 expression2 的相应位为 1 的每一位返回 1。

示例

下面是一个按位 OR 运算的示例。

// 十进制的 15 = 二进制的 1111
x = 15;
// 十进制的 9 = 二进制的 1001
y = 9;
trace(x | y);
// 1111 | 0011 = 1111
//  返回十进制的 15（= 二进制的 1111）


||（逻辑 OR）

可用性

Flash Player 4。

用法

expression1 || expression2

参数

expression1、expression2 布尔值或可转换为布尔值的表达式。

返回

一个布尔值。

说明

运算符（逻辑）；计算 expression1 和 expression2。如果其中任何一个或者两个表达式的计算结果为 true，则结果为 true；只有当两个表达式的计算结果都为 false 时，结果才为
false。逻辑 OR 运算符可用于任意多个操作数；只要任意一个操作数的计算结果为 true，则结果为 true。

对于非布尔表达式，逻辑 OR 运算符使得 Flash 对左侧的表达式进行计算；如果左侧的表达式可以转换为 true，则结果为 true。否则，计算右侧的表达式，而且结果就是该表达式的值。

示例

用法 1：下面的示例在 if 语句中使用 || 运算符。第二个表达式的计算结果为 true，因此最终结果为 true：

x = 10
y = 250
start = false
if(x > 25 || y > 200 || start){
  trace('the logical OR test passed');
}

用法 2：此示例演示非布尔表达式是如何导致意外结果的。如果左侧的表达式转换为 true，则返回该结果，而不再转换右侧的表达式。

function fx1(){
  trace ("fx1 called");
  returns true;
}
function fx2(){
  trace ("fx2 called");
  return true;
}
if (fx1() || fx2()){
  trace ("IF statement entered");
}
// 将以下内容发送到“输出”面板：
// fx1 called
// IF statement entered


|=（按位 OR 赋值）

可用性

Flash Player 5。

用法

expression1 |= expression2

参数

expression1、expression2 数字或变量。

返回

无。

说明

运算符（按位组合赋值）；将 expression1 | expression2 的值赋予 expression1。例如，下面两个语句是相同的：

x |= y;
x = x | y;

示例

下面的示例使用了 |= 运算符：

// 十进制的 15 = 二进制的 1111
x = 15;
// 十进制的 9 = 二进制的 1001
y = 9;
trace(x |= y);
// 1111 |= 1001
//  返回十进制的 15（= 二进制的 1111）

另请参见

|（按位 OR）


~（按位 NOT）

可用性

Flash Player 5。

用法

~ expression

参数

expression 数字。

返回

无。

说明

运算符（按位）；将 expression 转换为 32 位无符号整数，然后对这些位进行求反。按位 NOT 运算更改数字的符号然后减 1。

示例

下面的示例说明对一个变量执行按位 NOT 运算。

a = 0;
trace ("when a = 0, ~a = "+~a);
// 当 a = 0，~a = -1
a = 1;
trace ("when a = 1, ~a = "+~a);
// 当 a = 0，~a = -2
// 因此，~0=-1，~1=-2


+（加号）

可用性

Flash Player 4；Flash Player 5。在 Flash 5 和更高版本中，+ 既可以是数值运算符，也可以是字符串连接符，这要取决于参数的数据类型。在 Flash 4 中，+ 只是数值运算符。引入到 Flash 5 或更高版本创作环境中的 Flash 4 文件经历了一个转换过程，以保持数据类型的完整性。下面的示例举例说明对包含数值比较的 Flash 4 文件的转换过程：

Flash 4 文件：

x + y

转换的 Flash 5 或更高版本的文件：

Number(x) + Number(y)

用法

expression1 + expression2

参数

expression1、expression2 数字或字符串。

返回

无。

说明

运算符；将数值表达式相加或者连接（合并）字符串。如果其中一个表达式为字符串，则所有其它表达式都被转换为字符串，然后连接起来。

两个表达式都为整数时，和为整数；其中一个或两个表达式为浮点数时，和为浮点数。

示例

用法 1：下面的示例连接两个字符串，然后在“输出”面板中显示结果。

name = "Cola";
instrument = "Drums";
trace (name + " plays " + instrument);

用法 2：与动态和输入文本字段相关联的变量是字符串数据类型。在下面的示例中，变量
deposit 是舞台上的一个输入文本字段。在用户输入存款数目后，该脚本尝试将 deposit 加到
oldBalance 上。然而，由于 deposit 是字符串数据类型，因此脚本连接（合并成一个字符串）变量的值，而不是对它们求和。

oldBalance = 1345.23;
currentBalance = deposit + oldBalance;
trace (currentBalance);

例如，如果用户在 deposit 文本字段中输入 475，则 trace() 动作将值 4751345.23 发送到“输出”面板。

若要更正这一点，可使用 Number() 函数将字符串转换为数字，如下所示：

currentBalance = Number(deposit) + oldBalance;

用法 3：此语句将整数 2 和 3 相加，然后将计算结果（整数 5）显示在“输出”面板中：

trace (2 +3);

此语句将浮点数 2.5 和 3.25 相加，然后将结果（浮点数 5.75）显示在“输出”面板中：

trace (2.5 + 3.25);

另请参见

_accProps


+=（加法赋值）

可用性

Flash Player 4。

用法

expression1 += expression2

参数

expression1、expression2 数字或字符串。

返回

无。

说明

运算符（算术组合赋值）；将 expression1 + expression2 的值赋予 expression1。例如，下面两个语句的结果是相同的：

x += y;
x = x + y;

此运算符也可以执行字符串连接运算。加法运算符 (+) 的所有规则适用于加法赋值 (+=) 运
算符。

示例

下面的示例显示 += 运算符的数值用法。

x = 5;
y = 10;
x += y;
trace(x);
//x 返回 15

此示例将 += 运算符与字符串表达式一起使用，并将“My name is Gilbert”发送到“输出”面板。

x = "My name is "
x += "Gilbert"
trace (x)
// 返回“My name is Gilbert”

另请参见

+（加号）


<（小于）

可用性

Flash Player 4；Flash Player 5。在 Flash 5 和更高版本中，<（小于）运算符是能够处理各种数据类型的比较运算符。而在 Flash 4 中，< 是数值运算符。引入到 Flash 5 或更高版本创作环境中的 Flash 4 文件经历了一个转换过程，以保持数据类型的完整性。下面举例说明对包含数值比较的 Flash 4 文件的转换过程。

Flash 4 文件：

x < y

转换的 Flash 5 或更高版本的文件：

Number(x) < Number(y)

用法

expression1 < expression2

参数

expression1、expression2 数字或字符串。

说明

运算符（比较）；比较两个表达式以确定 expression1 是否小于 expression2；如果是，则该运算符返回 true。如果 expression1 大于或等于 expression2，则该运算符返回 false。使用字母顺序计算字符串表达式；所有的大写字母排在小写字母的前面。

示例

下面的示例举例说明数值比较和字符串比较所返回的 true 和 false。

3 < 10;
// true

10 < 3;
//false

"Allen" < "Jack";
// true

"Jack" < "Allen";
//false

"11" < "3";
// true

"11" < 3;
// 数值比较
//false

"C" < "abc";
//false

"A" < "a";
// true


<<（按位向左移位）

可用性

Flash Player 5。

用法

expression1 << expression2

参数

expression1 要向右移位的数字或表达式。

expression2 将转换为 0 到 31 之间整数的数字或表达式。

返回

无。

说明

运算符（按位）；将 expression1 和 expression2 转换为 32 位整数，然后将 expression1 中的所有位向左移一定的位数，该位数由 expression2 转换而来的整数指定。由于此运算的结果而被清空的位上则填补 0。将一个值向左移一位等效于将它乘以 2。

示例

在下面的示例中，将整数 1 向左移 10 位。

x = 1 << 10

此运算的结果为 x = 1024。这是因为十进制的 1 等于二进制的 1，二进制的 1 向左移 10 位是二进制的 10000000000，而二进制的 10000000000 就是十进制的 1024。

在下面的示例中，将整数 7 向左移 8 位。

x = 7 << 8

此运算的结果为 x = 1792。这是因为十进制的 7 等于二进制的 111，二进制的 111 向左移 8 位是二进制的 11100000000，而二进制的 11100000000 就是十进制的 1792。

另请参见

>>=（按位向右移位并赋值）、>>（按位向右移位）、<<=（按位向左移位并赋值）


<<=（按位向左移位并赋值）

可用性

Flash Player 5。

用法

expression1 <<= expression2

参数

expression1 要向右移位的数字或表达式。

expression2 将转换为 0 到 31 之间整数的数字或表达式。

返回

无。

说明

运算符（按位组合赋值）；此运算符执行按位向左移位运算，然后将该内容作为结果存储在
expression1 中。下面的两个表达式是等效的。

A <<= B
A = (A << B)

另请参见

<<（按位向左移位）、>>=（按位向右移位并赋值）、>>（按位向右移位）


<=（小于等于）

可用性

Flash Player 4。

Flash 4 文件：

x <= y

转换的 Flash 5 或更高版本的文件：

Number(x) <= Number(y)

用法

expression1 <= expression2

参数

expression1、expression2 数字或字符串。

返回

一个布尔值。

说明

运算符（比较）；比较两个表达式以确定 expression1 是否小于等于 expression2；如果是，则该运算符返回 true。如果 expression1 大于 expression2，则该运算符返回 false。使用字母顺序计算字符串表达式；所有的大写字母排在小写字母的前面。

在 Flash 5 或更高版本中，小于等于 (<=) 运算符是能够处理各种数据类型的比较运算符。而在 Flash 4 中，<= 是一个数值运算符。引入到 Flash 5 或更高版本创作环境中的 Flash 4 文件经历了一个转换过程，以保持数据类型的完整性。下面举例说明对包含数值比较的 Flash 4 文件的转换过程。

示例

下面的示例举例说明用于数值和字符串比较的 true 和 false 结果：

5 <= 10;
// true

2 <= 2;
// true

10 <= 3;
//false

"Allen" <= "Jack";
// true

"Jack" <= "Allen";
//false

"11" <= "3";
// true

"11" <= 3;
// 数值比较
//false

"C" <= "abc";
//false

"A" <= "a";
// true


<>（不等于）

可用性

Flash 2。

用法

expression1 <> expression2

参数

expression1、expression2 数字、字符串、布尔值、变量、对象、数组或函数。

返回

一个布尔值。

说明

运算符（不等于）；测试结果与 == 运算符正好相反。如果 expression1 与 expression2 相等，则结果为 false。与 == 运算符一样，相等 的定义取决于所比较的数据类型：

  • 数字、字符串和布尔值按值进行比较。
  • 变量、对象、数组和函数按引用进行比较。

在 Flash 5 中已不鼓励使用此运算符，Macromedia 建议您使用 != 运算符。

另请参见

!=（不等于）


=（赋值）

可用性

Flash Player 4。

Flash 4 文件：

x = y

转换的 Flash 5 或更高版本的文件：

Number(x) == Number(y)

用法

expression1 = expression2

参数

expression1 变量、数组元素或对象属性。

expression2 任何类型的值。

返回

无。

说明

运算符；将 expression2（位于右侧的参数）的类型赋予 expression1 中的变量、数组元素或属性。

在 Flash 5 或更高版本中，= 为赋值运算符，而 == 运算符用于计算相等性。在 Flash 4 中，= 为数值等于运算符。引入到 Flash 5 或更高版本创作环境中的 Flash 4 文件经历了一个转换过程，以保持数据类型的完整性。

示例

下面的示例使用赋值运算符将数字数据类型赋予变量 x。

x = 5

下面的示例使用赋值运算符将字符串数据类型赋予变量 x。

x = "hello"

另请参见

==（等于）


-=（减法赋值）

可用性

Flash Player 4。

用法

expression1 -= expression2

参数

expression1、expression2 数字或计算结果为数字的表达式。

返回

无。

说明

运算符（算术组合赋值）；将 expression1 - expression2 的值赋予 expression1。例如，下面两个语句是相同的：

x -= y;
x = x - y;

必须将字符串表达式转换为数字；否则返回 NaN。

示例

用法 1：下面的示例使用 -= 运算符从 5 中减去 10，然后将结果赋予变量 x。

x = 5;
y = 10;
x -= y
trace(x);
// 返回 -5

用法 2：下面的示例说明如何将字符串转换为数字。

x = "5";
y = "10";
x -= y;
trace(x);
// 返回 -5


==（等于）

可用性

Flash Player 5。

用法

expression1 == expression2

参数

expression1、expression2 数字、字符串、布尔值、变量、对象、数组或函数。

返回

一个布尔值。

说明

运算符（等于）；测试两个表达式是否相等。如果表达式相等，则结果为 true。

相等 的定义取决于参数的数据类型：

  • 数字和布尔值按值进行比较，如果它们具有相同的值，则视为相等。
  • 对于字符串表达式，如果它们具有相同的字符数，而且这些字符都相同，则这些字符串表达式相等。
  • 变量、对象、数组和函数按引用进行比较。对于变量，如果两个变量引用相同的对象、数组或函数，则它们相等。而两个单独的数组即使具有相同数量的元素，也永远不会被视为相等。

示例

用法 1：下面的示例将 == 运算符与 if 语句结合使用：

a = "David" , b = "David";
if (a == b){
  trace("David is David");
}

用法 2：这些示例显示比较混合类型的运算的结果。

x = "5"; y = "5";
trace (x == y);
// true

x = "5"; y = "66";
trace (x == y);
//false

x = "chris"; y = "steve";
trace (x == y);
//false

另请参见

!=（不等于）、===（全等）、!==（不全等）


===（全等）

可用性

Flash Player 6。

用法

expression1 === expression2

返回

一个布尔值。

说明

运算符；测试两个表达式是否相等；除了不转换数据类型外，全等运算符执行的运算与等于运算符相同。如果两个表达式完全相等（包括它们的数据类型都相等），则结果为 true。

相等 的定义取决于参数的数据类型：

  • 数字和布尔值按值进行比较，如果它们具有相同的值，则视为相等。
  • 对于字符串表达式，如果它们具有相同的字符数，而且这些字符都相同，则这些字符串表达式相等。
  • 变量、对象、数组和函数按引用进行比较。对于变量，如果两个变量引用相同的对象、数组或函数，则它们相等。而两个单独的数组即使具有相同数量的元素，也永远不会被视为相等。

示例

下面的代码显示使用等于、全等和不全等运算符的运算所返回的值。

s1 = new String("5");
s2 = new String("5");
s3 = new String("Hello");
n  = new Number(5);
b = new Boolean(true);

s1 == s2; // true
s1 == s3; // false
s1 == n; // true
s1 == b; // false

s1 === s2;  // true
s1 === s3; // false
s1 === n; // false
s1 === b; // false

s1 !== s2; // false
s1 !== s3; // true
s1 !== n; // true
s1 !== b; // true

另请参见

==（等于）、!=（不等于）、===（全等）


>（大于）

可用性

Flash Player 4。

Flash 4 文件：

x > y

转换的 Flash 5 或更高版本的文件：

Number(x) > Number(y)

用法

expression1 >expression2

参数

expression1、expression2 数字或字符串。

返回

一个布尔值。

说明

运算符（比较）；比较两个表达式以确定 expression1 是否大于 expression2；如果是，则该运算符返回 true。如果 expression1 小于或等于 expression2，则该运算符返回 false。使用字母顺序计算字符串表达式；所有的大写字母排在小写字母的前面。

在 Flash 5 或更高版本中，小于等于 (<=) 运算符是能够处理各种数据类型的比较运算符。而在 Flash 4 中，<= 是一个数值运算符。引入到 Flash 5 或更高版本创作环境中的 Flash 4 文件经历了一个转换过程，以保持数据类型的完整性。


>=（大于等于）

可用性

Flash Player 4。

Flash 4 文件：

x > y

转换的 Flash 5 或更高版本的文件：

Number(x) > Number(y)

用法

expression1 >= expression2

参数

expression1、expression2 字符串、整数或浮点数。

返回

一个布尔值。

说明

运算符（比较）；比较两个表达式以确定 expression1 是大于等于 expression2 (true)，还是
expression1 小于 expression2 (false)。

在 Flash 5 或更高版本中，大于等于 (>) 是能够处理各种数据类型的比较运算符。而在 Flash 4 中，> 是数值运算符。引入到 Flash 5 或更高版本创作环境中的 Flash 4 文件经历了一个转换过程，以保持数据类型的完整性。


>>（按位向右移位）

可用性

Flash Player 5。

用法

expression1 >> expression2

参数

expression1 要向右移位的数字或表达式。

expression2 将转换为 0 到 31 之间整数的数字或表达式。

返回

无。

说明

运算符（按位）；将 expression1 和 expression2 转换为 32 位整数，然后将 expression1 中的所有位向右移一定位数，该位数由 expression2 转换而来的整数指定。移到右侧的位被去掉。若要保留原 expression 的符号，则如果 expression1 的最高有效位（最左端的位）为 0，那么左侧的位都填补 0；如果最高有效位为 1，那么左侧的位都填补 1。将一个值右移一位等效于将它除以 2 并去掉余数。

示例

下面的示例将 65535 转换为 32 位整数，然后右移 8 位。

x = 65535 >> 8

上述运算的结果如下所示：

x = 255

这是因为十进制的 65535 等于二进制的 1111111111111111（16 个 1），二进制的
1111111111111111 向右移 8 位是二进制的 11111111，而二进制的 11111111 是十进制的
255。因为这个整数是 32 位的，最高有效位为 0，所以用 0 来填补位。

下面的示例将 -1 转换为 32 位整数，然后右移 1 位。

x = -1 >> 1

上述运算的结果如下所示：

x = -1

这是因为十进制的 -1 等于二进制的 11111111111111111111111111111111（32 个 1），向右移一位使得最低有效位（最右侧的位）被去掉而最高有效位被填补上 1。结果为二进制的
11111111111111111111111111111111（32 个 1），表示 32 位整数 -1。

另请参见

>>=（按位向右移位并赋值）


>>=（按位向右移位并赋值）

可用性

Flash Player 5。

用法

expression1 >>=expression2

参数

expression1 要向右移位的数字或表达式。

expression2 将转换为 0 到 31 之间整数的数字或表达式。

返回

无。

说明

运算符（按位组合赋值）；此运算符执行按位向右移位运算，然后将该内容作为结果存储在
expression1 中。

示例

下面的两个表达式是等效的。

A >>= B
A = (A >> B)

下面加有注释的代码使用按位 (>>=) 运算符。这也是使用所有按位运算符的示例。

function convertToBinary(number){
  var result = "";
  for (var i=0; i<32; i++) {
    // 使用按位 AND 提取最低有效位
    var lsb = number & 1;
    // 将此位添加到结果字符串中
    result = (lsb ?"1" : "0") + result;
    // 将数字向右移一位以显示下一位
    number >>= 1;}
  return result;
}
trace(convertToBinary(479));
// 返回字符串 00000000000000000000000111011111
// 上述字符串是十进制
// 数字 479 的二进制表示形式

另请参见

<<（按位向左移位）


>>>（按位无符号向右移位）

可用性

Flash Player 5。

用法

expression1 >>> expression2

参数

expression1 要向右移位的数字或表达式。

expression2 将转换为 0 到 31 之间整数的数字或表达式。

返回

无。

说明

运算符（按位）；除了由于左侧的位总是填补 0 而不保留原 expression 的符号外，该运算符与按位向右移位 (>>) 运算符相同。

示例

下面的示例将 -1 转换为 32 位整数，然后右移 1 位。

x = -1 >>> 1

上述运算的结果如下所示：

x = 2147483647

这是因为十进制的 -1 是二进制的 11111111111111111111111111111111（32 个 1），当向右（无符号）移 1 位时，最低有效位（最右端的位）被去掉，而最高有效位（最左端的位）
被填补上 0。结果为二进制的 01111111111111111111111111111111，表示 32 位整数 2147483647。

另请参见

>>=（按位向右移位并赋值）


>>>=（按位无符号向右移位并赋值）

可用性

Flash Player 5。

用法

expression1 >>>= expression2

参数

expression1 要向右移位的数字或表达式。

expression2 将转换为 0 到 31 之间整数的数字或表达式。

返回

无。

说明

运算符（按位组合赋值）；执行无符号按位向右移位运算，然后将该内容作为结果存储在
expression1 中。下面的两个表达式是等效的：

A >>>= B
A = (A >>> B)

另请参见

>>>（按位无符号向右移位）、>>=（按位向右移位并赋值）


Accessibility 类

可用性

Flash Player 6 版本 65。

说明

Accessibility 类管理与屏幕读取器之间的通讯。Accessibility 类的方法是静态的，即，您不必创建该类的实例即可使用其方法。

若要获取和设置特定对象（例如按钮、影片剪辑或文本字段）的可访问属性，请使用 _accProps 属性。若要确定播放器是否运行在支持辅助功能的环境中，请使用
System.capabilities.hasAccessibility。

Accessibility 类的方法摘要

方法 | 说明
Accessibility.isActive() | 指示屏幕读取器程序是否处于活动状态。
Accessibility.updateProperties() | 为屏幕读取器更新屏幕上对象的说明。


Accessibility.isActive()

可用性

Flash Player 6 版本 65。

用法

Accessibility.isActive()

参数

无。

返回

如果有活动的 Microsoft Active Accessibility (MSAA) 客户端，并且播放器正在支持在 Flash
Player 和辅助功能之间进行通讯的环境中运行，则返回布尔值 true；否则返回布尔值 false。

说明

方法；指示 MSAA 屏幕读取器程序是否当前处于活动状态并且播放器是否正在支持在 Flash
Player 和辅助功能之间进行通讯的环境中运行。当希望应用程序在有屏幕读取器的情况下行为方式不同时，可使用此方法。

若要确定播放器是否正在支持辅助功能的环境中运行，请使用
System.capabilities.hasAccessibility。

注意：如果您在播放文档的 Flash 窗口第一次出现的大约 1 秒或 2 秒内调用此方法，则可能获得返回值
false，即使有活动的 MSAA 客户端也是如此。这是由于 Flash 和 MSAA 客户端之间的异步通讯机制造成的。您可以通过确保在加载您的文档后和调用此方法前有 1 秒到 2 秒的延迟，来解决这一限制问题。

另请参见

Accessibility.updateProperties()、_accProps、
System.capabilities.hasAccessibility


Accessibility.updateProperties()

可用性

Flash Player 6 版本 65。

用法

Accessibility.updateProperties()

参数

无。

返回

无。

说明

方法；导致 Flash Player 重新检查所有辅助功能属性，为屏幕读取器更新其对象说明，并且根据需要将事件发送到屏幕读取器以指示已发生更改。有关设置辅助功能属性的信息，请参见 _accProps。

若要确定播放器是否正在支持辅助功能的环境中运行，请使用
System.capabilities.hasAccessibility。

如果您修改多个对象的辅助功能属性，则只需调用 Accessibility.updateProperties() 一次；多次调用可能导致性能降低以及屏幕读取器的结果无法理解。

示例

以下动作脚本代码利用动态辅助功能属性。此示例出自可以更改它显示的图标的非文本按钮。

function setIcon( newIconNum, newTextEquivalent )
{
   this.iconImage = this.iconImages[ newIconNum ];
   if ( newTextEquivalent != undefined )
   {
      if ( this._accProps == undefined )
         this._accProps = new Object();
      this._accProps.name = newTextEquivalent;
      Accessibility.updateProperties();
   }
}

另请参见

Accessibility.isActive()、_accProps、System.capabilities.hasAccessibility


_accProps

可用性

Flash Player 6 版本 65。

用法

_accProps.propertyName
instanceName._accProps.propertyName

参数

propertyName 辅助功能属性名（请参见以下有关有效名称的说明）。

instanceName 分配给影片剪辑、按钮、动态文本字段或输入文本字段的实例的实例名称。

说明

属性；用于在运行时控制 SWF 文件、影片剪辑、按钮、动态文本字段或输入文本字段的屏幕读取器辅助功能选项。这些属性覆盖创作时在“辅助功能”面板中提供的相应设置。为使对这些属性的更改生效，您必须调用 Accessibility.updateProperties()。有关“辅助功能”面板的信息，请参见Flash 的“辅助功能”面板。

若要确定播放器是否运行在支持辅助功能的环境中，请使用
System.capabilities.hasAccessibility。

下表列出了每一 _accProps 属性的名称和数据类型、它在“辅助功能”面板中的等效设置以及可以应用该属性的对象类型。术语反转逻辑 是指该属性设置与“辅助功能”面板中的相应设置相反。例如，将 silent 属性设置为 true 等效于取消选择“使影片可访问”或“使对象可访问”选项。

属性 | 数据类型 | “辅助功能”面板中的等效设置 | 应用于
silent | 布尔值 | 使影片可访问/ 使对象可访问 （反转逻辑） | 整个影片 影片剪辑 按钮 动态文本 输入文本
forceSimple | 布尔值 | 使子对象可访问（反转逻辑） | 整个影片 影片剪辑
name | 字符串 | Name | 整个影片 影片剪辑 按钮 输入文本
description | 字符串 | 说明 | 整个影片 影片剪辑 按钮 动态文本 输入文本
shortcut | 字符串 | 快捷键* | 影片剪辑 按钮 输入文本

* 有关向可访问对象分配快捷键的信息，请参见 Key.addListener()。

若要在“辅助功能”面板中指定与 Tab 键索引设置相对应的设置，请使用 Button.tabIndex、
MovieClip.tabIndex 或 TextField.tabIndex 属性。

无法在运行时指定“自动标签”设置。

如果使用时未采用 instanceName 参数，则对 _accProps 属性的更改将应用于整个影片。例如，以下代码将整个影片的辅助功能 name 属性设置为字符串 "Pet Store"，然后调用
Accessibility.updateProperties() 来使所作更改生效。

_accprops.name = "Pet Store";
Accessbility.updateProperties();

与上例相比较，以下代码将实例名称为 price_mc 的影片剪辑的 name 属性设置为字符串
"Price"：

price_mc._accProps.name = "Price";
Accessbility.updateProperties();

如果您指定若干辅助功能属性，则应在调用 Accessibility.updateProperties() 前进行尽可能多的更改，而不是在每一属性语句后调用它：

_accprops.name = "Pet Store";
animal_mc._accProps.name = "Animal";
animal_mc._accProps.description = "Cat, dog, fish, etc.";
price_mc._accProps.name = "Price";
price_mc._accProps.description = "Cost of a single item";
Accessbility.updateProperties();

如果您没有指定影片或对象的辅助功能属性，则实现在“辅助功能”面板中设置的任何值。

在指定一个辅助功能属性后，就不能将它的值还原为在“辅助功能”面板中设置的值。但是，可以通过删除 _accProps 对象，将该属性设置为它的默认值（对于布尔值，其默认值是 false；对于字符串值，其默认值是空字符串）：

my_mc._accProps.silent = true; // 设置属性
// 此处为其它代码
delete my_mc._accProps.silent; // 还原为默认值

若要将一个对象的所有辅助功能值都还原为默认值，可以删除 instanceName._accProps 对象：

deletemy_btn._accProps;

若要将所有对象的辅助功能值都还原为默认值，可以删除全局 _accProps 对象：

delete _accProps;

如果您把某一属性指定给不支持该属性的对象类型，那么该属性指定将被忽略，不会引发任何错误。例如，按钮不支持 forceSimple 属性，因此忽略如下行：

my_btn._accProps.forceSimple = false; //ignored

示例

下面是某些利用动态辅助功能属性的示例动作脚本代码。您应将该代码分配给可以更改其显示的图标的非文本图标按钮组件。

function setIcon( newIconNum, newTextEquivalent )
{
   this.iconImage = this.iconImages[ newIconNum ];
   if ( newTextEquivalent != undefined )
   {
      if ( this._accProps == undefined )
         this._accProps = new Object();
      this._accProps.name = newTextEquivalent;
      Accessibility.updateProperties();
   }
}

另请参见

Accessibility.isActive()、Accessibility.updateProperties()、
System.capabilities.hasAccessibility


add

可用性

Flash Player 4。

用法

string1 add string2

参数

string1、string2 字符串。

返回

无。

说明

运算符；连接（合并）两个或多个字符串。add 运算符替换了 Flash 4 的加法 (&) 运算符；当将使用 & 运算符的 Flash Player 4 文件引入 Flash 5 或更高版本的创作环境中时，就会自动对其进行转换以使用 add 运算符进行字符串连接。不过，在 Flash Player 5 中已不鼓励使用 add 运算符，Macromedia 建议您在为 Flash Player 5 或更高版本创建内容时使用 + 运算符。如果您为 Flash Player 4 或更早版本的播放器创建内容，则使用 add 运算符来连接字符串。

另请参见

+（加号）


and

可用性

Flash Player 4。

用法

condition1 and condition2

参数

condition1、condition2 计算结果为 true 或 false 的条件或表达式。

返回

无。

说明

运算符；在 Flash Player 4 中执行逻辑 AND 运算。如果两个表达式的计算结果均为 true，则整个表达式为 true。在 Flash 5 中已不鼓励使用该运算符，Macromedia 建议您使用 && 运算符。

另请参见

&&（逻辑 AND）


Arguments 类

可用性

Flash Player 5；属性已添加到 Flash Player 6。

说明

Arguments 类是一个数组，其中包含作为参数传递给任何函数的值。每次在动作脚本中调用函数时，都会为该函数自动创建 Arguments 对象。同时还会创建一个局部变量 arguments，使您可以引用 Arguments 对象。

Arguments 类的属性摘要

属性 | 说明
arguments.callee | 指被调用的函数。
arguments.caller | 指进行调用的函数。
arguments.length | 传递给函数的参数数量。


arguments.callee

可用性

Flash Player 5。

用法

arguments.callee

说明

属性；指当前被调用的函数。

示例

可以使用 arguments.callee 属性来生成递归的匿名函数，如下所示：

factorial = function (x) {
  if (x <= 1) {
    return 1;
  } else {
    return x * arguments.callee(x-1);
  }
};

下面是一个命名的递归函数：

function factorial (x) {
  if (x <= 1) {
    return 1;
  } else {
    return x * factorial(x-1);
  }
}


arguments.caller

可用性

Flash Player 6。

用法

arguments.caller

说明

属性；指进行调用的函数。


arguments.length

可用性

Flash Player 5。

用法

arguments.length

说明

属性；实际传递给函数的参数数量。


Array 类

可用性

Flash Player 5（已成为 Flash Player 6 本身的对象，Flash Player 6 大大提高了性能）。

说明

Array 类使您可以访问和操纵数组。数组是一个对象，其属性由表示该属性在数组中位置的数字来标识。此数字称为“索引”。所有数组都从零开始，这意味着数组中的第一个元素为 [0]，第二个元素为 [1]，依次类推。在下面的示例中，my_array 包含了一年中的月份。

my_array[0] = "January"
my_array[1] = "February"
my_array[2] = "March"
my_array[3] = "April"

若要创建 Array 对象，请使用构造函数 new Array() 或数组访问运算符 ([])。若要访问数组中的元素，请使用数组访问运算符 ([])。

Array 类的方法摘要

方法 | 说明
Array.concat() | 连接参数，并将其作为新数组返回。
Array.join() | 将数组内的所有元素联接为一个字符串。
Array.pop() | 删除数组中最后一个元素，并返回该元素的值。
Array.push() | 将一个或多个元素添加到数组的结尾，并返回该数组的新长度。
Array.reverse() | 倒转数组的方向。
Array.shift() | 删除数组中第一个元素，并返回该元素的值。
Array.slice() | 提取数组中的一部分，并将该部分作为新数组返回。
Array.sort() | 就地对数组进行排序。
Array.sortOn() | 基于数组中的某个字段对数组进行排序。
Array.splice() | 在数组中添加元素和删除元素。
Array.toString() | 返回表示 Array 对象中元素的字符串值。
Array.unshift() | 将一个或多个元素添加到数组的开头，并返回该数组的新长度。

Array 类的属性摘要

属性 | 说明
Array.length | 指定数组中元素数量的非从零开始的整数。

Array 类的构造函数

可用性

Flash Player 5。

用法

new Array()
new Array(length)
new Array(element0, element1, element2,...elementN)

参数

length 一个指定数组中元素数量的整数。在元素不连续的情况下，length 参数指定的是数组中最后一个元素的索引号加 1。

element0...elementN 一个包含两个或多个任意值的列表。这些值可以是数字、字符串、对象或其它数组。数组中第一个元素的索引或位置始终为 0。

返回

无。

说明

构造函数；它使您可以创建数组。您可使用构造函数来创建不同类型的数组：空数组、具有特定长度但其中元素没有值的数组或其中元素具有特定值的数组。

用法 1：如果不指定任何参数，则创建长度为 0 的数组。

用法 2：如果仅指定长度，则创建元素数等于 length 的数组，但这些元素没有值。

用法 3：如果使用 element 参数指定值，则创建具有特定值的数组。

示例

用法 1：下面的示例创建初始长度为 0 的新 Array 对象。

my_array = new Array();
trace(my_array.length); // 返回 0

用法 2：下面的示例创建初始长度为 4 的新 Array 对象。

my_array = new Array(4);
trace(my_array.length); // 返回 4

用法 3：下面的示例创建初始长度为 5 的新 Array 对象 go_gos_array。

go_gos_array = new Array("Belinda", "Gina", "Kathy", "Charlotte", "Jane");
trace(my_array.length); // 返回 5
trace(go_gos_array.join(", ")); // 显示元素

go_gos 数组的初始元素标识如下：

go_gos_array[0] = "Belinda";
go_gos_array[1] = "Gina";
go_gos_array[2] = "Kathy";
go_gos_array[3] = "Charlotte";
go_gos_array[4] = "Jane";

下面的代码将第 6 个元素添加到 go_gos_array 数组中并更改第二个元素：

go_gos_array[5] = "Donna";
go_gos_array[1] = "Nina"
trace(go_gos_array.join(" + "));

另请参见

Array.length、[]（数组访问）


Array.concat()

可用性

Flash Player 5。

用法

my_array.concat( [ value0, value1,...valueN ])

参数

value0...valueN 要在新数组中连接的数字、元素或字符串。如果您没有传递任何值，则创建 my_array 的一个副本。

返回

无。

说明

方法；将参数中指定的元素与 my_array 中的元素连接，并创建新的数组。如果 value 参数指定的是数组，则连接该数组的元素而不是该数组本身。数组 my_array 保持不变。

示例

下面的代码连接两个数组。

alpha_array = new Array("a","b","c");
numeric_array = new Array(1,2,3);
alphaNumeric_array=alpha_array.concat(numeric_array);
trace(alphaNumeric_array);
// 创建数组 ["a","b","c",1,2,3]

下面的代码连接三个数组。

num1_array = [1,3,5];
num2_array = [2,4,6];
num3_array = [7,8,9];
nums_array=num1_array.concat(num2_array,num3_array)
trace(nums_array);
// 创建数组 [1,3,5,2,4,6,7,8,9]

嵌套数组不能像普通数组那样展开。嵌套数组中的元素不会分解为数组 x_array 中的独立元素，如下面的示例所示。

a_array = new Array ("a","b","c");

// 2 和 3 是嵌套数组中的元素
n_array = new Array(1, [2, 3], 4);

x_array = a_array.concat(n_array);
trace(x_array[0]); // "a"
trace(x_array[1]); // "b"
trace(x_array[2]); // "c"
trace(x_array[3]); // 1
trace(x_array[4]); // 2, 3
trace(x_array[5]); // 4


Array.join()

可用性

Flash Player 5。

用法

my_array.join([separator])

参数

separator 在返回字符串中分隔数组元素的字符或字符串。如果省略此参数，则使用逗号作为默认分隔符。

返回

字符串。

说明

方法；将数组中的元素转换为字符串、在元素间插入指定的分隔符、连接这些元素然后返回结果字符串。嵌套数组总是以逗号分隔，而不使用传递给 join() 方法的分隔符分隔。

示例

下面的示例创建一个具有三个元素的数组：Earth、Moon 和 Sun。该示例然后联接这一数组三次：第一次使用默认的分隔符（逗号和空格），然后使用破折号，最后使用加号 (+)；并且在“输出”面板中显示这些数组：

a_array = new Array("Earth","Moon","Sun")
trace(a_array.join());
// 返回 Earth, Moon, Sun
trace(a_array.join(" - "));
// 返回 Earth - Moon - Sun
trace(a_array.join(" + "));
// 返回 Earth + Moon + Sun


Array.length

可用性

Flash Player 5。

用法

my_array.length

说明

属性；指定数组中元素数量的非从零开始的整数。当将新元素添加到数组时，此属性会自动更新。当您向某一数组元素赋值时（例如 my_array[index] = value），如果 index 是数字，并且 index+1 大于 length 属性，则将 length 属性更新为 index+1。

示例

下面的代码解释 length 属性是如何更新的。

my_array = new Array();
trace(my_array.length); // 初始长度为 0
my_array[0] = 'a';
trace(my_array.length); // 将 my_array.length 更新为 1
my_array[1] = 'b';
trace(my_array.length); // 将 my_array.length 更新为 2
my_array[9] = 'c';
trace(my_array.length); // 将 my_array.length 更新为 10


Array.pop()

可用性

Flash Player 5。

用法

my_array.pop()

参数

无。

返回

指定的数组中最后一个元素的值。

说明

方法；删除数组中最后一个元素，并返回该元素的值。

示例

下面的代码创建包含四个元素的 myPets 数组，然后删除其最后一个元素。

myPets = ["cat", "dog", "bird", "fish"];
popped = myPets.pop();
trace(popped);
// 返回 fish


Array.push()

可用性

Flash Player 5。

用法

my_array.push(value,...)

参数

value 要追加到数组中的一个或多个值。

返回

新数组的长度。

说明

方法；将一个或多个元素添加到数组的结尾，并返回该数组的新长度。

示例

下面的示例创建具有两个元素（cat 和 dog）的数组 myPets。第二行将两个元素添加到数组。在调用 push() 方法后，变量 pushed 包含四个元素。因为 push() 方法返回数组的新长度，所以最后一行中的 trace() 动作将 myPets 的新长度 (4) 发送到“输出”面板：

myPets = ["cat", "dog"];
pushed = myPets.push("bird", "fish");
trace(pushed);


Array.reverse()

可用性

Flash Player 5。

用法

my_array.reverse()

参数

无。

返回

无。

说明

方法；就地倒转数组。

示例

下面是一个使用此方法的示例。

var numbers_array = [1, 2, 3, 4, 5, 6];
trace(numbers_array.join()); // 1.2.3.4.5.6
numbers_array.reverse();
trace(numbers_array.join()); // 6,5,4,3,2,1


Array.shift()

可用性

Flash Player 5。

用法

my_array.shift()

参数

无。

返回

数组中的第一个元素。

说明

方法；删除数组中第一个元素，并返回该元素。

示例

下面的代码创建数组 myPets，然后删除该数组中的第一个元素，并将其分配给变量 shifted。

var myPets_array = ["cat", "dog", "bird", "fish"];
shifted = myPets_array.shift();
trace(shifted); // 返回 "cat"

另请参见

Array.pop()


Array.slice()

可用性

Flash Player 5。

用法

my_array.slice( [ start [ , end ] ] )

参数

start 指定片段起始点索引的数字。如果 start 是负数，则起点从数组的结尾开始，其中 -1 指的是最后一个元素。

end 指定片段终点索引的数字。如果省略此参数，则片段包括数组中从开头到结尾的所有元素。如果 end 是负数，则终点从数组的结尾指定，其中 -1 指的是最后一个元素。

返回

一个数组。

说明

方法；提取数组中的一个片段或子字符串，并将其作为新数组返回，而不修改原始数组。返回的数组包括 start 元素以及从其开始到 end 元素（但不包括该元素）的所有元素。

如果您没有传递任何参数，则创建 my_array 的一个副本。


Array.sort()

可用性

Flash Player 5；附加功能在 Flash Player 7 中已添加。

用法

my_array.sort()
my_array.sort(compareFunction)
my_array.sort(option | option |... )
my_array.sort(compareFunction, option | option |... )

参数

compareFunction 一个用来确定数组中元素排序顺序的可选比较函数。给定元素 A 和 B，compareFunction 的结果可具有以下三个值之一：

  • -1，如果 A 应在排序后序列中出现在 B 之前
  • 0，如果 A = B
  • 1，如果 A 应在排序后序列中出现在 B 之后

option 由 |（按位 OR）运算符分隔的一个或多个数字或字符串，这些数字或字符串更改根据默认值排序的行为。下面是 option 可以接受的值：

  • 1 或 Array.CASEINSENSITIVE
  • 2 或 Array.DESCENDING
  • 4 或 Array.UNIQUE
  • 8 或 Array.RETURNINDEXEDARRAY
  • 16 或 Array.NUMERIC

有关此参数的信息，请参见 Array.sortOn()。

返回

返回值取决于是否传递任何参数：

  • 如果您为 option 指定值 4 或 Array.UNIQUE，并且所排序的两个或多个元素具有相同的排序字段，则 Flash 返回值 0 并且不修改该数组。
  • 如果您为 option 指定值 8 或 Array.RETURNINDEXEDARRAY，则 Flash 将返回反映排序结果的数组并且不修改该数组。
  • 否则，Flash 不返回任何内容并且修改该数组以反映排序顺序。

说明

方法；对数组中的元素进行排序。Flash 根据 ASCII (Unicode) 值排序。如果所比较的两个元素中的任何一个不包含在 fieldName 参数中指定的字段，则认为该字段是 undefined，并且在排序后的数组中不按任何特定顺序连续放置这些元素。

默认情况下，Array.sort() 按如下方式工作：

  • 排序区分大小写（Z 位于 a 之前）。
  • 排序是升序（a 位于 b 之前）。
  • 修改该数组以反映排序顺序；在排序后的数组中不按任何特定顺序连续放置具有相同排序字段的多个元素。
  • 数值字段就像是字符串一样排序，因此 100 位于 99 之前，因为“1”是比“9”低的字符
    串值。
  • 不返回任何内容。

如果您要以其它方式排序，则创建一个进行所需排序的函数并将其名称传递给
compareFunction 参数。例如，如果您要按姓氏以字母顺序的升序排序，然后按邮编以降序排序，则可以创建相应的函数并传递其名称。

如果您要指定作为排序依据的一个或多个字段，并且使用默认排序或 options 参数，则使用 Array.sortOn()。

示例

用法 1：以下示例显示如何使用 Array.sort()，以具有和不具有为 option 传递的值这两种情况为例：

var fruits_array = ["oranges", "apples", "strawberries", "pineapples", "cherries"];
trace(fruits_array.join());
fruits_array.sort();
trace(fruits_array.join());
fruits_array.sort(Array.DESCENDING);
trace(fruits_array.join());

“输出”面板将显示以下结果：

oranges,apples,strawberries,pineapples,cherries  // 原始数组
apples,cherries,oranges,pineapples,strawberries  // 默认排序
strawberries,pineapples,oranges,cherries,apples  // 降序

用法 2：以下示例将 Array.sort() 与比较函数一起使用。

var passwords = ["mom:glam","ana:ring","jay:mag","anne:home","regina:silly"];
function order (a,b){
  //要排序的条目采用 name:password 的形式
  //只将条目的名称部分作为关键字排序。
  var name1 =a.split(":")[0 ];
  var name2 =b.split(":")[0 ];
  if (name1 <name2){
    return -1;
  }
  else if (name1 >name2){
    return 1;
  }
  else {
    return 0;
  }
}
trace ("Unsorted:");
trace (passwords.join());

passwords.sort(order);
trace ("Sorted:");
trace (passwords.join());

“输出”面板将显示以下结果：

Unsorted:
mom:glam,ana:ring,jay:mag,anne:home,regina:silly
Sorted:
ana:ring,anne:home,jay:mag,mom:glam,regina:silly

另请参见

|（按位 OR）、Array.sortOn()


Array.sortOn()

可用性

Flash Player 6；附加功能已在 Flash Player 7 中添加。

用法

my_array.sortOn("fieldName" )
my_array.sortOn("fieldName", option | option |... )
my_array.sortOn( [ "fieldName" , "fieldName" , ... ] )
my_array.sortOn( [ "fieldName" , "fieldName" , ...] , option | option |... )

注意：在显示中括号 ([]) 的地方，您必须将它们包括在代码中；即，中括号不表示可选参数。

参数

fieldName 一个字符串，标识 Array 的某元素中用作排序值的字段。

option 由 |（按位 OR）运算符分隔的一个或多个数字或字符串，这些数字或字符串更改根据默认值排序的行为。下面是 option 可以接受的值：

  • 1 或 Array.CASEINSENSITIVE
  • 2 或 Array.DESCENDING
  • 4 或 Array.UNIQUE
  • 8 或 Array.RETURNINDEXEDARRAY
  • 16 或 Array.NUMERIC

上述各个选项在下面的“说明”部分中将予以详细讨论。

返回

返回值取决于是否传递任何参数：

  • 如果您为 option 指定值 4 或 Array.UNIQUE，并且所排序的两个或多个元素具有相同的排序字段，则 Flash 返回值 0 并且不修改该数组。
  • 如果您为 option 指定值 8 或 Array.RETURNINDEXEDARRAY，则 Flash 将返回反映排序结果的数组并且不修改该数组。
  • 否则，Flash 不返回任何内容并修改该数组以反映排序顺序。

说明

方法；基于数组中的一个或多个字段对数组中的元素进行排序。如果您传递多个 fieldName 参数，则第一个字段表示主排序字段，第二个字段表示下一个排序字段，依此类推。Flash 根据
ASCII (Unicode) 值排序。如果所比较的两个元素中的任何一个不包含在 fieldName 参数中指定的字段，则认为该字段是 undefined，并且在排序后的数组中不按任何特定顺序连续放置这些元素。

默认情况下，Array.sortOn() 按如下方式工作：

  • 排序区分大小写（Z 位于 a 之前）。
  • 排序是升序（a 位于 b 之前）。
  • 修改该数组以反映排序顺序；在排序后的数组中不按任何特定顺序连续放置具有相同排序字段的多个元素。
  • 数值字段就像是字符串一样排序，因此 100 位于 99 之前，因为“1”是比“9”低的字符串值。
  • 不返回任何内容。

您可以使用 option 标志覆盖这些默认值。以下示例出于阐释目的使用 option 标志的不同形式。如果您要对简单数组（例如，只有一个字段的数组）进行排序，或者如果要指定 options 参数不支持的排序顺序，则使用 Array.sort()。

若要用数值格式传递多个标志，则用 |（按位 OR）运算符分隔它们或将这些标志值加在一起。以下代码显示三种不同的方式来指定数值降序排序：

my_Array.sortOn(someFieldName, 2 | 16);
my_Array.sortOn(someFieldName, 18);
my_Array.sortOn(someFieldName, Array.DESCENDING | Array.NUMERIC);

如果您使用标志的字符串形式（例如，DESCENDING），而不是数值形式 (2)，则启用代码提示（请参见使用代码提示）。

考虑以下数组：

var my_array:Array = new Array();
my_array.push({password:"Bob", age:29});
my_array.push({password:"abcd", age:3});
my_array.push({password:"barb", age:35});
my_array.push({password:"catchy", age:4});

对密码字段执行默认排序将产生以下结果：

my_array.sortOn("password")
// Bob
// abcd
// barb
// catchy

对密码字段执行不区分大小写的排序将产生以下结果：

my_array.sortOn("password", Array.CASEINSENSITIVE)
// abcd
// barb
// Bob
// catchy

对密码字段执行不区分大小写的降序排序将产生以下结果：

my_array.sortOn("password", 1|2)
// catchy
// Bob
// barb
// abcd

对年龄字段执行默认排序将产生以下结果：

my_array.sortOn("age")
// 29
// 3
// 35
// 4

对年龄字段执行数值排序将产生以下结果：

my_array.sortOn("age", 16)
// 3
// 4
// 29
// 35

对年龄字段执行降序数值排序将产生以下结果：

my_array.sortOn("age", 18)
// 35
// 29
// 4
// 3

执行排序时按如下所示更改数组中的元素：

// 在排序前
// my_array[0].age = 29;
// my_array[1].age = 3;
// my_array[2].age = 35;
// my_array[3].age = 4;

// 在不为 option 传递值 8 的任何排序后
my_array.sortOn("age", Array.NUMERIC);
// my_array[0].age = 3;
// my_array[1].age = 4;
// my_array[2].age = 29;
// my_array[3].age = 35;

执行返回索引数组的排序时不更改该数组中的元素：

// 在排序前
// my_array[0].age = 29;
// my_array[1].age = 3;
// my_array[2].age = 35;
// my_array[3].age = 4;

// 在返回包含索引值的数组的排序后
// 请注意，原始数组未更改。
// 然后，可以使用返回的数组显示排序的信息，
// 而不必修改原始数组。
var indexArray:Array = my_array.sortOn("age", Array.RETURNINDEXEDARRAY);
// my_array[0].age = 29;
// my_array[1].age = 3;
// my_array[2].age = 35;
// my_array[3].age = 4;

示例

此示例创建一个新数组，并且按照字段 name 和 city 对该新数组排序：第一次排序使用 name 作为第一个排序值，使用 city 作为第二个排序值。第二次排序使用 city 作为第一个排序值，使用 name 作为第二个排序值。

var rec_array = new Array();
rec_array.push( { name:"john", city:"omaha", zip: 68144 } );
rec_array.push( { name:"john", city:"kansas city", zip: 72345 } );
rec_array.push( { name:"bob", city:"omaha", zip: 94010 } );
for(i=0; i<rec_array.length; i++) {
 trace(rec_array[i].name + ", " + rec_array[i].city);
}
// 结果为
// john, omaha
// john, kansas city
// bob, omaha

rec_array.sortOn( [ "name", "city" ]);
for(i=0; i<rec_array.length; i++) {
 trace(rec_array[i].name + ", " + rec_array[i].city);
}
// 结果为
// bob, omaha
// john, kansas city
// john, omaha

rec_array.sortOn( ["city", "name" ]);
for(i=0; i<rec_array.length; i++) {
 trace(rec_array[i].name + ", " + rec_array[i].city);
}
// 结果为
// john, kansas city
// bob, omaha
// john, omaha

另请参见

|（按位 OR）、Array.sort()


Array.splice()

可用性

Flash Player 5。

用法

my_array.splice(start, deleteCount [, value0, value1...valueN])

参数

start 插入或删除动作开始处的数组元素的索引。

deleteCount 要删除的元素数量。这一数量包含 start 参数中指定的元素。如果没有为
deleteCount 指定值，则该方法将删除从 start 元素到数组中最后一个元素之间的所有值。如果该参数的值为 0，则不删除任何元素。

value 一个可选参数，指定在 start 参数中指定的插入点插入到数组中的值。

返回

无。

说明

方法；向数组中添加元素或删除数组中元素。此方法会修改数组但不制作副本。


Array.toString()

可用性

Flash Player 5。

用法

my_array.toString()

参数

无。

返回

字符串。

说明

方法；返回表示指定 Array 对象中的元素的字符串值。数组中的每一个元素（从索引 0 开始到索引 my_array.length-1 结束）均会转换为一个连接字符串，并以逗号分隔。

示例

下面的示例创建 my_array，将其转换为字符串，然后在“输出”面板中显示 1,2,3,4,5。

my_array = new Array();
my_array[0] = 1;
my_array[1] = 2;
my_array[2] = 3;
my_array[3] = 4;
my_array[4] = 5;
trace(my_array.toString());


Array.unshift()

可用性

Flash Player 5。

用法

my_array.unshift(value1,value2,...valueN)

参数

value1...valueN 一个或多个要插入到数组开头的数字、元素或变量。

返回

数组的新长度。

说明

方法；将一个或多个元素添加到数组的开头，并返回该数组的新长度。


Array()

可用性

Flash Player 6。

用法

Array()
Array( [element0 [, element1 , element2,...elementN ] ])

参数

element 要放置于数组中的一个或多个元素。

返回

一个数组。

说明

转换函数；创建新的空数组，或者将指定元素转换为数组。此函数的用法类似于使用 Array 构造函数创建数组（请参见Array 类的构造函数）。


asfunction

可用性

Flash Player 5。

用法

asfunction:function,"parameter"

参数

function 函数的标识符。

parameter 要传递给 function 参数中指定的函数的字符串。

返回

无。

说明

协议；一个用于 HTML 文本字段中 URL 的特殊协议。在 HTML 文本字段中，可使用
HTML A 标签超链接文本。A 标签的 HREF 属性包含可用于类似 HTTP、HTTPS 或 FTP 等标准协议的 URL。asfunction 协议是特定于 Flash 的一个附加协议，可使链接调用动作脚本函数。

示例

在此示例中，代码的前三行中定义了 MyFunc() 函数。TextField 对象 myTextField 与 HTML 文本字段相关联。文本“Click Me!”是文本字段中的一个超链接。当用户单击该超链接时，将调用 MyFunc() 函数：

function MyFunc(arg){
  trace ("You clicked me!Argument was "+arg);
}
myTextField.htmlText ="<A HREF=\"asfunction:MyFunc,Foo \">Click Me!</A>";

在单击该超链接后，下面的结果将显示在“输出”面板中：

You clicked me!Parameter was Foo


Boolean 类

可用性

Flash Player 5（已成为 Flash Player 6 本身的对象，Flash Player 6 大大提高了性能）。

说明

Boolean 类是一种包装对象，它具有与标准 JavaScript Boolean 对象一样的功能。使用
Boolean 类可获取 Boolean 对象的原始数据类型或字符串表示形式。

必须使用构造函数 new Boolean() 创建 Boolean 对象后，然后才能调用其方法。

Boolean 类的方法摘要

方法 | 说明
Boolean.toString() | 返回 Boolean 对象的字符串表示形式（"true" 或 "false"）。
Boolean.valueOf() | 返回指定 Boolean 对象的原始值类型。

Boolean 类的构造函数

可用性

Flash Player 5。

用法

new Boolean([x])

参数

x 任何表达式。此参数是可选的。

返回

无。

说明

构造函数；创建 Boolean 对象。如果省略 x 参数，则将 Boolean 对象初始化为具有值 false。如果为 x 参数指定值，则该方法会计算它，并根据 Boolean() 函数中的规则以布尔值返回结果。

示例

下面的代码创建一个称为 myBoolean 的新的空 Boolean 对象。

myBoolean = new Boolean();


Boolean.toString()

可用性

Flash Player 5。

用法

myBoolean.toString()

参数

无。

返回

一个布尔值。

说明

方法；返回 Boolean 对象的字符串表示形式（"true" 或 "false"）。


Boolean.valueOf()

可用性

Flash Player 5。

用法

myBoolean.valueOf()

参数

无。

返回

一个布尔值。

说明

方法；如果指定 Boolean 对象的原始值类型为 true，则返回 true，如果该类型为 false，则返回 false。

示例

var x:Boolean = new Boolean();
trace(x.valueOf());   // false
x = (6==3+3);
trace(x.valueOf());   // true


Boolean()

可用性

Flash Player 5；行为在 Flash Player 7 中进行了更改。

用法

Boolean(expression)

参数

expression 一个可转换为布尔值的表达式。

返回

一个布尔值或 expression 值，如下所述。

说明

函数；将参数 expression 转换为布尔值，并以如下形式返回值：

如果 expression 是布尔值，则返回值为 expression。

如果 expression 是数字，则在该数字不为零时返回值为 true，否则，返回值为 false。

如果 expression 为字符串，则返回值如下所示：

  • 在以 Flash Player 6 或更低版本为目标播放器发布的文件中，字符串首先被转换为一个数
    字，如果该数字是非零数字，则该值为 true，否则为 false。
  • 在以 Flash Player 7 或更高版本为目标播放器发布的文件中，如果字符串的长度大于零，则结果为 true；如果字符串是空字符串，则该值是 false。

如果 expression 未定义，则返回值为 false。

如果 expression 是影片剪辑或对象，则返回值为 true。

另请参见

Boolean 类


break

可用性

Flash Player 4。

用法

break

参数

无。

返回

无。

说明

语句；出现在一个循环（for、for..in、do while 或 while 循环）中，或者出现在与 switch 动作内特定 case 语句相关联的语句块中。break 动作可命令 Flash 跳过循环体的其余部分，停止循环动作，并执行循环语句之后的语句。当使用 break 动作时，Flash 解释程序会跳过该 case 块中的其余语句，转到包含它的 switch 动作后的第一个语句。使用 break 动作可跳出一系列嵌套的循环。

示例

下面的示例使用 break 动作退出一个循环，如果没有该动作，则该循环为无限循环。

i = 0;
while (true) {
  if (i >= 100) {
    break;
  }
  i++;
}

另请参见

break、for、for..in、do while、while、switch、case


Button 类

可用性

Flash Player 6。

说明

SWF 文件中的所有按钮元件都是 Button 对象的实例。您可在属性检查器中指定按钮实例名称，并通过动作脚本使用 Button 类的方法和属性来操纵按钮。按钮实例名称显示在“影片浏览器”中和“动作”面板的“插入目标路径”对话框中。

Button 类继承自 Object 类。

Button 类的方法摘要

方法 | 说明
Button.getDepth() | 返回按钮实例的深度。

Button 类的属性摘要

属性 | 说明
Button._alpha | 按钮实例的透明度值。
Button.enabled | 指示按钮是否处于活动状态。
Button._focusrect | 指示具有焦点的按钮四周是否有黄色矩形。
Button._height | 按钮实例的高度，以像素为单位。
Button._highquality | 应用于当前 SWF 文件的消除锯齿功能的级别。
Button.menu | 将 ContextMenu 对象与 button 对象相关联。
Button._name | 按钮实例的实例名称。
Button._parent | 指向包含当前影片剪辑或对象的影片剪辑或对象的引用。
Button._quality | 指示 SWF 文件的呈现品质。
Button._rotation | 按钮实例的旋转度数。
Button._soundbuftime | 预加载的声音的秒数。
Button.tabEnabled | 指示某按钮是否包括在 Tab 键的自动排序中。
Button.tabIndex | 指示对象的 Tab 键顺序。
Button._target | 按钮实例的目标路径。
Button.trackAsMenu | 指示其它按钮是否可接收鼠标按钮释放事件。
Button._url | 创建按钮实例的 SWF 文件的 URL。
Button.useHandCursor | 指示当鼠标指针经过按钮上方时是否显示手指形光标。
Button._visible | 指示按钮实例是隐藏还是可见的布尔值。
Button._width | 按钮实例的宽度，以像素为单位。
Button._x | 按钮实例的 x 坐标。
Button._xmouse | 鼠标指针相对于按钮实例的 x 坐标。
Button._xscale | 指定按钮实例水平缩放百分比的值。
Button._y | 按钮实例的 y 坐标。
Button._ymouse | 鼠标指针相对于按钮实例的 y 坐标。
Button._yscale | 指定按钮实例垂直缩放百分比的值。

Button 类的事件处理函数摘要

事件处理函数 | 说明
Button.onDragOut | 当在按钮上按下鼠标按钮，然后将鼠标指针滑出按钮时调用。
Button.onDragOver | 当用户在按钮外部按下鼠标按钮，然后将鼠标指针拖动到按钮之上时调用。
Button.onKeyUp | 当释放按键时调用。
Button.onKillFocus | 当从按钮移除焦点时调用。
Button.onPress | 在鼠标指针位于按钮上方的情况下，按下鼠标按钮时调用。
Button.onRelease | 在鼠标指针位于按钮上方的情况下，释放鼠标按钮时调用。
Button.onReleaseOutside | 在这样的情况下调用：在鼠标指针位于按钮内部的情况下按下按钮，然后将鼠标指针移到该按钮外部并释放鼠标按钮。
Button.onRollOut | 当鼠标指针滚动到按钮区域之外时调用。
Button.onRollOver | 当鼠标指针滚过按钮时调用。
Button.onSetFocus | 当按钮具有输入焦点而且释放某按键时调用。


Button._alpha

可用性

Flash Player 6。

用法

my_btn._alpha

说明

属性；由 my_btn 指定的按钮的 alpha 透明度的值。有效值为 0（完全透明）到 100（完全不透明）。默认值为 100。按钮的 _alpha 设置为 0 时，其中的对象处于活动状态，即使这些对象不可见。

示例

下面的代码在按钮被单击时将名为 star_btn 的按钮的 _alpha 属性设置为 30%：

on (release) {
  star_btn._alpha = 30;
}

另请参见

MovieClip._alpha、TextField._alpha


Button.enabled

可用性

Flash Player 6。

用法

my_btn.enabled

说明

属性；指定按钮是否处于启用状态的布尔值。默认值为 true。


Button._focusrect

可用性

Flash Player 6。

用法

my_btn._focusrect

说明

属性；一个布尔值，指定当按钮具有键盘焦点时，其四周是否有黄色矩形。此属性可以覆盖全局 _focusrect 属性。


Button.getDepth()

可用性

Flash Player 6。

用法

my_btn.getDepth()

返回

一个整数。

说明

方法；返回按钮实例的深度。


Button._height

可用性

Flash Player 6。

用法

my_btn._height

说明

属性；以像素为单位的按钮的高度。

示例

下面的代码示例在用户单击鼠标时，设置按钮的高度和宽度：

my_btn._width = 200;
my_btn._height = 200;


Button._highquality

可用性

Flash Player 6。

用法

my_btn._highquality

说明

属性（全局）；指定应用于当前 SWF 文件的锯齿消除级别。指定 2（最高品质）可应用高品质，并使位图平滑处理始终打开。指定 1（高品质），则应用消除锯齿功能；如果 SWF 文件不包含动画，这将对位图进行平滑处理。指定 0（低品质），则不消除锯齿。

另请参见

_quality


Button.menu

可用性

Flash Player 7。

用法

my_button.menu = contextMenu

参数

contextMenu 一个 ContextMenu 对象。

说明

属性；将 ContextMenu 对象 contextMenu 与按钮对象 my_button 相关联。ContextMenu 类用于修改当用户在 Flash Player 中右击 (Windows) 或按住 Control 键单击 (Macintosh) 时显示的上下文菜单。

示例

下面的示例将 ContextMenu 对象分配给一个名为 save_btn 的 Button 对象。ContextMenu 对象包含单个菜单项（标记有“Save...”），该菜单项具有名为 doSave 的关联回调处理函数（未显示）。

var menu_cm = new ContextMenu();
menu_cm.customItems.push(new ContextMenuItem("Save...", doSave));
function doSave(menu, obj) {
  // "Save" 代码
}
save_btn.menu = menu_cm;

另请参见

ContextMenu 类、ContextMenuItem 类、MovieClip.menu、TextField.menu


Button._name

可用性

Flash Player 6。

用法

my_btn._name

说明

属性；由 my_btn 指定的按钮的实例名称。


Button.onDragOut

可用性

Flash Player 6。

用法

my_btn.onDragOut = function() {
  // 此处是您的语句
}

参数

无。

返回

无。

说明

事件处理函数；当在按钮上按下鼠标按钮，然后将鼠标指针滑出按钮时调用。

必须定义一个在调用事件处理函数时执行的函数。


Button.onDragOver

可用性

Flash Player 6。

用法

my_btn.onDragOver = function() {
  // 此处是您的语句
}

参数

无。

返回

无。

说明

事件处理函数；当用户在按钮外部按下鼠标按钮，然后将鼠标指针拖动到按钮之上时调用。

必须定义一个在调用事件处理函数时执行的函数。

示例

下面的示例为 onKeyDown 处理函数定义一个函数，该函数将 trace() 动作发送到“输出”面板：

my_btn.onDragOver = function () {
  trace ("onDragOver called");
};

另请参见

Button.onKeyUp


Button.onKeyDown

可用性

Flash Player 6。

用法

my_btn.onKeyDown = function() {
  // 此处是您的语句
}

参数

无。

返回

无。

说明

事件处理函数；当按钮具有键盘焦点并按下某按键时调用。调用 onKeyDown 事件处理函数时没有参数。可以使用 Key.getAscii() 和 Key.getCode() 来确定按下了哪个键。

必须定义一个在调用事件处理函数时执行的函数。

示例

在下面的示例中，为 onKeyDown 处理函数定义将 trace() 动作发送到“输出”面板的函数。

my_btn.onKeyDown = function () {
  trace ("onKeyDown called");
};

另请参见

Button.onKeyUp


Button.onKeyUp

可用性

Flash Player 6。

用法

my_btn.onKeyUp = function() {
  // 此处是您的语句
}

参数

无。

返回

无。

说明

事件处理函数；当按钮具有输入焦点而且释放某按键时调用。调用 onKeyUp 事件处理函数时没有参数。可以使用 Key.getAscii() 和 Key.getCode() 来确定按下了哪个键。

必须定义一个在调用事件处理函数时执行的函数。

示例

在下面的示例中，为 onKeyPress 处理函数定义将 trace() 动作发送到“输出”面板的函数。

my_btn.onKeyUp = function () {
  trace ("onKeyUp called");
};


Button.onKillFocus

可用性

Flash Player 6。

用法

my_btn.onKillFocus = function (newFocus) {
  // 此处是您的语句
}

参数

newFocus 要接收焦点的对象。

返回

无。

说明

事件处理函数；当按钮失去键盘焦点时调用。onKillFocus 方法接收一个参数 newFocus，该参数是一个对象，表示要接收焦点的新对象。如果没有对象接收焦点，则 newFocus 将包含值 null。


Button.onPress

可用性

Flash Player 6。

用法

my_btn.onPress = function() {
  // 此处是您的语句
}

参数

无。

返回

无。

说明

事件处理函数；当按下按钮时调用。必须定义一个在调用事件处理函数时执行的函数。

示例

在下面的示例中，为 onPress 处理函数定义将 trace() 动作发送到“输出”面板的函数。

my_btn.onPress = function () {
  trace ("onPress called");
};


Button.onRelease

可用性

Flash Player 6。

用法

my_btn.onRelease = function() {
  // 此处是您的语句
}

参数

无。

返回

无。

说明

事件处理函数；当释放按钮时调用。必须定义一个在调用事件处理函数时执行的函数。

示例

在下面的示例中，为 onRelease 处理函数定义将 trace() 动作发送到“输出”面板的函数。

my_btn.onRelease = function () {
  trace ("onRelease called");
};


Button.onReleaseOutside

可用性

Flash Player 6。

用法

my_btn.onReleaseOutside = function() {
  // 此处是您的语句
}

参数

无。

返回

无。

说明

事件处理函数；在鼠标指针位于按钮内部时按下按钮后，将鼠标指针移到该按钮外部然后释放鼠标按钮，在这种情况下进行调用。

必须定义一个在调用事件处理函数时执行的函数。

示例

在下面的示例中，为 onReleaseOutside 处理函数定义将 trace() 动作发送到“输出”面板的函数。

my_btn.onReleaseOutside = function () {
  trace ("onReleaseOutside called");
};


Button.onRollOut

可用性

Flash Player 6。

用法

my_btn.onRollOut = function() {
  // 此处是您的语句
}

参数

无。

返回

无。

说明

事件处理函数；当指针移出按钮区域时调用。必须定义一个在调用事件处理函数时执行的函数。

示例

在下面的示例中，为 onRollOut 处理函数定义将 trace() 动作发送到“输出”面板的函数。

my_btn.onRollOut = function () {
  trace ("onRollOut called");
};


Button.onRollOver

可用性

Flash Player 6。

用法

my_btn.onRollOver = function() {
  // 此处是您的语句
}

参数

无。

返回

无。

说明

事件处理函数；当指针移过按钮区域时调用。必须定义一个在调用事件处理函数时执行的函数。

示例

在下面的示例中，为 onRollOver 处理函数定义将 trace() 动作发送到“输出”面板的函数。

my_btn.onRollOver = function () {
  trace ("onRollOver called");
};


Button.onSetFocus

可用性

Flash Player 6。

用法

my_btn.onSetFocus = function(oldFocus){
  // 此处是您的语句
}

参数

oldFocus 将失去键盘焦点的对象。

返回

无。

说明

事件处理函数；当按钮接收键盘焦点时调用。oldFocus 参数是失去焦点的对象。例如，如果用户按下 Tab 键将输入焦点从文本字段移到按钮，则 oldFocus 包含该文本字段实例。

如果以前没有具有焦点的对象，则 oldFocus 包含 null 值。


Button._parent

可用性

Flash Player 6。

用法

my_btn._parent.property
_parent.property

说明

属性；指向包含当前影片剪辑或对象的影片剪辑或对象的引用。当前对象是包含引用 _parent 的动作脚本代码的对象。

使用 _parent 可以指定一个相对路径，该路径指向当前影片剪辑或对象之上的影片剪辑或对象。可以使用 _parent 在显示列表中攀升多个级别，如下所示：

_parent._parent._alpha = 20;

另请参见

MovieClip._parent、_root、targetPath


Button._quality

可用性

Flash Player 6。

用法

my_btn._quality

说明

属性（全局）；设置或获取用于 SWF 文件的呈现品质。设备字体始终是带有锯齿的，因此不受 _quality 属性的影响。

注意：尽管您可以为 Button 对象指定该属性，但它实际上是一个全局属性，因此您只能将它的值指定为 _quality。有关更多信息，请参见 _quality。


Button._rotation

可用性

Flash Player 6。

用法

my_btn._rotation

说明

属性；以度为单位的按钮距其原始方向的旋转程度。从 0 到 180 的值表示顺时针旋转，从 0 到 -180 的值表示逆时针旋转。不属于上述范围的值将与 360 相加或相减以得到该范围内的值。例如，语句 my_btn._rotation = 450 与 my_btn._rotation = 90 相同。

另请参见

MovieClip._rotation、TextField._rotation


Button._soundbuftime

可用性

Flash Player 6。

用法

myButton._soundbuftime

说明

属性（全局）；一个整数，指定在声音开始进入流之前，预先缓冲的秒数。

注意：尽管您可以为 Button 对象指定该属性，但它实际上是一个全局属性，因此您只能将它的值指定为
_soundbuftime。有关更多信息，请参见 _soundbuftime。


Button.tabEnabled

可用性

Flash Player 6。

用法

my_btn.tabEnabled

说明

属性；指定 my_btn 是否包含在 Tab 键的自动排序中。默认情况下它是 undefined。

如果 tabEnabled 属性为 undefined 或 true，则该对象包括在 Tab 键的自动排序中。如果
tabIndex 属性也设置为某个值，则该对象也包括在 Tab 键的自定义排序中。如果 tabEnabled 为 false，则即使设置了 tabIndex 属性，该对象也不包括在 Tab 键的自动或自定义排序中。

另请参见

Button.tabIndex、MovieClip.tabEnabled、TextField.tabEnabled


Button.tabIndex

可用性

Flash Player 6。

用法

my_btn.tabIndex

说明

属性；可用于自定义 SWF 文件中对象的 Tab 键排序。可以设置按钮、影片剪辑或文本字段实例的 tabIndex 属性；默认情况下，它为 undefined。

如果 SWF 文件中当前显示的任意对象都包含 tabIndex 属性，则禁用 Tab 键的自动排序，而使用该 SWF 文件中对象的 tabIndex 属性来计算 Tab 键排序。Tab 键的自定义排序仅包括那些具有 tabIndex 属性的对象。

tabIndex 属性可以是非负整数。将根据这些对象的 tabIndex 属性按升序对这些对象进行排序。tabIndex 值为 1 的对象位于 tabIndex 值为 2 的对象之前。如果两个对象具有相同的
tabIndex 值，则在 Tab 键排序中哪个对象在前面是未定义的。

由 tabIndex 属性定义的 Tab 键的自定义排序是平构 的。这意味着不考虑 SWF 文件中对象的层次结构关系。SWF 文件中具有 tabIndex 属性的所有对象都排入 Tab 键顺序中，而 Tab 键顺序由 tabIndex 值的顺序确定。如果两个对象具有相同的 tabIndex 值，则哪个对象在前面是不确定的。多个对象不应使用相同的 tabIndex 值。

另请参见

Button.tabEnabled、MovieClip.tabChildren、MovieClip.tabEnabled、
MovieClip.tabIndex、TextField.tabIndex


Button._target

可用性

Flash Player 6。

用法

myButton._target

说明

属性（只读）；返回 my_btn 指定的按钮实例的目标路径。

另请参见

targetPath


Button.trackAsMenu

可用性

Flash Player 6。

用法

my_btn.trackAsMenu

说明

属性；指示其它按钮或影片剪辑是否可接收鼠标按钮释放事件的布尔值。这将允许您创建菜单。您可以对任何按钮或影片剪辑对象设置 trackAsMenu 属性。如果 trackAsMenu 属性未定义，则默认行为是 false。

可以在任何时间更改 trackAsMenu 属性；修改后的按钮会立即采用新的行为。

另请参见

MovieClip.trackAsMenu


Button._url

可用性

Flash Player 6。

用法

my_btn._url

说明

属性（只读）；获取创建按钮的 SWF 文件的 URL。


Button.useHandCursor

可用性

Flash Player 6。

用法

my_btn.useHandCursor

说明

属性；一个布尔值，当设置为 true（默认值）时，指示在用户用鼠标指针滑过按钮上方时是否显示手形光标（手指形）。如果将该属性设置为 false，则将改用箭头光标。

可以在任何时间更改 useHandCursor 属性；修改后的按钮会立即采用新的光标行为。可以从原型对象读出 useHandCursor 属性。


Button._visible

可用性

Flash Player 6。

用法

my_btn._visible

说明

属性；一个布尔值，指示由 my_btn 指定的按钮是否可见。不可见的按钮（将 _visible 属性设置为 false）被禁用。

另请参见

MovieClip._visible、TextField._visible


Button._width

可用性

Flash Player 6。

用法

my_btn._width

说明

属性；以像素为单位的按钮的宽度。

示例

下面的示例设置一个按钮的高度和宽度属性。

my_btn._width=200;
my_btn._height=200;

另请参见

MovieClip._width


Button._x

可用性

Flash Player 6。

用法

my_btn._x

说明

属性；一个设置按钮 x 坐标（该坐标相对于父级影片剪辑的本地坐标）的整数。如果按钮在主时间轴上，则其坐标系统将舞台的左上角作为 (0, 0)。如果按钮在具有变形的影片剪辑内，则该按钮位于包含它的影片剪辑的本地坐标系统中。因此，对于逆时针旋转 90 度的影片剪辑，其中的按钮将继承逆时针旋转 90 度的坐标系统。按钮的坐标指的是注册点的位置。

另请参见

Button._xscale、Button._y、Button._yscale


Button._xmouse

可用性

Flash Player 6。

用法

my_btn._xmouse

说明

属性（只读）；返回鼠标位置的 x 坐标（相对于按钮）。

另请参见

Button._ymouse


Button._xscale

可用性

Flash Player 6。

用法

my_btn._xscale

说明

属性；从按钮注册点开始应用的按钮水平缩放比例（以百分比表示）。默认注册点为 (0,0)。

缩放本地坐标系统将影响 _x 和 _y 属性的设置，这些设置是以像素为单位定义的。例如，如果父级影片剪辑缩放到 50%，则设置 _x 属性将移动按钮中的对象，距离为在 SWF 文件为 100% 时其像素数的一半。

另请参见

Button._x、Button._y、Button._yscale


Button._y

可用性

Flash Player 6。

用法

my_btn._y

说明

属性；按钮的 y 坐标，该坐标相对于父级影片剪辑的本地坐标。如果按钮在主时间轴上，则其坐标系统将舞台的左上角作为 (0, 0)。如果按钮在具有变形的另一个影片剪辑内，则该按钮将位于包含它的影片剪辑的本地坐标系统中。因此，对于逆时针旋转 90 度的影片剪辑，其中的按钮将继承逆时针旋转 90 度的坐标系统。按钮的坐标指的是注册点的位置。

另请参见

Button._x、Button._xscale、Button._yscale


Button._ymouse

可用性

Flash Player 6。

用法

my_btn._ymouse

说明

属性（只读）；指示鼠标位置的 y 坐标（相对于按钮）。

另请参见

Button._xmouse


Button._yscale

可用性

Flash Player 6。

用法

my_btn._yscale

说明

属性；从按钮注册点开始应用的按钮垂直缩放比例（以百分比表示）。默认注册点为 (0,0)。

另请参见

Button._y、Button._x、Button._xscale


call()

可用性

Flash Player 4。在 Flash 5 中已不鼓励使用此动作，Macromedia 建议您改用 function 动作。

用法

call(frame)

参数

frame 时间轴中帧的标签或编号。

返回

无。

说明

不鼓励使用的动作；执行被调用帧中的脚本，而不将播放头移动到该帧。在脚本执行后，局部变量将消失。

另请参见

function、Function.call()


Camera 类

可用性

Flash Player 6。

说明

Camera 类主要用于 Macromedia Flash Communication Server，但也可以用在其它地方，只是在使用上受到限制。

可通过 Camera 类捕获来自连接到计算机（该计算机应运行 Macromedia Flash Player）的摄像机的视频，例如监视来自连接到本地系统的 Web 摄像机的视频输入信号。（Flash 提供类似的音频功能；有关更多信息，请参见 Microphone 类条目。）

若要创建或引用 Camera 对象，请使用 Camera.get()。

Camera 类的方法摘要

方法 | 说明
Camera.get() | 返回默认或指定的 Camera 对象；如果没有可用的摄像机，则返回 null。
Camera.setMode() | 设置摄像机捕获模式的各个方面，包括高度、宽度和每秒播放的帧数。
Camera.setMotionLevel() | 指定调用 Camera.onActivity(true) 所需的运动量，并且指定在没有运动多长时间后才会调用 Camera.onActivity(false)。
Camera.setQuality() | 一个整数，指定当前输出视频输入信号可以使用的最大带宽量，以每秒字节数为单位。

Camera 类的属性摘要

属性（只读） | 说明
Camera.activityLevel | 所检测的摄像机的运动量。
Camera.bandwidth | 当前输出视频输入信号可以使用的最大带宽量，以字节为单位。
Camera.currentFps | 摄像机捕获数据的速率，以每秒帧数为单位。
Camera.fps | 您希望摄像机捕获数据的速率，以每秒帧数为单位。
Camera.height | 当前捕获高度，以像素为单位。
Camera.index | 在 Camera.names 返回的数组中反映的摄像机的索引。
Camera.motionLevel | 调用 Camera.onActivity(true) 所需的运动量。
Camera.motionTimeOut | 摄像机停止检测运动的时刻和调用 Camera.onActivity(false) 的时刻之间相差的毫秒数。
Camera.muted | 一个布尔值，指定用户是允许还是拒绝访问摄像机。
Camera.name | 摄像机硬件指定的摄像机的名称。
Camera.names | Class 属性；一个字符串数组，反映所有可用视频捕获设备（包括显卡和摄像机在内）的名称。
Camera.quality | 一个整数，指定所需的图片品质级别，该级别由应用于每一视频帧的压缩量确定。
Camera.width | 当前捕获宽度，以像素为单位。

Camera 类的事件处理函数摘要

事件处理函数 | 说明
Camera.onActivity | 在摄像机开始或停止检测运动时调用。
Camera.onStatus | 当用户允许或拒绝访问摄像机时调用。

Camera 类的构造函数

请参见 Camera.get()。


Camera.activityLevel

可用性

Flash Player 6。

用法

active_cam.activityLevel

说明

只读属性；指定摄像机检测的运动量的数值。该数值的范围是从 0（检测到没有运动）到 100（检测到大范围运动）。该属性的值可以帮助您确定是否需要将设置传递到
Camera.setMotionLevel()。

如果摄像机可用，但却因为尚未调用 Video.attachVideo() 而未被使用，则此属性设置为 -1。

如果只传送未压缩的本地视频，则只有在为 Camera.onActivity 事件处理函数分配函数后才能设置此属性。否则，它是未定义的。

另请参见

Camera.motionLevel、Camera.setMotionLevel()


Camera.bandwidth

可用性

Flash Player 6。

用法

active_cam.bandwidth

说明

只读属性；一个整数，指定当前输出视频输入信号可以使用的最大带宽量，以字节为单位。值 0
意味着，Flash 视频可以使用所需数量的带宽来保持指定的帧品质。

若要设置此属性，请使用 Camera.setQuality()。

示例

下面的示例在摄像机带宽为 32 KB 或更高的情况下加载另一个 SWF 文件。

if(myCam.bandwidth >= 32768){
  loadMovie("splat.swf",_root.hiddenvar);
}

另请参见

Camera.setQuality()


Camera.currentFps

可用性

Flash Player 6。

用法

active_cam.currentFps

说明

只读属性；摄像机捕获数据的速率，以每秒帧数为单位。无法设置此属性；不过，您可以使用
Camera.setMode() 方法设置相关属性 Camera.fps，该属性指定您希望摄像机捕获数据的最大帧速率。

另请参见

Camera.fps、Camera.setMode()


Camera.fps

可用性

Flash Player 6。

用法

active_cam.fps

说明

只读属性；您希望摄像机捕获数据的最大速率，以每秒帧数为单位。可能的最大速率取决于摄像机的性能；即，如果摄像机不支持您在此处设置的值，则不会达到该帧速率。

  • 若要为该属性设置所需值，请使用 Camera.setMode()。
  • 若要确定摄像机当前捕获数据的速率，请使用 Camera.currentFps 属性。

示例

下面的示例将活动摄像机的 fps 速率 myCam.fps 设置为用户的文本框所提供的值
this.config.txt_fps。

if (this.config.txt_fps != undefined) {
     myCam.setMode(myCam.width, myCam.height, this.config.txt_fps, false);
}

注意：setMode 函数不保证满足所要求的 fps 设置；该函数设置所要求的 fps 或可用的最快 fps。

另请参见

Camera.currentFps、Camera.setMode()


Camera.get()

可用性

Flash Player 6。

用法

Camera.get([index])

注意：正确的语法为 Camera.get()。若要将 Camera 对象分配给一个变量，请使用类似
active_cam = Camera.get() 的语法。

参数

index 一个从零开始的可选整数，指定要获取的摄像机，该整数根据 Camera.names 属性返回的数组确定。若要获取默认的摄像机（建议用于大多数应用程序），请省略此参数。

返回

  • 如果未指定 index，则此方法返回对默认摄像机的引用；或者，如果默认摄像机正由其它应用程序使用，则此方法返回对第一个可用摄像机的引用。（如果安装了多个摄像机，则用户可以在 Flash Player 的“摄像机设置”面板中指定默认的摄像机。）如果没有可用摄像机或没有安装任何摄像机，则该方法返回 null。
  • 如果指定 index，则该方法返回对请求的摄像机的引用；如果请求的摄像机不可用，则返回 null。

说明

方法；为捕获视频返回对 Camera 对象的引用。若要实际开始捕获视频，必须将 Camera 对象附加到 Video 对象（请参见 Video.attachVideo()）。

与使用 new 构造函数创建的对象不同，对 Camera.get() 的多个调用引用同一摄像机。因此，如果您的脚本包含 first_cam = Camera.get() 和 second_cam = Camera.get() 这两行，则
first_cam 和 second_cam 引用同一（默认）摄像机。

通常，不应传递 index 的值；只使用 Camera.get() 来返回对默认摄像机的引用。通过“摄像机设置”面板（将在本节的后面进行讨论），用户可以指定 Flash 应使用的默认摄像机。如果您传递 index 的值，则您可能会尝试引用非用户指定的其它摄像机。您可能在极少的情况下使用
index；例如，您的应用程序同时从两个摄像机捕获视频。

在一个 SWF 文件尝试访问 Camera.get() 返回的摄像机时，Flash Player 显示“隐私”对话框，用户可从中选择是允许还是拒绝对摄像机的访问。（请确保舞台大小至少为 215 x 138 像素；这是 Flash 显示该对话框所需的最小大小。）

当用户对此对话框做出响应时，Camera.onStatus 事件处理函数将返回指示用户响应的信息对象。若要不处理此事件处理函数就确定用户是拒绝还是允许对摄像机的访问，请使用
Camera.muted 属性。

用户也可以为特定域指定永久隐私设置，方法是在 SWF 文件播放过程中右击 (Windows) 或按住 Control 键单击 (Macintosh)，选择“设置”，打开“隐私”面板，然后选择“记住”。

您不能使用动作脚本来设置用户的 Allow 或 Deny 值，但可以通过使用 System.showSettings(0) 来为用户显示“隐私”面板。如果用户选择“记住”，则 Flash Player 不再为该域的影片显示“隐私”对话框。

如果 Camera.get 返回 null，则摄像机正由其它应用程序使用，或者在系统上没有安装任何摄像机。若要确定是否安装了任何摄像机，请使用 Camera.names.length。若要显示 Flash Player 的“摄像机设置”面板（让用户选择由 Camera.get() 引用的摄像机），请使用
System.showSettings(3)。

扫描硬件以找到摄像机需要花一些时间。在 Flash 找到至少一个摄像机后，在该播放器实例的生存期内不再扫描硬件。不过，如果 Flash 没有找到任何摄像机，则它在每次调用 Camera.get 时都进行扫描。这在用户忘记连接摄像机时非常有用；如果您的 SWF 文件提供调用 Camera.get 的“重试”按钮，则用户不必重新启动该 SWF 文件，Flash 即可找到摄像机。

示例

下面的示例在舞台上名为 my_video 的 Video 对象内本地捕获和显示视频。

var my_cam = Camera.get();
my_video.attachVideo(myCam);

另请参见

Camera.index、Camera.muted、Camera.names、Camera.onStatus、Camera.setMode()、
System.showSettings()、Video.attachVideo()


Camera.height

可用性

Flash Player 6。

用法

active_cam.height

说明

只读属性；当前的捕获高度，以像素为单位。若要设置此属性的值，请使用
Camera.setMode()。

示例

以下代码行用当前高度值更新用户界面中的文本框。

my_txt._height = myCam.height;

另请参见有关 Camera.setMode() 的示例。

另请参见

Camera.setMode()、Camera.width


Camera.index

可用性

Flash Player 6。

用法

active_cam.index

说明

只读属性；一个从零开始的整数，指定 Camera.names 返回的数组中反映的摄像机的索引。

示例

下面的示例获具有值 index 的摄像机。

my_cam = Camera.get(index);

另请参见

Camera.get()、Camera.names


Camera.motionLevel

可用性

Flash Player 6。

用法

active_cam.motionLevel

说明

只读属性；指定调用 Camera.onActivity(true) 所需的运动量的数值。可接受的值的范围是从 0 到 100。默认值为 50。

无论 motionLevel 属性的值是多少都能显示视频。有关更多信息，请参见
Camera.setMotionLevel()。

另请参见

Camera.activityLevel、Camera.onActivity、Camera.onStatus、
Camera.setMotionLevel()


Camera.motionTimeOut

可用性

Flash Player 6。

用法

active_cam.motionTimeOut

说明

只读属性；摄像机停止检测运动的时刻和调用 Camera.onActivity (false) 的时刻之间相差的毫秒数。默认值为 2000（2 秒）。

若要设置此值，请使用 Camera.setMotionLevel()。

示例

下面的示例将摄像机停止检测运动的时刻和调用 Camera.onActivity (false) 的时刻之间相差的毫秒数设置为 1000 毫秒，即 1 秒。

if(my_cam.motionTimeOut >= 1000){
  my_cam.setMotionLevel(myCam.motionLevel, 1000);
}

另请参见

Camera.onActivity、Camera.setMotionLevel()


Camera.muted

可用性

Flash Player 6。

用法

active_cam.muted

说明

只读属性；一个布尔值，指定用户在 Flash Player 的“隐私设置”面板中是拒绝对摄像机的访问 (true) 还是允许访问 (false)。当此值出现更改时，将调用 Camera.onStatus。有关更多信息，请参见 Camera.get()。

另请参见

Camera.get()、Camera.onStatus


Camera.name

可用性

Flash Player 6。

用法

active_cam.name

说明

只读属性；一个字符串，指定由摄像机硬件返回的当前摄像机的名称。

示例

下面的示例在“输出”面板中显示默认摄像机的名称。在 Windows 中，该名称与“扫描仪和摄像机”属性表中列出的设备名称相同。

my_cam = Camera.get();
trace("The camera name is:" + my_cam.name);

另请参见

Camera.get()、Camera.names


Camera.names

可用性

Flash Player 6。

用法

Camera.names

注意：正确的语法为 Camera.names。若要向变量分配一个返回值，请使用类似 cam_array = Camera.names 的语法。若要确定当前摄像机的名称，请使用 active_cam.name。

说明

只读类属性；获取反映所有可用摄像机名称而不显示 Flash Player 的“隐私设置”面板的字符串数组。此数组的行为与其它任何动作脚本数组的行为相同，隐式提供每一摄像机从零开始的索引以及系统上摄像机的数目（通过 Camera.names.length）。有关更多信息，请参见 Array 类条目。

调用 Camera.names 属性要求全面检查硬件，并且它可能花几秒钟的时间来生成数组。在大多数情况下，您只能使用默认的摄像机。

示例

下面的示例在没有多个可用摄像机的情况下使用默认的摄像机；如果有多个可用摄像机，用户可以选择将哪个摄像机设置为默认摄像机。

cam_array = Camera.names;
if (cam_array.length == 1){
  my_cam = Camera.get();
}
else {
  System.showSettings(3);
  my_cam = Camera.get();
}

另请参见

Camera.get()、Camera.index、Camera.name


Camera.onActivity

可用性

Flash Player 6。

用法

active_cam.onActivity = function(activity) {
  // 此处是您的语句
}

参数

activity 一个布尔值，在摄像机开始检测运动时设置为 true，在摄像机停止检测运动时设置为 false。

返回

无。

说明

事件处理函数；在摄像机开始或停止检测运动时调用。如果要对此事件处理函数做出响应，则必须创建一个函数来处理其 activity 值。

若要指定调用 Camera.onActivity(true) 所需的运动量以及必须经过多少时间没有活动才调用 Camera.onActivity(false)，请使用 Camera.setMotionLevel()。

示例

下面的示例在摄像机开始或停止检测运动时在“输出”面板中显示 true 或 false。

// 假设名为“myVideoObject”的 Video 对象位于舞台上
my_cam = Camera.get();
myVideoObject.attachVideo(my_cam);
my_cam.setMotionLevel(10, 500);
my_cam.onActivity = function(mode)
{
  trace(mode);
}

另请参见

Camera.onActivity、Camera.setMotionLevel()


Camera.onStatus

可用性

Flash Player 6。

用法

active_cam.onStatus = function(infoObject) {
  // 此处是您的语句
}

参数

infoObject 按照状态消息定义的参数。

返回

无。

说明

事件处理函数；在用户允许或拒绝对摄像机的访问时调用。如果您要响应此事件处理函数，必须创建一个函数来处理摄像机生成的信息对象。

当一个 SWF 文件尝试访问摄像机时，Flash Player 显示“隐私”对话框，用户可以从中选择是允许还是拒绝访问。

  • 如果用户允许访问，则 Camera.muted 属性设置为 false，并且用 code 属性为 "Camera.Unmuted"、level 属性为 "Status" 的信息对象调用此处理函数。
  • 如果用户拒绝访问，则 Camera.muted 属性设置为 true，并且用 code 属性为 "Camera.Muted"、level 属性为 "Status" 的信息对象调用此处理函数。

若要不处理此事件处理函数就确定用户是拒绝还是允许对摄像机的访问，请使用 Camera.muted 属性。

注意：如果用户选择永久允许或拒绝对来自指定域的所有 SWF 文件的访问，则对于来自该域的 SWF 文件不调用此处理函数，除非用户以后更改该隐私设置。有关更多信息，请参见 Camera.get()。

示例

下面的事件处理函数无论用户拒绝还是允许对摄像机的访问都显示一个消息。

myCam = Camera.get();
myVideoObject.attachVideo(myCam);
myCam.onStatus = function(infoMsg) {

  if(infoMsg.code == "Camera.Muted"){
    trace("User denies access to the camera");
  }
  else
    trace("User allows access to the camera");
}
// 更改 Allow 或 Deny 值以调用该函数
System.showSettings(0);

另请参见

Camera.get()、Camera.muted


Camera.quality

可用性

Flash Player 6。

用法

active_cam.quality

说明

只读属性；一个指定所需图片品质等级的整数，图片品质等级由应用于每一视频帧的压缩量确定。可接受的品质值范围是从 1（最低品质，最大压缩）到 100（最高品质，无压缩）。默认
值为 0，这意味着图片品质可以根据需要进行变化，以避免超出可用带宽。

另请参见

Camera.setQuality()


Camera.setMode()

可用性

Flash Player 6。

用法

active_cam.setMode(width, height, fps [,favorSize])

参数

width 以像素为单位的请求的捕获宽度。默认值为 160。

height 以像素为单位的请求的捕获高度。默认值为 120。

fps 摄像机捕获数据所用的请求的速率，以每秒帧数为单位。默认值为 15。

favorSize 可选：一个布尔值，指定当摄像机不具有满足指定要求的本机模式时如何控制宽度、高度和帧速率。默认值为 true，这意味着支持保持捕获大小；使用此参数选择与 width 和 height 值最匹配的模式，即使这样做会由于降低了帧速率而对性能有不利影响。若要在对摄像机高度和宽度的影响最小的情况下最大限度地提高帧速率，则为 favorSize 参数传递 false。

返回

无。

说明

方法；将摄像机的捕获模式设置为最符合指定要求的本机模式。如果摄像机不具有匹配您传递的所有参数的本机模式，则 Flash 选择最接近于请求模式的合成的捕获模式。此操作可能涉及裁切图像和删除帧。

默认情况下，Flash 根据需要删除帧，以保持图像大小。若要将删除的帧的数目降至最低，即使这样做意味着减小图像的大小，为 favorSize 参数传递 false。

在选择本机模式时，Flash 尝试尽可能保持请求的纵横比。例如，如果您发出命令
active_cam.setMode(400, 400, 30)，并且摄像机上可用的最大宽度和高度值分别为 320 和 288，Flash 会将宽度和高度值都设置为 288；通过将这些属性设置为相同的值，Flash 保持您请求的 1:1 纵横比。

若要确定 Flash 在选择与您请求的值最匹配的模式后分配给这些属性的值，请使用
Camera.width、Camera.height 和 Camera.fps。

示例

下面的示例基于用户输入（如果用户单击该按钮）设置宽度、高度和 fps。示例中不包括可选参数 favorSize，因为默认值 true 将提供在不降低图片品质的情况下与用户的首选参数最接近的设置，尽管可能会影响 fps。然后用新设置更新用户界面。

on (press)
{
  // 根据用户输入设置宽度、高度和 fps。
  _root.myCam.setMode(txt_width, my_txt._height, txt_fps);

  // 使用新设置更新用户的文本字段。
  _root.txt_width = myCam.width;
  _root.txt_height = myCam.height;
  _root.txt_fps = myCam.fps;
}

另请参见

Camera.currentFps、Camera.fps、Camera.height、Camera.width


Camera.setMotionLevel()

可用性

Flash Player 6。

用法

active_cam.setMotionLevel(sensitivity [, timeout])

参数

sensitivity 一个数值，指定调用 Camera.onActivity (true) 所需的运动量。可接受值的范围是 0 到 100。默认值为 50。

timeout 一个可选的数值参数，指定必须经过多少没有任何活动的时间（按毫秒数计算），
Flash 才会认为活动已停止并调用 Camera.onActivity (false) 事件处理函数。默认值为 2000（2 秒）。

返回

无。

说明

方法；指定调用 Camera.onActivity (true) 所需的运动量。或者，设置必须经过多少没有任何活动的时间（按毫秒数计算），Flash 才会认为运动已停止并调用 Camera.onActivity (false)。

注意：不论 sensitivity 参数的值为如何都可以显示视频。该参数只确定在何时以及哪些情况下调用 Camera.onActivity，而与实际上是捕获还是显示视频无关。

  • 若要完全禁止摄像机检测运动，则为 sensitivity 传递值 100；Camera.onActivity 永远不被调用。（您可能只能将该值用作测试目的，例如暂时禁用在调用 Camera.onActivity 时发生的任何动作集。）
  • 若要确定摄像机当前检测到的运动量，请使用 Camera.activityLevel 属性。

运动敏感度值直接对应于活动值。完全不运动为活动值 0。持续运动为活动值 100。当您未移动时，活动值小于运动敏感度值；当您正移动时，活动值会经常超过运动敏感度值。

此方法的用途与 Microphone.setSilenceLevel() 相同；这两种方法都用于指定应该在何时调用 onActivity 事件处理函数。但是这些方法对发布流具有非常不同的影响：

  • Microphone.setSilenceLevel() 用于优化带宽。在认为音频流被静音时，不发送任何音频数据。所发送的是一个指示静音已启动的消息。
  • Camera.setMotionLevel() 用于检测运动，它不影响带宽用量。即使视频流未检测到运动，仍将发送视频。

示例

下面的示例在视频活动开始或结束时将消息发送到“输出”面板。将值为 30 的运动敏感度值更改为更高或更低的数值，看一下不同的值是如何影响运动检测的。

// 假设名为“myVideoObject”的 Video 对象位于舞台上
c = Camera.get();
x = 0;
function motion(mode)
{
  trace(x + ":模式
  x++;
}
c.onActivity = function(mode) {motion(mode);};
c.setMotionLevel(30, 500);
myVideoObject.attachVideo(c);

另请参见

Camera.activityLevel、Camera.motionLevel、Camera.motionTimeOut、
Camera.onActivity


Camera.setQuality()

可用性

Flash Player 6。

用法

active_cam.setQuality(bandwidth, frameQuality)

参数

bandwidth 一个整数，指定当前输出视频输入信号可以使用的最大带宽量，以每秒字节数为单位。若要指定 Flash 视频可以使用所需的任何数量的带宽来保持 frameQuality 的值，则为 bandwidth 传递 0。默认值为 16384。

frameQuality 一个指定所需的图片品质级别的整数，该图片品质级别由应用于每一视频帧的压缩量确定。可接受的值范围从 1（最低品质，最大压缩）到 100（最高品质，无压缩）。若要指定图片品质可以根据需要进行变化，以避免超出带宽，则为 frameQuality 传递 0。默认值为 0。

返回

无。

说明

方法；设置每秒带宽的最大量或者当前输出视频输入信号的所需图片品质。此方法通常只在您使用 Flash Communication Server 传输视频时适用。

使用此方法指定输出视频输入信号的哪一方面对于您的应用程序更重要：是带宽使用率还是图片品质。

  • 若要指示带宽使用率更为重要，则为 bandwidth 传递一个值并且为 frameQuality 传递值 0。Flash 将在指定的带宽内以可能的最高品质传输视频。如有必要，Flash 将降低图片品质以避免超出指定的带宽。通常，随着运动的增加，品质将降低。
  • 若要指示品质最重要，则为 bandwidth 传递值 0 并为 frameQuality 传递一个数值。Flash 将根据需要使用尽量多的带宽来保持指定的品质。如有必要，Flash 将降低帧速率以保持图片品质。通常，随着运动的增加，带宽的使用率也将增加。
  • 若要指定带宽和品质同等重要，则为这两个参数都传递数值。Flash 将传输达到指定品质并且不超过指定带宽的视频。如有必要，Flash 将降低帧速率以在不超出指定的带宽的情况下保持图片品质。

示例

下面的示例举例说明如何使用此方法来控制带宽使用率和图片品质。

// 确保发送视频的速率不超过 8192（8K/秒），
active_cam.setQuality(8192.0);

// 确保发送视频的速率不超过 8192（8K/秒），
// 而品质最低为 50
active_cam.setQuality(8192.50);

// 确保最低品质为 50，无论采用多大的带宽
active_cam.setQuality(0,50);

另请参见

Camera.bandwidth、Camera.quality


Camera.width

可用性

Flash Player 6。

用法

active_cam.width

说明

只读属性；以像素为单位的当前捕获宽度。若要为该属性设置所需值，请使用
Camera.setMode()。

示例

下面的代码行用当前宽度值更新用户界面中的文本框。

myTextField.text=myCam.width;

另请参见有关 Camera.setMode() 的示例。

另请参见

Camera.height


case

可用性

Flash Player 4。

用法

case expression:statements

参数

expression 任何表达式。

statements 任何语句。

返回

无。

说明

语句；定义用于 switch 动作的条件。如果 case 关键字后的 expression 参数在使用全等 (===) 的情况下等于 switch 动作的 expression 参数，则执行 statements 参数中的语句。

如果在 switch 语句外部使用 case 动作，则将产生错误，脚本不能编译。

另请参见

break、default、===（全等）、switch


chr

可用性

Flash Player 4。不鼓励在 Flash 5 中使用该函数，而推荐使用 String.fromCharCode()。

用法

chr(number)

参数

number ASCII 码数字。

返回

无。

说明

字符串函数；将 ASCII 码数字转换为字符。

示例

下面的示例将数字 65 转换为字母 A，并将其分配给变量 myVar。

myVar = chr(65);

另请参见

String.fromCharCode()


class

可用性

Flash Player 6。

用法

[dynamic] class className  [ extends superClass ]
              [ implements interfaceName [, interfaceName... ] ]
{
  // 此处为类定义
}

注意：若要使用此关键字，必须在 FLA 文件的“发布设置”对话框的“Flash”选项卡上指定“动作脚本 2.0”和“Flash Player 6”或更高版本。仅支持在外部脚本文件中使用此关键字，而不支持在用“动作”面板编写的脚本中使用此关键字。

参数

className 类的全限定名。

superClass 可选;className 扩展（继承自）的类的名称。

interfaceName 可选；其 className 方法必须实现的接口的名称。

说明

语句；定义一个自定义类，通过该自定义类可以实例化共享您定义的方法和属性的对象。例如，如果您正开发一个发票跟踪系统，则可以创建一个发票类，它定义每一发票应具有的所有方法和属性。然后您可以使用 new invoice() 命令来创建发票对象。

该类的名称必须与包含该类的外部文件的名称相同。例如，如果您将一个类命名为 Student，则定义该类的文件必须被命名为 Student.as。

该类名称在声明该类的文件内必须是全限定的；即，该类名称必须反映存储它的目录。例如，要创建存储在 myClasses/education/curriculum 目录中的名为 RequiredClass 的类，您必须按如下所示在 RequiredClass.as 文件中声明该类：

class myClasses.education.curriculum.RequiredClass {
}

因此，最好在开始创建类之前就计划好您的目录结构。否则，如果您在创建类文件之后决定移动它们，就将不得不修改类声明语句以反映其新位置。

您不能嵌套类定义；即，不能在一个类定义内定义其它类。

若要指示对象可在运行时添加和访问动态属性，应在类语句前面放置 dynamic 关键字。若要基于接口创建类，请使用 implements 关键字。若要创建一个类的子类，请使用 extends 关键字。（某一类只能扩展一个类，但可以实现多个接口。）您可以在一个语句中使用 implements 和
extends。

class C implements Interface_i, Interface_j    //可以
class C extends Class_d implements Interface_i, Interface_j    // 可以
class C extends Class_d, Class_e    // 不可以

有关更多信息，请参见创建和使用类。

示例

下面的示例创建一个名为 Plant 的类。其构造函数采用两个参数。

// 文件名 Plant.as
class Plant {
  // 定义属性名称和类型
  var leafType:String;
  var bloomSeason:String;
  // 以下行是构造函数
  // 因为它具有与类相同的名称
  function Plant (param_leafType:String, param_bloomSeason:String) {
      // 在创建新的 Plant 对象时向属性分配传递的值
    leafType = param_leafType;
    bloomSeason = param_bloomSeason;
  }
  // 创建返回属性值的方法，因为最佳实践
  // 建议直接引用一个类的属性
  function getLeafType():String {return leafType};
  function getBloomSeason():String {return bloomSeason};
}

在外部脚本文件或“动作”面板中，使用 new 运算符创建一个 Plant 对象。

var pineTree:Plant = new Plant("Evergreen","N/A");
// 确认参数已正确传递
trace(pineTree.getLeafType());
trace(pineTree.getBloomSeason());

另请参见

dynamic、extends、implements、interface、new


clearInterval()

可用性

Flash Player 6。

用法

clearInterval( intervalID )

参数

intervalID 从对 setInterval() 的调用返回的对象。

返回

无。

说明

函数；清除对 setInterval() 的调用。

示例

下面的示例首先设置一个间隔调用，然后将其清除：

function callback() {
        trace("interval called");
}
var intervalID;
intervalID = setInterval( callback, 1000 );

// 有时稍后
clearInterval( intervalID );

另请参见

setInterval()


Color 类

可用性

Flash Player 5。

说明

通过 Color 类，您可以设置影片剪辑的 RGB 颜色值和颜色转换，并可以在设置后获取这些值。

必须使用构造函数 new Color() 创建 Color 对象后，才可调用其方法。

Color 类的方法摘要

方法 | 说明
Color.getRGB() | 返回由最后一次 setRGB() 调用设置的 RGB 数值。
Color.getTransform() | 返回由最后一次 setTransform() 调用设置的转换信息。
Color.setRGB() | 为 Color 对象设置 RGB 值的十六进制表示形式。
Color.setTransform() | 为 Color 对象设置颜色转换。

Color 类的构造函数

可用性

Flash Player 5。

用法

new Color(target)

参数

target 影片剪辑的实例名称。

返回

无。

说明

构造函数；为由 target 参数指定的影片剪辑创建 Color 对象。然后可使用该 Color 对象的方法来更改整个目标影片剪辑的颜色。

示例

以下示例为影片剪辑 my_mc 创建一个名为 my_color 的 Color 对象并设置其 RGB 值：

my_color = new Color(my_mc);
my_color.setRGB(0xff9933);


Color.getRGB()

可用性

Flash Player 5。

用法

my_color.getRGB()

参数

无。

返回

表示指定颜色的 RGB 数字值的数字。

说明

方法；返回由最后一次 setRGB() 调用设置的数字值。

示例

下面的代码获取 Color 对象 my_color 的 RGB 值，将其转换为十六进制字符串，并将其分配给 value 变量。

value = my_color.getRGB().toString(16);

另请参见

Color.setRGB()


Color.getTransform()

可用性

Flash Player 5。

用法

my_color.getTransform()

参数

无。

返回

一个对象，其属性包含指定颜色的当前偏移量和百分比值。

说明

方法；返回由最后一次 Color.setTransform() 调用设置的转换值。

另请参见

Color.setTransform()


Color.setRGB()

可用性

Flash Player 5。

用法

my_color.setRGB(0xRRGGBB)

参数

0xRRGGBB 要设置的十六进制或 RGB 颜色。对于 RR、GG 和 BB，每种代码由两个十六进制数字组成，这些数字指定每种颜色成分的偏移量。0x 告知动作脚本编译器该数字是十六进制数值。

说明

方法；指定 Color 对象的 RGB 颜色。调用此方法将覆盖任何先前的 Color.setTransform() 设置。

返回

无。

示例

此示例设置影片剪辑 my_mc 的 RGB 颜色值。若要查看此代码的工作情况，请将影片剪辑置于实例名称为 my_mc 的舞台上。然后将下面的代码置于主时间轴中的“第 1 帧”上，再选择“控制”>“测试影片”。

my_color = new Color(my_mc);
my_color.setRGB(0x993366);

另请参见

Color.setTransform()


Color.setTransform()

可用性

Flash Player 5。

用法

my_color.setTransform(colorTransformObject)

参数

colorTransformObject 使用 new Object 构造函数创建的对象。Object 类的这一实例必须具有以下指定颜色转换值的属性：ra、rb、ga、gb、ba、bb、aa、ab。这些属性在下面进行了解释。

返回

无。

说明

方法；为 Color 对象设置颜色转换信息。colorTransformObject 参数是通过 new Object 构造函数创建的通用对象。它具有指定颜色的红、绿、蓝和 alpha（透明度）成分百分比和偏移量值的参数，以 0xRRGGBBAA 的格式输入。

颜色转换对象的参数与“高级效果”对话框中的设置相对应，定义如下：

  • ra 是红色成分的百分比（-100 到 100）。
  • rb 是红色成分的偏移量（-255 到 255）。
  • ga 是绿色成分的百分比（-100 到 100）。
  • gb 是绿色成分的偏移量（-255 到 255）。
  • ba 是蓝色成分的百分比（-100 到 100）。
  • bb 是蓝色成分的偏移量（-255 到 255）。
  • aa 是 alpha 的百分比（-100 到 100）。
  • ab 是 alpha 的偏移量（-255 到 255）。

您可按如下形式创建 colorTransformObject 参数：

myColorTransform = new Object();
myColorTransform.ra = 50;
myColorTransform.rb = 244;
myColorTransform.ga = 40;
myColorTransform.gb = 112;
myColorTransform.ba = 12;
myColorTransform.bb = 90;
myColorTransform.aa = 40;
myColorTransform.ab = 70;

您也可使用以下语法来创建 colorTransformObject 参数：

myColorTransform = { ra:?50? rb:?244? ga:?40? gb:?112? ba:?12? bb:?90? aa:?40? ab:?70’}

示例

此示例为目标 SWF 文件创建新 Color 对象，使用上面定义的属性创建名为 myColorTransform 的通用对象，然后使用 setTransform() 方法将 colorTransformObject 传递给一个 Color 对象。若要在 Flash (FLA) 文档中使用此代码，请将其放在主时间轴中的第 1 帧上，然后将影片剪辑置于实例名称为 my_mc 的舞台上，如以下代码所示：

// 为目标 my_mc 创建名为 my_color 的 Color 对象
my_color = new Color(my_mc);
// 使用通用 Object 对象创建名为 myColorTransform
// 的 Color Transform 对象
myColorTransform = new Object();
// 设置 myColorTransform 的值
myColorTransform = { ra:'50', rb:'244', ga:'40', gb:'112', ba:'12', bb:'90', aa:'40', ab: '70'};
// 将 Color Transform 对象与 Color 对象相关联
// 为 my_mc 创建
my_color.setTransform(myColorTransform);


ContextMenu 类

可用性

Flash Player 7。

说明

ContextMenu 类提供对 Flash Player 上下文菜单项的运行时控制，当用户在 Flash Player 中右击 (Windows) 或按住 Control 键单击 (Macintosh) 时，上下文菜单将出现。您可以使用 ContextMenu 类的方法和属性添加自定义菜单项，控制内置菜单项的显示（例如，“放大”和“打印”），或者创建菜单的副本。

您可以将 ContextMenu 对象附加到特定的按钮、影片剪辑或文本字段，也可以附加到整个影片级别。这可以使用 Button、MovieClip 或 TextField 类的 menu 属性来实现。有关 menu 属性的更多信息，请参见 Button.menu、MovieClip.menu 和 TextField.menu。

若要向 ContextMenu 对象添加新的菜单项，请创建一个 ContextMenuItem 对象，然后将该对象添加到 ContextMenu.customItems 数组。有关创建上下文菜单项的更多信息，请参见 ContextMenuItem 类条目。

Flash Player 具有三种类型的上下文菜单：标准菜单（当您在 Flash Player 中右击时出现）、编辑菜单（当您在可选择或可编辑的文本字段上右击时出现）和错误菜单（当 SWF 文件未能加载到 Flash Player 中时出现）。只有标准菜单和编辑菜单才能使用 ContextMenu 类进行修改。

自定义菜单项始终出现在 Flash Player 上下文菜单的顶部，并位于所有可见内置菜单项之上；内置菜单项和自定义菜单项之间由一个分隔条加以分隔。一个上下文菜单包含的自定义菜单项不能超过 15 个。

必须在使用构造函数 new ContextMenu() 创建 ContextMenu 对象之后，才能调用它的方法。

ContextMenu 类的方法概要

方法 | 说明
ContextMenu.copy() | 返回指定 ContextMenu 对象的副本。
ContextMenu.hideBuiltInItems() | 在 Flash Player 上下文菜单中隐藏大多数内置项。

ContextMenu 类的属性概要

属性 | 说明
ContextMenu.builtInItems | 其成员与内置上下文菜单项相对应的对象。
ContextMenu.customItems | 默认情况下未定义的数组，它包含 ContextMenuItem 对象。

ContextMenu 类的事件处理函数概要

属性 | 说明
ContextMenu.onSelect | 在显示菜单之前调用。

ContextMenu 类的构造函数

可用性

Flash Player 7。

用法

new ContextMenu ([callBackFunction])

参数

callBackFunction 对函数的引用，该函数在用户右击或按住 Control 键单击时，但在菜单显示之前被调用。此参数是可选的。

返回

无。

说明

构造函数；创建新的 ContextMenu 对象。或者，您可以在创建该对象时指定事件处理函数的标识符。指定的函数在用户调用上下文菜单时，但在菜单实际显示之前 被调用。在根据应用程序状态或者根据用户右击或按住 Control 键单击的对象类型（影片剪辑、文本字段或按钮）自定义菜单内容时，此函数非常有用。（有关创建事件处理函数的示例，请参见
ContextMenu.onSelect。）

示例

以下示例隐藏上下文菜单中的所有内置对象。（但是，由于不能禁用“设置”和“关于”菜单项，所以它们仍会出现。）

var newMenu = new ContextMenu();
newMenu.hideBuiltInItems();
_root.menu = newMenu;

在此示例中，指定的事件处理函数 menuHandler 根据名为 showItem 的布尔型变量的值启用或禁用自定义菜单项（使用 ContextMenu.customItems 数组）。如果为 false，则禁用自定义菜单项；否则，将其启用。

var showItem = false; // 将其更改为 true 以查看其效果
my_cm = new ContextMenu(menuHandler);
my_cm.customItems.push(new ContextMenuItem("Hello", itemHandler));
function menuHandler(obj, menuObj) {
  if (showItem == false) {
    menuObj.customItems[0].enabled = false;
  } else {
    menuObj.customItems[0].enabled = true;
  }
}
function itemHandler(obj, item) {
}
_root.menu = my_cm;

另请参见

Button.menu、ContextMenu.onSelect、ContextMenu.customItems、
ContextMenu.hideBuiltInItems()、MovieClip.menu、TextField.menu


ContextMenu.builtInItems

可用性

Flash Player 7。

用法

my_cm.builtInItems

说明

属性；具有以下布尔型属性的对象：save、zoom、quality、play、loop、rewind、forward_back 和 print。如果将这些变量设置为 false，则会删除指定 ContextMenu 对象中的相应菜单项。这些属性是可枚举的，并在默认情况下设置为 true。

示例

在此示例中，对于附加到 SWF 文件的根时间轴的 ContextMenu 对象 my_cm，内置“品质”和“打印”菜单项被禁用。

var my_cm = new ContextMenu();
my_cm.builtInItems.quality=false;
my_cm.builtInItems.print=false;
_root.menu = my_cm;

在下一个示例中，for..in 循环枚举通过 ContextMenu 对象 my_cm 的内置菜单项的所有名称和值。

my_cm = new ContextMenu();
for(eachProp in my_cm.builtInItems) {
  var propName = eachProp;
  var propValue = my_cm.builtInItems[propName];
  trace(propName + " :" + propValue;
}


ContextMenu.copy()

可用性

Flash Player 7。

用法

my_cm.copy()

参数

无。

返回

ContextMenu 对象。

说明

方法；创建指定 ContextMenu 对象的副本。该副本继承初始菜单对象的所有属性。

示例

此示例创建其内置菜单项已隐藏的 ContextMenu 对象 my_cm 的副本，并添加带文本“保存
...”的菜单项。然后，它创建 my_cm 的副本，并将其分配给变量 clone_cm，该变量继承初始菜单的所有属性。

my_cm = new ContextMenu();
my_cm.hideBuiltInItems();
my_cm.customItems.push(new ContextMenuItem("Save...", saveHandler);
function saveHandler (obj, menuItem) {
  saveDocument(); // 自定义函数（未显示）
}
clone_cm = my_cm.copy();


ContextMenu.customItems

可用性

Flash Player 7。

用法

my_cm.customItems

说明

属性；ContextMenuItem 对象的数组。数组中的每个对象表示您已经定义的上下文菜单项。使用此属性可添加、删除或修改这些自定义菜单项。

若要添加新的菜单项，请首先创建一个新的 ContextMenuItem 对象，然后将其添加到
menu_mc.customItems 数组（例如，使用 Array.push()）。有关创建新菜单项的更多信息，请参见 ContextMenuItem 类条目。

示例

以下示例新建一个名为 menuItem_cm 的自定义菜单项（其标题为“发送电子邮件”）和一个名为 emailHandler（未显示）的回调处理函数。然后，使用 customItems 数组将新的菜单项添加到 ContextMenu 对象 my_cm。最后，将新菜单附加到名为 email_mc 的影片剪辑。

var my_cm = new ContextMenu();
var menuItem_cm = new ContextMenuItem("Send e-mail", emailHandler);
my_cm.customItems.push(menuItem_cm);
email_mc.menu = my_cm;

另请参见

Button.menu、ContextMenu 类、MovieClip.menu、TextField.menu


ContextMenu.hideBuiltInItems()

可用性

Flash Player 7。

用法

my_cm.hideBuiltInItems()

参数

无。

返回

无。

说明

方法；隐藏指定 ContextMenu 对象中的所有内置菜单项（“设置”除外）。如果 Flash 调试播放器正在运行，则显示“调试”菜单项，但如果 SWF 文件未启用远程调试功能，则该菜单项会变暗。

此方法仅隐藏标准上下文菜单中显示的菜单项；它不影响编辑菜单或错误菜单中显示的菜单项。有关不同菜单类型的更多信息，请参见 ContextMenu 类条目。

此方法通过将 my_cm.builtInItems 的所有布尔型成员设置为 false 来实现其功能。您可以有选择地显示内置菜单项，方法是将它在 my_cm.builtInItems 中的相应成员设置为 true（如以下示例所示）。

示例

以下示例创建其内置菜单项已隐藏（“打印”除外）的新 ContextMenu 对象 my_cm。然后将该菜单对象附加到根时间轴。

my_cm = new ContextMenu();
my_cm.hideBuiltInItems();
my_cm.builtInItems.print = true;
_root.menu = my_cm;


ContextMenu.onSelect

可用性

Flash Player 7。

用法

my_cm.onSelect = function (item:Object, item_menu:ContextMenu) {
  // 此处是您的代码
}

参数

item 对特定对象（影片剪辑、按钮或可选择的文本字段）的引用，当调用 Flash Player 上下文菜单时，该对象位于鼠标指针下，并且该对象的 menu 属性设置为有效的 ContextMenu 对象。

item_menu 对 ContextMenu 对象的引用，该对象分配到 object 的 menu 属性。

返回

无。

说明

事件处理函数；在用户调用 Flash Player 上下文菜单时，但在该菜单实际显示之前调用。这使您可以根据当前的应用程序状态自定义上下文菜单的内容。

您也可以在构造新的 ContextMenu 对象时指定 ContextMenu 对象的回调处理函数。有关更多信息，请参见 ContextMenu 类条目。

示例

以下示例确定对哪种类型的对象调用了上下文菜单。

my_cm = new ContextMenu();
menuHandler = function (obj:Object, menu:ContextMenu) {
  if(obj instanceof MovieClip) {
    trace("Movie clip:" + obj);
  }
  if(obj instanceof TextField) {
    trace("Text field:" + obj);
  }
  if(obj instanceof Button) {
    trace("Button:" + obj);
  }
}
my_cm.onSelect = menuHandler;


ContextMenuItem 类

可用性

Flash Player 7。

说明

使用 ContextMenuItem 类可创建在 Flash Player 上下文菜单中显示的自定义菜单项。每个
ContextMenuItem 对象均具有在上下文菜单中显示的标题（文本）以及在选择菜单项时调用的回调处理函数（函数）。若要向上下文菜单添加新的上下文菜单项，请将其添加到
ContextMenu 对象的 customItems 数组。

您可以启用或禁用特定菜单项，显示或隐藏菜单项，或者更改与菜单项关联的标题或回调处理
函数。

自定义菜单项出现在上下文菜单的顶部，并位于所有内置菜单项之上。自定义菜单项与内置菜单项始终由分隔条隔开。向 Flash Player 上下文菜单添加的自定义菜单项不得超过 15 个。每个菜单项必须至少包含一个可见字符，控制字符、换行符和其它空白字符将被忽略。所有菜单项的长度不得超过 100 个字符。如果菜单项与任何内置菜单项或其它自定义菜单项相同，则无论匹配菜单项是否可见，均会忽略该菜单项。对菜单项进行比较时将忽略大小写、标点和空格。

自定义菜单项中不能出现以下字词：Macromedia、Flash Player、或 设置。

ContextMenuItem 类的方法概要

方法 | 说明
ContextMenuItem.copy() | 返回指定 ContextMenuItem 对象的副本。

ContextMenuItem 类的属性概要

属性 | 说明
ContextMenuItem.caption | 指定菜单项中显示的文本。
ContextMenuItem.enabled | 指定是启用还是禁用菜单项。
ContextMenuItem.separatorBefore | 指定菜单项之上是否应该出现分隔条。
ContextMenuItem.visible | 指定菜单项是否可见。

ContextMenuItem 类的事件处理函数概要

事件处理函数 | 说明
ContextMenuItem.onSelect | 在选择菜单项时调用。

ContextMenuItem 类的构造函数

可用性

Flash Player 7。

用法

new ContextMenuItem(caption, callbackFunction, [ separatorBefore, [ enabled, [ visible ] ] ] )

参数

caption 指定与菜单项关联的文本的字符串。

callbackFunction 您定义的函数，它在选择菜单项时被调用。

separatorBefore 布尔值，指示分隔条是否应该出现在上下文菜单中的特定菜单项之上。此参数是可选的；其默认值为 false。

enabled 布尔值，指示是启用还是禁用上下文菜单中的特定菜单项。此参数是可选的；其默认
值为 true。

visible 布尔值，指示菜单项是否可见。此参数是可选的；其默认值为 true。

返回

无。

说明

构造函数；创建可添加到 ContextMenu.customItems 数组的新 ContextMenuItem 对象。

示例

此示例将“开始”和“停止”菜单项（由分隔条隔开）添加到 ContextMenu 对象 my_cm。当从上下文菜单中选择“开始”时，将调用 startHandler() 函数；当选择“停止”时，将调用
stopHandler()。ContextMenu 对象会应用到根时间轴。

my_cm = new ContextMenu();
my_cm.customItems.push(new ContextMenuItem("Start", startHandler));
my_cm.customItems.push(new ContextMenuItem("Stop", stopHandler, true));
function stopHandler(obj, item) {
  trace("Stopping...");
}
function startHandler(obj, item) {
  trace("Starting...");
}
_root.menu = my_cm;


ContextMenuItem.caption

可用性

Flash Player 7。

用法

menuItem_cmi.caption

说明

属性；指定上下文菜单中显示的菜单项标题（文本）的字符串。

示例

此示例显示“输出”面板中选定菜单项（“暂停游戏”）的标题。

my_cm = new ContextMenu();
menuItem_cmi = new ContextMenuItem("Pause Game", onPause);
my_cm.customItems.
function onPause(obj, menuItem) {
  trace("You chose:" + menuItem.caption);
}


ContextMenuItem.copy()

可用性

Flash Player 7。

用法

menuItem_cmi.copy();

返回

ContextMenuItem 对象。

说明

方法；创建并返回指定 ContextMenuItem 对象的副本。该副本包含初始对象的所有属性。

示例

此示例新建名为 original_cmi 的 ContextMenuItem 对象，其标题文本为“暂停”，回调处理函数设置为函数 onPause。然后，此示例创建 ContextMenuItem 对象的副本，并将其分配给变量 copy_cmi。

original_cmi = new ContextMenuItem("Pause", onPause);
function onPause(obj, menu) {
  _root.stop();
}
original_cmi.visible = false;
copy_cmi = orig_cmi.copy();


ContextMenuItem.enabled

可用性

Flash Player 7。

用法

menuItem_cmi.enabled

说明

属性；指示是启用还是禁用指定菜单项的布尔值。默认情况下，此属性为 true。

示例

以下示例创建新的上下文菜单项，然后禁用该菜单项。

var saveMenuItem = new ContextMenuItem("Save...", doSave);
saveMenuItem.enabled = false;


ContextMenuItem.onSelect

可用性

Flash Player 7。

用法

menuItem_cmi.onSelect = function (obj, menuItem) {
  // 此处是您的语句
}

参数

obj 对用户右击或按住 Control 键单击的影片剪辑（或时间轴）、按钮或可选择（可编辑）文本字段的引用。

menuItem 对选定 ContextMenuItem 对象的引用。

返回

无。

说明

事件处理函数；当从 Flash Player 上下文菜单中选择指定菜单项时调用。指定的回调处理函数会接收两个参数：obj，对在用户调用 Flash Player 上下文菜单时位于鼠标下的对象的调用；
menuItem，对表示选定菜单项的 ContextMenuItem 对象的调用。

示例

以下示例将一个函数分配给名为 start_cmi 的 ContextMenuItem 对象的 onSelect 处理函数。该函数显示选定菜单项的标题。

start_cmi.onSelect = function (obj, item) {
    trace("You choose:" + item.caption);
}

另请参见

ContextMenu.onSelect


ContextMenuItem.separatorBefore

可用性

Flash Player 7。

用法

menuItem_cmi.separatorBefore

说明

属性；指定分隔条是否应该在指定菜单项之上出现的布尔值。默认情况下，此属性为 false。

注意：任何自定义菜单项和内置菜单项之间始终会出现分隔条。

示例

此示例创建三个菜单项，其标签为“打开”、“保存”和“打印”。“保存”和“打印”菜单项由分隔条隔开。然后，将这些菜单项添加到 ContextMenu 对象的 customItems 数组。最后，该菜单被附加到 SWF 文件的根时间轴上。

my_cm = new ContextMenu();
open_cmi = new ContextMenuItem("Open", itemHandler);
save_cmi = new ContextMenuItem("Save", itemHandler);
print_cmi = new ContextMenuItem("Print", itemHandler);
print_cmi.separatorBefore = true;
my_cm.customItems.push(open_cmi, save_cmi, print_cmi);
function itemHandler(obj, menuItem) {
    trace("You chose:" + menuItem.caption);
};
_root.menu = my_cm;

另请参见

ContextMenu.onSelect


ContextMenuItem.visible

可用性

Flash Player 7。

用法

menuItem_cmi.visible

说明

属性；指示当显示 Flash Player 上下文菜单时指定菜单项是否可见的布尔值。默认情况下，此属性为 true。


continue

可用性

Flash Player 4。

用法

continue

参数

无。

返回

无。

说明

语句；出现在几种类型的循环语句中；它在每种类型的循环中的行为方式各不相同。

在 while 循环中，continue 可使 Flash 解释程序跳过循环体的其余部分，并转到循环的顶端（在该处进行条件测试）。

在 do while 循环中，continue 可使 Flash 解释程序跳过循环体的其余部分，并转到循环的底端（在该处进行条件测试）。

在 for 循环中，continue 可使 Flash 解释程序跳过循环体的其余部分，并转而计算 for 循环的后表达式 (post-expression)。

在 for..in 循环中，continue 可使 Flash 解释程序跳过循环体的其余部分，并跳回循环的顶端（在这里处理下一个枚举值）。

另请参见

do while、for、for..in、while


CustomActions 类

可用性

Flash Player 6。

说明

CustomActions 类的方法使得在 Flash 创作工具中播放的 SWF 文件可以管理任何用该创作工具注册的自定义动作。SWF 文件可安装和卸载自定义动作，获取自定义动作的 XML 定义，以及获取已注册自定义动作的列表。

您可使用这些方法来生成属于 Flash 创作工具扩展功能的 SWF 文件。例如，这样的扩展功能可使用“Flash 应用程序协议”定位 UDDI 储备库，并将 Web 服务下载到“动作”工具箱。

CustomActions 类的方法摘要

方法 | 说明
CustomActions.get() | 读取自定义动作 XML 定义文件的内容。
CustomActions.install() | 安装新的自定义动作 XML 定义文件。
CustomActions.list() | 返回所有已注册自定义动作的列表。
CustomActions.uninstall() | 删除自定义动作 XML 定义文件。


CustomActions.get()

可用性

Flash Player 6。

用法

CustomActions.get(customActionsName)

参数

customActionsName 要获取的自定义动作定义的名称。

返回

如果找到自定义动作的 XML 定义，则返回字符串，否则，返回 undefined。

说明

方法；读取名为 customActionsName 的自定义动作 XML 定义文件的内容。

定义文件的名称必须是简单文件名，没有 .xml 文件扩展名，也没有任何目录分隔符（“:”、“/”或“\”）。

如果找不到由 customActionsName 指定的定义文件，则返回一个 undefined 值。如果找到了由 customActionsName 参数指定的自定义动作 XML 定义，则该定义将被完整地读取，并以字符串形式返回。


CustomActions.install()

可用性

Flash Player 6。

用法

CustomActions.install(customActionsName, customXMLDefinition)

参数

customActionsName 要安装的自定义动作定义的名称。

customXMLDefinition 要安装的 XML 定义的文本。

返回

如果安装过程中发生错误，则返回布尔值 false；否则，返回布尔值 true，指示该自定义动作已成功安装。

说明

方法；安装由 customActionsName 参数指示的新自定义动作 XML 定义文件。该文件的内容由字符串 customXMLDefinition 指定。

定义文件的名称必须是简单文件名，没有 .xml 文件扩展名，也没有任何目录分隔符（“:”、“/”或“\”）。

如果已存在名为 customActionsName 的自定义动作文件，则该文件将被覆盖。

如果调用此方法时不存在目录 Configuration/ActionsPanel/CustomActions，则将创建该目录。


CustomActions.list()

可用性

Flash Player 6。

用法

CustomActions.list()

参数

无。

返回

一个数组。

说明

方法；返回一个 Array 对象，该对象包含 Flash 创作工具中所有已注册自定义动作的名称。该数组的元素均是简单名称，没有 .xml 文件扩展名，并且没有任何目录分隔符（例如，“:”、“/”或“\”）。如果没有已注册的自定义动作，则 list() 将返回一个长度为零的数组。如果发生错误，list() 将返回值 undefined。


CustomActions.uninstall()

可用性

Flash Player 6。

用法

CustomActions.uninstall(customActionsName)

参数

customActionsName 要卸载的自定义动作定义的名称。

返回

如果没有找到名为 customActionsName 的任何自定义动作，则返回布尔值 false。如果自定义动作被成功删除，则返回值 true。

说明

方法；删除名为 customActionsName 的自定义动作 XML 定义文件。

定义文件的名称必须是简单文件名，没有 .xml 文件扩展名，也没有任何目录分隔符（“:”、“/”或“\”）。


Date 类

可用性

Flash Player 5。

说明

Date 类用于获取相对于通用时间（格林尼治平均时，现在叫做通用时间或 UTC）或相对于运行 Flash Player 的操作系统的日期和时间值。Date 类的方法不是静态的，但仅应用于调用方法时指定的单个 Date 对象。Date.UTC() 方法属于异常，它是一个静态方法。

Date 类以不同的方式处理夏时制，具体方式取决于操作系统和 Flash Player 的版本。在下面的操作系统中，Flash Player 6 及更高版本以这些方式处理夏时制：

  • WindowsóóDate 对象为夏时制自动调整其输出。Date 对象检测在当前区域设置内是否应用
    了夏时制，如果是，它将检测标准的夏时制转换日期和时间。然而，当前有效的转换日期会应用到以前和将来的日期，所以如果该区域设置具有不同的转换日期，则对于以前的日期，夏时制偏差的计算结果可能会不正确。
  • Mac OS XóóDate 对象为夏时制自动调整其输出。Mac OS X 中的时区信息数据库用于确定现在或以前的任何日期或时间是否应该应用夏时制偏差。

在下面的操作系统中，Flash Player 5 处理夏时制方式如下所示：

  • Windowsóó始终采用美国的夏时制规则，在欧洲和采用夏时制但转换时间与美国不同的其它
    区域中，这将造成不正确的转换结果。Flash 能够正确检测出在当前区域设置中是否应用了 DST。

若要调用 Date 类的方法，必须按照本节后面部分所述使用 Date 类的构造函数创建一个 Date 对象。

Date 类的方法摘要

方法 | 说明
Date.getDate() | 按照本地时间返回某天是当月的第几天。
Date.getDay() | 按照本地时间返回某天是周几。
Date.getFullYear() | 按照本地时间返回 4 位数字的年份数。
Date.getHours() | 按照本地时间返回小时值。
Date.getMilliseconds() | 按照本地时间返回毫秒值。
Date.getMinutes() | 按照本地时间返回分钟值。
Date.getMonth() | 按照本地时间返回月份数。
Date.getSeconds() | 按照本地时间返回秒数。
Date.getTime() | 返回自 1970 年 1 月 1 日午夜（通用时间）以来的毫秒数。
Date.getTimezoneOffset() | 以分钟为单位，返回计算机的本地时间和通用时间的差值。
Date.getUTCDate() | 按照通用时间返回某天（日期）是当月的第几天。
Date.getUTCDay() | 按照通用时间返回某天是周几。
Date.getUTCFullYear() | 按照通用时间返回 4 位数字的年份数。
Date.getUTCHours() | 按照通用时间返回小时值。
Date.getUTCMilliseconds() | 按照通用时间返回毫秒值。
Date.getUTCMinutes() | 按照通用时间返回分钟值。
Date.getUTCMonth() | 按照通用时间返回月份数。
Date.getUTCSeconds() | 按照通用时间返回秒数。
Date.getYear() | 按照本地时间返回年份数。
Date.setDate() | 按照本地时间设置某天是当月的第几天。返回以毫秒为单位的新时间。
Date.setFullYear() | 按照本地时间设置完整的年份数。返回以毫秒为单位的新时间。
Date.setHours() | 按照本地时间设置小时值。返回以毫秒为单位的新时间。
Date.setMilliseconds() | 按照本地时间设置毫秒值。 返回以毫秒为单位的新时间。
Date.setMinutes() | 按照本地时间设置分钟值。返回以毫秒为单位的新时间。
Date.setMonth() | 按照本地时间设置月份数。返回以毫秒为单位的新时间。
Date.setSeconds() | 按照本地时间设置秒数。返回以毫秒为单位的新时间。
Date.setTime() | 以毫秒为单位设置日期。返回以毫秒为单位的新时间。
Date.setUTCDate() | 按照通用时间设置日期。返回以毫秒为单位的新时间。
Date.setUTCFullYear() | 按照通用时间设置年份数。返回以毫秒为单位的新时间。
Date.setUTCHours() | 按照通用时间设置小时值。返回以毫秒为单位的新时间。
Date.setUTCMilliseconds() | 按照通用时间设置毫秒值。返回以毫秒为单位的新时间。
Date.setUTCMinutes() | 按照通用时间设置分钟值。返回以毫秒为单位的新时间。
Date.setUTCMonth() | 按照通用时间设置月份数。返回以毫秒为单位的新时间。
Date.setUTCSeconds() | 按照通用时间设置秒数。返回以毫秒为单位的新时间。
Date.setYear() | 按照本地时间设置年份数。
Date.toString() | 返回一个表示存储在指定 Date 对象中的日期和时间的字符串值。
Date.UTC() | 返回 1970 年 1 月 1 日午夜（通用时间）和指定时间之间的毫秒数。

Date 类的构造函数

可用性

Flash Player 5。

用法

new Date()
new Date(year, month [, date [, hour [, minute [, second [, millisecond ]]]]])

参数

year 一个 0 至 99 之间的值，表示 1900 年至 1999 年；如果年份不在上述范围内，则必须指定表示年份的所有 4 位数字。

month 从 0（一月）到 11（十二月）之间的整数。

date 从 1 到 31 之间的整数。此参数是可选的。

hour 从 0（午夜）到 23（深夜 11 点）之间的整数。

minute 从 0 到 59 之间的整数。此参数是可选的。

second 从 0 到 59 之间的整数。此参数是可选的。

millisecond 从 0 到 999 之间的整数。此参数是可选的。

返回

无。

说明

对象；构造一个新的 Date 对象，该对象保存当前日期和时间或指定的日期。

示例

下面的示例获取当前日期和时间。

now_date = new Date();

以下示例为 Gary 的生日（1974 年 8 月 12 日）创建一个新的 Date 对象。（由于月份参数从零开始，所以此示例使用 7 而不是 8 作为月份。）

garyBirthday_date = new Date (74, 7, 12);

以下示例创建一个新的 Date 对象，连接 Date.getMonth()、Date.getDate() 和
Date.getFullYear() 的返回值，并在变量 date_str 所指定的文本字段中显示这些值。

today_date = new Date();
date_str = ((today_date.getMonth() + 1) + "/" + today_date.getDate() + "/" + today_date.getFullYear());


Date.getDate()

可用性

Flash Player 5。

用法

my_date.getDate()

参数

无。

返回

一个整数。

说明

方法；按照本地时间返回指定 Date 对象中表示日期的值（一个 1 至 31 之间的整数）。本地时间由运行 Flash Player 的操作系统确定。


Date.getDay()

可用性

Flash Player 5。

用法

my_date.getDay()

参数

无。

返回

一个整数。

说明

方法；按照本地时间返回指定 Date 对象中表示周几的值（0 代表星期日，1 代表星期一，依此类推）。本地时间由运行 Flash Player 的操作系统确定。


Date.getFullYear()

可用性

Flash Player 5。

用法

my_date.getFullYear()

参数

无。

返回

一个整数。

说明

方法；按照本地时间返回指定 Date 对象中的完整年份数（一个 4 位数，例如 2000）。本地时间由运行 Flash Player 的操作系统确定。

示例

下面的示例使用构造函数创建一个新的 Date 对象，并将 getFullYear() 方法返回的值发送到“输出”面板：

my_date = new Date();
trace(my_date.getFullYear());


Date.getHours()

可用性

Flash Player 5。

用法

my_date.getHours()

参数

无。

返回

一个整数。

说明

方法；按照本地时间返回指定 Date 对象的小时值（0 至 23 之间的整数）。本地时间由运行 Flash Player 的操作系统确定。


Date.getMilliseconds()

可用性

Flash Player 5。

用法

my_date.getMilliseconds()

参数

无。

返回

一个整数。

说明

方法；按照本地时间返回指定 Date 对象中的毫秒值（一个 0 至 999 之间的整数）。本地时间由运行 Flash Player 的操作系统确定。


Date.getMinutes()

可用性

Flash Player 5。

用法

my_date.getMinutes()

参数

无。

返回

一个整数。

说明

方法；按照本地时间返回指定 Date 对象中的分钟数（0 至 59 之间的整数）。本地时间由运行 Flash Player 的操作系统确定。


Date.getMonth()

可用性

Flash Player 5。

用法

my_date.getMonth()

参数

无。

返回

一个整数。

说明

方法；按照本地时间返回指定 Date 对象中的月份数（0 代表一月，1 代表二月，依此类推）。本地时间由运行 Flash Player 的操作系统确定。


Date.getSeconds()

可用性

Flash Player 5。

用法

my_date.getSeconds()

参数

无。

返回

一个整数。

说明

方法；按照本地时间返回指定 Date 对象中的秒钟数（0 至 59 之间的整数）。本地时间由运行 Flash Player 的操作系统确定。


Date.getTime()

可用性

Flash Player 5。

用法

my_date.getTime()

参数

无。

返回

一个整数。

说明

方法；返回指定 Date 对象自 1970 年 1 月 1 日午夜（通用时间）以来的毫秒数。当比较两个或更多个 Date 对象时，使用这种方法表示特定实时时刻。


Date.getTimezoneOffset()

可用性

Flash Player 5。

用法

my_date.getTimezoneOffset()

参数

无。

返回

一个整数。

说明

方法；以分钟为单位，返回计算机的本地时间和通用时间之间的差值。

示例

下面的示例返回 San Francisco 本地夏时制时间和通用时间之间的差值。只有当 Date 对象中定义的日期在夏时制期间到达时，才考虑夏时制因素，将其计入返回结果。

trace(new Date().getTimezoneOffset());
//“输出”面板中显示 420
//（7 小时 * 60 分钟/小时 = 420 分钟）
// 此示例为太平洋夏令时（PDT，GMT-0700）。
// 根据区域设置和一年中时间的不同，结果将有所不同。


Date.getUTCDate()

可用性

Flash Player 5。

用法

my_date.getUTCDate()

参数

无。

返回

一个整数。

说明

方法；按照通用时间返回指定 Date 对象中表示某天是当月第几天的值（1 至 31 之间的整数）。


Date.getUTCDay()

可用性

Flash Player 5。

用法

my_date.getUTCDay()

参数

无。

返回

一个整数。

说明

方法；按照通用时间返回指定 Date 对象中表示周几的值（0 代表星期日，1 代表星期一，依此类推）。


Date.getUTCFullYear()

可用性

Flash Player 5。

用法

my_date.getUTCFullYear()

参数

无。

返回

一个整数。

说明

方法；按照通用时间返回指定 Date 对象中用 4 位数字表示的年份数。


Date.getUTCHours()

可用性

Flash Player 5。

用法

my_date.getUTCHours()

参数

无。

返回

一个整数。

说明

方法；按照通用时间返回指定 Date 对象的小时值。


Date.getUTCMilliseconds()

可用性

Flash Player 5。

用法

my_date.getUTCMilliseconds()

参数

无。

返回

一个整数。

说明

方法；按照通用时间返回指定 Date 对象中的毫秒值。


Date.getUTCMinutes()

可用性

Flash Player 5。

用法

my_date.getUTCMinutes()

参数

无。

返回

一个整数。

说明

方法；按照通用时间返回指定 Date 对象的分钟值。


Date.getUTCMonth()

可用性

Flash Player 5。

用法

my_date.getUTCMonth()

参数

无。

返回

一个整数。

说明

方法；按照通用时间返回指定 Date 对象中的月份数（0 代表一月，1 代表二月，依此类推）。


Date.getUTCSeconds()

可用性

Flash Player 5。

用法

my_date.getUTCSeconds()

参数

无。

返回

一个整数。

说明

方法；按照通用时间返回指定 Date 对象中的秒数。


Date.getYear()

可用性

Flash Player 5。

用法

my_date.getYear()

参数

无。

返回

一个整数。

说明

方法；按照本地时间返回指定 Date 对象中的年份数。本地时间由运行 Flash Player 的操作系统确定。这里的年份是指完整的年份数减去 1900。例如，2000 年表示为 100。

另请参见

Date.getFullYear()


Date.setDate()

可用性

Flash Player 5。

用法

my_date.setDate(date)

参数

date 1 至 31 之间的整数。

返回

一个整数。

说明

方法；按照本地时间为指定的 Date 对象设置表示日期的值，并以毫秒为单位返回新时间。本地时间由运行 Flash Player 的操作系统确定。


Date.setFullYear()

可用性

Flash Player 5。

用法

my_date.setFullYear(year [, month [, date]] )

参数

year 指定年份的一个 4 位数。两位数字的数不代表完整年份数的简写；例如，99 不代表 1999 年，而是表示 99 年。

month 从 0（一月）到 11（十二月）之间的整数。此参数是可选的。

date 从 1 到 31 之间的数字。此参数是可选的。

返回

一个整数。

说明

方法；按照本地时间设置指定 Date 对象的年份数，并以毫秒为单位返回新时间。如果指定了 month 和 date 参数，它们也将被设置为本地时间。本地时间由运行 Flash Player 的操作系统
确定。

调用此方法并不修改指定 Date 对象的其它字段，但如果因调用该方法而导致表示周几的值发生了变化，则 Date.getUTCDay() 和 Date.getDay() 可能报告一个新值。


Date.setHours()

可用性

Flash Player 5。

用法

my_date.setHours(hour)

参数

hour 从 0（午夜）到 23（深夜 11 点）之间的整数。

返回

一个整数。

说明

方法；按照本地时间设置指定 Date 对象中的小时值，并以毫秒为单位返回新时间。本地时间由运行 Flash Player 的操作系统确定。


Date.setMilliseconds()

可用性

Flash Player 5。

用法

my_date.setMilliseconds(millisecond)

参数

millisecond 从 0 到 999 之间的整数。

返回

一个整数。

说明

方法；按照本地时间设置指定 Date 对象中的毫秒值，并以毫秒为单位返回新时间。本地时间由运行 Flash Player 的操作系统确定。


Date.setMinutes()

可用性

Flash Player 5。

用法

my_date.setMinutes(minute)

参数

minute 从 0 到 59 之间的整数。

返回

一个整数。

说明

方法；按照本地时间设置指定 Date 对象中的分钟值，并以毫秒为单位返回新时间。本地时间由运行 Flash Player 的操作系统确定。


Date.setMonth()

可用性

Flash Player 5。

用法

my_date.setMonth(month [, date ])

参数

month 从 0（一月）到 11（十二月）之间的整数。

date 从 1 到 31 之间的整数。此参数是可选的。

返回

一个整数。

说明

方法；用本地时间为指定的 Date 对象设置月份数，并以毫秒为单位返回新时间。本地时间由运行 Flash Player 的操作系统确定。


Date.setSeconds()

可用性

Flash Player 5。

用法

my_date.setSeconds(second)

参数

second 从 0 到 59 之间的整数。

返回

一个整数。

说明

方法；用本地时间为指定的 Date 对象设置表示秒的值，并以毫秒为单位返回新时间。本地时间由运行 Flash Player 的操作系统确定。


Date.setTime()

可用性

Flash Player 5。

用法

my_date.setTime(milliseconds)

参数

milliseconds 整数值，其中 0 表示 GMT 1970 年 1 月 1 日 0:00。

返回

一个整数。

说明

方法；使用自 1970 年 1 月 1 日午夜起的毫秒数为指定的 Date 对象设置日期值，并以毫秒为单位返回新时间。


Date.setUTCDate()

可用性

Flash Player 5。

用法

my_date.setUTCDate(date)

参数

date 1 至 31 之间的整数。

返回

一个整数。

说明

方法；用通用时间为指定的 Date 对象设置日期值，并以毫秒为单位返回新时间。调用此方法并不修改指定 Date 对象的其它字段，但如果因调用该方法导致表示周几的值发生了变化，则 Date.getUTCDay() 和 Date.getDay() 可能会报告一个新值。


Date.setUTCFullYear()

可用性

Flash Player 5。

用法

my_date.setUTCFullYear(year [, month [, date]])

参数

year 指定一个完整 4 位数年份的年份数，例如，2000。

month 从 0（一月）到 11（十二月）之间的整数。此参数是可选的。

date 从 1 到 31 之间的整数。此参数是可选的。

返回

一个整数。

说明

方法；用通用时间为指定的 Date 对象 (my_date) 设置年份数，并以毫秒为单位返回新时间。

还可选用这种方法设置指定 Date 对象所表示的月份和日期值。调用此方法并不修改指定 Date 对象的其它字段，但如果因调用该方法导致表示周几的值发生了变化，则 Date.getUTCDay() 和 Date.getDay() 可能会报告一个新值。


Date.setUTCHours()

可用性

Flash Player 5。

用法

my_date.setUTCHours(hour [, minute [, second [, millisecond]]])

参数

hour 从 0（午夜）到 23（深夜 11 点）之间的整数。

minute 从 0 到 59 之间的整数。此参数是可选的。

second 从 0 到 59 之间的整数。此参数是可选的。

millisecond 从 0 到 999 之间的整数。此参数是可选的。

返回

一个整数。

说明

方法；用通用时间为指定的 Date 对象设置小时值，并以毫秒为单位返回新时间。


Date.setUTCMilliseconds()

可用性

Flash Player 5。

用法

my_date.setUTCMilliseconds(millisecond)

参数

millisecond 从 0 到 999 之间的整数。

返回

一个整数。

说明

方法；用通用时间为指定的 Date 对象设置毫秒值，并以毫秒为单位返回新时间。


Date.setUTCMinutes()

可用性

Flash Player 5。

用法

my_date.setUTCMinutes(minute [, second [, millisecond]])

参数

minute 从 0 到 59 之间的整数。

second 从 0 到 59 之间的整数。此参数是可选的。

millisecond 从 0 到 999 之间的整数。此参数是可选的。

返回

一个整数。

说明

方法；用通用时间为指定的 Date 对象设置分钟值，并以毫秒为单位返回新时间。


Date.setUTCMonth()

可用性

Flash Player 5。

用法

my_date.setUTCMonth(month [, date])

参数

month 从 0（一月）到 11（十二月）之间的整数。

date 从 1 到 31 之间的整数。此参数是可选的。

返回

一个整数。

说明

方法；用通用时间为指定的 Date 对象设置月份数，还可以选择设置表示某天 (date) 的值，并以毫秒为单位返回新时间。调用此方法并不修改指定 Date 对象的其它字段，但如果因指定 date 参数的值而导致表示周几的值发生了变化，则 Date.getUTCDay() 和 Date.getDay() 可能会报告一个新值。


Date.setUTCSeconds()

可用性

Flash Player 5。

用法

my_date.setUTCSeconds(second [, millisecond]))

参数

second 从 0 到 59 之间的整数。

millisecond 从 0 到 999 之间的整数。此参数是可选的。

返回

一个整数。

说明

方法；用通用时间为指定的 Date 对象设置表示秒的值，并以毫秒为单位返回新时间。


Date.setYear()

可用性

Flash Player 5。

用法

my_date.setYear(year)

参数

year 如果 year 是 0 至 99 之间的整数，则 setYear 将年份数设置为 1900 + year；否则，年份数就是 year 参数的值。

返回

一个整数。

说明

方法；用本地时间为指定的 Date 对象设置年份数，并以毫秒为单位返回新时间。本地时间由运行 Flash Player 的操作系统确定。


Date.toString()

可用性

Flash Player 5。

用法

my_date.toString()

参数

无。

返回

字符串。

说明

方法；以可读格式返回指定 Date 对象的字符串值，并以毫秒为单位返回新时间。

示例

下面的示例将 dateOfBirth_date Date 对象中的信息作为字符串返回。

var dateOfBirth_date = new Date(74, 7, 12, 18, 15);
trace (dateOfBirth_date.toString());

输出（用太平洋标准时间表示）：

Mon Aug 12 18:15:00 GMT-0700 1974


Date.UTC()

可用性

Flash Player 5。

用法

Date.UTC(year, month [, date [, hour [, minute [, second [, millisecond ]]]]])

参数

year 一个 4 位数，例如 2000。

month 从 0（一月）到 11（十二月）之间的整数。

date 从 1 到 31 之间的整数。此参数是可选的。

hour 从 0（午夜）到 23（深夜 11 点）之间的整数。

minute 从 0 到 59 之间的整数。此参数是可选的。

second 从 0 到 59 之间的整数。此参数是可选的。

millisecond 从 0 到 999 之间的整数。此参数是可选的。

返回

一个整数。

说明

方法；返回 1970 年 1 月1 日午夜（通用时间）与参数中指定的时间之间的毫秒数。这是一个静态方法，它通过 Date 对象的构造函数进行调用，而不是通过特定的 Date 对象进行调用。这种方法使您可以创建一个采用通用时间的 Date 对象，而 Date 构造函数采用本地时间。

示例

下面的示例创建一个以通用时间定义的新的 Date 对象 garyBirthday_date。这是用于 new Date 构造函数方法的示例的通用时间变体：

garyBirthday_date = new Date(Date.UTC(1974, 7, 12));


default

可用性

Flash Player 6。

用法

default:statements

参数

statements 任何语句。

返回

无。

说明

语句；定义 switch 动作的默认情况。对于一个给定的 switch 动作，如果该 switch 动作的 expression 参数与 case 关键字后面的任何一个 expression 参数都不相等（使用全等），则执行这些语句。

switch 不必一定有 default 情况。default 情况也不必出现在列表的最后。在 switch 动作外部使用 default 动作是错误的，脚本将不编译。

示例

在下面的示例中，表达式 A 与表达式 B 或 D 不相等，所以运行 default 关键字后面的语句，并将 trace() 动作发送到“输出”面板。

switch ( A ) {
  case B:
    C;
    break;
  case D:
    E;
    break;
  default:
    trace ("no specific case was encountered");
}

另请参见

switch、case、break


delete

可用性

Flash Player 5。

用法

delete reference

参数

reference 要消除的变量或对象的名称。

返回

一个布尔值。

说明

运算符；销毁由 reference 参数指定的对象或变量，如果该对象被成功删除，则返回 true；否则返回 false 值。该运算符对于释放脚本所用的内存非常有用。虽然 delete 是一个运算符，但它通常作为语句使用，如下所示：

delete x;

如果 reference 参数不存在，或者不能被删除，则 delete 运算符可能失败并返回 false。预定义的对象和属性以及用 var 声明的变量不能删除。不能使用 delete 运算符删除影片剪辑。

示例

用法 1：下面的示例创建一个对象并使用它，然后在不再需要时删除它。

account = new Object();
account.name = 'Jon';
account.balance = 10000;

delete account;

用法 2：下面的示例删除对象的一个属性。

// 创建新对象“account”
account = new Object();
// 将属性名称分配给 account
account.name = 'Jon';
// 删除该属性
delete account.name;

用法 3：下面是删除对象属性的另一个示例。

// 创建长度为 0 的 Array 对象
my_array = new Array();
// 向数组中添加一个元素。Array.length 现在是 1
my_array[0] = "abc";
// 向数组中添加又一个元素。Array.length 现在是 2
my_array[1] = "def";
// 向数组中添加又一个元素。Array.length 现在是 3
my_array[2] = "ghi";
// my_array[2] 已被删除，但 Array.length 未被更改
delete array[2];
trace(my_array.length);

用法 4：下面的示例说明 delete 对于对象引用的行为方式：

// 创建一个新对象，并分配变量 ref1

// 来引用该对象
ref1 = new Object();
ref1.name = "Jody";
// 将引用变量复制到新变量中
// 并删除 ref1
ref2 = ref1;
delete ref1;

如果 ref1 尚未复制到 ref2 中，则当删除 ref1 时，该对象将被删除，因为将没有指向它的引用。如果删除 ref2，则不再有指向该对象的任何引用；将销毁该对象，同时释放它所使用的
内存。

另请参见

var


do while

可用性

Flash Player 4。

用法

do {
  statement(s)
} while (condition)

参数

condition 要计算的条件。

statement(s) 只要 condition 参数计算结果为 true 就会执行的语句。

返回

无。

说明

语句；执行语句，然后只要条件为 true，就计算循环中的条件。

另请参见

break、continue


duplicateMovieClip()

可用性

Flash Player 4。

用法

duplicateMovieClip(target, newname, depth)

参数

target 要重制的影片剪辑的目标路径。

newname 已重制的影片剪辑的唯一标识符。

depth 已重制的影片剪辑的唯一深度级别。深度级别是重制的影片剪辑的堆叠顺序。这种堆叠顺序很像时间轴中图层的堆叠顺序；较低深度级别的影片剪辑隐藏在较高堆叠顺序的剪辑之下。必须为每个重制的影片剪辑分配一个唯一的深度级别，以防止它替换已占用深度上的 SWF 文件。

返回

对重制的影片剪辑的引用。

说明

函数；当 SWF 文件正在播放时，创建一个影片剪辑的实例。无论播放头在原始影片剪辑（或“父级”）中处于什么位置，重制的影片剪辑的播放头始终从第 1 帧开始。父级影片剪辑中的变量不复制到重制的影片剪辑中。如果删除父级影片剪辑，则重制的影片剪辑也会被删除。使用 removeMovieClip() 动作或方法可以删除用 duplicateMovieClip() 创建的影片剪辑实例。

另请参见

MovieClip.duplicateMovieClip()、removeMovieClip()、MovieClip.removeMovieClip()


dynamic

可用性

Flash Player 6。

用法

dynamic class className  [ extends superClass ]
              [ implements interfaceName [, interfaceName... ] ]
{
  // 此处是类定义
}

注意：若要使用此关键字，必须在 FLA 文件的“发布设置”对话框的“Flash”选项卡上指定“动作脚
本 2.0”和“Flash Player 6”或更高版本。仅支持在外部脚本文件中使用此关键字，而不支持在用“动作”面板编写的脚本中使用此关键字。

说明

关键字；指定基于指定的类的对象可以在运行时添加和访问动态属性。

对于动态类的类型检查与对于非动态类的类型检查相比更为宽松，因为在类定义内访问的成员和在类实例上访问的成员不与在类范围内定义的那些成员进行比较。但是，仍可能对类成员函数进行类型检查，以确定返回类型和参数类型。当处理 MovieClip 对象时，此行为特别有用，因为这种情况下可以通过多种不同的方法动态地将属性和对象添加到影片剪辑，如
MovieClip.createEmptyMovieClip() 和 MovieClip.createTextField()。

动态类的子类也是动态的。

有关更多信息，请参见创建动态类。

示例

在以下示例中，类 B 已标记为动态的，因此对它调用某个未声明的函数将不会在编译时引发错误。

// 在 B.as 中
dynamic class B extends class_A {
  function B() {
    /*this is the constructor*/
  }
  function m():Number {return 25;}
  function o(s:String):Void {trace(s);}
}

// 在 C.as 中
class C extends class_A {
  function C() {
    /*this is the constructor*/
  }
  function m():Number {return 25;}
  function o(s:String):Void {trace(s);}
}
// 在其它脚本中
var var1 = B.n();   // 无错误
var var2 = C.n()    // 错误，因为在 C.as 中没有函数 n

另请参见

class、extends


else

可用性

Flash Player 4。

用法

if (condition){
  statement(s);
} else (condition){
  statement(s);
}

参数

condition 计算结果为 true 或 false 的表达式。

statement(s) 当 if 语句中指定的条件为 false 时运行的替代语句系列。

返回

无。

说明

语句；指定当 if 语句中的条件返回 false 时要运行的语句。

另请参见

if


else if

可用性

Flash Player 4。

用法

if (condition){
  statement(s);
} else if (condition){
  statement(s);
}

参数

condition 计算结果为 true 或 false 的表达式。

statement(s) 当 if 语句中指定的条件为 false 时运行的替代语句系列。

返回

无。

说明

语句；计算条件，并指定当初始 if 语句中的条件返回 false 时要运行的语句。如果 else if 条件返回 true，则 Flash 解释程序运行该条件后面花括号 ({}) 中的语句。如果 else if 条件为 false，则 Flash 将跳过花括号中的语句，而运行花括号之后的语句。使用 else if 动作可在脚本中创建分支逻辑。

示例

下面的示例使用 else if 动作检查对象的每一边是否都在特定的边界内：

// 如果对象超出边界，
// 则将其发回并倒转其行进路径
    if (this._x>rightBound) {
      this._x = rightBound;
      xInc = -xInc;
    } else if (this._x<leftBound) {
      this._x = leftBound;
      xInc = -xInc;
    } else if (this._y>bottomBound) {
      this._y = bottomBound;
      yInc = -yInc;
    } else if (this._y<topBound) {
      this._y = topBound;
      yInc = -yInc;
    }

另请参见

if


#endinitclip

可用性

Flash Player 6。

用法

#endinitclip

参数

无。

返回

无。

说明

编译器指令；指示初始化动作块的结尾。

示例

#initclip
...initialization actions go here...
#endinitclip

另请参见

#initclip


eq（等于 - 字符串专用）

可用性

Flash Player 4。不鼓励在 Flash 5 中使用此运算符，而推荐使用 ==（等于） 运算符。

用法

expression1 eq expression2

参数

expression1、expression2 数字、字符串或变量。

返回

无。

说明

比较运算符；比较两个表达式是否相等。如果 expression1 的字符串表示形式与 expression2 的字符串表示形式相等，则返回值 true；否则，该运算返回值 false。

另请参见

==（等于）


Error 类

可用性

Flash Player 7。

说明

包含关于脚本中出现的错误的信息。Error 对象使用 Error 构造函数来创建。通常，新的 Error 对象从 try 代码块中“抛出”，然后由 catch 或 finally 代码块“捕获”。

您也可以创建 Error 类的子类，然后引发该子类的实例。

Error 类的方法概要

方法 | 说明
Error.toString() | 返回 Error 对象的字符串表示形式。

Error 类的属性概要

属性 | 说明
Error.message | 包含与错误关联的错误消息的字符串。
Error.name | 包含 Error 对象名称的字符串。

Error 类的构造函数

可用性

Flash Player 7。

用法

new Error([message])

参数

message 与 Error 对象关联的字符串；此参数是可选的。

返回

无。

说明

构造函数；创建新的 Error 对象。如果指定 message，其值将赋予对象的 Error.message 属性。

示例

在以下示例中，如果给函数传递的两个字符串不相同，则该函数将引发错误（并显示指定的
消息）。

function compareStrings(string_1, string_2) {
  if(string_1 != string_2) {
    throw new Error("Strings do not match.");
  }
}
try {
  compareStrings("Dog","dog");
} catch (e) {
  trace(e.toString());
}

另请参见

throw、try..catch..finally


Error.message

可用性

Flash Player 7。

用法

myError.message

说明

属性；包含与 Error 对象关联的消息。默认情况下，此属性的值为 "Error"。当通过将错误字符串传递给 Error 构造函数来创建新的 Error 对象时，可以指定 message 属性。

另请参见

throw、try..catch..finally


Error.name

可用性

Flash Player 7。

用法

myError.name

说明

属性；包含 Error 对象的名称。默认情况下，此属性的值为 "Error"。

另请参见

throw、try..catch..finally


Error.toString()

可用性

Flash Player 7。

用法

my_err.toString()

返回

字符串。

说明

方法；在默认情况下返回字符串 "Error"，如果已定义，则返回 Error.message 中包含的值。

另请参见

Error.message、throw、try..catch..finally


escape

可用性

Flash Player 5。

用法

escape(expression)

参数

expression 要转换为字符串并以 URL-编码格式进行编码的表达式。

返回

无。

说明

函数；将参数转换为字符串，并以 URL 编码格式进行编码，在这种格式中，将所有非字母数字的字符都转义为 % 十六进制序列。

示例

运行下面的代码将得出结果 Hello%7B%5BWorld%5D%7D。

escape("Hello{[World]}");

另请参见

unescape


eval()

可用性

Flash Player 5 或更高版本支持其完全功能。在向 Flash Player 4 导出时，可以使用 eval() 函数，但必须使用斜杠记号，并且只能访问变量，不能访问属性或对象。

用法

eval(expression)

参数

expression 包含要获取的变量、属性、对象或影片剪辑的名称的字符串。

返回

一个值（对对象或影片剪辑的引用）或 undefined。

说明

函数；按照名称访问变量、属性、对象或影片剪辑。如果 expression 是变量或属性，则返回该变量或属性的值。如果 expression 是对象或影片剪辑，则返回指向该对象或影片剪辑的引用。如果无法找到 expression 中指定的元素，则返回 undefined。

在 Flash 4 中，使用 eval() 模拟数组；在 Flash 5 或更高版本中，建议您使用 Array 类模拟
数组。

在 Flash 4 中，您还可以使用 eval() 动态地设置和获取变量或实例名称的值。然而，也可以使用数组访问运算符 ([]) 来实现这一点。

在 Flash 5 或更高版本中，不能使用 eval() 动态设置和获取变量的值或实例名称，因为不能在等式的左侧使用 eval()。例如，将代码

eval ("var" + i) = "first";

替换为：

this["var"+i] = "first"

或者替换为：

set ("var" + i, "first");

示例

下面的示例使用 eval() 确定表达式 "piece" + x 的值。因为该结果是一个变量名 piece3，所以 eval() 返回该变量的值并将其赋予 y：

piece3 = "dangerous";
x = 3;

y = eval("piece" + x);
trace(y);

// 输出：dangerous

另请参见

Array 类


extends

可用性

Flash Player 6。

用法

class className extends otherClassName {}
interface interfaceName extends otherInterfaceName {}

注意：若要使用此关键字，必须在 FLA 文件的“发布设置”对话框的“Flash”选项卡上指定“动作脚
本 2.0”和“Flash Player 6”或更高版本。仅支持在外部脚本文件中使用此关键字，而不支持在用“动作”面板编写的脚本中使用此关键字。

参数

className 您所定义的类的名称。

otherClassName className 所基于的类的名称。

interfaceName 您所定义的接口的名称。

otherInterfaceName interfaceName 所基于的接口的名称。

说明

关键字；定义作为另一个类或接口的子类的类或接口；后者为超类。子类继承超类中定义的所有方法、属性、函数等。

有关更多信息，请参见创建子类。

示例

在下面定义的类 B 中，对类 A 的构造函数的调用将自动作为 B 构造函数的第一个语句插入，因为这里尚不存在调用。（即，它在该示例中被注释掉。）

class B extends class A
{
  function B() { // 它是构造函数
//    super(); // 可选；如果省略，则在编译过程中插入
  }
  function m():Number {return 25;}
  function o(s:String):Void {trace(s);}
}

另请参见

class、implements、interface


false

可用性

Flash Player 5。

用法

false

说明

常数；表示与 true 相反的唯一的布尔值。

另请参见

true


_focusrect

可用性

Flash Player 4。

用法

_focusrect = Boolean;

说明

属性（全局）；指定当按钮或影片剪辑具有键盘焦点时，是否在其周围显示黄色矩形。默认值为 true，这种情况下当用户按 Tab 键在 SWF 文件中的对象之间导航时，在当前具有焦点的按钮或影片剪辑的周围将显示黄色矩形。如果不希望显示黄色矩形，请指定 false。这是一个全局属性，可以被特定实例的设置所覆盖。

另请参见

Button._focusrect、MovieClip._focusrect


for

可用性

Flash Player 5。

用法

for(init; condition; next) {
  statement(s);
}

参数

init 一个在开始循环序列前要计算的表达式，通常为赋值表达式。此参数还允许使用 var 语句。

condition 计算结果为 true 或 false 的表达式。在每次循环迭代前计算该条件；当条件的计算结果为 false 时退出循环。

next 在每次循环迭代后要计算的表达式；通常为使用 ++（递增）或 --（递减）运算符的赋值表达式。

statement(s) 要在循环体内执行的指令。

说明

语句；一种循环结构，它首先计算一次 init（初始化）表达式，然后按照以下顺序开始循环序列：只要 condition 的计算结果为 true，就执行 statement，然后计算下一个表达式。

一些属性无法用 for 或 for..in 动作进行枚举。例如，Array 类的内置方法（例如
Array.sort() 和 Array.reverse()）不包括在 Array 对象的枚举中，而影片剪辑属性（如 _x 和 _y）也不能枚举。在外部类文件中，实例成员是不可枚举的；只有动态和静态成员是可枚
举的。

示例

下面的示例使用 for 在数组中添加元素：

my_array=new Array();
for(i=0; i<10; i++) {
  my_array [i] = (i + 5)*10;
  trace(my_array[i]);
}

“输出”面板中将显示以下结果：

50
60
70
80
90
100
110
120
130
140

下面是使用 for 重复执行同一动作的示例。在下面的代码中，for 循环将从 1 到 100 的数字相加：

var sum = 0;
  for (var i=1; i<=100; i++) {
    sum = sum + i;
  }

另请参见

++（递增）、--（递减）、for..in、var


for..in

可用性

Flash Player 5。

用法

for(variableIterant in object){
  statement(s);
}

参数

variableIterant 作为迭代变量的变量的名称，迭代变量引用数组中对象或元素的每个属性。

object 要重复的对象的名称。

statement(s) 要为每次迭代执行的指令。

返回

无。

说明

语句；循环通过数组中对象或元素的属性，并为对象的每个属性执行 statement。

一些属性无法用 for 或 for..in 动作进行枚举。例如，Array 类的内置方法（例如
Array.sort() 和 Array.reverse()）不包括在 Array 对象的枚举中，而影片剪辑属性（如 _x 和 _y）也不能枚举。 在外部类文件中，实例成员是不可枚举的；只有动态和静态成员是可枚举的。

for..in 语句迭代所迭代对象的原型链中对象的属性。如果 child 的原型为 parent，则如果用 for..in 迭代 child 的属性，也将迭代 parent 的属性。

for..in 动作枚举对象原型链中的所有对象。首先枚举该对象的属性，接着枚举其直接原型的属性，然后枚举该原型的原型的属性，依次类推。for..in 动作不会将相同的属性名枚举两次。如果对象 child 具有原型 parent，而这两个对象都包含属性 prop，则对 child 调用的 for..in 动作将枚举来自 child 的 prop，而忽略 parent 中的该属性。

示例

下面的示例使用 for..in 迭代某对象的属性：

myObject = { name:'Tara', age:27, city:'San Francisco' };
for (name in myObject) {
  trace ("myObject."+ name + " = " + myObject[name]);
}

此示例的输出如下所示：

myObject.name = Tara
myObject.age = 27
myObject.city = San Francisco

下面的示例将 typeof 运算符与 for..in 一起使用来迭代特定类型的 child：

for (name in my_mc) {
  if (typeof (my_mc[name]) = "movieclip") {
    trace ("I have a movie clip child named " + name);
  }
}

下面的示例枚举影片剪辑的子级，并将每个子级发送到其各自时间轴的第 2 帧。
RadioButtonGroup 影片剪辑是一个父级，它具有多个子级：_RedRadioButton_、
_GreenRadioButton_ 和 _BlueRadioButton。

for (var name in RadioButtonGroup) {
  RadioButtonGroup[name].gotoAndStop(2);
}


fscommand()

可用性

Flash Player 3。

用法

fscommand("command", "parameters")

参数

command 一个传递给宿主应用程序用于任何用途的字符串；或者一个传递给 Flash Player 的命令。

parameters 一个传递给宿主应用程序用于任何用途的字符串；或者一个传递给 Flash Player 的值。

返回

无。

说明

函数；使 SWF 文件能够与 Flash Player 或承载 Flash Player 的程序（如 Web 浏览器）进行通讯。还可使用 fscommand 动作将消息传递给 Macromedia Director，或者传递给 Visual Basic、Visual C++ 和其它可承载 ActiveX 控件的程序。

用法 1：若要将消息发送给 Flash Player，必须使用预定义的命令和参数。下表显示可为 fscommand 动作的 command 和 parameters 参数指定的值，这些值用于控制在 Flash player（包括播放器）中播放的 SWF 文件：

命令 | 参数 | 目的
quit | 无 | 关闭播放器。
fullscreen | true 或 false | 指定 true 将 Flash Player 设置为全屏模式。如果指定 false，播放器会返回到常规菜单视图。
allowscale | true 或 false | 如果指定 false，则设置播放器以始终按 SWF 文件的原始大小绘制 SWF 文件，从不进行缩放。如果指定 true，则强制 SWF 文件缩放到播放器的 100%。
showmenu | true 或 false | 如果指定 true，则启用整个上下文菜单项集合。如果指定 false，则使得除“关于 Flash Player”外的所有上下文菜单项变暗。
exec | 应用程序的路径 | 在播放器内执行应用程序。
trapallkeys | true 或 false | 如果指定 true，则将所有按键事件（包括快捷键事件）发送到 Flash Player 中的 onClipEvent(keyDown/keyUp) 处理函数。

exec 命令只能包含字符 A 至 Z、a 至 z、0 至 9、句点 (). 和下划线 (_)。exec 仅在子目录 fscommand 中运行。也就是说，如果您使用 fscommand exec 命令调用应用程序，该应用程序必须位于名为 fscommand 的子目录中。

用法 2：若要在 Web 浏览器中使用 fscommand 动作将消息发送到脚本撰写语言（如
JavaScript），可以在 command 和 parameters 参数中传递任意两个参数。这些参数可以是字符串或表达式，它们在“捕获”或处理 fscommand 动作的 JavaScript 函数中使用。

在 Web 浏览器中，fscommand 动作在包含 SWF 文件的 HTML 页中调用 JavaScript 函数 moviename_DoFScommand。moviename 是 Flash Player 影片的名称，该名称由 EMBED 标签的 NAME 属性指定，或者由 OBJECT 标签的 ID 属性指定。如果您为 Flash Player 影片指定名称 myDocument，所调用的 JavaScript 函数就是 myDocument_DoFScommand。

用法 3：fscommand 动作可以将消息发送给 Macromedia Director，Lingo 将消息解释为字符串、事件或可执行的 Lingo 代码。如果该消息为字符串或事件，则必须编写 Lingo 代码以便从 fscommand 动作接收该消息，并在 Director 中执行动作。有关更多信息，请参见 Director 支持中心，网址为 www.macromedia.com/support/director。

用法 4：在 Visual Basic、Visual C++ 和可承载 ActiveX 控件的其它程序中，fscommand 利用可在环境的编程语言中处理的两个字符串发送 VB 事件。有关更多信息，请使用 Flash
method（Flash 方法）关键字搜索 Flash 支持中心，网址为
www.macromedia.com/go/flash_support_cn。

示例

用法 1：在下面的示例中，fscommand 动作设置 Flash Player，以便在释放按钮时，将 SWF 文件放大到整个显示器屏幕大小。

on (release) {
  fscommand("fullscreen", true);
}

用法 2：下面的示例使用应用到 Flash 中按钮的 fscommand 动作打开 HTML 页中的 JavaScript 消息框。消息本身作为 fscommand 参数发送到 JavaScript。

必须将一个函数添加到包含 SWF 文件的 HTML 页。此函数 (myDocument_DoFSCommand) 位于 HTML 页中，等待 Flash 中的 fscommand 动作。当在 Flash 中触发 fscommand 后（例如，当用户按下按钮时），command 和 parameter 字符串被传递到 myDocument_DoFSCommand 函数。可以在 JavaScript 或 VBScript 代码中以任何需要的方式使用所传递的字符串。在此示例中，该函数包含一个条件 if 语句，该语句检查命令字符串是否为 "messagebox"。如果是，则
JavaScript 警告框（或“消息框”）打开并显示 parameters 字符串的内容。

function myDocument_DoFSCommand(command, args) {
  if (command == "messagebox") {
    alert(args);
  }
}

在 Flash 文档中，将 fscommand 动作添加到按钮：

fscommand("messagebox", "This is a message box called from within Flash.")

也可以为 fscommand 动作和参数使用表达式，如下面的示例所示：

fscommand("messagebox", "Hello, " + name + ", welcome to our website!")

若要测试影片，请选择“文件”>“发布预览”>“HTML”。

注意：如果在 HTML“发布设置”中使用具有 FSCommand 模板的 Flash 发布 SWF 文件，则将自动插入 myDocument_DoFSCommand 函数。该 SWF 文件的 NAME 和 ID 属性将是文件名。例如，对于文件
myDocument.fla，这些属性将设置为 myDocument。


function

可用性

Flash Player 5。

用法

function functionname ([parameter0, parameter1,...parameterN]){
  statement(s)
}
function ([parameter0, parameter1,...parameterN]){
  statement(s)
}

参数

functionname 新函数的名称。

parameter 一个标识符，表示要传递给函数的参数。这些参数是可选的。

statement(s) 为 function 的函数体定义的任何动作脚本指令。

返回

无。

说明

语句；您定义的用来执行特定任务的一组语句。可以在 SWF 文件的一个地方声明 或定义函数，然后从 SWF 文件的其它脚本中调用它。定义函数时，还可以为其指定参数。参数是函数要对其进行操作的值的占位符。每次调用函数时，可以向其传递不同的参数。这使您可以在不同场合重复使用一个函数。

在函数的 statement(s) 中使用 return 动作可使函数返回或生成一个值。

用法 1：用指定的 functionname、parameters 和 statement(s) 声明一个 function。当调用函数时，则调用函数声明。允许提前引用；在同一“动作”列表中，函数可以先调用后声明。一个函数的声明会替换同一函数以前的任何声明。只要是允许使用语句的地方就可使用此语法。

用法 2：创建一个匿名函数并返回它。此语法用于表达式中，对于在对象中安装方法尤其有用。

示例

用法 1：下面的示例定义函数 sqr，该函数接受一个参数并返回该参数的 square(x*x)。如果在同一脚本中声明和使用该函数，则可以先使用该函数，后声明它。

y=sqr(3);

function sqr(x) {
  return x*x;
}

用法 2：下面的函数定义一个 Circle 对象：

function Circle(radius) {
 this.radius = radius;
}

下面的语句定义一个匿名函数，该函数计算圆形的面积，并将其作为方法附加到对象 Circle：

Circle.prototype.area = function () {return Math.PI * this.radius * this.radius}


Function 类

可用性

Flash Player 6。

Function 类的方法概要

方法 | 说明
Function.apply() | 使动作脚本代码能够调用函数。
Function.call() | 调用 Function 对象表示的函数。

Function 类的属性概要

属性 | 说明
Function.prototype | 引用一个作为类的原型的对象。


Function.apply()

可用性

Flash Player 6。

用法

myFunction.apply(thisObject, argumentsObject)

参数

thisObject myFunction 应用到的对象。

argumentsObject 一个数组，其元素作为参数传递给 myFunction。

返回

被调用函数指定的任何值。

说明

方法；指定将在动作脚本调用的任何函数内使用的 this 的值。此方法还指定要传递给任何被调用函数的参数。因为 apply() 是 Function 类的方法，所以它也是动作脚本中每个函数对象的
方法。

参数被指定为 Array 对象。如果在脚本实际执行前，无法知道要传递的参数的数量，那么这种方法通常很有用。

示例

下面的函数调用是等效的：

Math.atan2(1, 0)
Math.atan2.apply(null, [1, 0])

您可以构造一个包含输入入口字段的 SWF 文件，该字段允许用户输入要调用的函数名，以及要传递给该函数的零个或多个参数。如果按“调用”按钮，则将使用 apply 方法调用该函数，并指定相应的参数。

在此示例中，用户在名为 functionName 的输入文本字段中指定函数名。在名为 numParameters 的输入文本字段中指定参数数量。在文本字段中最多可指定 10 个参数，这些文本字段名为
parameter1、parameter2，直到 parameter10。

on (release) {
  callTheFunction();
}
...
function callTheFunction()
{
   var theFunction = eval(functionName.text);
   var n = Number(numParameters);
   var parameters = [];
   for (var i = 0; i < n; i++) {
      parameters.push(eval("parameter" + i));
   }
   theFunction.apply(null, parameters);
}


Function.call()

可用性

Flash Player 6。

用法

myFunction.call(thisObject, parameter1, ..., parameterN)

参数

thisObject 指定函数体内 this 的值。

parameter1 要传递给 myFunction 的参数。可以指定零个或多个参数。

parameterN

返回

无。

说明

方法；调用 Function 对象表示的函数。动作脚本中的每个函数都由一个 Function 对象来表示，所以所有的函数都支持此方法。

几乎在所有的情形下，函数调用运算符 (()) 都可以代替此方法来使用。函数调用运算符使代码简明易读。此方法主要用于需要显式控制函数调用的 this 参数时。通常，如果作为对象的方法调用函数，则在函数体内，this 设置为 myObject，如下所示：

myObject.myMethod(1, 2, 3);

在某些情况下，您可能希望 this 指向其它地方；例如这种情况：函数必须作为对象的方法进行调用，但该函数实际上不是作为该对象的方法存储的。

myObject.myMethod.call(myOtherObject, 1, 2, 3);

您可以将值 null 传递给 thisObject 参数，以便作为常规函数而不是作为对象的方法来调用函数。例如，下面的函数调用是等效的：

Math.sin(Math.PI / 4)
Math.sin.call(null, Math.PI / 4)

示例

此示例使用 Function.call() 使函数表现得像另一个对象的方法，而不将此函数存储在该对象中。

function MyObject() {
}
function MyMethod(obj) {
  trace("this == obj?" + (this == obj));
}
var obj = new MyObject();
MyMethod.call(obj, obj);

trace() 动作将以下代码发送到“输出”面板：

this == obj? true


Function.prototype

可用性

Flash Player 5。如果您使用的是动作脚本 2.0，则不需要使用此属性；该属性反映动作脚本 1 中继承的实现方式。

用法

myFunction.prototype

说明

属性；在动作脚本 1 的构造函数中，prototype 属性引用一个对象，该对象是构造类的原型。由构造函数创建的类的每个实例都继承该原型对象的所有属性和方法。


ge（大于或等于 - 字符串专用）

可用性

Flash Player 4。不鼓励在 Flash 5 中使用此运算符，而推荐使用 >=（大于等于） 运算符。

用法

expression1 ge expression2

参数

expression1、expression2 数字、字符串或变量。

返回

无。

说明

运算符（比较）；比较 expression1 和 expression2 的字符串表示形式，如果 expression1 大于或等于 expression2，则返回 true；否则，返回 false。

另请参见

>=（大于等于）


get

可用性

Flash Player 6。

用法

function get property() {
  // 此处是您的语句
}

注意：若要使用此关键字，必须在 FLA 文件的“发布设置”对话框的“Flash”选项卡上指定“动作脚本 2.0”和“Flash Player 6”或更高版本。仅支持在外部脚本文件中使用此关键字，而不支持在用“动作”面板编写的脚本中使用此关键字。

参数

property 您要用来表示 get 访问的属性的单词；该值必须与在相应 set 命令中使用的值相同。

返回

由 propertyName 指定的属性的值。

说明

关键字；允许基于您在外部类文件中定义的类隐式“获取”与对象关联的属性。通过使用隐式获取方法，您可以不必直接访问对象就访问其属性。隐式获取/设置方法是对动作脚本 1 中 Object.addProperty() 方法的句法简化。

有关更多信息，请参见隐式获取/设置方法。

另请参见

Object.addProperty()、set


getProperty

可用性

Flash Player 4。

用法

getProperty(my_mc, property)

参数

my_mc 要获取其属性的影片剪辑的实例名称。

property 影片剪辑的属性。

返回

指定属性的值。

说明

函数；返回影片剪辑 my_mc 的指定属性的值。

示例

下面的示例获取影片剪辑 my_mc 的水平轴坐标 (_x)，并将其分配给变量 my_mc_x：

my_mc_x = getProperty(_root.my_mc, _x);


getTimer

可用性

Flash Player 4。

用法

getTimer()

参数

无。

返回

自 SWF 文件开始播放时起已经过的毫秒数。

说明

函数；返回自 SWF 文件开始播放时起已经过的毫秒数。


getURL()

可用性

Flash 2。GET 和 POST 选项仅适用于 Flash Player 4 和 Player 的更高版本。

用法

getURL(url [, window [, "variables"]])

参数

url 可从该处获取文档的 URL。

window 可选参数，指定文档应加载到其中的窗口或 HTML 框架。您可输入特定窗口的名称，或从下面的保留目标名称中选择：

  • _self 指定当前窗口中的当前框架。
  • _blank 指定一个新窗口。
  • _parent 指定当前框架的父级。
  • _top 指定当前窗口中的顶级框架。

variables 用于发送变量的 GET 或 POST 方法。如果没有变量，则省略此参数。GET 方法将变量追加到 URL 的末尾，该方法用于发送少量的变量。POST 方法在单独的 HTTP 标头中发送变量，该方法用于发送大量的变量。

返回

无。

说明

函数；将来自特定 URL 的文档加载到窗口中，或将变量传递到位于所定义 URL 的另一个应用程序。若要测试此动作，请确保要加载的文件位于指定的位置。若要使用绝对 URL（例如，http://www.myserver.com），则需要网络连接。

示例

此示例将一个新 URL 加载到空浏览器窗口中。getURL() 动作将变量 incomingAd 作为 url 参数的目标，这样您无需编辑 SWF 文件即可更改加载的 URL。在这之前，在 SWF 文件中使用 loadVariables() 动作将 incomingAd 变量的值传递到 Flash 中。

on (release) {
  getURL(incomingAd, "_blank");
}

另请参见

loadVariables()、XML.send()、XML.sendAndLoad()、XMLSocket.send()


getVersion

可用性

Flash Player 5。

用法

getVersion()

参数

无。

返回

包含 Flash Player 版本和平台信息的字符串。

说明

函数；返回包含 Flash Player 版本和平台信息的字符串。

getVersion 函数只能返回 Flash Player 5 或 Player 更高版本的信息。

示例

以下示例是 getVersion 函数返回的字符串。

WIN 5,0,17,0

这指示出平台是 Microsoft Windows，Flash Player 的主要版本号为 5，次要版本号为 17 (5.0r17)。

另请参见

System.capabilities.os、System.capabilities.version


_global 对象

可用性

Flash Player 6。

用法

_global.identifier

参数

无。

返回

对包含核心动作脚本类的全局对象（例如 String、Object、Math 和 Array）的引用。

说明

标识符；创建全局变量、对象或类。例如，您可以创建公开为全局动作脚本对象的库，此库非常类似于 Math 或 Date 对象。与时间轴声明或局部声明的变量和函数不一样，全局变量和函数只要未被内部范围中具有相同名称的标识符遮蔽，则它们对于 SWF 文件中的每个时间轴和范围均是可见的。

示例

下面的示例创建一个顶级函数 factorial()，该函数对于 SWF 文件中的每个时间轴和范围均可用：

_global.factorial = function (n) {
  if (n <= 1) {
    return 1;
  } else {
    return n * factorial(n-1);
  }
}

另请参见

var、set variable


gotoAndPlay()

可用性

Flash 2。

用法

gotoAndPlay([scene,] frame)

参数

scene 可选字符串，指定播放头要转到的场景的名称。

frame 一个表示播放头将转到的帧编号的数字，或者一个表示播放头将转到的帧标签的字符串。

返回

无。

说明

函数；将播放头转到场景中指定的帧并从该帧开始播放。如果未指定场景，则播放头将转到当前场景中的指定帧。

示例

当用户单击 gotoAndPlay() 动作所分配到的按钮时，播放头将转到当前场景中的第 16 帧并开始播放。

on (release) {
  gotoAndPlay(16);
}

另请参见

MovieClip.gotoAndPlay()


gotoAndStop()

可用性

Flash 2。

用法

gotoAndStop([scene,] frame)

参数

scene 可选字符串，指定播放头要转到的场景的名称。

frame 一个表示播放头将转到的帧编号的数字，或者一个表示播放头将转到的帧标签的字符串。

返回

无。

说明

函数；将播放头转到场景中指定的帧并停止播放。如果未指定场景，则播放头将转到当前场景中的帧。

示例

当用户单击 gotoAndStop() 动作所分配到的按钮时，播放头将转到当前场景中的第 5 帧并且 SWF 文件停止播放。

on (release) {
  gotoAndStop(5);
}

另请参见

stop()


gt（大于 - 字符串专用）

可用性

Flash Player 4。不鼓励在 Flash 5 中使用此运算符，而推荐使用新的 >（大于） 运算符。

用法

expression1 gt expression2

参数

expression1、expression2 数字、字符串或变量。

说明

运算符（比较）；比较 expression1 和 expression2 的字符串表示形式，如果 expression1
大于 expression2，则返回 true；否则，返回 false。

另请参见

>（大于）


_highquality

可用性

Flash Player 4；不鼓励使用该属性，而推荐使用 _quality。

用法

_highquality

说明

不鼓励使用的属性（全局）；指定应用于当前 SWF 文件的锯齿消除级别。指定 2（最高品质）可应用高品质，并使位图平滑处理始终打开。指定 1（高品质），则应用消除锯齿功能；如果
SWF 文件不包含动画，这将对位图进行平滑处理。指定 0（低品质），则不消除锯齿。

示例

_highquality = 1;

另请参见

_quality、toggleHighQuality()


if

可用性

Flash Player 4。

用法

if(condition) {
  statement(s);
}

参数

condition 计算结果为 true 或 false 的表达式。

statement(s) 在条件计算结果为 true 的情况下执行的指令。

返回

无。

说明

语句；对条件进行计算以确定 SWF 文件中的下一步动作。如果条件为 true，则 Flash 将运行条件后面花括号 ({}) 内的语句。如果条件为 false，则 Flash 将跳过花括号内的语句，而运行花括号后面的语句。使用 if 动作可在脚本中创建分支逻辑。

示例

在下面的示例中，括号内的条件对变量 name 进行计算以查看其是否具有文本值 "Erica"。如果有，则运行花括号内的 play() 动作。

if(name == "Erica"){
  play();
}

下面的示例使用 if 动作来确定用户何时释放 SWF 文件中的可拖动对象。如果对象在拖动后 300 毫秒之内被释放，则条件的计算结果为 true，并运行花括号内的语句。这些语句设置变量以存储对象的新位置、拖放对象的难易程度和拖放对象时的速度。timePressed 变量也将被重置。如果对象在拖动后超过 300 毫秒之后被释放，则条件的计算结果为 false，并且不运行任何语句。

if (getTimer()<timePressed+300) {
    // 如果条件为 true，
    // 则抛出此对象。
    // 此对象的新位置在哪里？
    xNewLoc = this._x;
    yNewLoc = this._y;
    // 将它抛出多远？
    xTravel = xNewLoc-xLoc;
    yTravel = yNewLoc-yLoc;
    // 根据它们随该对象行进的距离设置
    // 该对象的速度
    xInc = xTravel/2;
    yInc = yTravel/2;
    timePressed = 0;
  }

另请参见

else


ifFrameLoaded

可用性

Flash Player 3。不鼓励在 Flash 5 中使用 ifFrameLoaded 动作；Macromedia 建议使用
MovieClip._framesloaded 属性。

用法

ifFrameLoaded([scene,] frame) {
  statement(s);
}

参数

scene 可选字符串，指定必须加载的场景的名称。

frame 在执行下一条语句之前必须加载的帧编号或帧标签。

statement(s) 在加载了指定的场景（或场景及帧）时所执行的指令。

返回

无。

说明

不鼓励使用的动作；检查特定帧的内容是否为本地可用。使用 ifFrameLoaded 可在 SWF 文件的其余部分下载到本地计算机时开始播放简单的动画。使用 _framesloaded 和使用
ifFrameLoaded 之间的差别在于 _framesloaded 允许您添加自己的 if 或 else 语句。

另请参见

MovieClip._framesloaded


implements

可用性

Flash Player 6。

用法

myClass implements interface01 [, interface02, ...]

注意：若要使用此关键字，必须在 FLA 文件的“发布设置”对话框的“Flash”选项卡上指定“动作脚
本 2.0”和“Flash Player 6”或更高版本。仅支持在外部脚本文件中使用此关键字，而不支持在用“动作”面板编写的脚本中使用此关键字。

说明

关键字；定义必须为所实现的接口中定义的所有方法提供实现的类。有关更多信息，请参见
接口作为数据类型。

示例

请参见 interface。

另请参见

class、extends、interface


import

可用性

Flash Player 6。

用法

import className
import packageName.*

注意：若要使用此关键字，必须在 FLA 文件的“发布设置”对话框的“Flash”选项卡上指定“动作脚
本 2.0”和“Flash Player 6”或更高版本。在“动作”面板以及外部类文件中支持该语句。

参数

className 您在外部类文件中定义的类的全限定名。

packageName 存储相关类文件的目录。

说明

关键字；使您不必指定类的全限定名就可以访问类。例如，如果您要在脚本中使用类
macr.util.users.UserClass.as，则必须通过其全限定名引用它或导入它；如果您导入该类，则可以通过类名称引用它：

// 在导入前
var myUser:UserClass = new macr.util.users.UserClass();
// 在导入后
import macr.util.users.UserClass;
var myUser:UserClass = new UserClass();

如果在您要访问的目录中有若干类文件，则可以通过一个语句全部导入它们：

import macr.util.users.*;

您必须首先发出 import 语句，然后才能在不完全指定导入的类的名称的情况下访问该类。

如果您导入一个类，但没有在脚本中使用该类，则该类不作为 SWF 文件的一部分导出。这意味着您导入大型包时可以不必担心 SWF 文件的大小；只有在实际使用某一类的情况下，才会在 SWF 文件中包括与该类关联的字节码。

import 语句仅应用于调用该语句的当前脚本（帧或对象）。例如，假设您在某个 Flash 文档的第 1 帧上导入了 macr.util 包中的所有类。那么，在那一帧上则可以使用简单类名来引用该包中的类。

// 在某个 FLA 的第 1 帧上：
import macr.util.*;

var myFoo:foo = new foo();

但在其它帧脚本中，仍需要使用其全限定类名来引用该包中的类 (var myFoo:foo = new
macr.util.foo();)，或在其它帧上也添加一条 import 语句，导入该包中的类。

有关导入的更多信息，请参见导入类和使用包。


#include

可用性

Flash Player 4。

用法

#include "[path] filename.as"

注意：不要将分号 (;) 放在包含 #include 语句的行的末尾。

参数

[path] filename.as 要添加到“动作”面板的脚本的文件名和可选路径；.as 是推荐使用的文件扩展名。

返回

无。

说明

编译器指令：包含指定文件的内容，就像该文件中的命令属于调用脚本本身的一部分。#include 指令在编译时调用。因此，如果对外部文件进行了任何更改，则必须保存该文件，并重新编译使用它的任何 FLA 文件。

如果对包含 #include 语句的脚本使用“语法检查”按钮，则该包含文件中的语法也将被检查。

#include 可以在 FLA 文件和外部脚本文件中使用，但不能在动作脚本 2.0 类文件中使用。

您可以为要包含的文件指定无路径、相对路径或绝对路径。

  • 如果您没有指定路径，则 AS 文件必须与 FLA 文件或包含 #include 语句的脚本位于相同的目录中。
  • 若要为 AS 文件指定相对于 FLA 文件或脚本的路径，请使用一个圆点 (.) 来指示当前目录，使用两个圆点 (..) 来指示父目录，并且使用斜杠 (/)。请参见下面的示例。
  • 若要为 AS 文件指定绝对路径，请使用您的平台（Macintosh 或 Windows）所支持的格式。请参见下面的示例。但是，由于此用法要求目录结构在用来编译脚本的任何计算机上均相同，因此不建议采用此用法。

示例

以下示例显示多种为要包含在脚本中的文件指定路径的方法。

// 请注意，#include 语句未以分号 (;) 结尾
// AS 文件与 FLA 文件或脚本位于同一个目录中
#include "init_script.as"

// AS 文件位于包含 FLA 文件或脚本
//     的目录的子目录中
// 该子目录名为“FLA_includes”
#include "FLA_includes/init_script.as"

// AS 文件所在的目录与 FLA 文件或脚本所在的目录位于同一级
// 该目录名为“ALL_includes”
#include "../ALL_includes/init_script.as"

// AS 文件在 Windows 上由绝对路径来指定
// 请注意应使用斜杠，而不是反斜杠
#include "C:/Flash_scripts/init_script.as"

// AS 文件在 Macintosh 上由绝对路径来指定
#include "Mac HD:Flash_scripts:init_script.as"

另请参见

import


Infinity

可用性

Flash Player 5。

用法

Infinity

说明

属性；指定表示正无穷大的 IEEE-754 值。此常数的值与 Number.POSITIVE_INFINITY 相同。


-Infinity

可用性

Flash Player 5。

用法

-Infinity

说明

属性；指定表示负无穷大的 IEEE-754 值。此常数的值与 Number.NEGATIVE_INFINITY 相同。


#initclip

可用性

Flash Player 6。

用法

#initclip order

参数

order 指定 #initclip 代码块执行顺序的整数。这是一个可选参数。

说明

编译器指令；指示初始化动作块的开始。当同时初始化多个剪辑时，您可以使用 order 参数来指定先执行哪个初始化动作。在定义影片剪辑元件时，将执行初始化动作。如果影片剪辑是导出的元件，则初始化动作将在执行 SWF 文件第 1 帧上的动作之前执行。否则，组件初始化动作将在一特定帧（该帧包含关联影片剪辑元件的第一个实例）的帧动作脚本之前立即执行。

初始化动作在 SWF 文件播放过程中仅执行一次，您应该将这些动作用于一次性的初始化动作，例如类定义和注册。

另请参见

#endinitclip


instanceof

可用性

Flash Player 6。

用法

object instanceof class

参数

object 动作脚本对象。

class 对动作脚本构造函数（例如 String 或 Date）的引用。

返回

如果 object 是 class 的实例，则 instanceof 返回 true；否则，instanceof 返回 false。此外，_global instanceof Object 返回 false。

说明

运算符；确定某对象是否属于指定的类。测试 object 是否为 class 的实例。

instanceof 运算符不会将原始类型转换为包装对象。例如，下面的代码返回 true：

new String("Hello") instanceof String;

而下面的代码则返回 false：

"Hello" instanceof String;

另请参见

typeof


int

可用性

Flash Player 4。不鼓励在 Flash 5 中使用该函数，而推荐使用 Math.round()。

用法

int(value)

参数

value 要舍入为整数的数字。

返回

无。

说明

函数；将十进制数字转换为最相近的整数值。

另请参见

Math.floor()


interface

可用性

Flash Player 6。

用法

interface InterfaceName {}
interface InterfaceName [extends InterfaceName [, InterfaceName ...] {}

注意：若要使用此关键字，必须在 FLA 文件的“发布设置”对话框的“Flash”选项卡上指定“动作脚
本 2.0”和“Flash Player 6”或更高版本。仅支持在外部脚本文件中使用此关键字，而不支持在用“动作”面板编写的脚本中使用此关键字。

说明

关键字；定义接口。接口与类相似，但也具有以下重要差异：

  • 接口仅包含方法的声明，而不包含其实现。也就是说，实现接口的每个类必须为该接口中声明的每个方法提供实现。
  • 接口定义中只允许有公共成员。此外，不允许实例和类成员。
  • 在接口定义中不允许 get 和 set 语句。

有关更多信息，请参见创建和使用接口。

示例

以下示例显示用于定义和实现接口的若干方法。

（在顶层包 .as 文件 Ia、B、C、Ib、D、Ic、E 中）

// 文件名 Ia.as
interface Ia
{
  function k():Number;         // 仅限方法声明
  function n(x:Number):Number; // 不实现
}
// 文件名 B.as
class B implements Ia
{
  function k():Number {return 25;}
  function n(x:Number):Number {return x+5;}
}
// 外部脚本或“动作”面板
mvar = new B();
trace(B.k());   // 25
trace(B.n(7)); // 12

// 文件名 c.as
class C implements Ia
{
  function k():Number {return 25;}
} // 错误：类必须实现所有接口方法

// 文件名 Ib.as
interface Ib
{
  function o():Void;
}
class D implements Ia, Ib
{
  function k():Number {return 15;}
  function n(x:Number):Number {return x*x;}
  function o():Void {trace("o");}
}

// 外部脚本或“动作”面板
mvar = new D();
trace(D.k());   // 15
trace(D.n(7));  // 49
trace(D.o());   // "o"

interface Ic extends Ia
{
  function p():Void;
}
class E implements Ib, Ic
{
  function k():Number {return 25;}
  function n(x:Number):Number {return x+5;}
  function o():Void {trace("o");}
  function p():Void {trace("p");}
}

另请参见

class、extends、implements


isFinite

可用性

Flash Player 5。

用法

isFinite(expression)

参数

expression 要计算的布尔值表达式、变量表达式或其它表达式。

返回

一个布尔值。

说明

函数；对 expression 进行计算，如果为有限数，则返回 true，如果为无穷大或负无穷大，则返回 false。无穷大或负无穷大的出现指示有错误的数学条件，例如被 0 除。

示例

下面是 isFinite 返回值的示例：

isFinite(56)
// 返回 true

isFinite(Number.POSITIVE_INFINITY)
// 返回 false


isNaN()

可用性

Flash Player 5。

用法

isNaN(expression)

参数

expression 要计算的布尔表达式、变量表达式或其它表达式。

返回

一个布尔值。

说明

函数；对参数进行计算，如果值不是数字 (NaN)，则返回 true，指示存在数学错误。

示例

下面的代码显示了 isNaN 函数的返回值。

isNaN("Tree")

// 返回 true

isNaN(56)

// 返回 false

isNaN(Number.POSITIVE_INFINITY)
// 返回 false

另请参见

NaN、Number.NaN


Key 类

可用性

Flash Player 6。

说明

Key 类是不通过构造函数即可使用其方法和属性的顶级类。使用 Key 类的方法可生成用户能够通过标准键盘控制的界面。Key 类的属性是常量，表示控制游戏时最经常使用的键。有关键控代码值的完整列表，请参见键盘键和键控代码值。

Key 类的方法概要

方法 | 说明
Key.addListener() | 注册一个对象，以便在调用 onKeyDown 和 onKeyUp 方法时接收通知。
Key.getAscii() | 返回按下的最后一个键的 ASCII 值。
Key.getCode() | 返回按下的最后一个键的虚拟键控代码。
Key.isDown() | 当按下参数中指定的键时返回 true。
Key.isToggled() | 当激活 Num Lock 键或 Caps Lock 键时返回 true。
Key.removeListener() | 删除以前用 Key.addListener() 注册的对象。

Key 类的属性概要

Key 类的所有属性都是常量。

属性 | 说明
Key.BACKSPACE | 与 Backspace 键的键控代码值 (8) 关联的常量。
Key.CAPSLOCK | 与 Caps Lock 键的键控代码值 (20) 关联的常量。
Key.CONTROL | 与 Control 键的键控代码值 (17) 关联的常量。
Key.DELETEKEY | 与 Delete 键的键控代码值 (46) 关联的常量。
Key.DOWN | 与向下箭头键的键控代码值 (40) 关联的常量。
Key.END | 与 End 键的键控代码值 (35) 关联的常量。
Key.ENTER | 与 Enter 键的键控代码值 (13) 关联的常量。
Key.ESCAPE | 与 Escape 键的键控代码值 (27) 关联的常量。
Key.HOME | 与 Home 键的键控代码值 (36) 关联的常量。
Key.INSERT | 与 Insert 键的键控代码值 (45) 关联的常量。
Key.LEFT | 与左箭头键的键控代码值 (37) 关联的常量。
Key.PGDN | 与 Page Down 键的键控代码值 (34) 关联的常量。
Key.PGUP | 与 Page Up 键的键控代码值 (33) 关联的常量。
Key.RIGHT | 与右箭头键的键控代码值 (39) 关联的常量。
Key.SHIFT | 与 Shift 键的键控代码值 (16) 关联的常量。
Key.SPACE | 与空格键的键控代码值 (32) 关联的常量。
Key.TAB | 与 Tab 键的键控代码值 (9) 关联的常量。
Key.UP | 与向上箭头键的键控代码值 (38) 关联的常量。

Key 类的侦听器概要

方法 | 说明
Key.onKeyDown | 当按下某按键时获得通知。
Key.onKeyUp | 当释放某按键时获得通知。


Key.addListener()

可用性

Flash Player 6。

用法

Key.addListener (newListener)

参数

newListener 具有方法 onKeyDown 和 onKeyUp 的对象。

返回

无。

说明

方法；注册一个对象以接收 onKeyDown 和 onKeyUp 通知。当按下或释放按键时，不管输入焦点情况如何，所有用 addListener() 注册的侦听对象都将调用其 onKeyDown 方法或 onKeyUp 方法。可以有多个对象侦听键盘通知。如果已经注册了侦听器 newListener，则不会发生任何
更改。

示例

以下示例创建一个新的侦听器对象，并为 onKeyDown 和 onKeyUp 定义一个函数。最后一行使用 addListener() 向 Key 对象注册该侦听器，以使该对象可接收按下和释放按键事件的通知。

myListener = new Object();
myListener.onKeyDown = function () {
  trace ("You pressed a key.");
}
myListener.onKeyUp = function () {
  trace ("You released a key.");
}
Key.addListener(myListener);

以下示例将快捷键 Control+7 分配给实例名称为 myButton 的按钮，并将与该快捷键有关的信息提供给屏幕读取器（请参见 _accProps）。在此示例中，在您按下 Control+7 组合键时，myOnPress 函数在“输出”面板中显示文本“hello”；您可以在自己的文件中创建更具意义的函数。

function myOnPress() {
  trace( "hello" );
}

function myOnKeyDown() {
  if (Key.isDown(Key.CONTROL) && Key.getCode() == 55) // 55 是 7 的键控代码
  {
    Selection.setFocus( myButton );
    myButton.onPress();
  }
}

var myListener = new Object();
myListener.onKeyDown = myOnKeyDown;
Key.addListener(myListener);

myButton.onPress = myOnPress;
myButton._accProps.shortcut = "Ctrl+F"
Accessibility.updateProperties();

另请参见

Key.getCode()、Key.isDown()、Key.onKeyDown、Key.onKeyUp、Key.removeListener()


Key.BACKSPACE

可用性

Flash Player 5。

用法

Key.BACKSPACE

说明

属性；与 Backspace 键的键控代码值 (8) 关联的常量。


Key.CAPSLOCK

可用性

Flash Player 5。

用法

Key.CAPSLOCK

说明

属性；与 Caps Lock 键的键控代码值 (20) 关联的常量。


Key.CONTROL

可用性

Flash Player 5。

用法

Key.CONTROL

说明

属性；与 Control 键的键控代码值 (17) 关联的常量。


Key.DELETEKEY

可用性

Flash Player 5。

用法

Key.DELETEKEY

说明

属性；与 Delete 键的键控代码值 (46) 关联的常量。


Key.DOWN

可用性

Flash Player 5。

用法

Key.DOWN

说明

属性；与向下箭头键的键控代码值 (40) 关联的常量。


Key.END

可用性

Flash Player 5。

用法

Key.END

说明

属性；与 End 键的键控代码值 (35) 关联的常量。


Key.ENTER

可用性

Flash Player 5。

用法

Key.ENTER

说明

属性；与 Enter 键的键控代码值 (13) 关联的常量。


Key.ESCAPE

可用性

Flash Player 5。

用法

Key.ESCAPE

说明

属性；与 Escape 键的键控代码值 (27) 关联的常量。


Key.getAscii()

可用性

Flash Player 5。

用法

Key.getAscii();

参数

无。

返回

表示上次所按键的 ASCII 值的整数。

说明

方法；返回按下或释放的最后一个键的 ASCII 码。返回的 ASCII 值为英文键盘值。例如，如果您按下 Shift+2，则在日文键盘上 Key.getAscii() 将返回 @，就如同该方法在英文键盘上的返回结果一样。


Key.getCode()

可用性

Flash Player 5。

用法

Key.getCode();

参数

无。

返回

表示上次所按键的键控代码的整数。

说明

方法；返回按下的最后一个键的键控代码值。若要将返回的键控代码值与标准键盘上的键相匹配，请参见键盘键和键控代码值。


Key.HOME

可用性

Flash Player 5。

用法

Key.HOME

说明

属性；与 Home 键的键控代码值 (36) 关联的常量。


Key.INSERT

可用性

Flash Player 5。

用法

Key.INSERT

说明

属性；与 Insert 键的键控代码值 (45) 关联的常量。


Key.isDown()

可用性

Flash Player 5。

用法

Key.isDown(keycode)

参数

keycode 分配给特定键的键控代码值，或与特定键相关联的 Key 类属性。若要将返回的键控代码值与标准键盘上的键相匹配，请参见键盘键和键控代码值。

返回

一个布尔值。

说明

方法；如果按 keycode 中指定的键，则返回 true；否则，返回 false。在 Macintosh 上，Caps Lock 键和 Num Lock 键的键控代码值相同。

示例

以下脚本使用户可以控制影片剪辑的位置。

onClipEvent (enterFrame) {
  if(Key.isDown(Key.RIGHT)) {
    this._x=_x+10;
  } else if (Key.isDown(Key.DOWN)) {
    this._y=_y+10;
  }
}


Key.isToggled()

可用性

Flash Player 5。

用法

Key.isToggled(keycode)

参数

keycode Caps Lock 的键控代码 (20) 或 Num Lock 的键控代码 (144)。

返回

一个布尔值。

说明

方法；在 Caps Lock 键或 Num Lock 键处于激活状态（被切换）时返回 true，否则返回 false。在 Macintosh 上，Caps Lock 键和 Num Lock 键的键控代码值相同。


Key.LEFT

可用性

Flash Player 5。

用法

Key.LEFT

说明

属性；与左箭头键的键控代码值 (37) 关联的常量。


Key.onKeyDown

可用性

Flash Player 6。

用法

someListener.onKeyDown

说明

侦听器；当按下某按键时获得通知。若要使用 onKeyDown，必须创建侦听器对象。然后可以为 onKeyDown 定义一个函数，并使用 addListener() 向 Key 对象注册该侦听器，如下所示：

someListener = new Object();
someListener.onKeyDown = function () { ... };
Key.addListener(someListener);

侦听器可以使不同的代码片段协同工作，因为多个侦听器可以接收有关单个事件的通知。

另请参见

Key.addListener()


Key.onKeyUp

可用性

Flash Player 6。

用法

someListener.onKeyUp

说明

侦听器；当释放某按键时获得通知。若要使用 onKeyUp，必须创建侦听器对象。然后可以为 onKeyUp 定义一个函数，并使用 addListener() 向 Key 对象注册该侦听器，如下所示：

someListener = new Object();
someListener.onKeyUp = function () { ... };
Key.addListener(someListener);

侦听器可以使不同的代码片段协同工作，因为多个侦听器可以接收有关单个事件的通知。

另请参见

Key.addListener()


Key.PGDN

可用性

Flash Player 5。

用法

Key.PGDN

说明

属性；与 Page Down 键的键控代码值 (34) 关联的常量。


Key.PGUP

可用性

Flash Player 5。

用法

Key.PGUP

说明

属性；与 Page Up 键的键控代码值 (33) 关联的常量。


Key.removeListener()

可用性

Flash Player 6。

用法

Key.removeListener (listener)

参数

listener 对象。

返回

如果成功删除了 listener，则该方法返回 true。如果未能成功删除 listener（例如，如果 listener 不在 Key 对象的侦听器列表上），则该方法返回 false。

说明

方法；删除以前用 Key.addListener() 注册的对象。


Key.RIGHT

可用性

Flash Player 5。

用法

Key.RIGHT

说明

属性；与右箭头键的键控代码值 (39) 关联的常量。


Key.SHIFT

可用性

Flash Player 5。

用法

Key.SHIFT

说明

属性；与 Shift 键的键控代码值 (16) 关联的常量。


Key.SPACE

可用性

Flash Player 5。

用法

Key.SPACE

说明

属性；与空格键的键控代码值 (32) 关联的常量。


Key.TAB

可用性

Flash Player 5。

用法

Key.TAB

说明

属性；与 Tab 键的键控代码值 (9) 关联的常量。


Key.UP

可用性

Flash Player 5。

用法

Key.UP

说明

属性；与向上箭头键的键控代码值 (38) 关联的常量。


le（小于或等于 - 字符串专用）

可用性

Flash Player 4。不鼓励在 Flash 5 中使用此运算符，而推荐使用 <=（小于等于） 运算符。

用法

expression1 le expression2

参数

expression1、expression2 数字、字符串或变量。

返回

无。

说明

运算符（比较）；比较 expression1 与 expression2，如果 expression1 小于或等于
expression2，则返回值 true；否则，返回 false 值。

另请参见

<=（小于等于）


length

可用性

Flash Player 4。不鼓励在 Flash 5 中使用此函数及所有字符串函数。Macromedia 建议使用 String 类的方法以及 String.length 属性来执行相同的操作。

用法

length(expression)
length(variable)

参数

expression 字符串。

variable 变量的名称。

返回

指定字符串或变量名称的长度。

说明

字符串函数；返回指定字符串或变量名称的长度。

示例

下面的示例返回字符串 "Hello" 的值。

length("Hello");

结果为 5。

另请参见

" "（字符串分隔符）、String 类、String.length


_level

可用性

Flash Player 4。

用法

_levelN

说明

标识符；对 _levelN 的根时间轴的引用。必须在使用 loadMovieNum() 将 SWF 文件加载到 Flash Player 中以后，才可使用 _level 属性来定位这些 SWF。还可使用 _levelN 来定位由 N 所指定级别处的已加载 SWF 文件。

加载到 Flash Player 实例中的初始 SWF 文件会自动加载到 _level0。_level0 中的 SWF 文件为所有随后加载的 SWF 文件设置帧频、背景色和帧大小。然后 SWF 文件堆叠在处于 _level0 的 SWF 文件之上的更高编号级别中。

您必须为每个使用 loadMovieNum() 加载到 Flash Player 中的 SWF 文件分配一个级别。您可按任意顺序分配级别。如果您分配的级别（包括 _level0）中已经包含 SWF 文件，则处于该级别的 SWF 文件将被卸载并替换为新的 SWF 文件。

示例

下面的示例将播放头停止在位于 _level9 中的 SWF 文件的主时间轴中。

_level9.stop();

下面的示例将位于 _level4 中的 SWF 文件的主时间轴中的播放头转到第 5 帧。在此之前，处于 _level4 中的 SWF 文件必须已经用 loadMovieNum() 动作加载。

_level4.gotoAndStop(5);

另请参见

loadMovie()、MovieClip.swapDepths()


loadMovie()

可用性

Flash Player 3。

用法

loadMovie("url",target [, method])

参数

url 要加载的 SWF 文件或 JPEG 文件的绝对或相对 URL。相对路径必须相对于级别 0 处的 SWF 文件。绝对 URL 必须包括协议引用，例如 http:// 或 file:///。

target 指向目标影片剪辑的路径。目标影片剪辑将替换为加载的 SWF 文件或图像。

method 可选参数，指定用于发送变量的 HTTP 方法。该参数必须是字符串 GET 或 POST。如果没有要发送的变量，则省略此参数。GET 方法将变量追加到 URL 的末尾，它用于发送少量的变量。POST 方法在单独的 HTTP 标头中发送变量，它用于发送大量的变量。

返回

无。

说明

函数；在播放原始 SWF 文件的同时将 SWF 文件或 JPEG 文件加载到 Flash Player 中。

提示：如果您要监视下载的进度，请使用 MovieClipLoader.loadClip() 而不是此函数。

使用 loadMovie() 函数可以一次显示几个 SWF 文件并且无需加载另一个 HTML 文档即可在 SWF 文件间进行切换。如果不使用 loadMovie() 函数，则 Flash Player 显示单个 SWF 文件，然后关闭。

如果要将 SWF 文件或 JPEG 文件加载到特定的级别，请使用 loadMovieNum() 而不是 loadMovie()。

如果 SWF 文件加载到目标影片剪辑，则可使用该影片剪辑的目标路径来定位加载的 SWF 文件。加载到目标的 SWF 文件或图像会继承目标影片剪辑的位置、旋转和缩放属性。加载的图像或 SWF 文件的左上角与目标影片剪辑的注册点对齐。或者，如果目标为 _root 时间轴，则该图像或 SWF 文件的左上角与舞台的左上角对齐。

使用 unloadMovie() 可删除用 loadMovie() 加载的 SWF 文件。

示例

下面的 loadMovie() 语句附加到标签为 Products 的导航按钮。在舞台上有一个实例名称为 dropZone 的不可见影片剪辑。loadMovie() 函数使用此影片剪辑作为目标参数将 SWF 文件中的产品加载到舞台上的正确位置。

on (release) {
  loadMovie("products.swf",_root.dropZone);
}

下面的示例从特定目录中加载一个 JPEG 图像，该目录与调用 loadMovie() 函数的 SWF 文件的目录相同：

loadMovie("image45.jpeg", "ourMovieClip");

另请参见

_level、loadMovieNum()、MovieClipLoader.loadClip()°unloadMovie()


loadMovieNum()

可用性

Flash Player 4。用 Flash 5 或更高版本打开的 Flash 4 文件将进行转换，以使用正确的语法。

用法

loadMovieNum("url",level [, variables])

参数

url 要加载的 SWF 或 JPEG 文件的绝对或相对 URL。相对路径必须相对于级别 0 处的 SWF 文件。为了在独立的 Flash Player 中使用 SWF 文件或在 Flash 创作应用程序的测试影片模式下测试 SWF 文件，必须将所有的 SWF 文件存储在同一个文件夹中，并且其文件名不能包含文件夹或磁盘驱动器说明。

level 一个整数，指定 SWF 文件将加载到 Flash Player 中的哪个级别。

variables 可选参数，指定发送变量所使用的 HTTP 方法。该参数必须是字符串 GET 或 POST。如果没有要发送的变量，则省略此参数。GET 方法将变量追加到 URL 的末尾，它用于发送少量的变量。POST 方法在单独的 HTTP 标头中发送变量，它用于发送大量的变量。

返回

无。

说明

函数；在播放原来加载的 SWF 文件的同时将 SWF 文件或 JPEG 文件加载到 Flash Player 中的某个级别。

提示：如果您要监视下载的进度，则使用 MovieClipLoader.loadClip() 而不是此函数。

一般情况下，Flash Player 显示单个 SWF 文件，然后关闭。loadMovieNum() 动作使您可以同时显示几个 SWF 文件，并且无需加载另一个 HTML 文档就可在 SWF 文件之间切换。

如果要指定目标而不是级别，请使用 loadMovie() 而不是 loadMovieNum()。

Flash Player 具有从级别 0 开始的级别堆叠顺序。这些级别类似于醋酸纤维层；除了每个级别上的对象之外，它们是透明的。当使用 loadMovieNum() 时，必须指定 SWF 文件将加载到 Flash Player 中的哪个级别。在 SWF 文件加载到某个级别后，即可使用语法 _levelN 来定位 SWF 文件，其中 N 为级别号。

当加载 SWF 文件时，可指定任何级别号，并且可将 SWF 文件加载到已加载有 SWF 文件的级别。如果执行此动作，则新的 SWF 文件将替换现有的 SWF 文件。如果将 SWF 文件加载到级别 0，则 Flash Player 中的每个级别均被卸载，并且级别 0 将替换为该新文件。处于级别 0 的 SWF 文件为所有其它加载的 SWF 文件设置帧频、背景色和帧大小。

loadMovieNum() 动作也允许您在播放 SWF 文件时将 JPEG 文件加载到 SWF 文件中。对于图像和 SWF 文件，在文件加载时，图像的左上角均与舞台的左上角对齐。另外，在这两种情况下，加载的文件均继承旋转和缩放设置，并且初始内容将被覆盖。

使用 unloadMovieNum() 可删除用 loadMovieNum() 加载的 SWF 文件或图像。

示例

此示例将 JPEG 图像“image45.jpg”加载到 Flash Player 的级别 2 中。

loadMovieNum("http://www.blag.com/image45.jpg", 2);

另请参见

loadMovie()、unloadMovieNum()、_level


loadVariables()

可用性

Flash Player 4；行为在 Flash Player 7 中进行了更改。

用法

loadVariables ("url" , target [, variables])

参数

url 变量所处位置的绝对或相对 URL。如果发出此调用的 SWF 文件正在 Web 浏览器中运行，则 url 必须与该 SWF 文件位于同一域中；有关详细信息，请参见下面的“说明”。

target 指向接收所加载变量的影片剪辑的目标路径。

variables 可选参数，指定发送变量所使用的 HTTP 方法。该参数必须是字符串 GET 或 POST。如果没有要发送的变量，则省略此参数。GET 方法将变量追加到 URL 的末尾，它用于发送少量的变量。POST 方法在单独的 HTTP 标头中发送变量，它用于发送大量的变量。

返回

无。

说明

函数；从外部文件（例如文本文件，或由 CGI 脚本、Active Server Page (ASP)、PHP 或 Perl 脚本生成的文本）中读取数据，并设置目标影片剪辑中变量的值。此动作还可用于使用新值更新活动 SWF 文件中的变量。

指定 URL 处的文本必须为标准的 MIME 格式 application/x-www-form-urlencoded（CGI 脚本所使用的一种标准格式）。可以指定任意数量的变量。例如，下面的语句定义了几个变量：

company=Macromedia&address=600+Townsend&city=San+Francisco&zip=94103

如果 SWF 文件运行在早于 Flash Player 7 的播放器版本中，则 url 必须与发出此调用的 SWF 文件位于同一超域中。例如，www.someDomain.com 上的 SWF 文件可以加载来自
store.someDomain.com 上的 SWF 文件的变量，因为这两个文件都位于 someDomain.com 的同一超域中。

如果任何版本的 SWF 文件运行在 Flash Player 7 或更高版本中，url 必须处于完全相同的域中（请参见Flash Player 安全功能）。例如，www.someDomain.com 上的 SWF 文件只能加载也来自 www.someDomain.com 上的 SWF 文件的变量。如果您要加载来自不同域的变量，可以将一个跨域策略文件 放置于承载所访问的 SWF 文件的服务器上。有关更多信息，请参见关于允许跨域数据加载。

如果要将变量加载到特定的级别，请使用 loadVariablesNum() 而不是 loadVariables()。

示例

此示例将文本文件中的信息加载到主时间轴上 varTarget 影片剪辑的文本字段中。文本字段的变量名必须与 data.txt 文件中的变量名匹配。

on (release) {
  loadVariables("data.txt", "_root.varTarget");
}

另请参见

loadVariablesNum()、loadMovie()、loadMovieNum()、getURL()、MovieClip.loadMovie()、MovieClip.loadVariables()


loadVariablesNum()

可用性

Flash Player 4。用 Flash 5 或更高版本打开的 Flash 4 文件将进行转换，以使用正确的语法。行为在 Flash Player 7 中已更改。

用法

loadVariablesNum ("url" ,level [, variables])

参数

url 变量所处位置的绝对或相对 URL。如果发出此调用的 SWF 文件正在 Web 浏览器中运行，则 url 必须与该 SWF 文件位于同一域中；有关详细信息，请参见下面的“说明”。

level 一个整数，指定 Flash Player 中接收这些变量的级别。

variables 可选参数，指定发送变量所使用的 HTTP 方法。该参数必须是字符串 GET 或 POST。如果没有要发送的变量，则省略此参数。GET 方法将变量追加到 URL 的末尾，它用于发送少量的变量。POST 方法在单独的 HTTP 标头中发送变量，它用于发送大量的变量。

返回

无。

说明

函数；从外部文件（例如文本文件，或由 CGI 脚本、Active Server Page (ASP)、PHP 或 Perl 脚本生成的文本）中读取数据，并设置 Flash Player 级别中变量的值。此函数还可用于使用新值更新活动 SWF 文件中的变量。

指定 URL 处的文本必须为标准的 MIME 格式 application/x-www-form-urlencoded（CGI 脚本所使用的一种标准格式）。可以指定任意数量的变量。例如，下面的语句定义了几个变量：

company=Macromedia&address=600+Townsend&city=San+Francisco&zip=94103

如果 SWF 文件运行在早于 Flash Player 7 的播放器版本中，则 url 必须与发出此调用的 SWF 文件位于同一超域中。例如，www.someDomain.com 上的 SWF 文件可以加载来自 store.someDomain.com 上的 SWF 文件的变量，因为这两个文件都位于 someDomain.com 的同一超域中。

如果任何版本的 SWF 文件运行在 Flash Player 7 或更高版本中，url 必须处于完全相同的域中（请参见Flash Player 安全功能）。例如，www.someDomain.com 上的 SWF 文件只能加载也来自 www.someDomain.com 上的 SWF 文件的变量。如果您要加载来自不同域的变量，可以将一个跨域策略文件 放置于承载所访问的 SWF 文件的服务器上。有关更多信息，请参见关于允许跨域数据加载。

如果要将变量加载到目标影片剪辑中，请使用 loadVariables() 而不是 loadVariablesNum()。

示例

此示例将来自文本文件中的信息加载到 Flash Player 中级别 0 处的 SWF 文件的主时间轴上的文本字段中。文本字段的变量名必须与 data.txt 文件中的变量名匹配。

on (release) {
  loadVariablesNum("data.txt", 0);
}

另请参见

getURL()、loadMovie()、loadMovieNum()、loadVariables()、MovieClip.loadMovie()、MovieClip.loadVariables()


LoadVars 类

可用性

Flash Player 6。

说明

LoadVars 类是 loadVariables() 函数的替代方法，用于在 Flash 应用程序和服务器之间传输变量。

您可以使用 LoadVars 类在下载时获取成功数据加载、进度指示和流数据的验证信息。LoadVars 类的工作原理非常类似于 XML 类；它使用方法 load()、send() 和 sendAndLoad() 与服务器进行通讯。LoadVars 类和 XML 类之间的主要差别在于 LoadVars 传输动作脚本的名称和值对，而不是 XML 对象中存储的 XML DOM 树。

LoadVars 类与 XML 类遵循相同的安全限制。

LoadVars 类的方法概要

方法 | 说明
LoadVars.addRequestHeader() | 添加或更改 POST 操作的 HTTP 标头。
LoadVars.getBytesLoaded() | 返回 LoadVars.load() 或 LoadVars.sendAndLoad() 所下载的字节数。
LoadVars.getBytesTotal() | 返回将通过 load 或 sendAndLoad 方法下载的总字节数。
LoadVars.load() | 从指定的 URL 下载变量。
LoadVars.send() | 将变量从 LoadVars 对象发布到 URL。
LoadVars.sendAndLoad() | 将变量从 LoadVars 对象发布到 URL，并将服务器的响应下载到目标对象。
LoadVars.toString() | 返回包含 LoadVars 对象中所有可枚举变量的 URL 编码字符串。

LoadVars 类的属性概要

属性 | 说明
LoadVars.contentType | 指示数据的 MIME 类型。
LoadVars.loaded | 指示 load 或 sendAndLoad 操作是否已完成的布尔值。

LoadVars 类的事件处理函数概要

事件处理函数 | 说明
LoadVars.onData | 当数据从服务器上完全下载时，或者当从服务器下载数据的过程中出现错误时调用。
LoadVars.onLoad | 当完成 load 或 sendAndLoad 操作时调用。

LoadVars 类的构造函数

可用性

Flash Player 6。

用法

new LoadVars()

参数

无。

返回

无。

说明

构造函数；创建 LoadVars 对象。然后您可使用该 LoadVars 对象的方法来发送和加载数据。

示例

下面的示例创建一个名为 my_lv 的 LoadVars 的对象：

var my_lv = new LoadVars();


LoadVars.addRequestHeader()

可用性

Flash Player 6。

用法

my_lv.addRequestHeader(headerName, headerValue)
my_lv.addRequestHeader(["headerName_1", "headerValue_1" ..."headerName_n", "headerValue_n"])

参数

headerName HTTP 请求标头名称。

headerValue 与 headerName 关联的值。

返回

无。

说明

方法，添加或更改用 POST 动作发送的 HTTP 请求标头（如 Content-Type 或 SOAPAction）。在第一种用法中，向该方法传递了两个字符串：headerName 和 headerValue。在第二种用法中，传递了字符串、替代标头名称和标头值的数组。

如果通过多次调用来设置相同的标头名称，则每个后继值将替换在上一次调用中设置的值。

不能 使用此方法添加或更改以下标准 HTTP 标头：Accept-Ranges、Age、Allow、Allowed、Connection、Content-Length、Content-Location、Content-Range、ETag、Host、Last-Modified、Locations、Max-Forwards、Proxy-Authenticate、Proxy-Authorization、Public、Range、Retry-After、Server、TE、Trailer、Transfer-Encoding、Upgrade、URI、Vary、Via、Warning 和 WWW-Authenticate。

示例

以下示例将值为 Foo 的自定义 HTTP 标头 SOAPAction 添加到 my_lv 对象。

my_lv.addRequestHeader("SOAPAction", "'Foo'");

下一个示例创建名为 headers 的数组，它包含两个替代 HTTP 标头及其关联值。该数组作为参量传递给 addRequestHeader()。

var headers = ["Content-Type", "text/plain", "X-ClientAppVersion", "2.0"];
my_lv.addRequestHeader(headers);

另请参见

XML.addRequestHeader()


LoadVars.contentType

可用性

Flash Player 6。

用法

my_lv.contentType

说明

属性；当您调用 LoadVars.send() 或 LoadVars.sendAndLoad() 时发送到服务器的 MIME 类型。默认值为 application/x-www-form-urlencoded。

另请参见

LoadVars.send()、LoadVars.sendAndLoad()


LoadVars.getBytesLoaded()

可用性

Flash Player 6。

用法

my_lv.getBytesLoaded()

参数

无。

返回

一个整数。

说明

方法；返回 LoadVars.load() 或 LoadVars.sendAndLoad() 所下载的字节数。如果当前没有执行加载操作或者尚未开始加载操作，此方法将返回 undefined。


LoadVars.getBytesTotal()

可用性

Flash Player 6。

用法

my_lv.getBytesTotal()

参数

无。

返回

一个整数。

说明

方法；返回 LoadVars.load() 或 LoadVars.sendAndLoad() 所下载的总字节数。如果当前没有执行加载操作或者尚未开始加载操作，此方法将返回 undefined。如果无法确定总字节数（例如，如果下载已开始但服务器尚未传输 HTTP Content-Length 标头），则此方法也会返回 undefined。


LoadVars.load()

可用性

Flash Player 6；行为在 Flash Player 7 中进行了更改。

用法

my_lv.load(url)

参数

url 要从中下载变量的 URL。如果发出此调用的 SWF 文件正在 Web 浏览器中运行，则 url 必须与该 SWF 文件位于同一域中；有关详细信息，请参见下面的“说明”。

返回

字符串。

说明

方法；从指定的 URL 下载变量，分析变量数据，并将结果变量放在 my_lv 中。my_lv 中任何与下载变量同名的属性都将被覆盖。my_lv 中任何与下载变量不同名的属性都不会被删除。这是一个异步动作。

下载的数据必须是 MIME 内容类型 application/x-www-form-urlencoded。这种格式与
loadVariables() 所用的格式相同。

如果 SWF 文件运行在早于 Flash Player 7 的播放器版本中，则 url 必须与发出此调用的 SWF 文件位于同一超域中。例如，www.someDomain.com 上的 SWF 文件可以加载来自
store.someDomain.com 上的 SWF 文件的变量，因为这两个文件都位于 someDomain.com 的同一超域中。

如果任何版本的 SWF 文件运行在 Flash Player 7 或更高版本中，url 必须处于完全相同的域中（请参见Flash Player 安全功能）。例如，www.someDomain.com 上的 SWF 文件只能加载也来自 www.someDomain.com 上的 SWF 文件的变量。如果您要加载来自不同域的变量，可以将一个跨域策略文件 放置于承载所访问的 SWF 文件的服务器上。有关更多信息，请参见关于允许跨域数据加载。

此外，在以 Flash Player 7 为目标播放器发布的文件中，使用 LoadVars.load() 加载的外部变量支持区分大小写（请参见区分大小写）。

此方法与 XML.load() 相似。


LoadVars.loaded

可用性

Flash Player 6。

用法

my_lv.loaded

说明

属性；默认情况下为未定义。当 LoadVars.load() 或 LoadVars.sendAndLoad() 操作开始时，loaded 属性设置为 false；当该操作完成时，loaded 属性设置为 true。如果该操作尚未完成或由于错误而失败，则 loaded 属性仍保持设置为 false。

此属性与 XML.loaded 属性相似。


LoadVars.onData

可用性

Flash Player 6。

用法

my_lv.onData = function(src) {
  // 此处是您的语句
}

参数

src 来自 LoadVars.load() 或 LoadVars.sendAndLoad() 方法调用的原始（未分析）数据。

返回

无。

说明

事件处理函数；当数据从服务器上完全下载时，或者当从服务器下载数据的过程中出现错误时调用。此处理函数在分析数据之前调用，因此它可用于调用自定义分析例程，而不必调用 Flash Player 中的内置分析例程。对于分配给 LoadVars.onData 的函数，传递给它的 src 参数的值可以是 undefined，或者包含从服务器下载的 URL 编码名称/值对的字符串。如果返回值为
undefined，则说明从服务器下载数据时出现了错误。

LoadVars.onData 的默认实现调用 LoadVars.onLoad。您可以通过将自定义函数分配给
LoadVars.onData 来覆盖此默认实现，但 LoadVars.onLoad 将不再被调用，除非您在
LoadVars.onData 的实现中调用它。


LoadVars.onLoad

可用性

Flash Player 6。

用法

my_lv.onLoad = function(success) {
  // 此处是您的语句
}

参数

success 该参数指示加载操作是成功完成 (true) 还是以失败结束 (false)。

返回

一个布尔值。

说明

事件处理函数；当 LoadVars.load() 或 LoadVars.sendAndLoad() 操作结束时调用。如果该操作成功，my_lv 将填充为该操作所下载的变量，而这些变量将在调用此处理函数时变为可用。

默认情况下该处理函数未定义。

此方法与 XML.onLoad() 相似。


LoadVars.send()

可用性

Flash Player 6。

用法

my_lv.send(url [,target, method])

参数

url 要将变量上传到的 URL。

target 浏览器框架窗口，所有响应都将在其中显示。

method HTTP 协议的 GET 或 POST 方法。

返回

字符串。

说明

方法；将 my_lv 对象中的变量发送到指定的 URL。默认情况下，my_lv 中的所有可枚举变量都将连接为一个 application/x-www-form-urlencoded 格式的字符串，该字符串将通过 HTTP POST 方法被发布到 URL。这与 loadVariables() 动作所用的格式相同。在 HTTP 请求标头中发送的 MIME 内容类型是 my_lv.contentType 的值或默认的 application/x-www-form-urlencoded。除非指定了 GET，否则将使用 POST 方法。

如果指定了 target 参数，则服务器的响应将显示在指定的目标浏览器框架窗口中。如果省略 target 参数，则服务器响应将被丢弃。

此方法与 XML.send() 相似。


LoadVars.sendAndLoad()

可用性

Flash Player 6；行为在 Flash Player 7 中进行了更改。

用法

my_lv.sendAndLoad(url, targetObject[, method])

参数

url 要将变量上传到的 URL。如果发出此调用的 SWF 文件正在 Web 浏览器中运行，则 url 必须与该 SWF 文件位于同一域中；有关详细信息，请参见下面的“说明”。

targetObject 接收下载变量的 LoadVars 对象。

method HTTP 协议的 GET 或 POST 方法。

返回

字符串。

说明

方法；将 my_lv 对象中的变量发布到指定的 URL。将下载服务器响应，并将其作为变量数据进行分析，然后将结果变量放在 targetObject 对象中。

变量发布的方式与 LoadVars.send() 相同。变量下载到 targetObject 中的方式与
LoadVars.load() 相同。

如果 SWF 文件运行在早于 Flash Player 7 的播放器版本中，则 url 必须与发出此调用的 SWF 文件位于同一超域中。例如，www.someDomain.com 上的 SWF 文件可以加载来自
store.someDomain.com 上的 SWF 文件的变量，因为这两个文件都位于 someDomain.com 的同一超域中。

如果任何版本的 SWF 文件运行在 Flash Player 7 或更高版本中，url 必须处于完全相同的域中（请参见Flash Player 安全功能）。例如，www.someDomain.com 上的 SWF 文件只能加载也来自 www.someDomain.com 上的 SWF 文件的变量。如果您要加载来自不同域的变量，可以将一个跨域策略文件 放置于承载所访问的 SWF 文件的服务器上。有关更多信息，请参见关于允许跨域数据加载。

此方法与 XML.sendAndLoad() 相似。


LoadVars.toString()

可用性

Flash Player 6。

用法

my_lv.toString()

参数

无。

返回

字符串。

说明

方法；以 MIME 内容编码格式 application/x-www-form-urlencoded 返回包含 my_lv 对象中所有可枚举变量的字符串。

示例

var myVars = new LoadVars();
myVars.name = “Gary?
myVars.age = 26;
trace (myVars.toString());
//将输出
//name=Gary&age=26


LocalConnection 类

可用性

Flash Player 6。

说明

LocalConnection 类用于开发 SWF 文件，这些文件无需使用 fscommand() 或 JavaScript 即可相互发送指令。LocalConnection 对象只能在运行于同一台客户机上的 SWF 文件之间通讯，但这些 SWF 文件可以在两个不同的应用程序中运行。例如，一个 SWF 文件在浏览器中运行，而一个 SWF 文件在播放器中运行。您可以使用 LocalConnection 对象在单个 SWF 文件中发送和接收数据，但这不是标准的实现；本节中的所有示例均说明不同 SWF 文件之间的通讯。

用来发送和接收数据的主要方法是 LocalConnection.send() 和 LocalConnection.connect()。在最基础的层次，您的代码将实现以下命令；请注意 LocalConnection.send() 和
LocalConnection.connect() 命令均指定相同的连接名称 lc_name：

// 接收方影片中的代码
receiving_lc = new LocalConnection();
receiving_lc.methodToExecute = function(param1, param2)
{
  // 要执行的代码
}
receiving_lc.connect("lc_name");
// 发送方影片中的代码
sending_lc = new LocalConnection();
sending_lc.send("lc_name", "methodToExecute", dataItem1, dataItem2)

LocalConnection 对象最简单的使用方法是仅允许在位于同一个域中的 LocalConnection 对象之间进行通讯，因为您将不需要处理与安全相关的问题。但是，如果您需要允许域间通讯，则可以通过多种方法来实现安全措施。有关更多信息，请参见 LocalConnection.send() 中对
connectionName 参数的讨论，以及 LocalConnection.allowDomain 和 LocalConnection.domain() 条目。

LocalConnection 类的方法概述

方法 | 说明
LocalConnection.close() | 关闭（断开连接）LocalConnection 对象。
LocalConnection.connect() | 准备 LocalConnection 对象，以从 LocalConnection.send() 命令中接收命令。
LocalConnection.domain() | 返回一个字符串，表示当前 SWF 文件所在位置的超域。
LocalConnection.send() | 对指定的 LocalConnection 对象调用方法。

LocalConnection 类的事件处理函数概要

事件处理函数 | 说明
LocalConnection.allowDomain | 每当当前（接收方）LocalConnection 对象从发送方 LocalConnection 对象收到调用方法的请求时调用。
LocalConnection.allowInsecureDomain | 每当当前（接收方）LocalConnection 对象（位于使用安全协议 HTTPS 的域承载的 SWF 文件中）从发送方 LocalConnection 对象（位于使用非安全协议的域承载的 SWF 文件中）收到调用方法的请求时调用。
LocalConnection.onStatus | 当发送方 LocalConnection 对象尝试将命令发送到接收方 LocalConnection 对象之后调用。

LocalConnection 类的构造函数

可用性

Flash Player 6。

用法

new LocalConnection()

参数

无。

返回

无。

说明

构造函数；创建 LocalConnection 对象。

示例

以下示例显示接收方 SWF 文件和发送方 SWF 文件如何创建 LocalConnnection 对象。请注意，这两个 SWF 文件可以为其各自的 LocalConnection 对象使用相同的名称或不同的名称。在此示例中，它们使用相同的名称 my_lc。

// 接收方 SWF 中的代码
my_lc = new LocalConnection();
my_lc.someMethod = function() {
  // 此处是您的语句
}
my_lc.connect("connectionName");

// 发送方 SWF 中的代码
my_lc = new LocalConnection();
my_lc.send("connectionName", "someMethod");

另请参见

LocalConnection.connect()、LocalConnection.send()


LocalConnection.allowDomain

可用性

Flash Player 6；行为在 Flash Player 7 中进行了更改。

用法

receiving_lc.allowDomain = function([sendingDomain]) {
  // 您在此处输入的语句返回 true 或 false
}

参数

sendingDomain 可选参数，指定包含发送方 LocalConnection 对象的 SWF 文件的域。

返回

无。

说明

事件处理函数；每当 receiving_lc 从发送方 LocalConnection 对象收到调用方法的请求时调用。Flash 需要您在此处理函数中实现的代码返回布尔值 true 或 false。如果此处理函数没有返回 true，则将忽略发送方对象的请求，并且不调用方法。

使用此命令可从指定域或任何域中显式允许 LocalConnection 对象执行接收方 LocalConnection 对象的方法。如果没有声明 sendingDomain 参数，则可能需要接受任何域中的命令，并且处理函数中的代码将只为 return true。如果您声明了 sendingDomain，则可能需要将 sendingDomain 的值与要从中接受命令的域进行比较。以下示例将说明这两种实现方式。

在 Flash Player 6 中运行的文件中，sendingDomain 参数包含调用方的超域。在 Flash Player 7 或更高版本中运行的文件中，sendingDomain 参数包含该调用方的确切的域。在后一种情况中，若要允许由在 www.domain.com 或 store.domain.com 承载的 SWF 文件访问，您必须显式允许从这两个域的访问。

// 对于 Flash Player 6
receiving_lc.allowDomain = function(sendingDomain) {
  return(sendingDomain=="domain.com");
}
// 允许在 Flash Player 7 或更高版本中运行的 SWF 文件
// 访问的相应命令
receiving_lc.allowDomain = function(sendingDomain) {
  return(sendingDomain=="www.domain.com" ||
    sendingDomain=="store.domain.com");
}

此外，对于在 Flash Player 7 或更高版本中运行的文件，您不能使用此方法允许使用安全协议 (HTTPS) 承载的 SWF 文件可以从使用非安全协议承载的 SWF 文件访问；必须改用 LocalConnection.allowInsecureDomain 事件处理函数。

示例

以下示例显示接收方 SWF 文件中的 LocalConnection 对象如何允许任何域中的 SWF 文件调用其方法。将其与 LocalConnection.connect() 中的示例进行比较，在该示例中，只有来自同一个域中的 SWF 文件才能调用接收方 SWF 文件中的 Trace 方法。有关下划线 (_) 在连接名称中的用法的讨论，请参见 LocalConnection.send()。

var aLocalConnection = new LocalConnection();
aLocalConnection.Trace = function(aString)
{
  aTextField = aTextField + aString + newline;
}

aLocalConnection.allowDomain = function() {
  // 任何域均可对此 LocalConnection 对象调用方法
  return true;
}

aLocalConnection.connect("_trace");

在以下示例中，接收方 SWF 文件只接受来自位于 thisDomain.com 或 thatDomain.com 中的 SWF 文件的命令。

var aLocalConnection = new LocalConnection();
aLocalConnection.Trace = function(aString)
{
  aTextField = aTextField + aString + newline;
}

aLocalConnection.allowDomain = function(sendingDomain)
{
  return(sendingDomain=="thisDomain.com" || sendingDomain=="thatDomain.com");
}

aLocalConnection.connect("_trace");

另请参见

LocalConnection.connect()、LocalConnection.domain()、LocalConnection.send()


LocalConnection.allowInsecureDomain

可用性

Flash Player 7。

用法

receiving_lc.allowInsecureDomain = function([sendingDomain]) {
  // 您在此处输入的语句返回 true 或 false
}

参数

sendingDomain 可选参数，指定包含发送方 LocalConnection 对象的 SWF 文件的域。

返回

无。

说明

事件处理函数；每当 receiving_lc（位于使用安全协议 HTTPS 的域承载的 SWF 文件中）从发送方 LocalConnection 对象（位于使用非安全协议的域承载的 SWF 文件中）收到调用方法的请求时调用。Flash 需要您在此处理函数中实现的代码返回布尔值 true 或 false。如果此处理函数没有返回 true，则将忽略发送方对象的请求，并且不调用方法。

默认情况下，使用 HTTPS 协议承载的 SWF 文件只能被使用 HTTPS 协议承载的其它 SWF 文件访问。这一实现方式保持 HTTPS 协议提供的完整性。

不建议使用此方法覆盖默认行为，因为这样做会损及 HTTPS 安全。但在某些情况下您可能需要这样做；例如，您可能需要允许从以 Flash Player 6 为目标播放器发布的 HTTP 文件访问以 Flash Player 7 或更高版本为目标播放器发布的 HTTPS 文件。

以 Flash Player 6 为目标播放器发布的 SWF 文件可以使用 LocalConnection.allowDomain 事件处理函数允许 HTTP 到 HTTPS 访问。但是，因为 Flash Player 7 中实现安全的方式是不同的，所以，您必须使用 LocalConnection.allowInsecureDomain() 方法在以 Flash Player 7 或更高版本为目标播放器发布的 SWF 文件中允许此类访问。

另请参见

LocalConnection.allowDomain、LocalConnection.connect()


LocalConnection.close()

可用性

Flash Player 6。

用法

receiving_lc.close

参数

无。

返回

无。

说明

方法；关闭（断开连接）LocalConnection 对象。在您不再想让该对象接受命令时（例如，当您要使用另一个 SWF 文件中的相同 connectionName 参数发出 LocalConnection.connect() 命令时）发出此命令。

另请参见

LocalConnection.connect()


LocalConnection.connect()

可用性

Flash Player 6。

用法

receiving_lc.connect(connectionName)

参数

connectionName 一个字符串，对应于要与 receiving_lc 通讯的 LocalConnection.send() 命令中所指定的连接名称。

返回

如果在同一台客户机上运行的其它进程均未使用 connectionName 参数的相同值发出此命令，则返回布尔值 true；否则返回 false。

说明

方法；准备 LocalConnection 对象，以从 LocalConnection.send() 命令（称作“发送方 LocalConnection 对象”）中接收命令。与此命令一起使用的对象称作“接收方 LocalConnection 对象”。接收方对象和发送方对象必须在同一台客户机上运行。

务必要先定义附加到 receiving_lc 的方法，然后再调用此方法，如本节的所有示例所示。

默认情况下，Flash Player 将 connectionName 解析为 "superdomain:connectionName" 格式的值，其中 superdomain 是包含 LocalConnection.connect() 命令的 SWF 文件的超域。例如，如果包含接收方 LocalConnection 对象的 SWF 文件位于 www.someDomain.com，则 connectionName 解析为 "someDomain.com:connectionName"。（如果 SWF 文件位于客户机上，则赋予 superdomain 的值为 "localhost"。）

此外，在默认情况下，Flash Player 只允许接收方 LocalConnection 对象从其连接名称也解析为 "superdomain:connectionName" 的值的发送方 LocalConnection 对象中接受命令。这样，Flash 就使得位于同一个域中的 SWF 文件可以很容易地相互通讯。

如果您仅在同一个域中的 SWF 文件之间实现通讯，请为 connectionName 指定一个不以下划线 (_) 开头且不指定域名的字符串（例如 "myDomain:connectionName"）。在
LocalConnection.connect(connectionName) 命令中使用相同的字符串。

如果您在位于不同域的 SWF 文件之间实现通讯，请参见 LocalConnection.send() 中对
connectionName 的讨论，以及 LocalConnection.allowDomain 和 LocalConnection.domain() 条目。

示例

以下示例显示特定域中的 SWF 文件如何调用同一域的接收方 SWF 文件中名为 Trace 的方法。接收方 SWF 文件充当发送方 SWF 文件的跟踪窗口；它包含其它 SWF 文件可以调用的两个方法：Trace 和 Clear。在发送方 SWF 文件中所按的按钮以指定的参数调用这些方法。

// 接收方 SWF
var aLocalConnection = new LocalConnection();
aLocalConnection.Trace = function(aString)
{
  aTextField = aTextField + aString + newline;
}
aLocalConnection.Clear = function()
{
  aTextField = "";
}
aLocalConnection.connect("trace");
stop();

SWF 1 包含附加到带 PushMe 标签的按钮的以下代码。当您按该按钮时，将在接收方 SWF 文件中看到句子“已按下该按钮”。

on (press)
{
  var lc = new LocalConnection();
  lc.send("trace", "Trace", "已按下该按钮。");
  delete lc;
}

SWF 2 包含变量名为 myText 的输入文本框以及附加到带标签 Copy 的按钮的以下代码。在您键入一些文本并按该按钮后，将在接收方 SWF 文件中看到您键入的文本。

on (press)
{
  _parent.lc.send("trace", "Trace", _parent.myText);
  _parent.myText = "";
}

SWF 3 包含附加到带标签 Clear 的按钮的以下代码。当您按该按钮时，将清除（擦除）接收方 SWF 文件的跟踪窗口中的内容。

on (press)
{
  var lc = new LocalConnection();
  lc.send("trace", "Clear");
  delete lc;
}

另请参见

LocalConnection.send()


LocalConnection.domain()

可用性

Flash Player 6；行为在 Flash Player 7 中进行了更改。

用法

my_lc.domain()

参数

无。

返回

一个字符串，表示当前 SWF 文件的位置的域；有关详细信息，请参见下面的“说明”。

说明

方法；返回表示当前 SWF 文件所在位置的域的字符串。

在以 Flash Player 6 为目标播放器发布的 SWF 文件中，返回的字符串是当前 SWF 文件的超域。例如，如果 SWF 文件位于 www.macromedia.com，则此命令将返回 "macromedia.com"。

在以 Flash Player 7 或更高版本为目标播放器发布的 SWF 文件中，返回的字符串是当前 SWF 文件的确切域。例如，如果 SWF 文件位于 www.macromedia.com，则此命令将返回
"www.macromedia.com"。

如果当前 SWF 文件是驻留在客户机上的本地文件，此命令将返回 "localhost"。

此命令最常见的用法是包含发送方 LocalConnection 对象的域名作为要在接收方 LocalConnection 对象中调用的方法的参数，或者与 LocalConnection.allowDomain 一起使用来接受来自指定域中的命令。如果您仅启用位于同一个域的 LocalConnection 对象之间的通讯，则可能不需要使用此命令。

示例

在以下示例中，接收方 SWF 文件仅接受来自位于同一个域或位于 macromedia.com 的 SWF 文件的命令。

my_lc = new LocalConnection();
my_lc.allowDomain = function(sendingDomain)
{
  return (sendingDomain==this.domain() || sendingDomain=="macromedia.com");
}

在下面的示例中，位于 yourdomain.com 的发送方 SWF 文件调用位于 mydomain.com 的接收方 SWF 文件中的方法。发送方 SWF 文件包含其域名作为它所调用的方法的参数，使接收方 SWF 文件能够返回对正确域中的 LocalConnection 对象的应答值。发送方 SWF 文件还指定它将只接受来自位于 mydomain.com 的 SWF 文件的命令。

为了便于参考，代码中包含了行号。事件的顺序如下：

  • 接收方 SWF 文件准备在名为 "sum" 的连接（第 11 行）上接收命令。Flash Player 将此连
    接的名称解析为 "mydomain.com:sum"（请参见 LocalConnection.connect()）。
  • 发送方 SWF 文件准备在名为 "result" 的 LocalConnection 对象（第 58 行）上接收应答。它还指定它将只接受来自位于 mydomain.com 的 SWF 文件的命令（第 51 行到第 53 行）。
  • 发送方 SWF 文件调用名为 "mydomain.com:sum" 的连接的 aSum 方法（第 59 行），然后传递以下参数：它的域 (lc.domain())、接收应答的连接的名称 ("result") 和 aSum 所使用的值（123 和 456）。
  • 使用以下值调用 aSum 方法（第 6 行）：sender = "mydomain.com:result"、
    replyMethod = "aResult"、n1 = 123 和 n2 = 456。因此，它执行以下代码行：
    this.send("mydomain.com:result", "aResult", (123 + 456));
  • aResult 方法（第 54 行）显示 aSum 返回的值 (579)。
    // 位于 http://www.mydomain.com/folder/movie.swf 的接收方 SWF
// 包含以下代码

1     var aLocalConnection = new LocalConnection();
2     aLocalConnection.allowDomain = function()
3     {
    // 允许任何域中的连接
4      return true;
5     }
6    aLocalConnection.aSum = function(sender, replyMethod, n1, n2)
7    {
8      this.send(sender, replyMethod, (n1 + n2));
9    }
10
11    aLocalConnection.connect("sum");

// 位于 http://www.yourdomain.com/folder/movie.swf 的发送方 SWF
// 包含以下代码

50    var lc = new LocalConnection();
51    lc.allowDomain = function(aDomain) {
      // 只允许 mydomain.com 中的连接
52      return (aDomain == "mydomain.com");
53    }
54    lc.aResult = function(aParam) {
55      trace("The sum is " + aParam);
56    }
57
58    lc.connect("result");
59    lc.send("mydomain.com:sum", "aSum", lc.domain() + ':'+ "result",
          "aResult", 123, 456);

另请参见

LocalConnection.allowDomain


LocalConnection.onStatus

可用性

Flash Player 6。

用法

sending_lc.onStatus = function(infoObject) {
  // 此处是您的语句
}

参数

infoObject 按照状态消息定义的参数。有关此参数的详细信息，请参见下面的“说明”。

返回

无。

说明

事件处理函数；在发送方 LocalConnection 对象尝试向接收方 LocalConnection 对象发送命令之后调用。如果要对此事件处理函数做出响应，则必须创建一个函数来处理
LocalConnection 对象所发送的信息对象。

如果此事件处理函数返回的信息对象包含 "Status" 的 level 值，则表明 Flash 已将该命令成功发送到接收方 LocalConnection 对象。这并不意味着 Flash 已成功调用接收方
LocalConnection 对象的指定方法，而只表示 Flash 能够发送该命令。例如，如果接收方 LocalConnection 对象不允许从发送方域建立连接，或者该方法不存在，则不调用该方法。确知是否已调用该方法的唯一方式是让接收方对象向发送方对象发送应答。

如果此事件处理函数返回的信息对象包含 "Error" 的 level 值，则表明 Flash 无法将该命令发送到接收方 LocalConnection 对象，这很可能是因为未连接这样的接收方 LocalConnection 对象：其名称对应于调用此处理函数的 sending_lc.send() 命令中所指定的名称。

除了此 onStatus 处理函数外，Flash 还提供称作 System.onStatus 的“超级”函数。如果为特定对象调用了 onStatus 但未分配任何函数对其进行响应，则 Flash 将处理分配到
System.onStatus 的函数（如果存在）。

大多数情况下，实现此处理函数只是为了对错误条件做出响应，如以下示例所示。

示例

以下示例显示关于“输出”面板中的失败连接的信息：

sending_lc = new LocalConnection();
sending_lc.onStatus = function(infoObject)
{
  if (infoObject.level == "Error")
  {
    trace("Connection failed.");
  }
}
sending_lc.send("receiving_lc", "methodName");

另请参见

LocalConnection.send()、System.onStatus


LocalConnection.send()

可用性

Flash Player 6。

用法

sending_lc.send (connectionName, method [, p1,...,pN])

参数

connectionName 一个字符串，对应于要与 sending_lc 通讯的 LocalConnection.connect() 命令中所指定的连接名称。

method 一个字符串，指定要在接收方 LocalConnection 对象中调用的方法的名称。以下方法名称会导致该命令失败：send、connect、close、domain、onStatus 和 allowDomain。

p1,...pN 要传递给指定方法的可选参数。

返回

如果 Flash 可以执行请求，则返回布尔值 true；否则，返回 false。

注意：返回值为 true 并不一定表示 Flash 已成功连接到接收方 LocalConnection 对象，而只表示该命令在语句构成上正确。若要确定连接是否成功，请参见 LocalConnection.onStatus。

说明

方法；在用 LocalConnection.connect(connectionName) 命令（称作“接收方 LocalConnection 对象”）打开的连接上调用名为 method 的方法。与此命令一起使用的对象称作“发送方 LocalConnection 对象”。包含发送方对象的 SWF 文件和包含接收方对象的 SWF 文件必须在同一台客户机上运行。

您能够以参数形式传递给此命令的数据量是有限的。如果该命令返回 false 但您的语法却是正确的，请尝试将 LocalConnection.send() 请求拆分成多个命令。

如 LocalConnection.connect() 条目所述，Flash 在默认情况下会将当前超域添加到
connectionName。如果您在不同的域之间实现通讯，则需要在发送方 LocalConnection 对象中以及接收方 LocalConnection 对象中定义 connectionName，使 Flash 不会将当前超域添加到 connectionName。这可以通过两种方法来实现：

  • 在发送方 LocalConnection 对象和接收方 LocalConnection 对象中 connectionName 的开头使用下划线 (_)。在包含接收方对象的 SWF 文件中，使用 LocalConnection.allowDomain 指定将接受来自任何域的连接。这一实现使您可以存储任何域中的发送方 SWF 文件和接收方 SWF 文件。
  • 将 connectionName 中的超域包含在发送方 LocalConnection 对象中，例如
    myDomain.com:myConnectionName。在接收方对象中，使用 LocalConnection.allowDomain 指定将接受来自指定超域的连接（本例中为 myDomain.com），或者将接受来自任何域的连接。

注意：不能在接收方 LocalConnection 对象（只能在发送方 LocalConnection 对象）中指定
connectionName 中的超域。

示例

有关位于同一个域中的 LocalConnection 对象之间的通讯的示例，请参见
LocalConnection.connect()。有关位于任何域的 LocalConnection 对象之间的通讯的示例，请参见 LocalConnection.allowDomain。有关位于指定域的 LocalConnection 对象之间的通讯的示例，请参见 LocalConnection.allowDomain 和 LocalConnection.domain()。

另请参见

LocalConnection.allowDomain、LocalConnection.connect()、
LocalConnection.domain()、LocalConnection.onStatus


lt（小于 - 字符串专用）

可用性

Flash Player 4。不鼓励在 Flash 5 中使用此运算符，而推荐使用新的 <（小于） 运算符。

用法

expression1 lt expression2

参数

expression1、expression2 数字、字符串或变量。

说明

运算符（比较）；比较 expression1 与 expression2，如果 expression1 小于 expression2，则返回 true；否则，返回 false。

另请参见

<（小于）


Math 类

可用性

Flash Player 5。在 Flash Player 4 中，Math 类的方法和属性是使用近似值模拟的，可能不如 Flash Player 5 支持的非模拟数学函数那样精确。

说明

Math 类是一个顶级类，不必使用构造函数即可使用其方法和属性。

使用该类的方法和属性可以访问和处理数学常数和函数。Math 类的所有属性和方法都是静态的，并且必须使用语法 Math.method(parameter) 或 Math.constant 来调用。在动作脚本中，使用双精度 IEEE-754 浮点数的最高精度定义常数。

有几个 Math 类的方法使用角的弧度作为参数。可以用下面的等式来计算弧度值，或者只需为弧度参数传递该等式（输入度数值）。

若要计算弧度值，请使用该公式：

radian = Math.PI/180 * degree

下面的示例将等式作为参数来传递，以计算一个 45 度角的正弦值：

Math.SIN(Math.PI/180 * 45) 与 Math.SIN(.7854) 相同

Flash Player 5 完全支持 Math 类。在 Flash Player 4 中，可以使用 Math 类的方法，但是这些方法是使用近似值模拟的，可能不如 Flash Player 5 支持的非模拟数学函数那样精确。

Math 类的方法概要

方法 | 说明
Math.abs() | 计算绝对值。
Math.acos() | 计算反余弦值。
Math.asin() | 计算反正弦值。
Math.atan() | 计算反正切值。
Math.atan2() | 计算从 x 坐标轴到点的角度。
Math.ceil() | 将数字向上舍入为最接近的整数。
Math.cos() | 计算余弦值。
Math.exp() | 计算指数值。
Math.floor() | 将数字向下舍入为最接近的整数。
Math.log() | 计算自然对数。
Math.max() | 返回两个整数中较大的一个。
Math.min() | 返回两个整数中较小的一个。
Math.pow() | 计算 x 的 y 次方。
Math.random() | 返回一个 0.0 与 1.0 之间的伪随机数。
Math.round() | 四舍五入为最接近的整数。
Math.sin() | 计算正弦值。
Math.sqrt() | 计算平方根。
Math.tan() | 计算正切值。

Math 类的属性概要

Math 类的所有属性都是常数。

属性 | 说明
Math.E | 欧拉 (Euler) 常数，自然对数的底（大约为 2.718）。
Math.LN2 | 2 的自然对数（大约为 0.693）。
Math.LOG2E | e 的以 2 为底的对数（大约为 1.442）。
Math.LN2 | 10 的自然对数（大约为 2.302）。
Math.LOG10E | e 的以 10 为底的对数（大约为 0.434）。
Math.PI | 一个圆的周长与其直径的比值（大约为 3.14159）。
Math.SQRT1_2 | 1/2 的平方根的倒数（大约为 0.707）。
Math.SQRT2 | 2 的平方根（大约为 1.414）。


Math.abs()

可用性

Flash Player 5。在 Flash Player 4 中，Math 类的方法和属性是使用近似值模拟的，可能不如 Flash Player 5 支持的非模拟数学函数那样精确。

用法

Math.abs(x)

参数

x 数字。

返回

一个数字。

说明

方法；计算并返回由参数 x 指定的数字的绝对值。


Math.acos()

可用性

Flash Player 5。在 Flash Player 4 中，Math 类的方法和属性是使用近似值模拟的，可能不如 Flash Player 5 支持的非模拟数学函数那样精确。

用法

Math.acos(x)

参数

x 介于 -1.0 到 1.0 之间的数字。

返回

无。

说明

方法；以弧度为单位计算并返回参数 x 中指定的数字的反余弦值。


Math.asin()

可用性

Flash Player 5。在 Flash Player 4 中，Math 类的方法和属性是使用近似值模拟的，可能不如 Flash Player 5 支持的非模拟数学函数那样精确。

用法

Math.asin(x);

参数

x 介于 -1.0 到 1.0 之间的数字。

返回

一个数字。

说明

方法；以弧度为单位计算并返回参数 x 中指定的数字的反正弦值。


Math.atan()

可用性

Flash Player 5。在 Flash Player 4 中，Math 类的方法和属性是使用近似值模拟的，可能不如 Flash Player 5 支持的非模拟数学函数那样精确。

用法

Math.atan(x)

参数

x 数字。

返回

一个数字。

说明

方法；计算并返回参数 x 中指定的数字的反正切值。返回值介于负二分之 pi 与正二分之 pi
之间。


Math.atan2()

可用性

Flash Player 5。在 Flash Player 4 中，Math 类的方法和属性是使用近似值模拟的，可能不如 Flash Player 5 支持的非模拟数学函数那样精确。

用法

Math.atan2(y, x)

参数

x 指定点的 x 坐标的数字。

y 指定点的 y 坐标的数字。

返回

一个数字。

说明

方法；以弧度为单位计算并返回 y/x 的反正切值。返回值表示相对直角三角形对角的角，其中 x 是临边边长，而 y 是对边边长。


Math.ceil()

可用性

Flash Player 5。在 Flash Player 4 中，Math 类的方法和属性是使用近似值模拟的，可能不如 Flash Player 5 支持的非模拟数学函数那样精确。

用法

Math.ceil(x)

参数

x 数字或表达式。

返回

一个数字。

说明

方法；返回指定数字或表达式的上限值。数字的上限值是大于等于该数字的最接近的整数。


Math.cos()

可用性

Flash Player 5。在 Flash Player 4 中，Math 类的方法和属性是使用近似值模拟的，可能不如 Flash Player 5 支持的非模拟数学函数那样精确。

用法

Math.cos(x)

参数

x 以弧度为单位的角度值。

返回

一个数字。

说明

方法；返回由参数 x 指定的角的余弦值（介于 -1.0 与 1.0 之间的值）。必须以弧度为单位指定角度 x。使用 Math 类条目中概述的信息来计算弧度。


Math.E

可用性

Flash Player 5。在 Flash Player 4 中，Math 类的方法和属性是使用近似值模拟的，可能不如 Flash Player 5 支持的非模拟数学函数那样精确。

用法

Math.E

参数

无。

返回

无。

说明

常数；代表自然对数的底的数学常数，表示为 e。e 的近似值为 2.71828。


Math.exp()

可用性

Flash Player 5。在 Flash Player 4 中，Math 类的方法和属性是使用近似值模拟的，可能不如 Flash Player 5 支持的非模拟数学函数那样精确。

用法

Math.exp(x)

参数

x 指数；数字或表达式。

返回

一个数字。

说明

方法；返回 e 的 x 次方的值，其中 e 为自然对数的底 (e)，x 为参数 x 中指定的指数。常数 Math.E 可以提供 e 的值。


Math.floor()

可用性

Flash Player 5。在 Flash Player 4 中，Math 类的方法和属性是使用近似值模拟的，可能不如 Flash Player 5 支持的非模拟数学函数那样精确。

用法

Math.floor(x)

参数

x 数字或表达式。

返回

一个数字。

说明

方法；返回参数 x 中指定的数字或表达式的下限值。下限值是小于等于指定数字或表达式的最接近的整数。

示例

下面的代码返回一个值 12：

Math.floor(12.5);


Math.log()

可用性

Flash Player 5。在 Flash Player 4 中，Math 类的方法和属性是使用近似值模拟的，可能不如 Flash Player 5 支持的非模拟数学函数那样精确。

用法

Math.log(x)

参数

x 其值大于 0 的数字或表达式。

返回

一个数字。

说明

方法；返回参数 x 的对数。


Math.LN2

可用性

Flash Player 5。在 Flash Player 4 中，Math 类的方法和属性是使用近似值模拟的，可能不如 Flash Player 5 支持的非模拟数学函数那样精确。

用法

Math.LN2

参数

无。

返回

无。

说明

常数；代表 2 的自然对数的数学常数，表示为 loge2，其值大约为 0.69314718055994528623。


Math.LN10

可用性

Flash Player 5。在 Flash Player 4 中，Math 类的方法和属性是使用近似值模拟的，可能不如 Flash Player 5 支持的非模拟数学函数那样精确。

用法

Math.LN10

参数

无。

返回

无。

说明

常数；代表 10 的自然对数的数学常数，表示为 loge10，其值大约为
2.3025850929940459011。


Math.LOG2E

可用性

Flash Player 5。在 Flash Player 4 中，Math 类的方法和属性是使用近似值模拟的，可能不如 Flash Player 5 支持的非模拟数学函数那样精确。

用法

Math.LOG2E

参数

无。

返回

无。

说明

常数；代表常数 e (Math.E) 的以 2 为底的对数的数学常数，表示为 log2e，其值大约为
1.442695040888963387。


Math.LOG10E

可用性

Flash Player 5。在 Flash Player 4 中，Math 类的方法和属性是使用近似值模拟的，可能不如 Flash Player 5 支持的非模拟数学函数那样精确。

用法

Math.LOG10E

参数

无。

返回

无。

说明

常数；代表常数 e (Math.E) 的以 10 为底的对数的数学常数，表示为 log10e，其值大约为
0.43429448190325181667。


Math.max()

可用性

Flash Player 5。在 Flash Player 4 中，Math 类的方法和属性是使用近似值模拟的，可能不如 Flash Player 5 支持的非模拟数学函数那样精确。

用法

Math.max(x , y)

参数

x 数字或表达式。

y 数字或表达式。

返回

一个数字。

说明

方法；计算 x 和 y 并返回较大的值。


Math.min()

可用性

Flash Player 5。在 Flash Player 4 中，Math 类的方法和属性是使用近似值模拟的，可能不如 Flash Player 5 支持的非模拟数学函数那样精确。

用法

Math.min(x , y)

参数

x 数字或表达式。

y 数字或表达式。

返回

一个数字。

说明

方法；计算 x 和 y 并返回较小的值。


Math.PI

可用性

Flash Player 5。在 Flash Player 4 中，Math 类的方法和属性是使用近似值模拟的，可能不如 Flash Player 5 支持的非模拟数学函数那样精确。

用法

Math.PI

参数

无。

返回

无。

说明

常数；代表一个圆的周长与其直径的比值的数学常数，表示为 pi，其值大约为
3.14159265358979。


Math.pow()

可用性

Flash Player 5。在 Flash Player 4 中，Math 类的方法和属性是使用近似值模拟的，可能不如 Flash Player 5 支持的非模拟数学函数那样精确。

用法

Math.pow(x , y)

参数

x 将自乘的数字。

y 指定参数 x 自乘幂的数字。

返回

一个数字。

说明

方法；计算并返回 x 的 y 次方：xy。


Math.random()

可用性

Flash Player 5。在 Flash Player 4 中，Math 类的方法和属性是使用近似值模拟的，可能不如 Flash Player 5 支持的非模拟数学函数那样精确。

用法

Math.random()

参数

无。

返回

一个数字。

说明

方法；返回 n，其中 0 <= n < 1。

另请参见

random


Math.round()

可用性

Flash Player 5。在 Flash Player 4 中，Math 类的方法和属性是使用近似值模拟的，可能不如 Flash Player 5 支持的非模拟数学函数那样精确。

用法

Math.round(x)

参数

x 数字。

返回

一个数字。

说明

方法；将参数 x 的值向上或向下舍入为最接近的整数并返回值。


Math.sin()

可用性

Flash Player 5。在 Flash Player 4 中，Math 类的方法和属性是使用近似值模拟的，可能不如 Flash Player 5 支持的非模拟数学函数那样精确。

用法

Math.sin(x)

参数

x 以弧度为单位的角度值。

返回

数字；指定角度的正弦（-1.0 和 1.0 之间）。

说明

方法；计算并返回以弧度为单位指定的角度的正弦值。使用 Math 类条目中概述的信息来计算弧度。


Math.sqrt()

可用性

Flash Player 5。在 Flash Player 4 中，Math 类的方法和属性是使用近似值模拟的，可能不如 Flash Player 5 支持的非模拟数学函数那样精确。

用法

Math.sqrt(x)

参数

x 一个大于等于 0 的数字或表达式。

返回

一个数字。

说明

方法；计算并返回指定数字的平方根。


Math.SQRT1_2

可用性

Flash Player 5。在 Flash Player 4 中，Math 类的方法和属性是使用近似值模拟的，可能不如 Flash Player 5 支持的非模拟数学函数那样精确。

用法

Math.SQRT1_2

参数

无。

返回

无。

说明

常数；代表 1/2 的平方根的数学常数。


Math.SQRT2

可用性

Flash Player 5。在 Flash Player 4 中，Math 类的方法和属性是使用近似值模拟的，可能不如 Flash Player 5 支持的非模拟数学函数那样精确。

用法

Math.SQRT2

参数

无。

返回

无。

说明

常数；代表 2 的平方根的数学常数，其值大约为 1.414213562373。


Math.tan()

可用性

Flash Player 5。在 Flash Player 4 中，Math 类的方法和属性是使用近似值模拟的，可能不如 Flash Player 5 支持的非模拟数学函数那样精确。

用法

Math.tan(x)

参数

x 以弧度为单位的角度值。

返回

一个数字。

说明

方法；计算并返回指定角度的正切值。若要计算弧度，请使用 Math 类简介中所概述的信息。


maxscroll

可用性

Flash Player 4。不鼓励使用该函数，而推荐使用 TextField.maxscroll 属性。

用法

variable_name.maxscroll

说明

属性（只读）；一个不鼓励使用的属性，指示当字段中最底行也可见时，文本字段中最高文本可见行的行号。maxscroll 属性与 scroll 属性一起使用，来控制文本字段中信息的显示。该属性可被获取，但不能进行修改。

另请参见

TextField.maxscroll、TextField.scroll


mbchr

可用性

Flash Player 4。不鼓励使用该函数，而推荐使用 String.fromCharCode() 方法。

用法

mbchr(number)

参数

number 要转换为多字节字符的数字。

返回

字符串。

说明

字符串函数；将 ASCII 码数字转换为多字节字符。

另请参见

String.fromCharCode()


mblength

可用性

Flash Player 4。不鼓励使用该函数，而推荐使用 String 类。

用法

mblength(string)

参数

string 字符串。

返回

一个数字。

说明

字符串函数；返回多字节字符串的长度。


mbord

可用性

Flash Player 4。不鼓励在 Flash 5 中使用该函数，而推荐使用 String.charCodeAt()。

用法

mbord(character)

参数

character 要转换为多字节数字的字符。

返回

一个数字。

说明

字符串函数；将指定的字符转换为多字节数字。

另请参见

String.fromCharCode()


mbsubstring

可用性

Flash Player 4。不鼓励在 Flash 5 中使用该函数，而推荐使用 String.substr()。

用法

mbsubstring(value, index, count)

参数

value 要从其中提取新的多字节字符串的多字节字符串。

index 要提取的第一个字符的编号。

count 要包含在所提取字符串中的字符数，其中不包括 index 字符。

返回

字符串。

说明

字符串函数；从多字节字符串中提取一个新的多字节字符串。

另请参见

String.substr()


Microphone 类

可用性

Flash Player 6。

说明

Microphone 类用于从运行 Flash Player 的计算机上所连接的麦克风中捕获音频。

Microphone 类主要与 Flash Communication Server 一起使用，但在没有该服务器的情况下也能以有限的方式使用，例如通过本地系统上的扬声器传送麦克风中的声音。

若要创建或引用 Microphone 对象，请使用 Microphone.get() 方法。

Microphone 类的方法概要

方法 | 说明
Microphone.get() | 返回默认或指定的 Microphone 对象，如果麦克风不可用，则返回 null。
Microphone.setGain() | 指定麦克风信号的提升量。
Microphone.setRate() | 以 kHz 为单位指定麦克风的声音捕获频率。
Microphone.setSilenceLevel() | 指定激活麦克风所需的音量。
Microphone.setUseEchoSuppression() | 指定是否使用音频编解码器的回声抑制功能。

Microphone 类的属性概要

属性（只读） | 说明
Microphone.activityLevel | 麦克风所检测的音量。
Microphone.gain | 麦克风在传送信号前将信号提升的增益量。
Microphone.index | 当前麦克风的索引。
Microphone.muted | 布尔值，指定用户是允许还是拒绝对麦克风的访问。
Microphone.name | 当前声音捕获设备的名称，它由声音捕获硬件返回。
Microphone.names | 类属性：字符串的数组，反映所有可用的声音捕获设备（包括声卡和麦克风）的名称。
Microphone.rate | 声音捕获频率，单位为 kHz。
Microphone.silenceLevel() | 激活麦克风所需的音量。
Microphone.silenceTimeout() | 麦克风停止检测声音和调用 Microphone.onActivity(false) 这两个时间之间的毫秒数。
Microphone.useEchoSuppression() | 布尔值，指示是否使用回声抑制。

Microphone 类的事件处理函数概要

事件处理函数 | 说明
Microphone.onActivity | 在麦克风开始或停止检测声音时调用。
Microphone.onStatus | 在用户允许或拒绝对麦克风的访问时调用。

Microphone 类的构造函数

请参见 Microphone.get()。


Microphone.activityLevel

可用性

Flash Player 6。

用法

activeMicrophone.activityLevel

说明

只读属性；指定麦克风所检测的音量的数字值。值的范围从 0（未检测到声音）到 100（检测到非常大的声音）。此属性的值有助于确定向 Microphone.setSilenceLevel() 方法传递的适
当值。

如果麦克风可用，但却因为尚未调用 Microphone.get() 而未被使用，则此属性设置为 -1。

示例

以下示例将变量 level 设置为当前麦克风的活动级别 myMic.activityLevel。

var level = myMic.activityLevel;

另请参见

Microphone.setGain()


Microphone.gain

可用性

Flash Player 6。

用法

activeMicrophone.gain

说明

只读属性；麦克风信号的提升量。有效值的范围是 0 到 100。默认值为 50。

示例

以下示例附加到滑动条的尖端。当加载此剪辑时，Flash 将检查值 myMic.gain，如果该值未定义，则提供默认值。然后，使用 _x 位置将麦克风的增益设置为用户的首选项。

onClipEvent (load) {
  if (_root.myMic.gain == undefined) {
    _root.myMic.setGain = 75;
  }

  this._x = _root.myMic.gain;
  _root.txt_micgain = this._x;

  left = this._x;
  right = left+50;
  top = this._y;
  bottom = top;
}

on (press) {
  startDrag(this, false, left, top, right, bottom);
  this._xscale = 100;
  this._yscale = 100;
}

on (release, releaseOutside) {
  stopDrag();
  g = (this._x-50)*2;
  _root.myMic.setGain(g);
  _root.txt_micgain = g;
  this._xscale = 100;
  this._yscale = 100;
}

另请参见

Microphone.setGain()


Microphone.get()

可用性

Flash Player 6。

用法

Microphone.get([index])

注意：正确的语法为 Microphone.get()。若要将 Microphone 对象分配给变量，请使用类似于
active_mic = Microphone.get() 的语法。

参数

index 一个从零开始的可选整数，指定要获取的麦克风，该整数根据 Microphone.names 包含的数组确定。若要获取默认的麦克风（建议大多数应用程序采用此设置），请省略此参数。

返回

  • 如果未指定 index，此方法将返回对默认麦克风的引用，如果默认麦克风不可用，则返回对第一个可用麦克风的引用。如果没有可用的麦克风或者未安装麦克风，该方法将返回 null。
  • 如果已指定 index，此方法将返回对所请求麦克风的引用，如果该麦克风不可用，则返回 null。

说明

方法；返回用于捕获音频的 Microphone 对象的引用。若要实际开始捕获音频，必须将 Microphone 对象附加到 MovieClip 对象（请参见 MovieClip.attachAudio()）。

与使用 new 构造函数创建的对象不同，对 Microphone.get() 的多次调用会引用相同的麦克风。因此，如果您的脚本包含代码行 mic1 = Microphone.get() 和 mic2 = Microphone.get()，mic1 和 mic2 均引用相同的（默认）麦克风。

通常情况下，不应该为 index 传递值，而应使用 Microphone.get() 方法返回对默认麦克风的引用。通过“麦克风设置”面板（将在本节的后面部分讨论），用户可以指定 Flash 应该使用的默认麦克风。如果为 index 传递值，则可能会试图引用用户首选项之外的麦克风。您可能会在极少见的情况下（即您的应用程序同时从两个麦克风中捕获音频）使用 index。

当 SWF 文件尝试访问 Microphone.get() 方法返回的麦克风时（例如，当您发出
MovieClip.attachAudio() 时），Flash Player 将显示一个“隐私”对话框，让用户选择是允许还是拒绝对麦克风的访问。（确保舞台大小至少为 215 x 138 像素；这是 Flash 显示该对话框所需的最小大小。）

当用户对此对话框做出响应时，Microphone.onStatus 事件处理函数将返回指示用户响应的信息对象。若要在不处理此事件处理函数的情况下确定用户是拒绝还是允许对摄像机的访问，请使用 Microphone.muted。

用户也可以为特定域指定永久隐私设置，方法是在 SWF 文件播放过程中右击 (Windows) 或按住 Control 键单击 (Macintosh)，选择“设置”，打开“隐私”面板，然后选择“记住”。

如果 Microphone.get() 返回 null，则表明麦克风正在由另一个应用程序使用，或者系统上没有安装麦克风。若要确定是否已安装麦克风，请使用 Microphones.names.length。若要显示 Flash Player“麦克风设置”面板（让用户选择 Microphone.get() 所引用的麦克风），请使用 System.showSettings(2)。

示例

以下示例让用户指定默认麦克风，然后捕获音频并在本地回放。若要避免回馈，可能需要带着耳机测试此代码。

System.showSettings(2);
myMic = Microphone.get();
_root.attachAudio(myMic);

另请参见

Microphone.index、Microphone.muted、Microphone.names、Microphone.onStatus、
MovieClip.attachAudio()


Microphone.index

可用性

Flash Player 6。

用法

activeMicrophone.index

说明

只读属性；从零开始的整数，指定麦克风的索引，它反映在 Microphone.names 返回的数组中。

另请参见

Microphone.get()、Microphone.names


Microphone.muted

可用性

Flash Player 6。

用法

activeMicrophone.muted

说明

只读属性；布尔值，指定用户是已经拒绝对麦克风的访问 (true) 还是已经允许访问 (false)。当此值出现更改时，将调用 Microphone.onStatus。有关更多信息，请参见 Microphone.get()。

示例

在以下示例中，当用户单击该按钮时，如果麦克风不处于静音状态，Flash 将发布并播放实时流。

on (press)
{
  // 如果用户将麦克风设置为静音，则显示脱机通知。
  // 否则，从麦克风中发布并播放实时流。
  if(myMic.muted) {
    _root.debugWindow+="Microphone offline."newline
  } else {

    // 通过调用根函数 pubLive()
    // 发布麦克风数据。
    _root.pubLive();

    // 播放通过调用根函数 pubLive()
    // 所发布的内容。
    _root.playLive();
  }
}

另请参见

Microphone.get()、Microphone.onStatus


Microphone.name

可用性

Flash Player 6。

用法

activeMicrophone.name

说明

只读属性；指定当前声音捕获设备的名称的字符串，它由声音捕获硬件返回。

示例

以下示例显示“输出”面板中默认麦克风的名称。

myMic = Microphone.get();
trace("The microphone name is:" + myMic.name);

另请参见

Microphone.get()、Microphone.names


Microphone.names

可用性

Flash Player 6。

用法

Microphone.names

注意：正确的语法是 Microphone.names。若要将返回值赋予变量，请使用类似于 mic_array = Microphone.names 的语法。若要确定当前麦克风的名称，请使用 activeMicrophone.name。

说明

只读类属性；获取反映所有可用声音捕获设备名称的字符串数组，而不显示 Flash Player“隐私设置”面板。此数组的行为与其它任何动作脚本数组均相同，即隐式提供每个声音捕获设备的从零开始索引以及系统上的声音捕获设备数量（通过 Microphone.names.length）。有关更多信息，请参见 Array 类条目。

若要调用 Microphone.names，需要广泛地检查硬件，而建立数组可能需要几秒钟的时间。大多数情况下，使用默认麦克风即可。

示例

以下代码返回关于音频设备数组的信息。

allMicNames_array = Microphone.names;
_root.debugWindow += "Microphone.names located these device(s):"newline
for(i=0; i < allMicNames_array.length; i++){
  debugWindow += "[" + i + "]:" + allMicNames[i] + newline;
}

例如，可能会显示以下信息。

Microphone.names located these device(s):
[0]: Crystal SoundFusion(tm)
[1]: USB Audio Device

另请参见

Array 类、Microphone.name


Microphone.onActivity

可用性

Flash Player 6。

用法

activeMicrophone.onActivity = function(activity) {
  // 此处是您的语句
}

参数

activity 布尔值，在麦克风开始检测声音时设置为 true，在停止时设置为 false。

返回

无。

说明

事件处理函数；在麦克风开始或停止检测声音时调用。如果要对此事件处理函数做出响应，则必须创建一个函数来处理其 activity 值。

若要指定调用 Microphone.onActivity(true) 所需的音量以及在调用 Microphone.onActivity(false) 之前必须在无声状态下经过的时间，请使用 Microphone.setSilenceLevel()。

示例

当麦克风开始或停止检测声音时，以下示例显示在“输出”面板中显示 true 或 false。

m = Microphone.get();
_root.attachAudio(m);
m.onActivity = function(mode)
{
  trace(mode);
};

另请参见

Microphone.onActivity、Microphone.setSilenceLevel()


Microphone.onStatus

可用性

Flash Player 6。

用法

activeMicrophone.onStatus = function(infoObject) {
  // 此处是您的语句
}

参数

infoObject 按照状态消息定义的参数。

返回

无。

说明

事件处理函数；在用户允许或拒绝对麦克风的访问时调用。如果要对此事件处理函数做出响应，必须创建一个函数来处理麦克风生成的信息对象。

当 SWF 文件尝试访问麦克风时，Flash Player 将显示一个“隐私”对话框，用户可以在其中选择是允许还是拒绝访问。

  • 如果用户允许访问，则 Microphone.muted 属性设置为 false，并且用 code 属性为
    "Microphone.Unmuted"、level 属性为 "Status" 的信息对象调用此事件处理函数。
  • 如果用户拒绝访问，则 Microphone.muted 属性设置为 true，并且用 code 属性为
    "Microphone.Muted"、level 属性为 "Status" 的信息对象调用此事件处理函数。

若要在不处理此事件处理函数的情况下确定用户是拒绝还是允许对麦克风的访问，请使用
Microphone.muted。

注意：如果用户选择永久允许或拒绝对来自指定域的所有 SWF 文件的访问，则对于来自该域的 SWF 文件不调用此方法，除非用户以后更改该隐私设置。有关更多信息，请参见 Microphone.get()。

示例

请参见 Camera.onStatus 的示例。

另请参见

Microphone.get()、Microphone.muted


Microphone.rate

可用性

Flash Player 6。

用法

activeMicrophone.rate

说明

只读属性；麦克风的声音捕获频率，单位为 kHz。如果您的声音捕获设备支持，则默认值为 8 kHz。否则，默认值为您的声音捕获设置支持且高于 8 kHz 的下一个可用捕获级别，这通
常是 11 kHz。

若要设置此值，请使用 Microphone.setRate()。

示例

以下示例将当前频率保存到变量 original。

original = myMic.rate;

另请参见

Microphone.setRate()


Microphone.setGain()

可用性

Flash Player 6。

用法

activeMicrophone.setGain(gain)

参数

gain 指定麦克风信号提升量的整数。有效值的范围是 0 到 100。默认值为 50；但是，用户
可以在 Flash Player“麦克风设置”面板中更改该值。

返回

无。

说明

方法；设置麦克风增益，即麦克风在传送信号之前应该将信号加倍的数量。值为 0 将指示 Flash 乘以 0；即，麦克风不传送任何声音。

您可以将此设置视为立体声音响上的音量旋钮：0 表示无音量，50 表示正常音量；小于 50 的数字指定低于正常音量，而大于 50 的数字指定高于正常音量。

示例

以下示例确保麦克风增益设置小于或等于 55。

var myMic = Microphone.get();
if (myMic.gain > 55){
  myMic.setGain(55);
}

另请参见

Microphone.gain、Microphone.setUseEchoSuppression()


Microphone.setRate()

可用性

Flash Player 6。

用法

activeMicrophone.setRate(kHz)

参数

kHz 麦克风捕获声音的频率，单位是 kHz。可接受的值为 5、8、11、22 和 44。如果您的声音捕获设备支持，则默认值为 8 kHz。否则，默认值为您的声音捕获设置支持且高于 8 kHz 的下一个可用捕获级别，这通常是 11 kHz。

返回

无。

说明

方法；设置麦克风捕获声音的频率，单位是 kHz。

示例

以下示例将麦克风频率设置为用户的首选项（已经赋予 userRate 变量的值），前提是它是以下值之一：5、8、11、22 或 44。否则，该值将舍入到最近似的且声音捕获设备支持的可接受值。

myMic.setRate(userRate);

另请参见

Microphone.rate


Microphone.setSilenceLevel()

可用性

Flash Player 6。

用法

activeMicrophone.setSilenceLevel(level [, timeout])

参数

level 整数，指定激活麦克风和调用 Microphone.onActivity(true) 所需的音量。可接受值的范围是 0 到 100。默认值为 10。

timeout 可选的整数参数，指定必须经过多少毫秒的不活动时间，Flash 才能认为声音已停止
并调用 Microphone.onActivity(false)。默认值为 2000（2 秒）。

返回

无。

说明

方法；设置应该被视为有声的最小输入级别以及（可选）指示静音已实际启用的静音时间。

  • 若要防止麦克风检测到任何声音，请为 level 传递值 100；这样就决不会调用
    Microphone.onActivity。
  • 若要确定麦克风当前所检测的音量，请使用 Microphone.activityLevel。

活动检测是检测声音级别在何时表示某人正在谈话的功能。当某人没有谈话时，由于不需要发送关联的音频流，因此可以节约带宽。此信息也可用于视频反馈，以便让用户知道他们（或其他人）没有谈话。

静音值与活动值直接对应。完全静音对应于活动值 0。持续噪音（可以根据当前增益设置检测到的噪音）对应于活动值 100。当增益得到适当调整之后，活动值将在您未谈话时小于静音值，而在您谈话时大于静音值。

此方法的用途与 Camera.setMotionLevel() 相同；这两种方法都用于指定应该在何时调用 onActivity 事件处理函数。但是这些方法对发布流具有非常不同的影响：

  • Camera.setMotionLevel() 用于检测运动，它不影响带宽用量。即使视频流未检测到运动，仍将发送视频。
  • Microphone.setSilenceLevel() 用于优化带宽。当音频流被视为静音时，将不发送任何音频数据。所发送的是一个指示静音已启动的消息。

示例

以下代码根据用户的输入更改静音级别。该按钮附加了以下代码：

on (press)
{
  this.makeSilenceLevel(this.silenceLevel);
}

该按钮调用的 makeSilenceLevel() 函数将继续：

function makeSilenceLevel(s)
{
  this.obj.setSilenceLevel(s);
  this.SyncMode();
  this.silenceLevel= s;
}

有关更多信息，请参见 Camera.setMotionLevel() 的示例。

另请参见

Microphone.activityLevel、Microphone.onActivity、Microphone.setGain()、
Microphone.silenceLevel()、Microphone.silenceTimeout()


Microphone.setUseEchoSuppression()

可用性

Flash Player 6。

用法

activeMicrophone.setUseEchoSuppression(suppress)

参数

suppress 布尔值，指定是 (true) 否 (false) 应该使用回声抑制。

返回

无。

说明

方法；指定是否使用音频编解码器的回声抑制功能。默认值为 false，除非用户已经在 Flash Player“麦克风设置”面板中选择“降低回声”。

回声抑制是指降低音频回馈效果，当麦克风发出的声音由同一台计算机上的麦克风拾取时，将导致音频回馈。（这不同于回声消除，后者完全消除回馈。）

通常情况下，当所捕获的声音通过同一台计算机上的扬声器（而不是耳机）播放时，建议使用回声抑制。如果您的 SWF 文件允许用户指定声音输出设备，则当他们指出他们正在使用扬声器并且还将使用麦克风时，可能需要调用 Microphone.setUseEchoSuppression(true)。

用户也可以在 Flash Player“麦克风设置”面板中调整这些设置。

示例

以下示例启用回声抑制。

my_mic.setUseEchoSuppression(true);

另请参见

Microphone.setGain()、Microphone.useEchoSuppression()


Microphone.silenceLevel()

可用性

Flash Player 6。

用法

activeMicrophone.silenceLevel

说明

只读属性；指定激活麦克风和调用 Microphone.onActivity(true) 所需的音量的整数。默认值为 10。

示例

请参见 Microphone.silenceTimeout() 的示例。

另请参见

Microphone.gain、Microphone.setSilenceLevel()


Microphone.silenceTimeout()

可用性

Flash Player 6。

用法

activeMicrophone.silenceTimeout

说明

只读属性；表示麦克风停止检测声音和调用 Microphone.onActivity(false) 这两个事件之间的毫秒数的数字值。默认值为 2000（2 秒）。

若要设置此值，请使用 Microphone.setSilenceLevel()。

示例

以下示例将超时设置为其当前值的两倍。

myMic.setSilenceLevel(myMic.silenceLevel, myMic.silenceTimeOut * 2);

另请参见

Microphone.setSilenceLevel()


Microphone.useEchoSuppression()

可用性

Flash Player 6。

用法

activeMicrophone.useEchoSuppression

说明

只读属性；如果启用回声抑制，则为布尔值 true；否则为 false。默认值为 false，除非用户已经在 Flash Player“麦克风设置”面板上选择“降低回声”。

示例

以下示例检查回声抑制，如果它尚未启用，则将其启用。

_root.myMic.onActivity = function(active) {
  if (active == true) {
    if (_root.myMic.useEchoSuppression == false) {
      _root.myMic.setUseEchoSuppression(true);
    }
  }
}

另请参见

Microphone.setUseEchoSuppression()


MMExecute()

可用性

Flash Player 7。

用法

MMExecute("Flash JavaScript API command;")

参数

Flash JavaScript API command 您可以在 Flash JavaScript (JSFL) 文件中使用的任何
命令。

返回

JavaScript 语句发送的结果（如果有）。

说明

函数；可用于从动作脚本中发出 Flash JavaScript API 命令。

Flash JavaScript API (JSAPI) 提供若干对象、方法和属性，以重制或模拟用户可以在创作环境中输入的命令。使用 JSAPI，您可以编写通过以下若干方式扩展 Flash 的脚本：向菜单添加命令、处理舞台上的对象和重复命令序列等。

通常，用户通过选择“命令”>“运行命令”运行 JSAPI 脚本。不过，您可以在动作脚本中使用此函数以直接调用 JSAPI 命令。如果您在文件的第 1 帧上的脚本中使用 MMExecute()，则该命令在加载 SWF 文件时执行。

有关 JSAPI 的更多信息，请参见 www.macromedia.com/go/jsapi_info_en。

示例

下面的命令返回库中对象的数组：

var libe:Array = MMExecute("fl.getDocumentDOM().library.items;");
trace(libe.length + " items in library");


Mouse 类

可用性

Flash Player 5。

说明

Mouse 类是不通过构造函数即可访问其属性和方法的顶级类。您可以使用 Mouse 类的方法来隐藏和显示 SWF 文件中的鼠标指针（光标）。默认情况下鼠标指针是可见的，但是您可以将其隐藏并实现用影片剪辑创建的自定义指针（请参见创建自定义鼠标指针）。

Mouse 类的方法概要

方法 | 说明
Mouse.addListener() | 注册一个对象以接收 onMouseDown、onMouseMove 和 onMouseUp 通知。
Mouse.hide() | 隐藏 SWF 文件中的鼠标指针。
Mouse.removeListener() | 删除用 addListener() 注册的对象。
Mouse.show() | 在 SWF 文件中显示鼠标指针。

Mouse 类的侦听器概要

方法 | 说明
Mouse.onMouseDown | 按下鼠标按钮时获得通知。
Mouse.onMouseMove | 移动鼠标按钮时获得通知。
Mouse.onMouseUp | 释放鼠标按钮时获得通知。
Mouse.onMouseWheel | 当用户滚动鼠标滚轮时获得通知。


Mouse.addListener()

可用性

Flash Player 6。

用法

Mouse.addListener (newListener)

参数

newListener 一个对象。

返回

无。

说明

方法；注册一个对象以接收 onMouseDown、onMouseMove 和 onMouseUp 侦听器的通知。

newListener 参数应该包含一个带有为 onMouseDown、onMouseMove 和 onMouseUp 侦听器定义的方法的对象。

当按下、移动或释放鼠标时，不论输入焦点位于何处，用此方法注册的所有侦听对象都调用其 onMouseDown、onMouseMove 或 onMouseUp 方法。可以有多个对象侦听鼠标通知。如果已经注册了侦听器 newListener，则不会发生任何更改。

另请参见

Mouse.onMouseDown、Mouse.onMouseMove、Mouse.onMouseUp


Mouse.hide()

可用性

Flash Player 5。

用法

Mouse.hide()

参数

无。

返回

布尔值：如果指针可见，则为 true；如果指针不可见，则为 false。

说明

方法；隐藏 SWF 文件中的指针。指针在默认情况下可见。

示例

附加到主时间轴上影片剪辑的以下代码会隐藏标准指针，并将 customPointer_mc 影片剪辑实例的 x 和 y 位置设置为主时间轴中的 x 和 y 鼠标位置。

onClipEvent (enterFrame) {
  Mouse.hide();
  customPointer_mc._x = _root._xmouse;
  customPointer_mc._y = _root._ymouse;
}

另请参见

Mouse.show()、MovieClip._xmouse、MovieClip._ymouse


Mouse.onMouseDown

可用性

Flash Player 6。

用法

someListener.onMouseDown

参数

无。

返回

无。

说明

侦听器；按下鼠标时获得通知。若要使用 onMouseDown 侦听器，必须先创建一个侦听器对象。然后可以为 onMouseDown 定义一个函数并使用 addListener() 向 Mouse 对象注册该侦听器，如以下代码所示：

someListener = new Object();
someListener.onMouseDown = function () { ... };
Mouse.addListener(someListener);

侦听器可以使不同的代码片段协同工作，因为多个侦听器可以接收有关单个事件的通知。

另请参见

Mouse.addListener()


Mouse.onMouseMove

可用性

Flash Player 6。

用法

someListener.onMouseMove

参数

无。

返回

无。

说明

侦听器；鼠标移动时获得通知。若要使用 onMouseMove 侦听器，必须先创建一个侦听器对象。然后可以为 onMouseMove 定义一个函数并使用 addListener() 向 Mouse 对象注册该侦听器，如以下代码所示：

someListener = new Object();
someListener.onMouseMove = function () { ... };
Mouse.addListener(someListener);

侦听器可以使不同的代码片段协同工作，因为多个侦听器可以接收有关单个事件的通知。

另请参见

Mouse.addListener()


Mouse.onMouseUp

可用性

Flash Player 6。

用法

someListener.onMouseUp

参数

无。

返回

无。

说明

侦听器；释放鼠标时获得通知。若要使用 onMouseUp 侦听器，必须先创建一个侦听器对象。然后可以为 onMouseUp 定义一个函数并使用 addListener() 方法向 Mouse 对象注册该侦听器，如以下代码所示：

someListener = new Object();
someListener.onMouseUp = function () { ... };
Mouse.addListener(someListener);

侦听器可以使不同的代码片段协同工作，因为多个侦听器可以接收有关单个事件的通知。

另请参见

Mouse.addListener()


Mouse.onMouseWheel

可用性

Flash Player 7（仅限 Windows）。

用法

someListener.onMouseWheel = function ( [ delta , scrollTarget ]) {
  // 此处是您的语句
}

参数

delta 一个可选数字，指示对于用户将鼠标滚轮滚动的每个刻度，屏幕上将滚动多少行。正 delta 值指示向上的滚动；而负值指示向下的滚动。常用值为 1 到 3，而较快的滚动可能产生较大的值。

如果您不想为 delta 指定值，但想为 scrollTarget 指定值，则为 delta 传递 null。

scrollTarget 当滚动鼠标滚轮时位于鼠标下的最顶部的影片剪辑实例。

返回

无。

说明

侦听器；在用户滚动鼠标滚轮时获得通知。若要使用 onMouseWheel 侦听器，必须先创建一个侦听器对象。然后可以为 onMouseWheel 定义一个函数并使用 addListener() 向 Mouse 对象注册该侦听器。

注意：鼠标滚轮事件侦听器只有在 Windows 版的 Flash Player 上才可用。

示例

以下示例显示如何创建对鼠标滚轮事件做出响应的侦听器对象。在此示例中，每当用户滚动鼠标滚轮时，名为 clip_mc（未显示）的影片剪辑对象的 x 坐标将发生更改。

mouseListener = new Object();
mouseListener.onMouseWheel = function(delta) {
  clip_mc._x += delta;
}
Mouse.addListener(mouseListener);

另请参见

Mouse.addListener()、TextField.mouseWheelEnabled


Mouse.removeListener()

可用性

Flash Player 6。

用法

Mouse.removeListener (listener)

参数

listener 一个对象。

返回

如果成功删除了 listener 对象，则该方法返回 true；如果未成功删除 listener（例如，如果 listener 不在 Mouse 对象的侦听器列表中），则该方法返回 false。

说明

方法；删除以前用 addListener() 注册的对象。


Mouse.show()

可用性

Flash Player 5。

用法

Mouse.show()

参数

无。

返回

无。

说明

方法；在 SWF 文件中显示鼠标指针。指针在默认情况下可见。

另请参见

Mouse.show()、MovieClip._xmouse、MovieClip._ymouse


MovieClip 类

可用性

Flash Player 3。

说明

MovieClip 类的方法提供的功能与定位影片剪辑的动作所提供的功能相同。还有一些其它方法在“动作”面板中的“动作”工具箱中没有等效动作。

无需使用构造函数方法即可调用 MovieClip 类的方法；只需使用以下语法按名称引用影片剪辑实例即可：

my_mc.play();
my_mc.gotoAndPlay(3);

MovieClip 类的方法概要

方法 | 说明
MovieClip.attachAudio() | 从麦克风硬件中捕获并播放本地音频。
MovieClip.attachMovie() | 附加库中的 SWF 文件。
MovieClip.createEmptyMovieClip() | 创建一个空的影片剪辑。
MovieClip.createTextField() | 创建一个空的文本字段。
MovieClip.duplicateMovieClip() | 重制指定的影片剪辑。
MovieClip.getBounds() | 返回 SWF 文件在指定坐标空间中的最小和最大的 x、y 坐标。
MovieClip.getBytesLoaded() | 返回为指定影片剪辑加载的字节数。
MovieClip.getBytesTotal() | 以字节为单位返回影片剪辑的大小。
MovieClip.getDepth() | 返回影片剪辑的深度。
MovieClip.getInstanceAtDepth() | 指定某特定深度是否已被影片剪辑所占用。
MovieClip.getNextHighestDepth() | 指定一个深度值，您可以将该值传递给其它方法，以确保 Flash 将该影片剪辑呈现在当前影片剪辑中所有其它对象的前面。
MovieClip.getSWFVersion() | 返回一个整数，该整数指示所发布的影片剪辑的 Flash Player 版本
MovieClip.getTextSnapshot() | 返回包含指定影片剪辑的静态文本字段中的文本的 TextSnapshot 对象。
MovieClip.getURL() | 从一个 URL 获取文档。
MovieClip.globalToLocal() | 将 point 对象的坐标从舞台坐标转换为指定影片剪辑的本地坐标。
MovieClip.gotoAndPlay() | 将播放头转到影片剪辑中的特定帧并播放 SWF 文件。
MovieClip.gotoAndStop() | 将播放头转到影片剪辑中的特定帧并停止 SWF 文件。
MovieClip.hitTest() | 如果指定影片剪辑的边框与目标影片剪辑的边框交叉，则返回 true。
MovieClip.loadMovie() | 将指定的 SWF 文件加载到影片剪辑中。
MovieClip.loadVariables() | 将来自 URL 或其它位置的变量加载到影片剪辑中。
MovieClip.localToGlobal() | 将 Point 对象的坐标从影片剪辑的本地坐标转换为全局舞台坐标。
MovieClip.nextFrame() | 将播放头转到影片剪辑的下一帧。
MovieClip.play() | 播放指定的影片剪辑。
MovieClip.prevFrame() | 将播放头转到影片剪辑的上一帧。
MovieClip.removeMovieClip() | 如果影片剪辑是用 duplicateMovieClip()、MovieClip.duplicateMovieClip() 或 MovieClip.attachMovie() 创建的，则将其从时间轴中删除。
MovieClip.setMask() | 将影片剪辑指定为另一个影片剪辑的遮罩。
MovieClip.startDrag() | 将影片剪辑指定为可拖动的并开始拖动该影片剪辑。
MovieClip.stop() | 停止当前播放的 SWF 文件。
MovieClip.stopDrag() | 停止拖动任何正在拖动的影片剪辑。
MovieClip.swapDepths() | 交换两个 SWF 文件的深度级别。
MovieClip.unloadMovie() | 删除用 loadMovie() 加载的 SWF 文件。

MovieClip 类的绘制方法概要

方法 | 说明
MovieClip.beginFill() | 开始在舞台上绘制填充。
MovieClip.beginGradientFill() | 开始在舞台上绘制渐变填充。
MovieClip.clear() | 删除与影片剪辑实例相关联的所有绘画命令。
MovieClip.curveTo() | 使用最新的线条样式绘制曲线。
MovieClip.endFill() | 终止由 beginFill() 或 beginGradientFill() 指定的填充。
MovieClip.lineStyle() | 定义用 lineTo() 和 curveTo() 方法创建的线条的笔触。
MovieClip.linSeTo() | 使用当前的线条样式绘制线条。
MovieClip.moveTo() | 将当前的绘画位置移到指定的坐标。

MovieClip 类的属性概要

属性 | 说明
MovieClip._alpha | 影片剪辑实例的透明度值。
MovieClip._currentframe | 播放头当前所处的帧的编号。
MovieClip._droptarget | 以斜杠语法记号表示的影片剪辑实例（放置可拖动影片剪辑的影片剪辑实例）的绝对路径。
MovieClip.enabled | 指示按钮影片剪辑是否处于启用状态。
MovieClip.focusEnabled | 使影片剪辑能够接收焦点。
MovieClip._focusrect | 指示具有焦点的影片剪辑周围是否有黄色矩形。
MovieClip._framesloaded | 从 SWF 文件流中已经加载的帧数。
MovieClip._height | 影片剪辑实例的高度，以像素为单位。
MovieClip.hitArea | 将另一个影片剪辑指定为按钮影片剪辑的点击区域。
MovieClip._highquality | 设置 SWF 文件的呈现品质。
MovieClip.menu | 将 ContextMenu 对象与影片剪辑关联。
MovieClip._name | 影片剪辑实例的实例名称。
MovieClip._parent | 对包含有该影片剪辑的影片剪辑的引用。
MovieClip._rotation | 影片剪辑实例的旋转角度。
MovieClip._soundbuftime | 声音开始进入流之前存储的秒数。
MovieClip.tabChildren | 指示影片剪辑的子级是否包含在 Tab 键的自动排序中。
MovieClip.tabEnabled | 指示某影片剪辑是否包含在 Tab 键排序中。
MovieClip.tabIndex | 指示对象的 Tab 键顺序。
MovieClip._target | 影片剪辑实例的目标路径。
MovieClip._totalframes | 影片剪辑实例中的总帧数。
MovieClip.trackAsMenu | 指示其它按钮是否可接收鼠标按钮释放事件。
MovieClip._url | 从中下载影片剪辑的 SWF 文件的 URL。
MovieClip.useHandCursor | 确定当用户滑过按钮影片剪辑时是否显示手形光标。
MovieClip._visible | 一个布尔值，确定影片剪辑实例是隐藏的还是可见的。
MovieClip._width | 影片剪辑实例的宽度，以像素为单位。
MovieClip._x | 影片剪辑实例的 x 坐标。
MovieClip._xmouse | 影片剪辑实例中鼠标指针的 x 坐标。
MovieClip._xscale | 指定用于水平缩放影片剪辑的百分比的值。
MovieClip._y | 影片剪辑实例的 y 坐标。
MovieClip._ymouse | 影片剪辑实例中鼠标指针的 y 坐标。
MovieClip._yscale | 指定用于垂直缩放影片剪辑的百分比的值。

MovieClip 类的事件处理函数概要

事件处理函数 | 说明
MovieClip.onData | 当所有数据都加载到影片剪辑中时调用。
MovieClip.onDragOut | 鼠标指针位于按钮内时按下鼠标按钮，然后滑出该按钮区域，在此条件下，当鼠标指针位于该按钮外时进行调用。
MovieClip.onDragOver | 鼠标指针位于按钮内时按下鼠标按钮，然后滑出该按钮区域，接着滑回到该按钮上，在此条件下，当鼠标指针位于该按钮上时进行调用。
MovieClip.onEnterFrame | 以 SWF 文件的帧频持续调用。首先处理与 enterFrame 剪辑事件关联的动作，然后才处理附加到受影响帧的所有帧动作脚本。
MovieClip.onKeyDown | 当按下按键时调用。使用 Key.getCode() 和 Key.getAscii() 方法可获取关于最后所按键的信息。
MovieClip.onKeyUp | 当释放按键时调用。
MovieClip.onKillFocus | 当从按钮移除焦点时调用。
MovieClip.onLoad | 当影片剪辑被实例化并显示在时间轴上时调用。
MovieClip.onMouseDown | 当按下鼠标左键时调用。
MovieClip.onMouseMove | 每次移动鼠标时调用。
MovieClip.onMouseUp | 当释放鼠标左键时调用。
MovieClip.onPress | 在鼠标指针位于按钮上方的情况下，按下鼠标按钮时调用。
MovieClip.onRelease | 在鼠标指针位于按钮上方的情况下，释放鼠标按钮时调用。
MovieClip.onReleaseOutside | 在这样的情况下调用：在鼠标指针位于按钮内部的情况下按下按钮，然后将鼠标指针移到该按钮外部并释放鼠标按钮。
MovieClip.onRollOut | 当鼠标指针滚动到按钮区域之外时调用。
MovieClip.onRollOver | 当鼠标指针滚过按钮时调用。
MovieClip.onSetFocus | 当按钮具有输入焦点而且释放某按键时调用。
MovieClip.onUnload | 从时间轴删除影片剪辑后，在第 1 帧中调用。处理与 Unload 影片剪辑事件关联的动作之前，不将任何动作附加到受影响的帧。


MovieClip._alpha

可用性

Flash Player 4。

用法

my_mc._alpha

说明

属性；my_mc 指定的影片剪辑的 alpha 透明度值。有效值为 0（完全透明）到 100（完全不透明）。默认值为 100。如果影片剪辑的 _alpha 设置为 0，即使其中的对象不可见，但也是活动的。例如，您仍可以单击一个 _alpha 属性设置为 0 的影片剪辑中的按钮。

示例

下面的代码完成以下任务：当单击按钮时，将名为 star_mc 的影片剪辑的 _alpha 属性设置为 30%：

on (release) {
  star_mc._alpha = 30;
}

另请参见

Button._alpha、TextField._alpha


MovieClip.attachAudio()

可用性

Flash Player 6；能够附加来自 Flash Player 7 中添加的 Flash 视频 (FLV) 文件的音频。

用法

my_mc.attachAudio(source)

参数

source 包含要播放的音频的对象。有效值是 Microphone 对象、播放 FLV 文件的
NetStream 对象以及 false（停止播放音频）。

返回

无。

说明

方法；指定要播放的音频源。若要停止播放音频源，请为 source 传递 false。

示例

以下代码将一个麦克风附加到影片剪辑。

my_mic = Microphone.get();
this.attachAudio(my_mic);

下面的示例显示如何使用 Sound 对象控制与 FLV 文件关联的声音。

// 剪辑是包含视频对象
// “my_video”的影片剪辑的实例名称。
_root.Clip.my_video.attachVideo(_root.myNetStream);
_root.Clip.attachAudio(_root.myNetStream);
var snd = new Sound("_root.Clip");
//调整音频：
_root.snd.setVolume(100);

另请参见

Microphone 类、NetStream.play()、Sound 类、Video.attachVideo()


MovieClip.attachMovie()

可用性

Flash Player 5。

用法

my_mc.attachMovie(idName, newName, depth [, initObject])

参数

idName 库中要附加到舞台上某影片剪辑的影片剪辑元件的链接名称。这是在“链接属性”对话框中的“标识符”字段中输入的名称。

newname 附加到该影片剪辑的影片剪辑实例的唯一名称。

depth 一个整数，指定 SWF 文件所放位置的深度级别。

initObject （Flash Player 6 和更高版本支持）包含要用来填充新附加的影片剪辑的属性的对象。此参数使动态创建的影片剪辑能够接收剪辑参数。如果 initObject 不是对象，则将被忽略。initObject 的所有属性均将复制到新实例中。构造函数可使用通过 initObject 指定的属性。此参数是可选的。

返回

对新创建的实例的引用。

说明

方法；从库中取一个元件并将其附加到舞台上由 my_mc 指定的 SWF 文件中。使用
removeMovieClip() 或 unloadMovie() 可删除用 attachMovie() 附加的 SWF 文件。

示例

下面的示例将链接标识符为“circle”的元件附加到位于 SWF 文件舞台上的影片剪辑实例中。

on (release) {
    thing.attachMovie( "circle", "circle1", 2 );
}

另请参见

MovieClip.removeMovieClip()、MovieClip.unloadMovie()、Object.registerClass()、removeMovieClip()


MovieClip.beginFill()

可用性

Flash Player 6。

用法

my_mc.beginFill([rgb[, alpha]])

参数

rgb 一个十六进制颜色值（例如，红色是 0xFF0000，蓝色是 0x0000FF，等等）。如果未提供或未定义该值，则不创建填充。

alpha 一个介于 0 到 100 之间的整数，指定填充的 alpha 值。如果未提供该值，则使用 100
（纯色）。如果该值小于 0，则 Flash 使用 0。如果该值大于 100，则 Flash 使用 100。

返回

无。

说明

方法；指示新的绘画路径的开始。如果存在一个开放路径（即如果当前的绘制位置不等于 moveTo() 方法中指定的上一个位置），并且该路径具有与其关联的填充，则用线条闭合该路径，然后进行填充。这类似于调用 endFill() 方法时的情形。如果当前没有填充与该路径相关联，则必须调用 endFill() 才能应用填充。

另请参见

MovieClip.beginGradientFill()、MovieClip.endFill()


MovieClip.beginGradientFill()

可用性

Flash Player 6。

用法

my_mc.beginGradientFill(fillType, colors, alphas, ratios, matrix)

参数

fillType 字符串 "linear" 或字符串 "radial"。

colors 一个数组，包括要在渐变中使用的 RGB 十六进制颜色值（例如，红色是 0xFF0000，
蓝色是 0x0000FF，等等）。

alphas 一个数组，包括与 colors 数组中颜色相对应的 alpha 值；有效值范围为 0 到 100。如果该值小于 0，则 Flash 使用 0。如果该值大于 100，则 Flash 使用 100。

ratios 颜色配额的数组；有效值范围为 0 到 255。该值按 100% 定义了对颜色进行采样处的宽度的百分比。

matrix 一个变形矩阵，它是具有下列两组属性之一的对象：

  • a、b、c、d、e、f、g、h、i，它们用于描述如下形式的 3 x 3 矩阵：
    a   b   c
d   e   f
g   h i

    下面的示例使用 beginGradientFill() 方法，其 matrix 参数是具有这些属性的对象。

    _root.createEmptyMovieClip( "grad", 1 );
  with ( _root.grad )

  {

  colors = [ 0xFF0000, 0x0000FF ];
  alphas = [ 100, 100 ];
  ratios = [ 0, 0xFF ];
  matrix = { a:200, b:0, c:0, d:0, e:200, f:0, g:200, h:200, i:1 };
  beginGradientFill( "linear", colors, alphas, ratios, matrix );
  moveto(100,100);
  lineto(100,300);
  lineto(300,300);
  lineto(300,100);
  lineto(100,100);
  endFill();

  }

    如果 matrixType 属性不存在，则其余参数都是必需的；如果缺少其中任何一个，该函数都会失败。该矩阵缩放、平移、旋转和倾斜在 (-1,-1) 和 (1,1) 处定义的单位渐变。

  • matrixType、x、y、w、h、r。

    这些属性表示下列含义：matrixType 是字符串 "box"，x 是相对于该渐变左上角父级剪辑的注册点的水平位置，y 是相对于该渐变左上角父级剪辑的注册点的垂直位置，w 是渐变的宽度，h 是渐变的高度，r 是渐变的旋转角度（以弧度为单位）。

    下面的示例使用 beginGradientFill() 方法，其 matrix 参数是具有这些属性的对象。

    _root.createEmptyMovieClip( "grad", 1 );
              with ( _root.grad )

              {

              colors = [ 0xFF0000, 0x0000FF ];
              alphas = [ 100, 100 ];
              ratios = [ 0, 0xFF ];
              matrix = { matrixType:"box", x:100, y:100, w:200, h:200, r:(45/180)*Math.PI };
              beginGradientFill( "linear", colors, alphas, ratios, matrix );
              moveto(100,100);
              lineto(100,300);
              lineto(300,300);
              lineto(300,100);
              lineto(100,100);
              endFill();
              }

如果 matrixType 属性存在，则它必须等于 "box"，并且其余参数都是必需的。如果这些条件中的任何一个不满足，则该函数将失败。

返回

无。

说明

方法；指示新的绘画路径的开始。如果第一个参数为 undefined，或者未传递任何参数，则该路径将不填充。如果存在一个开放路径（即如果当前绘画位置不等于 moveTo() 方法中指定的上一个位置），并且该路径具有与其关联的填充，则用线条闭合该路径，然后进行填充。这类似于调用 endFill() 时的情形。

如果存在下列任意一种情况，则该方法将失败：

  • colors、alphas 和 ratios 参数中的项目数不相等。
  • fillType 参数不是 "linear" 或 "radial"。
  • 表示 matrix 参数的对象中的任意一个字段缺少或无效。

示例

下列代码使用两种方法绘制两个堆积矩形，这两个矩形具有红蓝渐变填充并使用 5 磅纯绿色
笔触。

_root.createEmptyMovieClip("goober",1);
with ( _root.goober )
{
  colors = [ 0xFF0000, 0x0000FF ];
  alphas = [ 100, 100 ];
  ratios = [ 0, 0xFF ];
  lineStyle( 5, 0x00ff00 );
  matrix = { a:500,b:0,c:0,d:0,e:200,f:0,g:350,h:200,i:1};
  beginGradientFill( "linear", colors, alphas, ratios, matrix );
  moveto(100,100);
  lineto(100,300);
  lineto(600,300);
  lineto(600,100);
  lineto(100,100);
  endFill();
  matrix = { matrixType:"box", x:100, y:310, w:500, h:200, r:(0/180)*Math.PI };
  beginGradientFill( "linear", colors, alphas, ratios, matrix );
  moveto(100,310);
  lineto(100,510);
  lineto(600,510);
  lineto(600,310);
  lineto(100,310);
  endFill();
}

另请参见

MovieClip.beginFill()、MovieClip.endFill()、MovieClip.lineStyle()、
MovieClip.linSeTo()、MovieClip.moveTo()


MovieClip.clear()

可用性

Flash Player 6。

用法

my_mc.clear()

参数

无。

返回

无。

说明

方法；删除使用影片剪辑绘画方法（包括用 MovieClip.lineStyle() 指定的线条样式）在运行时创建的所有图形。创作过程中（用 Flash 绘画工具）手动绘制的形状和线条不受影响。

另请参见

MovieClip.lineStyle()


MovieClip.createEmptyMovieClip()

可用性

Flash Player 6。

用法

my_mc.createEmptyMovieClip(instanceName, depth)

参数

instanceName 标识新影片剪辑的实例名称的字符串。

depth 指定新影片剪辑的深度的整数。

返回

对新创建的影片剪辑的引用。

说明

方法；创建作为现有影片剪辑子级的空影片剪辑。该方法的行为类似于 attachMovie() 方法，但是不必为新的影片剪辑提供外部链接名称。新创建的空影片剪辑的注册点为左上角。如果缺少任意一个参数，则该方法将失败。

另请参见

MovieClip.attachMovie()


MovieClip.createTextField()

可用性

Flash Player 6。

用法

my_mc.createTextField(instanceName, depth, x, y, width, height)

参数

instanceName 一个字符串，指示新文本字段的实例名称。

depth 一个正整数，指定新文本字段的深度。

x 一个整数，指定新文本字段的 x 坐标。

y 一个整数，指定新文本字段的 y 坐标。

width 一个正整数，指定新文本字段的宽度。

height 一个正整数，指定新文本字段的高度。

返回

无。

说明

方法；创建一个新的、空文本字段作为由 my_mc 指定的影片剪辑的子级。可以使用
createTextField() 在 SWF 文件播放时创建文本字段。文本字段位于 (x, y)，尺寸为 width 乘 height。参数 x 和 y 都相对于容器影片剪辑；这些参数与文本字段的 _x 和 _y 属性相对应。参数 width 和 height 与文本字段的 _width 和 _height 属性相对应。

文本字段的默认属性如下所示：

type = "dynamic"
border = false
background = false
password = false
multiline = false
html = false
embedFonts = false
variable = null
maxChars = null

用 createTextField() 创建的文本字段可以接收下列默认 TextFormat 对象：

font = "Times New Roman"
size = 12
textColor = 0x000000
bold = false
italic = false
underline = false
url = ""
target = ""
align = "left"
leftMargin = 0
rightMargin = 0
indent = 0
leading = 0
bullet = false
tabStops = [] (empty array)

示例

下面的示例创建一个宽 300，高 100 的文本字段，其 x 坐标为 100，y 坐标为 100，该文本字段没有边框，文本为红色并带下划线。

_root.createTextField("mytext",1,100,100,300,100);
mytext.multiline = true;
mytext.wordWrap = true;
mytext.border = false;

myformat = new TextFormat();
myformat.color = 0xff0000;
myformat.bullet = false;
myformat.underline = true;

mytext.text = "this is my first test field object text";
mytext.setTextFormat(myformat);

另请参见

TextFormat 类


MovieClip._currentframe

可用性

Flash Player 4。

用法

my_mc._currentframe

说明

属性（只读）；返回由 my_mc 指定的时间轴中播放头所处的帧的编号。

示例

下面的示例使用 _currentframe 属性指示影片剪辑 actionClip_mc 的播放头从当前位置前进 5 帧。

actionClip_mc.gotoAndStop(_currentframe + 5);


MovieClip.curveTo()

可用性

Flash Player 6。

用法

my_mc.curveTo(controlX, controlY, anchorX, anchorY)

参数

controlX 一个整数，指定控制点相对于父级影片剪辑注册点的水平位置。

controlY 一个整数，指定控制点相对于父级影片剪辑注册点的垂直位置。

anchorX 一个整数，指定下一个锚记点相对于父级影片剪辑注册点的水平位置。

anchorY 一个整数，指定下一个锚记点相对于父级影片剪辑注册点的垂直位置。

返回

无。

说明

方法；使用由 (controlX, controlY) 指定的控制点，以当前线条样式绘制从当前绘画位置到 (anchorX, anchorY) 的曲线。当前绘画位置随后设置为 (anchorX, anchorY)。如果正在其中进行绘制的影片剪辑中含有用 Flash 绘画工具创建的内容，则调用 curveTo() 将在此内容下进行绘制。如果在对 moveTo() 进行任何调用之前调用了 curveTo()，则当前绘画位置默认为 (0, 0)。如果缺少任何一个参数，则此方法将失败，并且当前绘画位置不改变。

示例

下面的示例用极细磅值、纯蓝色线条和纯红色填充绘制一个圆。

_root.createEmptyMovieClip( "circle", 1 );
with ( _root.circle )
{
  lineStyle( 0, 0x0000FF, 100 );
  beginFill( 0xFF0000 );
  moveTo( 500, 500 );
  curveTo( 600, 500, 600, 400 );
  curveTo( 600, 300, 500, 300 );
  curveTo( 400, 300, 400, 400 );
  curveTo( 400, 500, 500, 500 );
  endFill();
}

另请参见

MovieClip.beginFill()、 MovieClip.createEmptyMovieClip()、 MovieClip.endFill()、
MovieClip.lineStyle()、MovieClip.linSeTo()、MovieClip.moveTo()


MovieClip._droptarget

可用性

Flash Player 4。

用法

my_mc._droptarget

说明

属性（只读）；以斜杠语法记号表示法返回 my_mc 放置到的影片剪辑实例的绝对路径。
_droptarget 属性始终返回以斜杠 (/) 开始的路径。若要将实例的 _droptarget 属性与引用进行比较，请使用 eval() 函数将返回值从斜杠语法转换为点语法表示的引用。

注意：如果您正使用动作脚本 2.0，则必须执行此转换，因为动作脚本 2.0 不支持斜杠语法。

示例

下面的示例计算 garbage 影片剪辑实例的 _droptarget 属性并使用 eval() 将其从斜杠语法转换为点语法表示的引用。然后将 garbage 引用与对 trash 影片剪辑实例的引用进行比较。如果两个引用相等，则将 garbage 的可见性设置为 false。如果它们不相等，则将 garbage 实例重置为其原始位置。

if (eval(garbage._droptarget) == _root.trash) {
  garbage._visible = false;
} else {
  garbage._x = x_pos;
  garbage._y = y_pos;
}

变量 x_pos 和 y_pos 是用下列脚本在 SWF 文件的第 1 帧上设置的：

x_pos = garbage._x;
y_pos = garbage._y;

另请参见

startDrag()


MovieClip.duplicateMovieClip()

可用性

Flash Player 5。

用法

my_mc.duplicateMovieClip(newname, depth [,initObject])

参数

newname 一个用于重制影片剪辑的唯一标识符。

depth 一个用于指定深度的唯一编号，指定的 SWF 文件将放在该位置上。

initObject （Flash Player 6 和更高版本支持此函数。）包含用于填充重制影片剪辑的属性的
对象。此参数使动态创建的影片剪辑能够接收剪辑参数。如果 initObject 不是对象，则将被忽略。initObject 的所有属性均将复制到新实例中。构造函数可使用 initObject 指定的属性。此参数是可选的。

返回

对重制的影片剪辑的引用。

说明

方法；在 SWF 文件播放时创建指定影片剪辑的实例。无论调用 duplicateMovieClip() 方法时原始影片剪辑位于哪一帧，重制的影片剪辑总是从第 1 帧开始播放。父级影片剪辑中的变量不复制到重制的影片剪辑中。对于用 duplicateMovieClip() 创建的影片剪辑，如果对其父级调用 duplicateMovieClip()，则不重制该影片剪辑。如果删除父级影片剪辑，则重制的影片剪辑也被删除。

另请参见

duplicateMovieClip()、MovieClip.removeMovieClip()


MovieClip.enabled

可用性

Flash Player 6。

用法

my_mc.enabled

说明

属性；一个布尔值，指示按钮影片剪辑是否处于启用状态。enabled 的默认值为 true。如果将 enabled 设置为 false，则不再调用按钮影片剪辑的回调方法和 on action 事件处理函数，并且禁用 Over、Down 和 Up 帧。 enabled 属性不影响按钮影片剪辑的时间轴；如果影片剪辑正在播放，则该影片剪辑将继续播放。影片剪辑将继续接收影片剪辑事件（例如，mouseDown、
mouseUp、keyDown 和 keyUp）。

enabled 属性仅控制按钮影片剪辑的按钮式 (button-like) 属性。可以在任何时候更改 enabled 属性；可以立即启用或禁用修改后的按钮影片剪辑。可以从原型对象中读出 enabled 属性。如果将 enabled 设置为 false，则该对象将不包含在 Tab 键的自动排序中。


MovieClip.endFill()

可用性

Flash Player 6。

用法

my_mc.endFill()

参数

无。

返回

无。

说明

方法；对自从上次调用 beginFill() 或 beginGradientFill() 以来添加的线条和曲线应用填充。Flash 使用的是对 beginFill() 或 beginGradientFill() 的上一次调用中指定的填充。如果当前绘画位置不等于 moveTo() 方法中指定的上一个位置，而且定义了填充，则用线条闭合该
路径，然后进行填充。


MovieClip.focusEnabled

可用性

Flash Player 6。

用法

my_mc.focusEnabled

说明

属性；如果值为 undefined 或 false，则除非是按钮影片剪辑，否则影片剪辑不能接收输入焦点。如果 focusEnabled 属性值为 true，则即使影片剪辑不是按钮影片剪辑，它也可以接收输入焦点。


MovieClip._focusrect

可用性

Flash Player 6。

用法

my_mc._focusrect

说明

属性；一个布尔值，指定当影片剪辑具有键盘焦点时其周围是否有黄色矩形。此属性可以覆盖全局 _focusrect 属性。


MovieClip._framesloaded

可用性

Flash Player 4。

用法

my_mc._framesloaded

说明

属性（只读）；从 SWF 文件流中已经加载的帧数。该属性很有用，可确定特定帧及其前面所有帧的内容是否已经加载，并且是否可在浏览器本地使用。该属性对于监视大 SWF 文件的下载很有用。例如，可能需要向用户显示一条消息以表明 SWF 文件正在下载，直到 SWF 文件中的指定帧完成下载为止。

示例

下面的示例使用 _framesloaded 属性在所有帧都已加载后开始播放 SWF 文件。如果未加载完所有帧，则会等比例增大影片剪辑实例 loader 的 _xscale 属性以创建进度栏。

if (_framesloaded >= _totalframes) {
  gotoAndPlay ("Scene 1", "start");
} else {
  _root.loader._xscale = (_framesloaded/_totalframes)*100;
}

另请参见

MovieClipLoader 类


MovieClip.getBounds()

可用性

Flash Player 5。

用法

my_mc.getBounds(targetCoordinateSpace)

参数

targetCoordinateSpace 其坐标系统要用作参考点的时间轴的目标路径。

返回

一个对象，带有属性 xMin、xMax、yMin 和 yMax。

说明

方法；返回作为实例的最小和最大 x、y 坐标值的属性，该实例是由 my_mc 为
targetCoordinateSpace 参数指定的。

注意：分别使用 MovieClip.localToGlobal() 和 MovieClip.globalToLocal() 将影片剪辑的本地坐标转换为舞台坐标或将舞台坐标转换为本地坐标。

示例

在下面的示例中，将 getBounds() 返回的对象分配给标识符 clipBounds。然后可以访问每个属性的值并将其用在脚本中。在该脚本中，将另一个影片剪辑实例 clip2 与 clip 并排放置。

clipBounds = clip.getBounds(_root);
clip2._x = clipBounds.xMax;

另请参见

MovieClip.globalToLocal()、MovieClip.localToGlobal()


MovieClip.getBytesLoaded()

可用性

Flash Player 5。

用法

my_mc.getBytesLoaded()

参数

无。

返回

一个整数，指示所加载的字节数。

说明

方法；返回已为 my_mc 指定的影片剪辑加载（流处理）的字节数。您可以将此值与
MovieClip.getBytesTotal() 返回的值进行比较以确定已加载影片剪辑的百分比。

另请参见

MovieClip.getBytesTotal()


MovieClip.getBytesTotal()

可用性

Flash Player 5。

用法

my_mc.getBytesTotal()

参数

无。

返回

一个整数，指示 my_mc 的总大小（以字节为单位）。

说明

方法；以字节为单位返回 my_mc 指定的影片剪辑的大小。对于那些外部的影片剪辑（加载到某个目标或某个级别的根 SWF 文件或影片剪辑），返回值为 SWF 文件的大小。

另请参见

MovieClip.getBytesLoaded()


MovieClip.getDepth()

可用性

Flash Player 6。

用法

my_mc.getDepth()

参数

无。

返回

一个整数。

说明

方法；返回影片剪辑实例的深度。有关更多信息，请参见管理影片剪辑的深度。

另请参见

MovieClip.getInstanceAtDepth()、MovieClip.getNextHighestDepth()、
MovieClip.swapDepths()


MovieClip.getInstanceAtDepth()

可用性

Flash Player 7。

用法

my_mc.getInstanceAtDepth(depth)

参数

depth 一个整数，指定要查询的深度级别。

返回

一个字符串，表示位于指定深度的影片剪辑的名称；或者如果该深度没有任何影片剪辑，则为 undefined。

说明

方法；用于确定特定深度是否已被某个影片剪辑占用。您可以在使用
MovieClip.attachMovie()、MovieClip.duplicateMovieClip() 或
MovieClip.createEmptyMovieClip() 前使用此方法确定要传递给这些方法的深度参数所指定的深度是否已包含影片剪辑。有关更多信息，请参见管理影片剪辑的深度。

另请参见

MovieClip.getDepth()、MovieClip.getNextHighestDepth()、MovieClip.swapDepths()


MovieClip.getNextHighestDepth()

可用性

Flash Player 7。

用法

my_mc.getNextHighestDepth()

参数

无。

返回

一个整数，反映下一个可用的深度值，采用该深度值的对象将显示在 my_mc 中同一级和同一层上所有其它对象之上。

说明

方法；用于确定可传递到 MovieClip.attachMovie()、MovieClip.duplicateMovieClip() 或 MovieClip.createEmptyMovieClip() 的深度值以确保 Flash 将该影片剪辑呈现在当前影片剪辑中同一级和同一层上所有其它对象的前面。返回值为 0 或更大的数字（即，不返回负数）。

有关更多信息，请参见管理影片剪辑的深度。

另请参见

MovieClip.getDepth()、MovieClip.getInstanceAtDepth()、MovieClip.swapDepths()


MovieClip.getSWFVersion()

可用性

Flash Player 7。

用法

my_mc.getSWFVersion()

参数

无。

返回

一个整数，该整数指定在发布加载到 my_mc 中的 SWF 文件时以其为目标播放器的 Flash Player 版本。

说明

方法；返回一个整数，指示发布的 my_mc 的 Flash Player 版本。如果 my_mc 是 JPEG 文件，或者如果出现错误并且 Flash 不能确定 my_mc 的 SWF 版本，则返回 -1。


MovieClip.getTextSnapshot()

可用性

创作：Flash MX 2004。

回放：以 Flash Player 6 或更高版本为目标播放器发布的 SWF 文件，在 Flash Player 7 或更高版本中播放。

用法

my_mc.getTextSnapshot();

参数

无。

返回

一个包含来自 my_mc 的静态文本的 TextSnapshot 对象；或者，如果 my_mc 不包含任何静态文本，则为空字符串。

说明

方法；返回一个 TextSnapshot 对象，该对象包含指定影片剪辑的所有静态文本字段中的文本；不包括子影片剪辑中的文本。

Flash 连接文本并将文本放置于 TextSnapshot 对象中，放置的顺序反映影片剪辑中静态文本字段的 Tab 键索引顺序。没有 Tab 键索引值的文本字段将以随机的顺序放置于该对象中，并且放在来自具有 Tab 键索引值的字段的所有文本前。没有换行符或格式指示一个字段从哪里结束、另一个字段从哪里开始。

注意：您不能在 Flash 中为静态文本指定 Tab 键索引值。不过，其它产品可以这样做；例如 Macromedia FlashPaper 就可以。

TextSnapshot 对象的内容不是动态的；即，如果影片剪辑移到不同的帧，或者以某种方式被更改（例如，影片剪辑中的对象被添加或删除），则 TextSnapshot 对象可能不表示影片剪辑中的当前文本。若要确保该对象的内容是最新的，应根据需要重新发出此命令。

另请参见

TextSnapshot 对象


MovieClip.getURL()

可用性

Flash Player 5。

用法

my_mc.getURL(URL [,window, variables])

参数

URL 要从中获得文档的 URL 位置。

window 一个可选参数，它指定名称、帧或表达式，这些内容指定文档将加载到其中的窗口或 HTML 框架。也可以使用下列保留的目标名称之一：_self 指定当前窗口中的当前帧，_blank 指定一个新窗口，_parent 指定当前帧的父级，_top 指定当前窗口中的顶级帧。

variables 一个可选参数，指定与要加载 SWF 文件关联的变量的发送方法。如果没有变量，则省略该参数；否则请指定是使用 GET 方法还是使用 POST 方法加载变量。GET 将变量追加到 URL 的末尾，用于发送少量的变量。POST 在单独的 HTTP 标头中发送变量，用于发送大量的变量。

返回

无。

说明

方法；从指定 URL 将文档加载到指定窗口。getURL 方法还可以通过 GET 或 POST 方法向 URL 中定义的另一个应用程序传递变量。

另请参见

getURL()


MovieClip.globalToLocal()

可用性

Flash Player 5。

用法

my_mc.globalToLocal(point)

参数

point 用通用 Object 类创建的对象的名称或标识符。该对象指定 x 和 y 坐标作为属性。

返回

无。

说明

方法；将 point 对象从舞台（全局）坐标转换为影片剪辑的（本地）坐标。

示例

下面的示例将 point 对象的全局 x 和 y 坐标转换为影片剪辑的本地坐标。

onClipEvent(mouseMove) {
  point = new object();
  point.x = _root._xmouse;
  point.y = _root._ymouse;
  globalToLocal(point);
  trace(_root._xmouse + " " + _root._ymouse);
  trace(point.x + " " + point.y);
  updateAfterEvent();
}

另请参见

MovieClip.getBounds()、MovieClip.localToGlobal()


MovieClip.gotoAndPlay()

可用性

Flash Player 5。

用法

my_mc.gotoAndPlay(frame)

参数

frame 表示将播放头转到的帧编号的数字，或者表示将播放头转到的帧的标签的字符串。

返回

无。

说明

方法；从指定帧开始播放 SWF 文件。如果您要指定场景以及帧，则使用 gotoAndPlay()。


MovieClip.gotoAndStop()

可用性

Flash Player 5。

用法

my_mc.gotoAndStop(frame)

参数

frame 播放头要转到的帧的编号。

返回

无。

说明

方法；将播放头移到该影片剪辑的指定帧并停在那里。

另请参见

gotoAndStop()


MovieClip._height

可用性

Flash Player 4。

用法

my_mc._height

说明

属性；影片剪辑的高度（以像素为单位）。

示例

下面的代码示例在用户单击鼠标按钮时设置影片剪辑的高度和宽度。

onClipEvent(mouseDown) {
  _width=200;
  _height=200;
}


MovieClip._highquality

可用性

Flash Player 6。

用法

my_mc._highquality

说明

属性（全局）；指定应用于当前 SWF 文件的锯齿消除级别。指定 2（最高品质）可应用高品
质，并使位图平滑处理始终打开。指定 1（高品质），则应用消除锯齿功能；如果 SWF 文件不包含动画，这将对位图进行平滑处理。指定 0（低品质），则不消除锯齿。此属性可以覆盖全局
_highquality 属性。

示例

my_mc._highquality = 2;

另请参见

_quality


MovieClip.hitArea

可用性

Flash Player 6。

用法

my_mc.hitArea

返回

对影片剪辑的引用。

说明

属性；将另一个影片剪辑指定为按钮影片剪辑的点击区域。如果 hitArea 属性不存在或者为 null 或 undefined，则按钮影片剪辑自身将用作点击区域。hitArea 属性的值可以是对影片剪辑对象的引用。

可以在任何时候更改 hitArea 属性；修改后的按钮影片剪辑会立即获得新的点击区域行为。指定为点击区域的影片剪辑不必是可见的；虽然有的点击区域不可见，但可以点击测试其图形形状。可以从原型对象读出 hitArea 属性。


MovieClip.hitTest()

可用性

Flash Player 5。

用法

my_mc.hitTest(x, y, shapeFlag)
my_mc.hitTest(target)

参数

x 舞台上点击区域的 x 坐标。

y 舞台上点击区域的 y 坐标。

x 和 y 坐标都在全局坐标空间中定义。

target 可能与由 my_mc 指定的实例交叉或重叠的点击区域的目标路径。target 参数通常表示一个按钮或文本输入字段。

shapeFlag 一个布尔值，指定是计算指定实例的整个形状 (true) 还是仅计算边框 (false)。只有当用 x 和 y 坐标参数标识点击区域时，才可以指定该参数。

返回

如果 my_mc 与指定的点击区域重叠，则为布尔值 true，否则为 false。

说明

方法；计算由 my_mc 指定的实例以确定它与由 target 或 x 和 y 坐标参数所标识的点击区域是否重叠或交叉。

用法 1：按照 shapeFlag 的设置，将 x 和 y 坐标与指定实例的形状或边框进行比较。如果 shapeFlag 设置为 true，则只计算舞台上实例实际占据的区域，如果 x 和 y 重叠任意一点，则返回 true 值。这对于确定影片剪辑是否在指定的点击区域或热点区域中很有用。

用法 2：计算 target 与指定实例的边框，如果它们在任意一点上重叠或交叉，则返回 true。

示例

下面的示例使用带有 _xmouse 和 _ymouse 属性的 hitTest() 来确定鼠标指针是否位于目标的边框上方：

if (hitTest( _root._xmouse, _root._ymouse, false));

下面的示例使用 hitTest() 来确定影片剪辑 ball 是否与影片剪辑 square 重叠或交叉：

if(_root.ball.hitTest(_root.square)){
  trace("ball intersects square");
}

另请参见

MovieClip.getBounds()、MovieClip.globalToLocal()、MovieClip.localToGlobal()


MovieClip.lineStyle()

可用性

Flash Player 6。

用法

my_mc.lineStyle([thickness[, rgb[, alpha]]])

参数

thickness 一个整数，以磅为单位指示线条的粗细；有效值为 0 到 255。如果未指定数值，或者该参数为 undefined，则不绘制线条。如果传递的值小于 0，则 Flash 使用 0。数值 0 指示极细的粗细；最大粗细为 255。如果传递的值大于 255，则 Flash 解释程序使用 255。

rgb 线条的十六进制颜色值（例如，红色为 0xFF0000，蓝色为 0x0000FF，等等）。如果未指示该值，则 Flash 使用 0x000000（黑色）。

alpha 一个整数，指示线条颜色的 alpha 值；有效值为 0 到 100。如果未指示该值，则 Flash 使用 100（纯色）。如果该值小于 0，则 Flash 使用 0。如果该值大于 100，则 Flash 使用 100。

返回

无。

说明

方法；指定一个线条样式，供 Flash 用于对 lineTo() 和 curveTo() 的后续调用，直到使用不同的参数调用 lineStyle() 为止。可以在绘制路径的中间调用 lineStyle() 来为路径中的不同线条段指定不同的样式。

注意：调用 clear 会将 lineStyle() 重置为 undefined。

示例

下面的代码用 5 磅、纯洋红色线条绘制一个无填充的三角形。

_root.createEmptyMovieClip( "triangle", 1 );
with ( _root.triangle )
{
lineStyle( 5, 0xff00ff, 100 );
moveTo( 200, 200 );
lineTo( 300,300 );
lineTo( 100, 300 );
lineTo( 200, 200 );
}

另请参见

MovieClip.beginFill()、MovieClip.beginGradientFill()、MovieClip.clear()、
MovieClip.curveTo()、MovieClip.linSeTo()、MovieClip.moveTo()


MovieClip.linSeTo()

可用性

Flash Player 6。

用法

my_mc.lineTo(x, y)

参数

x 一个整数，指示相对于父级影片剪辑的注册点的水平位置。

y 一个整数，指示相对于父级影片剪辑的注册点的垂直位置。

返回

无。

说明

方法；使用当前线条样式从当前绘画位置向 (x, y) 绘制线条；当前绘画位置随后被设置为 (x, y)。如果正在其中绘制的影片剪辑包含用 Flash 绘画工具创建的内容，则调用 lineTo() 将在该内容下面进行绘制。如果在对 moveTo() 方法进行任何调用之前调用了 lineTo()，则当前绘画位置默认为 (0, 0)。如果缺少任何一个参数，则此方法将失败，并且当前绘画位置不改变。

示例

下面的示例绘制一个没有线条、具有半透明蓝色填充的三角形。

_root.createEmptyMovieClip( "triangle", 1 );
  with (_root.triangle){
    beginFill (0x0000FF, 50);
    lineStyle (5, 0xFF00FF, 100);
    moveTo (200, 200);
    lineTo (300, 300);
    lineTo (100, 300);
    lineTo (200, 200);
    endFill();
}

另请参见

MovieClip.beginFill()、MovieClip.createEmptyMovieClip()、MovieClip.endFill()、
MovieClip.lineStyle()、MovieClip.moveTo()


MovieClip.loadMovie()

可用性

Flash Player 5。

用法

my_mc.loadMovie("url" [,variables])

参数

url 要加载的 SWF 文件或 JPEG 文件的绝对或相对 URL。相对路径必须相对于级别 0 处的 SWF 文件。绝对 URL 必须包括协议引用，例如 http:// 或 file:///。

variables 一个可选参数，指定发送或加载变量所使用的 HTTP 方法。该参数必须是字符串 GET 或 POST。如果没有要发送的变量，则省略此参数。GET 方法将变量追加到 URL 的末尾，它用于发送少量的变量。POST 方法在单独的 HTTP 标头中发送变量，它用于发送大量的变量。

返回

无。

说明

方法；在播放原始 SWF 文件的时候，将 SWF 文件或 JPEG 文件加载到 Flash Player 中的影片剪辑中。

提示：如果您要监视下载的进度，则使用 MovieClipLoader.loadClip() 而不是此函数。

如果不使用 loadMovie() 方法，则 Flash Player 显示单个 SWF 文件，然后关闭。使用
loadMovie() 方法可以一次显示几个 SWF 文件并且无需加载另一个 HTML 文档即可在 SWF 文件间进行切换。

加载到影片剪辑的 SWF 文件或图像会继承该影片剪辑的位置、旋转和缩放属性。可以用影片剪辑的目标路径来定位加载的 SWF 文件。

使用 unloadMovie() 方法删除用 loadMovie() 方法加载的 SWF 文件或图像。使用
loadVariables() 方法可以保持 SWF 文件处于活动状态，并用新值更新变量。

另请参见

loadMovie()、loadMovieNum()、MovieClip.loadVariables()、MovieClip.unloadMovie()、
unloadMovie()、unloadMovieNum()


MovieClip.loadVariables()

可用性

Flash Player 5；行为在 Flash Player 7 中进行了更改。

用法

my_mc.loadVariables("url", variables)

参数

url 包含要加载变量的外部文件的绝对或相对 URL。如果发出此调用的 SWF 文件正在 Web 浏览器中运行，则 url 必须与该 SWF 文件位于同一域中；有关详细信息，请参见下面的“说明”。

variables 可选参数，指定发送变量所使用的 HTTP 方法。该参数必须是字符串 GET 或 POST。如果没有要发送的变量，则省略此参数。GET 方法将变量追加到 URL 的末尾，它用于发送少量的变量。POST 方法在单独的 HTTP 标头中发送变量，它用于发送大量的变量。

返回

无。

说明

方法；从外部文件读取数据并设置 my_mc 中变量的值。外部文件可以是由 CGI 脚本、Active Server Page (ASP) 或 PHP 脚本生成的文本文件，并且可以包含任意数量的变量。

此方法还可用于使用新值更新活动影片剪辑中的变量。

此方法要求 URL 的文本使用标准的 MIME 格式：application/x-www-form-urlencoded
（CGI 脚本格式）。

如果 SWF 文件运行在早于 Flash Player 7 的播放器版本中，则 url 必须与发出此调用的 SWF 文件位于同一超域中。例如，www.someDomain.com 上的 SWF 文件可以加载来自
store.someDomain.com 上的 SWF 文件的变量，因为这两个文件都位于 someDomain.com 的同一超域中。

如果任何版本的 SWF 文件运行在 Flash Player 7 或更高版本中，url 必须处于完全相同的域中（请参见Flash Player 安全功能）。例如，www.someDomain.com 上的 SWF 文件只能加载也来自 www.someDomain.com 上的 SWF 文件的变量。如果您要加载来自不同域的变量，可以将一个跨域策略文件 放置于承载所访问的 SWF 文件的服务器上。有关更多信息，请参见关于允许跨域数据加载。

另请参见

loadMovie()、loadVariables()、loadVariablesNum()、MovieClip.unloadMovie()


MovieClip.localToGlobal()

可用性

Flash Player 5。

用法

my_mc.localToGlobal(point)

参数

point 用 Object 类创建的对象的名称或标识符，并指定 x 和 y 坐标作为属性。

返回

无。

说明

方法；将 point 对象从影片剪辑（本地）坐标转换为舞台（全局）坐标。

示例

下面的示例将 point 对象的 x 和 y 坐标从影片剪辑（本地）坐标转换为舞台（全局）坐标。本地 x 和 y 坐标是用 _xmouse 和 _ymouse 属性指定的，以获取鼠标指针位置的 x 和 y 坐标。

onClipEvent(mouseMove) {
  point = new object();
  point.x = _xmouse;
  point.y = _ymouse;
  _root.out3 = point.x + " === " + point.y;
  _root.out = _root._xmouse + " === " + _root._ymouse;
  localToGlobal(point);
  _root.out2 = point.x + " === " + point.y;
  updateAfterEvent();
}

另请参见

MovieClip.globalToLocal()


MovieClip._lockroot

可用性

Flash Player 7。

用法

my_mc._lockroot

说明

属性；指定将 SWF 文件加载到影片剪辑中时 _root 所指的内容。默认情况下，_lockroot 属性为 undefined。您可以在正在被加载的 SWF 文件中或正在加载影片剪辑的处理函数中设置此属性。

例如，假设有一个名为 Games.fla 的文档，该文档让用户选择要玩的游戏并将该游戏（例如 Chess.swf）加载到 game_mc 影片剪辑中。您要确保如果 _root 用于 Chess.swf 中，在被加载到 Games.swf 中之后，它仍然是指 Chess.swf 中的 _root。如果您可以访问 Chess.fla 并将其发布到 Flash Player 7 或更高版本，则可以向其添加以下语句：

this._lockroot = true;

如果您无法访问 Chess.fla（例如，如果您从其他人的站点加载 Chess.swf），则可以在加载时设置其 _lockroot 属性，如下所示。在这种情况下，只要向 Flash Player 7 或更高版本发布 Games.swf，便可以向任何版本的 Flash Player 发布 Chess.swf。

  onClipEvent (load)
  {
    this._lockroot = true;
  }
  game_mc.loadMovie ("Chess.swf");

如果在所有 SWF 文件中都没有使用 this._lockroot = true 语句，则在将 Chess.swf 加载到 Games.swf 中之后，Chess.swf 中的 _root 将引用 Games.swf 中的 _root。

另请参见

_root、MovieClip.attachMovie()、MovieClip.loadMovie()


MovieClip.menu

…”–‘

Flash Player 7。

用法

my_mc.menu = contextMenu

参数

contextMenu 一个 ContextMenu 对象。

说明

属性；将指定的 ContextMenu 对象与影片剪辑 my_mc 关联起来。ContextMenu 类用于修改当用户在 Flash Player 中右击 (Windows) 或按住 Control 键单击 (Macintosh) 时显示的上下文菜单。

示例

以下示例将 ContextMenu 对象 menu_cm 指定给影片剪辑 content_mc。ContextMenu 对象包含一个标有“Print...”的自定义菜单项，该菜单项具有名为 doPrint() 的关联回调处理函数。

var menu_cm = new ContextMenu();
menu_cm.customItems.push(new ContextMenuItem("Print...", doPrint));
function doPrint(menu, obj) {
  // 此处为打印代码
}
content_mc.menu = menu_cm;

另请参见

Button.menu、ContextMenu 类、ContextMenuItem 类、TextField.menu


MovieClip.moveTo()

可用性

Flash Player 6。

用法

my_mc.moveTo(x, y)

参数

x 一个整数，指示相对于父级影片剪辑的注册点的水平位置。

y 一个整数，指示相对于父级影片剪辑的注册点的垂直位置。

返回

无。

说明

方法；将当前绘画位置移动到 (x, y)。如果缺少任何一个参数，则此方法将失败，并且当前绘画位置不改变。

示例

该示例使用 5 磅的纯洋红色线条绘制无填充的三角形。第一行创建一个要进行绘制的空影片剪辑。在 with 语句内部，定义一个线条类型，然后由 moveTo() 方法指示起始绘画位置。

_root.createEmptyMovieClip( "triangle", 1 );
with ( _root.triangle )
{
lineStyle( 5, 0xff00ff, 100 );
moveTo( 200, 200 );
lineTo( 300,300 );
lineTo( 100, 300 );
lineTo( 200, 200 );
}

另请参见

MovieClip.createEmptyMovieClip()、MovieClip.lineStyle()、MovieClip.linSeTo()


MovieClip._name

可用性

Flash Player 4。

用法

my_mc._name

说明

属性；由 my_mc 指定的影片剪辑的实例名称。


MovieClip.nextFrame()

可用性

Flash Player 5。

用法

my_mc.nextFrame()

参数

无。

返回

无。

说明

方法；将播放头转到下一帧并停止。

另请参见

nextFrame()


MovieClip.onData

可用性

Flash Player 6。

用法

my_mc.onData = function() {
  // 此处是您的语句
}

参数

无。

返回

无。

说明

事件处理函数；当影片剪辑从 loadVariables() 或 loadMovie() 调用接收数据时调用。必须定义一个在调用事件处理函数时执行的函数。

此处理函数只能与某些影片剪辑一起使用，对于这些影片剪辑，它们在库中有与类关联的元件。如果要在特定影片剪辑收到数据时调用事件处理函数，则必须使用 onClipEvent(data) 而不能使用此处理函数。当任何影片剪辑收到数据时，都会调用处理函数 onClipEvent(data)。

示例

下面的示例说明了 MovieClip.onData() 和 onClipEvent(data) 的正确用法。

// symbol_mc 是库中的影片剪辑元件。
// 它被链接到 MovieClip 类。
// 对于 symbol_mc 的每个实例，在这些实例被实例化并显示在时间轴上时将触发
//   下面的函数。
symbol_mc.onData = function() {
   trace("The movie clip has received data");
}

// dynamic_mc 是使用 MovieClip.loadMovie() 加载的影片剪辑。
//   此代码尝试在加载该剪辑时调用函数，
//   但此代码不起作用，因为加载的 SWF 不是库中与 MovieClip 类关联的
//   元件。
function output()
{
    trace("Will never be called.");
}
dynamic_mc.onData = output;
dynamic_mc.loadMovie("replacement.swf");

// 对于任何显示在时间轴上的影片剪辑，系统都将调用下面的函数，
// 而不管该影片剪辑是否存在于库中。
// 因此，当实例化 symbol_mc 时
//    以及加载 replacement.swf 时都将调用此函数。
OnClipEvent( data ) {
   trace("The movie clip has received data");
}

另请参见

onClipEvent()


MovieClip.onDragOut

可用性

Flash Player 6。

用法

my_mc.onDragOut = function() {
  // 此处是您的语句
}

参数

无。

返回

无。

说明

事件处理函数；当按下鼠标按钮并且指针滑出对象时调用。必须定义一个在调用事件处理函数时执行的函数。

示例

下面的示例为 onDragOut 方法定义一个函数，该函数将 trace() 动作发送到“输出”面板。

my_mc.onDragOut = function () {
  trace ("onDragOut called");
};

另请参见

MovieClip.onDragOver


MovieClip.onDragOver

可用性

Flash Player 6。

用法

my_mc.onDragOver = function() {
  // 此处是您的语句
}

参数

无。

返回

无。

说明

事件处理函数；当鼠标指针在影片剪辑外拖动并且随后拖过该影片剪辑时调用。必须定义一个在调用事件处理函数时执行的函数。

示例

下面的示例为 onDragOver 方法定义一个函数，该函数将 trace() 动作发送到“输出”面板。

my_mc.onDragOver = function () {
  trace ("onDragOver called");
};

另请参见

MovieClip.onDragOut


MovieClip.onEnterFrame

可用性

Flash Player 6。

用法

my_mc.onEnterFrame = function() {
  // 此处是您的语句
}

参数

无。

返回

无。

说明

事件处理函数；以 SWF 文件的帧频持续调用。首先处理与 enterFrame 剪辑事件关联的动作，然后才处理附加到受影响帧的所有帧动作。

必须定义一个在调用事件处理函数时执行的函数。

示例

下面的示例为 onEnterFrame 方法定义一个函数，该函数将 trace() 动作发送到“输出”面板。

my_mc.onEnterFrame = function () {
  trace ("onEnterFrame called");
};


MovieClip.onKeyDown

可用性

Flash Player 6。

用法

my_mc.onKeyDown = function() {
  // 此处是您的语句
}

参数

无。

返回

无。

说明

事件处理函数；当影片剪辑具有输入焦点并有按键被按下时调用。调用 onKeyDown 事件处理函数时没有参数。您可以使用 Key.getAscii() 和 Key.getCode() 方法来确定按下了哪个键。必须定义一个在调用事件处理函数时执行的函数。

仅当影片剪辑的输入焦点被启用和设置后，onKeyDown 事件处理函数才能工作。首先，必须将影片剪辑的 focusEnabled 属性设置为 true。然后，必须使该剪辑获得焦点。这可以通过使用 Selection.setFocus() 或通过设置 Tab 键以导航至该剪辑来实现。

如果使用 Selection.setFocus()，则必须将影片剪辑的路径传递给 Selection.setFocus()。当鼠标移动后，非常容易让其它元素重新获得焦点。

示例

下面的示例为 onKeyDown() 方法定义一个函数，该函数将 trace() 动作发送到“输出”面板。

my_mc.onKeyDown = function () {
  trace ("onKeyDown called");
};

以下示例设置输入焦点。

MovieClip.focusEnabled = true;
Selection.setFocus(MovieClip);

另请参见

MovieClip.onKeyUp


MovieClip.onKeyUp

可用性

Flash Player 6。

用法

my_mc.onKeyUp = function() {
  // 此处是您的语句
}

参数

无。

返回

无。

说明

事件处理函数；当释放按键时调用。调用 onKeyUp 事件处理函数时没有参数。您可以使用 Key.getAscii() 和 Key.getCode() 方法来确定按下了哪个键。必须定义一个在调用事件处理函数时执行的函数。

仅当影片剪辑的输入焦点被启用和设置后，onKeyUp 事件处理函数才能工作。首先，必须将影片剪辑的 focusEnabled 属性设置为 true。然后，必须使该剪辑获得焦点。这可以通过使用 Selection.setFocus() 或通过设置 Tab 键以导航至该剪辑来实现。

如果使用 Selection.setFocus()，则必须将影片剪辑的路径传递给 Selection.setFocus()。当鼠标移动后，非常容易让其它元素重新获得焦点。

示例

下面的示例为 onKeyUp 方法定义一个函数，该函数将 trace() 动作发送到“输出”面板。

my_mc.onKeyUp = function () {
  trace ("onKeyUp called");
};

以下示例设置输入焦点：

MovieClip.focusEnabled = true;
Selection.setFocus(MovieClip);


MovieClip.onKillFocus

可用性

Flash Player 6。

用法

my_mc.onKillFocus = function (newFocus) {
  // 此处是您的语句
}

参数

newFocus 要接收键盘焦点的对象。

返回

无。

说明

事件处理函数；当影片剪辑失去键盘焦点时调用。onKillFocus 方法接收一个参数 newFocus，该参数是一个对象，表示要接收焦点的新对象。如果没有对象接收焦点，则 newFocus 将包含值 null。


MovieClip.onLoad

可用性

Flash Player 6。

用法

my_mc.onLoad = function() {
  // 此处是您的语句
}

参数

无。

返回

无。

说明

事件处理函数；当影片剪辑被实例化并出现在时间轴上时调用。必须定义一个在调用事件处理函数时执行的函数。

此处理函数只能与某些影片剪辑一起使用，对于这些影片剪辑，它们在库中有与类关联的元件。如果要在特定影片剪辑加载时（例如当使用 MovieClip.loadMovie() 动态加载 SWF 文件时）调用事件处理函数，必须使用 onClipEvent(load) 而不能使用此处理函数。当任何影片剪辑加载时，都会调用处理函数 onClipEvent(load)。

示例

下面的示例说明了 MovieClip.onLoad() 和 onClipEvent(load) 的正确用法。

// symbol_mc 是库中的影片剪辑元件。
// 它被链接到 MovieClip 类。
// 对于 symbol_mc 的每个实例，在这些实例被实例化并显示在时间轴上时将触发
//   下面的函数。
symbol_mc.onLoad = function() {
   trace("The movie clip is loaded");
}

// dynamic_mc 是使用 MovieClip.loadMovie() 加载的影片剪辑。
//   此代码尝试在加载该剪辑时调用函数，
//   但此代码不起作用，因为加载的 SWF 不是库中与 MovieClip 类关联的
//   元件。
function output()
{
    trace("Will never be called.");
}
dynamic_mc.onLoad = output;
dynamic_mc.loadMovie("replacement.swf");

// 对于任何显示在时间轴上的影片剪辑，系统都将调用下面的函数，
// 而不管该影片剪辑是否存在于库中。
// 因此，当实例化 symbol_mc 时
//    以及加载 replacement.swf 时都将调用此函数。
OnClipEvent( load ) {
   trace("The movie clip is loaded");
}

另请参见

onClipEvent()


MovieClip.onMouseDown

可用性

Flash Player 6。

用法

my_mc.onMouseDown = function() {
  // 此处是您的语句
}

参数

无。

返回

无。

说明

事件处理函数；当按下鼠标按钮时调用。必须定义一个在调用事件处理函数时执行的函数。

示例

下面的示例为 onMouseDown 方法定义一个函数，该函数将 trace() 动作发送到“输出”面板。

my_mc.onMouseDown = function () {
  trace ("onMouseDown called");
}


MovieClip.onMouseMove

可用性

Flash Player 6。

用法

my_mc.onMouseMove = function() {
  // 此处是您的语句
}

参数

无。

返回

无。

说明

事件处理函数；当鼠标移动时调用。必须定义一个在调用事件处理函数时执行的函数。

示例

下面的示例为 onMouseMove 方法定义一个函数，该函数将 trace() 动作发送到“输出”面板。

my_mc.onMouseMove = function () {
  trace ("onMouseMove called");
};


MovieClip.onMouseUp

可用性

Flash Player 6。

用法

my_mc.onMouseUp = function() {
  // 此处是您的语句
}

参数

无。

返回

无。

说明

事件处理函数；当释放鼠标按钮时调用。必须定义一个在调用事件处理函数时执行的函数。

示例

下面的示例为 onMouseUp 方法定义一个函数，该函数将 trace() 动作发送到“输出”面板。

my_mc.onMouseUp = function () {
  trace ("onMouseUp called");
};


MovieClip.onPress

可用性

Flash Player 6。

用法

my_mc.onPress = function() {
  // 此处是您的语句
}

参数

无。

返回

无。

说明

事件处理函数；当鼠标指针处于影片剪辑之上而用户单击鼠标按钮时调用。必须定义一个在调用事件处理函数时执行的函数。

示例

下面的示例为 onPress 方法定义一个函数，该函数将 trace() 动作发送到“输出”面板。

my_mc.onPress = function () {
  trace ("onPress called");
};


MovieClip.onRelease

可用性

Flash Player 6。

用法

my_mc.onRelease = function() {
  // 此处是您的语句
}

参数

无。

返回

无。

说明

事件处理函数；当释放按钮影片剪辑时调用。必须定义一个在调用事件处理函数时执行的函数。

示例

下面的示例为 onPress 方法定义一个函数，该函数将 trace() 动作发送到“输出”面板。

my_mc.onRelease = function () {
  trace ("onRelease called");
};


MovieClip.onReleaseOutside

可用性

Flash Player 6。

用法

my_mc.onReleaseOutside = function() {
  // 此处是您的语句
}

参数

无。

返回

无。

说明

事件处理函数；该函数在这种情况下调用：即在影片剪辑内部按下鼠标按钮后，鼠标指针在该影片剪辑外面时释放鼠标按钮。

必须定义一个在调用事件处理函数时执行的函数。

示例

下面的示例为 onReleaseOutside 方法定义一个函数，该函数将 trace() 动作发送到“输出”面板。

my_mc.onReleaseOutside = function () {
  trace ("onReleaseOutside called");
};


MovieClip.onRollOut

可用性

Flash Player 6。

用法

my_mc.onRollOut = function() {
  // 此处是您的语句
}

参数

无。

返回

无。

说明

事件处理函数；当鼠标指针移出影片剪辑区域的外面时调用。必须定义一个在调用事件处理函数时执行的函数。

示例

下面的示例为 onRollOut 方法定义一个函数，该函数将 trace() 动作发送到“输出”面板。

my_mc.onRollOut = function () {
  trace ("onRollOut called");
};


MovieClip.onRollOver

可用性

Flash Player 6。

用法

my_mc.onRollOver = function() {
  // 此处是您的语句
}

参数

无。

返回

无。

说明

事件处理函数；当鼠标指针滑过影片剪辑区域时调用。必须定义一个在调用事件处理函数时执行的函数。

示例

下面的示例为 onRollOver 方法定义一个函数，该函数将 trace() 动作发送到“输出”面板。

my_mc.onRollOver = function () {
  trace ("onRollOver called");
};


MovieClip.onSetFocus

可用性

Flash Player 6。

用法

my_mc.onSetFocus = function(oldFocus){
  // 此处是您的语句
}

参数

oldFocus 将失去焦点的对象。

返回

无。

说明

事件处理函数；当影片剪辑接收键盘焦点时调用。oldFocus 参数是失去焦点的对象。例如，如果用户按 Tab 键将输入焦点从影片剪辑移到文本字段，则 oldFocus 包含该影片剪辑实例。

如果以前没有具有焦点的对象，则 oldFocus 包含 null 值。


MovieClip.onUnload

可用性

Flash Player 6。

用法

my_mc.onUnload = function() {
  // 此处是您的语句
}

参数

无。

返回

无。

说明

事件处理函数；从时间轴删除影片剪辑后，在第 1 帧中调用。Flash 先处理与 onUnload 事件处理函数关联的动作，然后才将动作附加到受影响的帧。必须定义一个在调用事件处理函数时执行的函数。

示例

下面的示例为 MovieClip.onUnload 方法定义一个函数，该函数将 trace() 动作发送到“输出”面板。

my_mc.onUnload = function () {
  trace ("onUnload called");
};


MovieClip._parent

可用性

Flash Player 5。

用法

my_mc._parent.property
_parent.property

说明

属性；指向包含当前影片剪辑或对象的影片剪辑或对象的引用。当前对象是包含引用 _parent 的动作脚本代码的对象。使用 _parent 属性来指定一个相对路径，该路径指向当前影片剪辑或对象上级的影片剪辑或对象。

可以使用 _parent 在显示列表中攀升多个级别，如下所示：

_parent._parent._alpha = 20;

另请参见

Button._parent、_root、targetPath、TextField._parent


MovieClip.play()

可用性

Flash Player 5。

用法

my_mc.play()

参数

无。

返回

无。

说明

方法：在影片剪辑的时间轴中移动播放头。

另请参见

play()


MovieClip.prevFrame()

可用性

Flash Player 5。

用法

my_mc.prevFrame()

参数

无。

返回

无。

说明

方法；将播放头转到前一帧并停止。

另请参见

prevFrame()


MovieClip.removeMovieClip()

可用性

Flash Player 5。

用法

my_mc.removeMovieClip()

参数

无。

返回

无。

说明

方法；删除用 duplicateMovieClip()、MovieClip.duplicateMovieClip() 或
MovieClip.attachMovie() 创建的影片剪辑实例。


MovieClip._rotation

可用性

Flash Player 4。

用法

my_mc._rotation

说明

属性；影片剪辑距其原始方向的旋转程度（以度为单位）。从 0 到 180 的值表示顺时针旋转，从 0 到 -180 表示逆时针旋转。不属于上述范围的值将与 360 相加或相减以得到该范围内的值。例如，语句 my_mc._rotation = 450 与 my_mc._rotation = 90 相同。

另请参见

Button._rotation、TextField._rotation


MovieClip.setMask()

可用性

Flash Player 6。

用法

my_mc.setMask(mask_mc)

参数

my_mc 要使用遮罩的影片剪辑的实例名称。

mask_mc 将成为遮罩的影片剪辑的实例名称。

返回

无。

说明

方法；使参数 mask_mc 中的影片剪辑成为遮罩，该遮罩展示由 my_mc 参数指定的影片剪辑。

此方法允许将带有复杂的多图层内容的多帧影片剪辑用作遮罩。可以在运行时打开或关闭遮罩。但是，不能将同一遮罩用于多个遮罩受体（如果使用遮罩层，则这是可能的）。如果在使用遮罩的影片剪辑中有设备字体，则它们可以进行绘制但不使用遮罩。不能将影片剪辑设置为其自己的遮罩，例如 my_mc.setMask(my_mc)。

如果创建包含影片剪辑的遮罩层，然后对其应用 setMask() 方法，则 setMask() 调用会获得优先权并且这是不可逆的。例如，在名为 UIMask 的遮罩层中有一个影片剪辑，该影片剪辑对包含名为 UIMaskee 的另一个影片剪辑的其它图层使用遮罩。如果在 SWF 文件播放时调用 UIMask.setMask(UIMaskee)，则从这一刻开始，由 UIMaskee 对 UIMask 使用遮罩。

若要取消用动作脚本创建的遮罩，可以将值 null 传递给 setMask() 方法。下面的代码将在不影响时间轴中的遮罩层的情况下取消遮罩。

UIMask.setMask(null);

示例

下面的代码使用影片剪辑 circleMask_mc 对影片剪辑 theMaskee_mc 使用遮罩。

theMaskee_mc.setMask(circleMask_mc);


MovieClip._soundbuftime

可用性

Flash Player 6。

用法

my_mc._soundbuftime

说明

属性（全局）；一个整数，指定在声音开始进入流之前，预先缓冲的秒数。


MovieClip.startDrag()

可用性

Flash Player 5。

用法

my_mc.startDrag([lock, [left, top, right, bottom]])

参数

lock 一个布尔值，指定可拖动影片剪辑是锁定到鼠标位置中央 (true)，还是锁定到用户首次单击该影片剪辑的位置上 (false)。此参数是可选的。

left、top、right、bottom 相对于影片剪辑父级坐标的值，这些值指定该影片剪辑的约束矩形。这些参数是可选的。

返回

无。

说明

方法；允许用户拖动指定的影片剪辑。该影片剪辑将一直保持可拖动，直到通过对 MovieClip.stopDrag() 的调用明确停止为止，或者直到另一个影片剪辑变为可拖动为止。在同一时间只有一个影片剪辑是可拖动的。

另请参见

MovieClip._droptarget、startDrag()、MovieClip.stopDrag()


MovieClip.stop()

可用性

Flash Player 5。

用法

my_mc.stop()

参数

无。

返回

无。

说明

方法；停止当前正在播放的影片剪辑。

另请参见

stop()


MovieClip.stopDrag()

可用性

Flash Player 5。

用法

my_mc.stopDrag()

参数

无。

返回

无。

说明

方法；终止 MovieClip.startDrag() 方法。用该方法变为可拖动的影片剪辑将一直保持可拖动状态，直到添加了 stopDrag() 方法为止，或者直到另一个影片剪辑变为可拖动为止。在同一时间只有一个影片剪辑是可拖动的。

另请参见

MovieClip._droptarget、MovieClip.startDrag()、stopDrag()


MovieClip.swapDepths()

可用性

Flash Player 5。

用法

my_mc.swapDepths(depth)
my_mc.swapDepths(target)

参数

depth 一个数字，指定 my_mc 将被放置的深度级别。

target 一个字符串，指定其深度将被 my_mc 指定的实例交换的影片剪辑实例。两个实例必须具有相同的父级影片剪辑。

返回

无。

说明

方法；用由 target 参数指定的影片剪辑或者当前占据着 depth 参数中指定的深度级别的影片剪辑交换指定实例 (my_mc) 的堆叠，即 z 顺序（深度级别）。两个影片剪辑必须具有相同的父级影片剪辑。交换影片剪辑的深度级别的作用是将一个影片剪辑移到另一个影片剪辑的前面或后面。如果调用该方法时影片剪辑正在补间，则补间会停止。有关更多信息，请参见管理影片剪辑的深度。

另请参见

_level、MovieClip.getDepth()、MovieClip.getInstanceAtDepth()、
MovieClip.getNextHighestDepth()


MovieClip.tabChildren

可用性

Flash Player 6。

用法

my_mc.tabChildren

说明

属性；默认情况下为 undefined。如果 tabChildren 为 undefined 或 true，则影片剪辑的子级包含在 Tab 键的自动排序中。如果 tabChildren 的值为 false，则影片剪辑的子级不包含在 Tab 键的自动排序中。

示例

一个构建为影片剪辑的列表框 UI 窗口小部件包含几个项目。用户可以单击每项来进行选择，因此每项都是一个按钮。但是，只有列表框自身应为 Tab 键停靠位。列表框内部的项目应该排除在 Tab 键排序之外。为实现此目的，该列表框的 tabChildren 属性应设置为 false。

如果使用 tabIndex 属性，则 tabChildren 属性不起作用；tabChildren 属性只影响 Tab 键的自动排序。

另请参见

Button.tabIndex、MovieClip.tabEnabled、MovieClip.tabIndex、TextField.tabIndex


MovieClip.tabEnabled

可用性

Flash Player 6。

用法

my_mc.tabEnabled

说明

属性；指定 my_mc 是否包含在 Tab 键的自动排序中。默认情况下它是 undefined。

如果 tabEnabled 为 undefined，则只有它定义至少一个按钮处理函数（例如
MovieClip.onRelease）后，该对象才包括在 Tab 键的自动排序中。如果 tabEnabled 为 true，则该对象包括在 Tab 键的自动排序中。如果 tabIndex 属性也设置为某个值，则该对象也包括在 Tab 键的自定义排序中。

如果 tabEnabled 为 false，则即使设置了 tabIndex 属性，该对象也不包括在 Tab 键的自动或自定义排序中。但是，如果 MovieClip.tabChildren 为 true，则即使 tabEnabled 为 false，影片剪辑的子级可能仍包含在 Tab 键的自动排序中。

另请参见

Button.tabEnabled、MovieClip.tabChildren、MovieClip.tabIndex、
TextField.tabEnabled


MovieClip.tabIndex

可用性

Flash Player 6。

用法

my_mc.tabIndex

说明

属性；使您可以自定义影片中对象的 Tab 键排序。默认情况下，tabIndex 属性为 undefined。可以对按钮、影片剪辑或文本字段实例设置 tabIndex。

如果 SWF 文件中的一个对象包含 tabIndex 属性，则禁用 Tab 键的自动排序，并且使用该 SWF 文件中对象的 tabIndex 属性来计算 Tab 键排序。Tab 键的自定义排序仅包括那些具有 tabIndex 属性的对象。

tabIndex 属性必须为正整数。将根据这些对象的 tabIndex 属性按升序对这些对象进行排序。tabIndex 值为 1 的对象位于 tabIndex 值为 2 的对象之前。Tab 键的自定义排序会忽略 SWF 文件中对象的层次关系。SWF 文件中具有 tabIndex 属性的所有对象都按 Tab 键顺序排列。多个对象不应使用相同的 tabIndex 值。

另请参见

Button.tabIndex、TextField.tabIndex


MovieClip._target

可用性

Flash Player 4。

用法

my_mc._target

说明

属性（只读）；返回 my_mc 参数指定的影片剪辑实例的目标路径。


MovieClip._totalframes

可用性

Flash Player 4。

用法

my_mc._totalframes

说明

属性（只读）；返回 MovieClip 参数中指定的影片剪辑实例中的总帧数。


MovieClip.trackAsMenu

可用性

Flash Player 6。

用法

my_mc.trackAsMenu

说明

属性；指示其它按钮或影片剪辑是否可接收鼠标按钮释放事件的布尔值属性。这将允许您创建菜单。您可以对任何按钮或影片剪辑对象设置 trackAsMenu 属性。如果 trackAsMenu 属性不存在，则默认行为是 false。

可以在任何时候更改 trackAsMenu 属性；修改后的按钮影片剪辑会立即获得新的行为。

另请参见

Button.trackAsMenu


MovieClip.unloadMovie()

可用性

Flash Player 5。

用法

my_mc.unloadMovie()

参数

无。

返回

无。

说明

方法；删除影片剪辑实例的内容。保留实例属性和剪辑处理函数。

若要删除实例（包括其属性和剪辑处理函数），请使用MovieClip.removeMovieClip()。

另请参见

MovieClip.attachMovie()、MovieClip.loadMovie()、unloadMovie()、unloadMovieNum()


MovieClip._url

可用性

Flash Player 4。

用法

my_mc._url

说明

属性（只读）；获取从中下载影片剪辑的 SWF 文件的 URL。


MovieClip.useHandCursor

可用性

Flash Player 6。

用法

my_mc.useHandCursor

说明

属性；一个布尔值，指示当鼠标滑过按钮影片剪辑时是否显示手形光标（指示手光标）。useHandCursor 的默认值为 true。如果将 useHandCursor 设置为 true，则当鼠标滑过按钮影片剪辑时会显示用于按钮的指示手光标。如果 useHandCursor 为 false，则改用箭头光标。

可以在任何时候更改 useHandCursor 属性；修改后的按钮影片剪辑会立即获得新的光标行为。可以从原型对象读出 useHandCursor 属性。


MovieClip._visible

可用性

Flash Player 4。

用法

my_mc._visible

说明

属性；一个布尔值，指示 my_mc 指定的影片剪辑是否可见。不可见的影片剪辑（_visible 属性设置为 false）处于禁用状态。例如，不能单击 _visible 设置为 false 的影片剪辑中的按钮。

另请参见

Button._visible、TextField._visible


MovieClip._width

可用性

Flash Player 4，作为只读属性。

用法

my_mc._width

说明

属性；影片剪辑的宽度（以像素为单位）。

示例

下面的示例在用户单击鼠标按钮时设置影片剪辑的高度和宽度属性。

onclipEvent(mouseDown) {
  _width=200;
  _height=200;
}

另请参见

MovieClip._height


MovieClip._x

可用性

Flash Player 3。

用法

my_mc._x

说明

属性；设置影片剪辑 x 坐标的整数，该坐标相对于父级影片剪辑的本地坐标。如果影片剪辑在主时间轴中，则其坐标系统将舞台的左上角作为 (0, 0)。如果影片剪辑位于另一个具有变形的影片剪辑中，则该影片剪辑位于包含它的影片剪辑的本地坐标系统中。因此，对于逆时针旋转 90 度的影片剪辑，该影片剪辑的子级将继承逆时针旋转 90 度的坐标系统。影片剪辑的坐标指的是注册点的位置。

另请参见

MovieClip._xscale、MovieClip._y、MovieClip._yscale


MovieClip._xmouse

可用性

Flash Player 5。

用法

my_mc._xmouse

说明

属性（只读）；返回鼠标位置的 x 坐标。

另请参见

Mouse 类、MovieClip._ymouse


MovieClip._xscale

可用性

Flash Player 4。

用法

my_mc._xscale

说明

属性；确定从影片剪辑的注册点开始应用的影片剪辑的水平缩放比例 (percentage)。默认注册点为 (0,0)。

缩放本地坐标系统将影响 _x 和 _y 属性的设置，这些设置是以整像素定义的。例如，如果父级影片剪辑缩放到 50%，则设置 _x 属性将移动影片剪辑中的对象，距离为在影片设置为 100% 时其像素数的一半。

另请参见

MovieClip._x、MovieClip._y、MovieClip._yscale


MovieClip._y

可用性

Flash Player 3。

用法

my_mc._y

说明

属性；设置影片剪辑的 y 坐标，该坐标相对于父级影片剪辑的本地坐标。如果影片剪辑在主时间轴中，则其坐标系统将舞台的左上角作为 (0, 0)。如果影片剪辑位于另一个具有变形的影片剪辑中，则该影片剪辑位于包含它的影片剪辑的本地坐标系统中。因此，对于逆时针旋转 90 度的影片剪辑，该影片剪辑的子级将继承逆时针旋转 90 度的坐标系统。 影片剪辑的坐标指的是注册点的位置。

另请参见

MovieClip._x、MovieClip._xscale、MovieClip._yscale


MovieClip._ymouse

可用性

Flash Player 5。

用法

my_mc._ymouse

说明

属性（只读）；指示鼠标位置的 y 坐标。

另请参见

Mouse 类、MovieClip._xmouse


MovieClip._yscale

可用性

Flash Player 4。

用法

my_mc._yscale

说明

属性；设置从影片剪辑注册点开始应用的该影片剪辑的垂直缩放比例 (percentage)。默认注册点为 (0,0)。

缩放本地坐标系统将影响 _x 和 _y 属性的设置，这些设置是以整像素定义的。例如，如果将父级影片剪辑缩放到 50%，则设置 _x 属性将移动影片剪辑中的对象，距离为在影片为 100% 时其像素数的一半。

另请参见

MovieClip._x、MovieClip._xscale、MovieClip._y


MovieClipLoader 类

可用性

Flash Player 7。

说明

此类用于实现在 SWF 或 JPEG 文件正被加载到（下载到）影片剪辑中时提供状态信息的侦听器回调。若要使用 MovieClipLoader 功能，请使用 MovieClipLoader.loadClip()（而不是 loadMovie() 或 MovieClip.loadMovie()）来加载 SWF 文件。

在发出 MovieClipLoader.loadClip() 命令后，以下事件按下列顺序发生：

  • 在下载的文件的第一个字节写入磁盘后，调用 MovieClipLoader.onLoadStart() 侦听器。
  • 如果您已实现了 MovieClipLoader.onLoadProgress() 侦听器，则在加载过程中调用它。

    注意：您可以在加载过程中随时调用 MovieClipLoader.getProgress()。

  • 在整个下载的文件都写入磁盘后，调用 MovieClipLoader.onLoadComplete() 侦听器。
  • 在执行下载的文件的第一个帧动作后，调用 MovieClipLoader.onLoadInit() 侦听器。

在调用 MovieClipLoader.onLoadInit() 后，您可以设置属性，使用方法，以及与加载的影片交互。

如果文件未能完全加载，则调用 MovieClipLoader.onLoadError() 侦听器。

MovieClipLoader 类的方法概要

方法 | 说明
MovieClipLoader.addListener() | 注册一个对象，以便在调用 MovieClipLoader 事件处理函数时接收通知。
MovieClipLoader.getProgress() | 返回使用 MovieClipLoader.loadClip() 正加载的文件的已加载字节数和该文件的总字节数。
MovieClipLoader.loadClip() | 在播放原始影片时，将 SWF 或 JPEG 文件加载到 Flash Player 中的影片剪辑中。
MovieClipLoader.removeListener() | 删除已使用 MovieClipLoader.addListener() 注册的 对象。
MovieClipLoader.unloadClip() | 删除已通过 MovieClipLoader.loadClip() 加载的影片 剪辑。

MovieClipLoader 类的侦听器概要

侦听器 | 说明
MovieClipLoader.onLoadComplete() | 在使用 MovieClipLoader.loadClip() 加载的文件已完全下载时调用。
MovieClipLoader.onLoadError() | 在使用 MovieClipLoader.loadClip() 加载的文件未能加载时调用。
MovieClipLoader.onLoadInit() | 当执行加载的剪辑的第一帧上的动作时调用。
MovieClipLoader.onLoadProgress() | 加载过程中每当将加载的内容写入磁盘时调用。
MovieClipLoader.onLoadStart() | 当对 MovieClipLoader.loadClip() 的调用已成功开始下载文件时调用。

MovieClipLoader 类的构造函数

可用性

Flash Player 7。

用法

new MovieClipLoader()

参数

无。

返回

无。

说明

构造函数；创建一个 MovieClipLoader 对象，您可以使用该对象实现许多侦听器，以在正下载 SWF 或 JPEG 文件时对事件做出响应。

示例

请参见 MovieClipLoader.loadClip()。

另请参见

MovieClipLoader.addListener()


MovieClipLoader.addListener()

可用性

Flash Player 7。

用法

my_mcl.addListener(listenerObject)

参数

listenerObject 侦听来自 MovieClipLoader 事件处理函数的回调通知的对象。

返回

无。

说明

方法；注册一个对象以在调用 MovieClipLoader 事件处理函数时接收通知。

示例

请参见 MovieClipLoader.loadClip()。

另请参见

MovieClipLoader.onLoadComplete()、MovieClipLoader.onLoadError()、
MovieClipLoader.onLoadInit()、MovieClipLoader.onLoadProgress()、
MovieClipLoader.onLoadStart()、MovieClipLoader.removeListener()


MovieClipLoader.getProgress()

可用性

Flash Player 7。

用法

my_mcl.getProgress(target_mc)

参数

target_mc 一个使用 MovieClipLoader.loadClip() 加载的 SWF 或 JPEG 文件。

返回

一个具有以下两个整数属性的对象：bytesLoaded 和 bytesTotal。

说明

方法；返回使用 MovieClipLoader.loadClip() 正加载的文件的已加载字节数和该文件的总字节数；对于压缩的影片，它反映压缩的字节数。此方法使您可以显式请求此信息，而不是（或除此之外还）编写 MovieClipLoader.onLoadProgress() 侦听器函数。

示例

请参见 MovieClipLoader.loadClip()。

另请参见

MovieClipLoader.onLoadProgress()


MovieClipLoader.loadClip()

可用性

Flash Player 7。

用法

my_mcl.loadMovie("url", target )

参数

url 要加载的 SWF 文件或 JPEG 文件的绝对或相对 URL。相对路径必须相对于级别 0 处的 SWF 文件。绝对 URL 必须包括协议引用，例如 http:// 或 file:///。文件名不能包括磁盘驱动器说明。

target 影片剪辑的目标路径，或者指定 Flash Player 中影片将加载到的级别的整数。目标影片剪辑将替换为加载的影片或图像。

返回

无。

说明

方法；在播放原始影片时，将 SWF 或 JPEG 文件加载到 Flash Player 中的影片剪辑中。使用此方法可以一次显示几个影片并且无需加载另一个 HTML 文档即可在影片间进行切换。

使用此方法（而不是 loadMovie() 或 MovieClip.loadMovie()）具有以下若干优点：

  • 在加载开始时调用 MovieClipLoader.onLoadStart() 处理函数。
  • 在无法加载剪辑时调用 MovieClipLoader.onLoadError() 处理函数。
  • 在加载进程正进行时调用 MovieClipLoader.onLoadProgress() 处理函数。
  • 在执行该剪辑的第一帧中的动作后调用 MovieClipLoader.onLoadInit() 处理函数，以便您可以处理加载的剪辑。

加载到影片剪辑的影片或图像会继承该影片剪辑的位置、旋转和缩放属性。可以用该影片剪辑的目标路径来定位加载的影片。

您可以使用此方法将一个或多个文件加载到单个影片剪辑或级别中；将 MovieClipLoader 侦听器对象作为参数传递给正加载的目标影片剪辑实例。或者，您可以为加载的每一文件创建不同的 MovieClipLoader 对象。

使用 MovieClipLoader.unloadClip() 删除用此方法加载的影片或图像，或者取消正在进行中的加载操作。

示例

以下示例举例说明如何使用多个 MovieClipLoader 方法和侦听器。

// 首先设置侦听器
var my_mcl = new MovieClipLoader();
myListener = new Object();
myListener.onLoadStart = function (target_mc)
{
myTrace ("*********First my_mcl instance*********");
myTrace ("Your load has begun on movie clip .= " + target_mc);
var loadProgress = my_mcl.getProgress(target_mc);
myTrace(loadProgress.bytesLoaded + " = bytes loaded at start");
myTrace(loadProgress.bytesTotal + " = bytes total at start");
}
myListener.onLoadProgress = function (target_mc, loadedBytes, totalBytes)
{
myTrace ("*********First my_mcl instance Progress*********");
myTrace ("onLoadProgress() called back on movie clip " + target_mc);
myTrace(loadedBytes + " = bytes loaded at progress callback " );
myTrace(totalBytes + " = bytes total at progress callback \n");
}
myListener.onLoadComplete = function (target_mc)
{
myTrace ("*********First my_mcl instance*********");
myTrace ("Your load is done on movie clip = " + target_mc);
var loadProgress = my_mcl.getProgress(target_mc);
myTrace(loadProgress.bytesLoaded + " = bytes loaded at end" );
myTrace(loadProgress.bytesTotal + " = bytes total at end=");
}
myListener.onLoadInit = function (target_mc)
{
myTrace ("*********First my_mcl instance*********");
myTrace ("Movie clip = " + target_mc + " is now initialized");
// 您现在可以进行所需的任何设置，例如：
target_mc._width = 100;
target_mc._width = 100;
}
myListener.onLoadError = function (target_mc, errorCode)
{
myTrace ("*********First my_mcl instance*********");
myTrace ("ERROR CODE = " + errorCode);
myTrace ("Your load failed on movie clip = " + target_mc + "\n");
 }
my_mcl.addListener(myListener);
//现在将这些文件加载到其目标中。
// 加载到影片剪辑中 - 字符串用作目标
my_mcl.loadClip("http://www.somedomain.somewhere.com/someFile.swf","_root.myMC");
my_mcl.loadClip("http://www.somedomain.somewhere.com/someOtherFile.swf", "_level0.myMC2");
//失败的加载
my_mcl.loadClip("http://www.somedomain.somewhere.com/someFile.jpg", _root.myMC5);

// 加载到影片剪辑中 - 影片剪辑实例用作目标。
my_mcl.loadClip("http://www.somedomain.somewhere.com/someOtherFile.jpg", _level0.myMC3);

// 加载到 _level1
my_mcl.loadClip("file:///C:/media/images/somePicture.jpg", 1);

//第二次设置侦听器
var another_mcl = new MovieClipLoader();
myListener2 = new Object();
myListener2.onLoadStart = function (target_mc)
{
myTrace("*********Second my_mcl instance*********");
myTrace ("Your load has begun on movie clip22 .= " + target_mc);
var loadProgress = my_mcl.getProgress(target_mc);
myTrace(loadProgress.bytesLoaded + " = bytes loaded at start" );
myTrace(loadProgress.bytesTotal + " = bytes total at start");
}
myListener2.onLoadComplete = function (target_mc)
{
myTrace ("*********Second my_mcl instance*********");
myTrace ("Your load is done on movie clip = " + target_mc);
var loadProgress = my_mcl.getProgress(target_mc);
myTrace(loadProgress.bytesLoaded + " = bytes loaded at end");
myTrace(loadProgress.bytesTotal + " = bytes total at end" );
}
myListener2.onLoadError = function (target_mc, errorCode)
{
myTrace ("*********Second my_mcl instance*********");
myTrace ("ERROR CODE = " + errorCode);
myTrace ("Your load failed on movie clip = " + target_mc + "\n");
 }
another_mcl.addListener(myListener2);
//现在将这些文件加载到其目标中（使用 MovieClipLoader 的第二个实例）
another_mcl.loadClip("http://www.somedomain.somewhere.com/yetAnotherFile.jpg", _root.myMC4);
// 在完成下载以及已调用 my_mcl.onLoadInit 后
// 发出以下语句。
// my_mcl.removeListener(myListener)
// my_mcl.removeListener(myListener2)

另请参见

MovieClipLoader.unloadClip()


MovieClipLoader.onLoadComplete()

可用性

Flash Player 7。

用法

listenerObject.onLoadComplete() = function(target_mc) {
  // 此处是您的语句
}

参数

listenerObject 一个已使用 MovieClipLoader.addListener() 添加的侦听器对象。

target_mc 通过 MovieClipLoader.loadClip() 方法加载的影片剪辑。

返回

无。

说明

侦听器；在使用 MovieClipLoader.loadClip() 加载的文件已完全下载时调用。

示例

请参见 MovieClipLoader.loadClip()。

另请参见

MovieClipLoader.addListener()、MovieClipLoader.onLoadStart()、
MovieClipLoader.onLoadError()


MovieClipLoader.onLoadError()

可用性

Flash Player 7。

用法

listenerObject.onLoadError() = function(target_mc, errorCode) {
  // 此处是您的语句
}

参数

listenerObject 一个已使用 MovieClipLoader.addListener() 添加的侦听器对象。

target_mc 通过 MovieClipLoader.loadClip() 方法加载的影片剪辑。

errorCode 解释失败原因的字符串。

返回

以下两个字符串之一：“URLNotFound”或“LoadNeverCompleted”。

说明

侦听器；在使用 MovieClipLoader.loadClip() 加载的文件未能加载时调用。

如果 MovieClipLoader.onLoadStart() 和 MovieClipLoader.onLoadComplete() 侦听器均未调用，则返回字符串“URLNotFound”。例如，如果服务器关闭或未找到该文件，则不调用这些侦听器。

如果已调用 MovieClipLoader.onLoadStart() 但未调用 MovieClipLoader.onLoadComplete()，则返回字符串“LoadNeverCompleted”。例如，如果调用 MovieClipLoader.onLoadStart()，但下载由于服务器超载或服务器崩溃等原因而中断，将不调用
MovieClipLoader.onLoadComplete()。

示例

请参见 MovieClipLoader.loadClip()。


MovieClipLoader.onLoadInit()

可用性

Flash Player 7。

用法

listenerObject.onLoadInit() = function(target_mc) {
  // 此处是您的语句
}

参数

listenerObject 一个已使用 MovieClipLoader.addListener() 添加的侦听器对象。

target_mc 通过 MovieClipLoader.loadClip() 方法加载的影片剪辑。

返回

无。

说明

侦听器；当执行加载的剪辑的第一帧上的动作时调用。在调用此侦听器后，您可以设置属性，使用方法，以及与加载的影片交互。

示例

请参见 MovieClipLoader.loadClip()。

另请参见

MovieClipLoader.onLoadStart()


MovieClipLoader.onLoadProgress()

可用性

Flash Player 7。

用法

listenerObject.onLoadProgress() =
  function(target_mc [, loadedBytes [, totalBytes ] ] ) {
  // 此处是您的语句
}

参数

listenerObject 一个已使用 MovieClipLoader.addListener() 添加的侦听器对象。

target_mc 通过 MovieClipLoader.loadClip() 方法加载的影片剪辑。

loadedBytes 在调用该侦听器时已加载的字节数。

totalBytes 在正加载的文件中的总字节数。

返回

无。

说明

侦听器；在加载过程中每当将加载的内容写入磁盘时（即，在
MovieClipLoader.onLoadStart() 和 MovieClipLoader.onLoadComplete() 之间）调用。您可以使用此方法以及使用 loadedBytes 和 totalBytes 参数，显示与下载的进度有关的信息。

示例

请参见 MovieClipLoader.loadClip()。

另请参见

MovieClipLoader.getProgress()


MovieClipLoader.onLoadStart()

可用性

Flash Player 7。

用法

listenerObject.onLoadStart() = function(target_mc) {
  // 此处是您的语句
}

参数

listenerObject 一个已使用 MovieClipLoader.addListener() 添加的侦听器对象。

target_mc 通过 MovieClipLoader.loadClip() 方法加载的影片剪辑。

返回

无。

说明

侦听器；在对 MovieClipLoader.loadClip() 的调用已成功开始下载文件时调用。

示例

请参见 MovieClipLoader.loadClip()。

另请参见

MovieClipLoader.onLoadError()、MovieClipLoader.onLoadInit()、
MovieClipLoader.onLoadComplete()


MovieClipLoader.removeListener()

可用性

Flash Player 7。

用法

my_mcl.removeListener(listenerObject)

参数

listenerObject 一个已使用 MovieClipLoader.addListener() 加载的侦听器对象。

返回

无。

说明

方法；删除用来在调用 MovieClipLoader 事件处理函数时接收通知的对象。

示例

请参见 MovieClipLoader.loadClip()。


MovieClipLoader.unloadClip()

可用性

Flash Player 7。

用法

my_mcl.unloadClip(target)

参数

target 传递到对 my_mcl.loadClip() 的相应调用的字符串或整数。

返回

无。

说明

方法；删除通过 MovieClipLoader.loadClip() 已加载的影片剪辑。如果您在正加载影片时发出此命令，则调用 MovieClipLoader.onLoadError()。

另请参见

MovieClipLoader.loadClip()


NaN

可用性

Flash Player 5。

用法

NaN

说明

变量；代表 NaN（非数字）的、具有 IEEE-754 标准值的预定义变量。若要确定某个数字是否是 NaN，请使用 isNaN()。

另请参见

isNaN()、Number.NaN


ne（不等于 - 字符串专用）

可用性

Flash Player 4。不鼓励使用此运算符，推荐使用 !=（不等于） 运算符。

用法

expression1 ne expression2

参数

expression1、expression2 数字、字符串或变量。

返回

一个布尔值。

说明

运算符（比较）；将 expression1 与 expression2 进行比较，如果 expression1 不等于
expression2，则返回 true；否则，返回 false。

另请参见

!=（不等于）


NetConnection 类

可用性

Flash Player 7。

注意：当与 Flash Communication Server 一起使用时，Flash Player 6 也支持此类。有关更多信息，请参见 Flash Communication Server 文档。

说明

NetConnection 类提供从本地驱动器或 HTTP 地址播放 FLV 文件流的方法。有关视频回放的更多信息，请参见动态回放外部 FLV 文件。

NetConnection 类的方法摘要

方法 | 说明
NetConnection.connect() | 打开您可以通过它从 HTTP 地址或本地文件系统回放视频 (FLV) 文件的本地连接。

NetConnection 类的构造函数

可用性

Flash Player 7。

注意：当与 Flash Communication Server 一起使用时，Flash Player 6 也支持此类。有关更多信息，请参见 Flash Communication Server 文档。

用法

new NetConnection()

参数

无。

返回

无。

说明

构造函数；创建 NetConnection 对象，您可以将该对象与 NetStream 对象一起使用来回放本地视频流 (FLV) 文件。在创建 NetConnection 对象后，使用 NetConnection.connect() 进行实际连接。

与在 Flash 文档中嵌入视频相比，播放外部 FLV 文件有多个好处，例如更好的性能和内存管理以及独立的视频和 Flash 帧频。有关更多信息，请参见动态回放外部 FLV 文件。

另请参见

NetStream 类、Video.attachVideo()


NetConnection.connect()

Flash Player 7。

注意：当与 Flash Communication Server 一起使用时，Flash Player 6 也支持此方法。有关更多信息，请参见 Flash Communication Server 文档。

用法

my_nc.connect(null);

参数

无（您必须传递 null）。

返回

无。

说明

构造函数；打开您可以通过它从 HTTP 地址或本地文件系统回放视频 (FLV) 文件的本地连接。

另请参见

NetStream 类


NetStream 类

可用性

Flash Player 7。

注意：当与 Flash Communication Server 一起使用时，Flash Player 6 也支持此类。有关更多信息，请参见 Flash Communication Server 文档。

说明

NetStream 类提供从本地文件系统或 HTTP 地址播放 Flash 视频 (FLV) 文件的方法和属性。您使用 NetStream 对象以通过 NetConnection 对象对视频进行流式处理。与在 Flash 文档中嵌入视频相比，播放外部 FLV 文件有多个好处，例如更好的性能和内存管理以及独立的视频和 Flash 帧频。该类提供若干方法和属性，您可以利用这些方法和属性在一个文件加载和播放时跟踪该文件的进度，以及便于用户控制回放（停止或暂停等）。

有关视频回放的更多信息，请参见动态回放外部 FLV 文件。

NetStream 类的方法摘要

NetConnection 和 NetStream 类的以下方法和属性用于控制 FLV 回放。

方法 | 目的
NetStream.close() | 关闭流但不清除视频对象。
NetStream.pause() | 暂停或恢复流的回放。
NetStream.play() | 开始回放外部视频 (FLV) 文件。
NetStream.seek() | 搜寻 FLV 文件中的特定位置。
NetStream.setBufferTime() | 指定将数据存入缓冲区多长时间后开始显示流。

NetStream 类的属性摘要

属性 | 说明
NetStream.bufferLength | 数据当前存在于缓冲区中的秒数。
NetStream.bufferTime | 只读：由 NetStream.setBufferTime() 分配给缓冲区的秒数。
NetStream.bytesLoaded | 只读；已加载到播放器中的数据的字节数。
NetStream.bytesTotal | 只读；正加载到播放器中的文件的总大小（以字节为单位）。
NetStream.currentFps | 每秒所显示的帧的数目。
NetStream.time | 只读；播放头的位置，以秒为单位。

NetStream 类的事件处理函数摘要

事件处理函数 | 说明
NetStream.onStatus | 每当状态更改或发布针对 NetStream 对象的错误时调用。

NetStream 类的构造函数

可用性

Flash Player 7。

注意：当与 Flash Communication Server 一起使用时，Flash Player 6 也支持此类。有关更多信息，请参见 Flash Communication Server 文档。

用法

new NetStream(my_nc)

参数

my_nc 一个 NetConnection 对象。

返回

无。

说明

构造函数；创建可用于通过指定的 NetConnection 对象播放 FLV 文件的流。

示例

以下代码首先构造新的 NetConnection 对象 my_nc，并且使用它构造称为 videoStream_ns 的新 NetStream 对象。

my_nc = new NetConnection();
my_nc.connect(null);
videoStream_ns = new NetStream(my_nc);

另请参见

NetConnection 类、NetStream 类、Video.attachVideo()


NetStream.bufferLength

可用性

Flash Player 7。

注意：当与 Flash Communication Server 一起使用时，Flash Player 6 也支持此属性。有关更多信息，请参见 Flash Communication Server 文档。

用法

my_ns.bufferLength

说明

只读属性；数据当前位于缓冲区的秒数。您可以将此属性与 NetStream.bufferTime 一起使用以评估如何关闭将要满的缓冲区；例如，要向正等待数据加载到缓冲区中的用户显示反馈。

另请参见

NetStream.bytesLoaded


NetStream.bufferTime

可用性

Flash Player 7。

注意：当与 Flash Communication Server 一起使用时，Flash Player 6 也支持此属性。有关更多信息，请参见 Flash Communication Server 文档。

用法

myStream.bufferTime

说明

只读属性；由 NetStream.setBufferTime() 分配给缓冲区的秒数。默认值为 .1（十分之一秒）。若要确定当前位于缓冲区中的秒数，请使用 NetStream.bufferLength。

另请参见

NetStream.time


NetStream.bytesLoaded

可用性

Flash Player 7。

用法

my_ns.bytesLoaded

说明

只读属性；已加载到播放器中的数据的字节数。您可以将此方法与 NetStream.bytesTotal 一起使用以评估如何关闭将要满的缓冲区；例如，要向正等待数据加载到缓冲区中的用户显示
反馈。

另请参见

NetStream.bufferLength


NetStream.bytesTotal

可用性

Flash Player 7。

用法

my_ns.bytesLoaded

说明

只读属性；正加载到播放器中的文件的总大小（以字节为单位）。

另请参见

NetStream.bytesLoaded、NetStream.bufferTime


NetStream.close()

可用性

Flash Player 7。

注意：当与 Flash Communication Server 一起使用时，Flash Player 6 也支持此方法。有关更多信息，请参见 Flash Communication Server 文档。

用法

my_ns.close()

参数

无。

返回

无。

说明

方法；停止播放流上的所有数据，将 NetStream.time 属性设置为 0，使该流可用于其它用途。此命令还删除已使用 HTTP 下载的 FLV 文件的本地副本。

示例

以下 onDisconnect() 函数关闭一个连接并删除已存储在本地磁盘上的 someFile.flv 的临时
副本。

my_nc = new NetConnection();
my_nc.connect(null);
my_ns = new NetStream(my_nc);
my_ns.play("http://www.someDomain.com/videos/someFile.flv");

function onDisconnect() {
  my_ns.close();
}

另请参见

NetStream.pause()、NetStream.play()


NetStream.currentFps

可用性

Flash Player 7。

注意：当与 Flash Communication Server 一起使用时，Flash Player 6 也支持此属性。有关更多信息，请参见 Flash Communication Server 文档。

用法

my_ns.currentFps

说明

只读属性；每秒显示的帧数。如果您正导出 FLV 文件以在多个系统上回放，可以在测试期间检查该值以帮助您确定在导出该文件时应用了多大程度的压缩。


NetStream.onStatus

可用性

Flash Player 7。

注意：当与 Flash Communication Server 一起使用时，Flash Player 6 也支持此处理函数。有关更多信息，请参见 Flash Communication Server 文档。

用法

my_ns.onStatus = function(infoObject) {
  // 此处是您的代码
}

参数

infoObject 按照状态或错误信息定义的参数。有关此参数的更多信息，请参见下面的“说明”。

返回

无。

说明

事件处理函数；每当状态发生更改或发布针对 NetStream 对象的错误时调用。如果要对此事件处理函数做出响应，则必须创建一个函数来处理该信息对象。

该信息对象具有一个 code 属性（包含描述 onStatus 处理函数的结果的字符串）和 level 属性（包含或者为 "Status"、或者为 "Error" 的字符串）。

除了此 onStatus 处理函数外，Flash 还提供称作 System.onStatus 的“超级”函数。如果为特定对象调用了 onStatus 但未分配任何函数对其进行响应，则 Flash 将处理分配到
system.onStatus 的函数（如果存在）。

以下事件在发生某些 NetStream 活动时通知您。

Code 属性 | Level 属性 | 含义
NetStream.Buffer.Empty | Status | 数据的接收速度不足以填充缓冲区。数据流将在缓冲区重新填充前中断，此时将发送 NetStream.Buffer.Full 消息，并且该流将再次开始播放。
NetStream.Buffer.Full | Status | 缓冲区已满并且流将开始播放。
NetStream.Play.Start | Status | 回放已开始。
NetStream.Play.Stop | Status | 回放已结束。
NetStream.Play.StreamNotFound | Error | 无法找到传递到 play() 方法的 FLV。

示例

以下示例将有关流的数据写入日志文件。

my_ns.onStatus = function(info)
{
  _root.log_stream += "Stream status.\n";
  _root.log_stream += "Event:" + info.code + "\n";
  _root.log_stream += "Type:" + info.level + "\n";
}

另请参见

System.onStatus


NetStream.pause()

可用性

Flash Player 7。

注意：当与 Flash Communication Server 一起使用时，Flash Player 6 也支持此方法。有关更多信息，请参见 Flash Communication Server 文档。

用法

my_ns.pause( [ pauseResume ] )

参数

pauseResume 可选：一个布尔值，指定是暂停播放 (true) 还是恢复播放 (false)。如果您省略此参数，NetStream.pause() 将会在暂停播放和恢复播放之间切换：第一次对指定的流调用该方法时，该流暂停播放；下一次调用该方法时，该流恢复播放。

返回

无。

说明

方法；暂停或恢复流的回放。

第一次您调用此方法时（不发送参数），它将暂停播放；下一次调用此方法时，它恢复播放。您可能要将此方法附加到一个按钮上，用户可以按下该按钮来暂停或恢复回放。

示例

以下示例阐释该方法的某些用法。

my_ns.pause(); // 第一次发出时暂停播放
my_ns.pause(); // 恢复播放
my_ns.pause(false); // 没有影响，播放继续
my_ns.pause(); // 暂停播放

另请参见

NetStream.close()、NetStream.play()


NetStream.play()

可用性

Flash Player 7。

注意：当与 Flash Communication Server 一起使用时，Flash Player 6 也支持此方法。有关更多信息，请参见 Flash Communication Server 文档。

用法

my_ns.play("fileName");

参数

fileName 用引号括起来的要播放的 FLV 文件的名称。支持 http:// 和 file:// 格式；file:// 位置始终相对于 SWF 文件的位置。

返回

无。

说明

方法；开始外部视频 (FLV) 文件的回放。若要查看视频数据，您必须调用 Video.attachVideo() 方法；与视频一起进行流式处理的音频或只包含音频的 FLV 文件自动播放。

如果您要控制与某一 FLV 文件关联的音频，可以使用 MovieClip.attachAudio() 将该音频传送到某一影片剪辑，然后创建 Sound 对象来控制该音频的某些方面。有关更多信息，请参见 MovieClip.attachAudio()。

如果无法找到 FLV 文件，则调用 NetStream.onStatus 事件处理函数。如果您要停止当前正播放的流，请使用 NetStream.close()。

您可以播放与 SWF 文件存储于同一目录中或存储于其子目录中的本地 FLV 文件；但不能导航到更高级别的目录。例如，如果 SWF 文件位于名为 /training 的目录中，并且您要播放存储于 /training/videos 目录中的视频，则应使用以下语法：

my_ns.play("file://videos/videoName.flv");

若要播放存储于 /training 目录中的视频，应使用以下语法：

my_ns.play("file://videoName.flv");

示例

以下示例说明使用 NetStream.play() 命令的若干方法。

// 播放用户计算机上的文件
// joe_user 目录是存储 SWF 文件的目录
//     的子目录
my_ns.play("file://joe_user/flash/videos/lectureJune26.flv");

// 播放服务器上的文件
my_ns.play("http://someServer.someDomain.com/flash/video/orientation.flv");

另请参见

MovieClip.attachAudio()、NetStream.close()、NetStream.pause()、
Video.attachVideo()


NetStream.seek()

可用性

Flash Player 7。

注意：当与 Flash Communication Server 一起使用时，Flash Player 6 也支持此方法。有关更多信息，请参见 Flash Communication Server 文档。

用法

my_ns.seek(numberOfSeconds)

参数

numberOfSeconds 要移入 FLV 文件的以秒为单位的时间近似值。播放头移向最接近
numberOfSeconds 的关键帧。

  • 若要返回到该流的开始处，请为 numberOfSeconds 传递 0。
  • 若要从此流的开始处向前搜寻，应传递您要前进的秒数。例如，若要将播放头放置于距开始处 15 秒的位置，请使用 myStream.seek(15)。
  • 若要相对于当前位置进行搜寻，请传递 mystream.time + n 或 mystream.time - n，以相
    对于当前位置分别向前或向后搜寻 n 秒。例如，若要从当前位置后退 20 秒，请使用 my_ns.seek(my_ns.time - 20)。

返回

无。

说明

方法；搜寻距流的开始处的最接近于指定秒数的关键帧。该流在达到该流中的指定位置时恢复播放。

示例

以下示例说明几种使用 NetStream.seek() 命令的方法。

// 返回到流的开始处
my_ns.seek(0);

// 移到距流的开始处 30 秒钟的位置
my_ns.seek(30);

//向后移到距当前位置 3 分钟的位置
my_ns.seek(my_ns.time - 180);

另请参见

NetStream.play()、NetStream.time


NetStream.setBufferTime()

可用性

Flash Player 7。

注意：当与 Flash Communication Server 一起使用时，Flash Player 6 也支持此方法。有关更多信息，请参见 Flash Communication Server 文档。

用法

my_ns.setBufferTime(numberOfSeconds)

参数

numberOfSeconds Flash 开始显示数据前存入缓冲区的数据的秒数。默认值是 .1（十分之一秒）。

说明

方法；指定将消息存入缓冲区多长时间后开始显示流。例如，如果您要确保流的最初 15 秒无中断播放，则将 numberOfSeconds 设置为 15；Flash 只在将 15 秒的数据存入缓冲区后才开始播放该流。

另请参见

NetStream.bufferTime


NetStream.time

可用性

Flash Player 7。

注意：当与 Flash Communication Server 一起使用时，Flash Player 6 也支持此属性。有关更多信息，请参见 Flash Communication Server 文档。

用法

my_ns.time

说明

只读属性；以秒为单位的播放头的位置。

另请参见

NetStream.bufferLength、NetStream.bytesLoaded


new

可用性

Flash Player 5。

用法

new constructor()

参数

constructor 一个函数，其后括号中可以是任何可选参数。此函数通常是要构造的对象类型的名称（如 Array、Number 或 Object）。

返回

无。

说明

运算符；创建一个初始时匿名的新对象，然后调用由 constructor 参数标识的函数。new 运算符将括号中的任何可选参数和用关键字 this 引用的新建对象传递给函数。然后构造函数可以用 this 来设置对象的变量。

示例

下面的示例创建 Book() 函数，然后使用 new 运算符来创建对象 book1 和 book2。

function Book(name, price){
  this.name = name;
  this.price = price;
}

book1 = new Book("Confederacy of Dunces", 19.95);
book2 = new Book("The Floating Opera", 10.95);

示例

下面的示例使用 new 运算符来创建具有 18 个元素的 Array 对象：

golfCourse_array = new Array(18);

另请参见

[]（数组访问）、{}（对象初始值设定项）


newline

可用性

Flash Player 4。

用法

newline

参数

无。

返回

无。

说明

常量；插入一个回车符 (\n)，该回车符在代码生成的文本输出中插入一个空行。newline 可用来为代码中的函数或动作所获取的信息留出空间。

示例

下面的示例说明 newline 如何将 trace() 动作的输出显示在多行上。

var myName:String = "Lisa", myAge:Number = 30;
trace(myName + myAge);
trace(myName + newline + myAge);


nextFrame()

可用性

Flash 2。

用法

nextFrame()

参数

无。

返回

无。

说明

函数；将播放头转到下一帧并停止。

示例

在这个示例中，当用户单击此按钮时，播放头转到下一帧并停下来。

on (release) {
  nextFrame();
}


nextScene()

可用性

Flash 2。

用法

nextScene()

参数

无。

返回

无。

说明

函数；将播放头移到下一场景的第 1 帧并停止。

示例

在这个示例中，当用户释放此按钮时，播放头被移到下一场景的第 1 帧。

on (release) {
  nextScene();
}

另请参见

prevScene()


not

可用性

Flash Player 4。不鼓励使用此运算符，推荐使用 !（逻辑 NOT） 运算符。

用法

not expression

参数

expression 转换为布尔值的变量或其它表达式。

说明

运算符；在 Flash Player 4 中执行逻辑 NOT 运算。

另请参见

!（逻辑 NOT）


null

可用性

Flash Player 5。

用法

null

参数

无。

返回

无。

说明

常量；一个可以赋予变量或者可以由函数返回（在函数不提供数据时）的特殊值。 可以使用
null 表示缺少的或者未定义数据类型的值。

示例

在用于数值的情况下，null 计算结果为 0。可对 null 执行相等测试。在这个语句中，二元树节点没有左分支，因此左分支的字段可以设置为 null。

if (tree.left == null) {
  tree.left = new TreeNode();
}


Number 类

可用性

Flash Player 5（已成为 Flash Player 6 本身的对象，Flash Player 6 大大提高了性能）。

说明

Number 类是 Number 数据类型的简单包装对象。使用与 Number 类关联的方法和属性可以操作基本数值。此类与 JavaScript Number 类完全相同。

调用 Number 对象的方法时必须使用构造函数，但是当调用 Number 对象的属性时则不需要使用构造函数。下面的示例指示调用 Number 对象的方法和属性的语法。

下面的示例调用 Number 对象的 toString() 方法，此调用返回字符串“1234”。

myNumber = new Number (1234);
myNumber.toString();

此示例调用 Number 对象的 MIN_VALUE 属性（也称作常量）：

smallest = Number.MIN_VALUE

Number 类的方法摘要

方法 | 说明
Number.toString() | 返回 Number 对象的字符串表示形式。
Number.valueOf() | 返回 Number 对象的原始值。

Number 类的属性摘要

属性 | 说明
Number.MAX_VALUE | 表示最大可表示数（双精度 IEEE-754 标准）的常量。此数字大约为 1.79E+308。
Number.MIN_VALUE | 表示最小可表示数（双精度 IEEE-754 标准）的常量。此数字大约为 5e-324。
Number.NaN | 表示“非数字”(NaN) 值的常量。
Number.NEGATIVE_INFINITY | 表示负无穷大值的常量。
Number.POSITIVE_INFINITY | 表示正无穷大值的常量。此值等同于全局变量 Infinity。

Number 类的构造函数

可用性

Flash Player 5。

用法

new Number(value)

参数

value 要创建的 Number 对象的数值，或者要转换为数字的值。

返回

无。

说明

构造函数；新建一个 Number 对象。当使用 Number.toString() 和 Number.valueOf() 时必须使用 Number 构造函数。而使用 Number 对象的属性时不需要使用构造函数。new Number 构造函数主要用作占位符。Number 对象与 Number() 函数不同，后者将参数转换为原始值。

示例

下面的代码构造新的 Number 对象。

n1 = new Number(3.4);
n2 = new Number(-10);

另请参见

Number()


Number.MAX_VALUE

可用性

Flash Player 5。

用法

Number.MAX_VALUE

说明

属性；最大可表示的数（双精度 IEEE-754 标准）。此数字大约为 1.79E+308。


Number.MIN_VALUE

可用性

Flash Player 5。

用法

Number.MIN_VALUE

说明

属性；最小可表示的数（双精度 IEEE-754 标准）。此数字大约为 5e-324。


Number.NaN

可用性

Flash Player 5。

用法

Number.NaN

说明

属性；表示“非数字”(NaN) 的 IEEE-754 标准值。

另请参见

isNaN()、NaN


Number.NEGATIVE_INFINITY

可用性

Flash Player 5。

用法

Number.NEGATIVE_INFINITY

说明

属性；指定表示负无穷大的 IEEE-754 标准值。此属性的值与常数 -Infinity 的值相同。

负无穷大是当数学运算或函数返回的值超过可表示的负值时，返回的一个特殊数值。


Number.POSITIVE_INFINITY

可用性

Flash Player 5。

用法

Number.POSITIVE_INFINITY

说明

属性；指定表示正无穷大的 IEEE-754 标准值。此属性的值与常数 Infinity 的值相同。

正无穷大是当数学运算或函数返回的值大于可表示的值时，返回的一个特殊数值。


Number.toString()

可用性

Flash Player 5；行为在 Flash Player 7 中进行了更改。

用法

myNumber.toString(radix)

参数

radix 指定要用于数字到字符串转换的基数（从 2 到 36）。如果未指定 radix 参数，则默认值为 10。

返回

字符串。

说明

方法；返回指定 Number 对象 (myNumber) 的字符串表示形式。

如果 myNumber 未定义，则返回值如下：

  • 在以 Flash Player 6 或更低版本为目标播放器发布的文件中，结果是 0。
  • 在以 Flash Player 7 或更高版本为目标播放器发布的文件中，结果是 NaN。

示例

下面的示例使用 2 和 8 用于 radix 参数并返回包含数字 9 的相应表示形式的字符串。

myNumber = new Number (9);
trace(myNumber.toString(2)); / 1001
trace(myNumber.toString(8)); / 11

另请参见

NaN


Number.valueOf()

可用性

Flash Player 5。

用法

myNumber.valueOf()

参数

无。

返回

一个数字。

说明

方法；返回指定 Number 对象的原始值类型。


Number()

可用性

Flash Player 4；行为在 Flash Player 7 中进行了更改。

用法

Number(expression)

参数

expression 要转换为数字的表达式。

返回

一个数字或 NaN。

说明

函数；将参数 expression 转换为数字并按如下规则返回一个值：

  • 如果 expression 为数字，则返回值为 expression。
  • 如果 expression 为布尔值，当 expression 为 true 时，返回值为 1；当 expression 为
    false 时，返回值为 0。
  • 如果 expression 为字符串，则该函数尝试将 expression 解析为一个带有可选尾随指数的十进制数字，例如 1.57505e-3。
  • 如果 expressionx 为 undefined，则返回值如下：
    • 在以 Flash Player 6 或更低版本为目标播放器发布的文件中，结果是 0。
    • 在以 Flash Player 7 或更高版本为目标播放器发布的文件中，结果是 NaN。

此函数用于转换导入 Flash 5 或更高版本创作环境的、包含不鼓励使用的运算符的 Flash 4 文件。有关更多信息，请参见&（按位 AND 运算符）。

另请参见

NaN、Number 类


Object 类

可用性

Flash Player 5（已成为 Flash Player 6 本身的对象，Flash Player 6 大大提高了性能）。

说明

Object 类位于动作脚本类层次结构的根处。此类包含 JavaScript Object 类所提供功能的一小部分。

Object 类的方法摘要

方法 | 说明
Object.addProperty() | 在对象上创建 getter/setter 属性。
Object.registerClass() | 将影片剪辑元件与动作脚本对象类相关联。
Object.toString() | 将指定对象转换为字符串然后返回它。
Object.unwatch() | 删除 Object.watch() 创建的监视点。
Object.valueOf() | 返回对象的原始值。
Object.watch() | 注册当动作脚本对象的指定属性更改时要调用的事件处理函数。

Object 类的属性摘要

属性 | 说明
Object.__proto__ | 指向对象构造函数的 prototype 属性的引用。

Object 类的构造函数

可用性

Flash Player 5。

用法

new Object([value])

参数

value 要转换为对象的数字、布尔值或字符串。此参数是可选的。 如果未指定 value，则该构造函数创建一个未定义属性的新对象。

返回

无。

说明

构造函数；新建一个 Object 对象。


Object.addProperty()

可用性

Flash Player 6。在外部类文件中，您可以使用 get 或 set 来代替此方法。

用法

myObject.addProperty(prop, getFunc, setFunc)

参数

prop 要创建的对象属性的名称。

getFunc 被调用以获取属性值的函数；此参数是一个函数对象。

setFunc 被调用以设置属性值的函数；此参数是一个函数对象。如果向此参数传递 null 值，则该属性为只读。

返回

如果属性创建成功，则返回值为 true；否则，返回 false。

说明

方法；创建一个 getter/setter 属性。当 Flash 读取 getter/setter 属性时，它调用 get 函数，而该函数的返回值成为 prop 的值。当 Flash 写入 getter/setter 属性时，它调用 set 函数，并且将新值作为参数传递给它。如果具有给定名称的属性已经存在，新属性将覆盖它。

“get”函数没有参数。它的返回值可以为任何类型。它的类型可以在两次调用之间改变。返回值视作该属性的当前值。

“set”函数只有一个参数，即该属性的新值。例如，如果属性 x 由语句 x = 1 进行赋值，则将数字类型的参数 1 传递给 set 函数。忽略 set 函数的返回值。

可以向原型对象添加 getter/setter 属性。如果向一个原型对象添加 getter/setter 属性，则继承此原型对象的所有对象实例都将继承 getter/setter 属性。这样就能够在一个位置（即原型对象）添加 getter/setter 属性，然后使它传播到类的所有实例（与向原型对象添加方法非常相似）。如果为继承的原型对象中的 getter/setter 属性调用 get/set 函数，则传递给该 get/set 函数的引用将是最初引用的对象，而不是该原型对象。

如果调用不正确，Object.addProperty() 可能出错并失败。下表描述了可能发生的错误：

出错条件 | 后果
prop 不是有效的属性名；例如，一个空字符串。 | 返回 false，而且不添加该属性。
getFunc 不是有效的函数对象。 | 返回 false，而且不添加该属性。
setFunc 不是有效的函数对象。 | 返回 false，而且不添加该属性。

示例

用法 1：某个对象具有两个内部方法：setQuantity() 和 getQuantity()。当设置或获取了属性 bookcount 后，该属性可用于调用这些方法。第三个内部方法 getTitle() 返回一个与属性 bookname 关联的只读值：

function Book() {

this.setQuantity = function(numBooks) {

    this.books = numBooks;
  }

this.getQuantity = function() {
  return this.books;

  }
  this.getTitle = function() {
    return "Catcher in the Rye";
  }
  this.addProperty("bookcount", this.getQuantity, this.setQuantity);
  this.addProperty("bookname", this.getTitle, null);
}
myBook = new Book();
myBook.bookcount = 5;
order = "You ordered "+myBook.bookcount+" copies of "+myBook.bookname;

当脚本获取 myBook.bookcount 的值时，动作脚本解释程序将自动调用 myBook.getQuantity()。当脚本修改 myBook.bookcount 的值时，该解释程序调用 myObject.setQuantity()。bookname 属性未指定 set 函数，因此忽略修改 bookname 的尝试。

用法 2：上述示例中的 bookcount 和 bookname 正常工作，但将属性 bookcount 和 bookname 添加到 Book 对象的每个实例中。这意味着要拥有这些属性，该对象的每个实例都必须具有两个属性位置。如果类中有许多像 bookcount 和 bookname 这样的属性，则它们可能占用大量的内存。为避免这种情况，可以向 Book.prototype 添加属性：

function Book () {}
Book.prototype.setQuantity = function(numBooks) {
  this.books = numBooks;
}
Book.prototype.getQuantity = function() {
  return this.books;
}
Book.prototype.getTitle = function() {
  return "Catcher in the Rye";
}
Book.prototype.addProperty("bookcount", Book.prototype.getQuantity, Book.prototype.setQuantity);
Book.prototype.addProperty("bookname", Book.prototype.getTitle, null);
myBook = new Book();
myBook.bookcount = 5;
order = "You ordered "+myBook.bookcount+" copies of "+myBook.bookname;

现在，bookcount 和 bookname 属性只存在于一个地方：Book.prototype 对象。但是效果与用法 1 中的代码相同，用法 1 将 bookcount 和 bookname 直接添加到每个实例。如果访问 Book 实例中的 bookcount 或 bookname，则上溯原型链并找到 Book.prototype 中的 getter/setter 属性。

用法 3：内置属性 TextField.scroll 和 TextField.maxscroll 为 getter/setter 属性。
TextField 对象具有内部方法 getScroll()、setScroll() 和 getMaxScroll()。TextField 构造函数创建 getter/setter 属性，并将它们指向这些内部 get/set 方法，如下所示：

this.addProperty("scroll", this.getScroll, this.setScroll);
this.addProperty("maxscroll", this.getMaxScroll, null);

当脚本获取 myTextField.scroll 的值时，动作脚本解释程序自动调用 myTextField.getScroll()。当脚本修改 myTextField.scroll 的值时，解释程序调用 myTextField.setScroll()。
maxscroll 属性未指定 set 函数，因此忽略修改 maxscroll 的尝试。

用法 4：虽然内置属性 TextField.scroll 和 TextField.maxscroll 在用法 3 示例中可以发挥作用，但会将属性 scroll 和 maxscroll 添加到 TextField 对象的每个实例中。这意味着拥有这些属性，则该对象的每个实例都必须具有两个属性位置。如果类中有许多像 scroll 和
maxscroll 这样的属性，则它们可能占用大量的内存。为避免这种情况，可以向
TextField.prototype 添加 scroll 和 maxscroll 属性：

TextField.prototype.addProperty("scroll", this.getScroll, this.setScroll);
TextField.prototype.addProperty("maxscroll", this.getMaxScroll, null);

现在，scroll 和 maxscroll 属性只存在于一个地方：TextField.prototype 对象。但是效果与
上面的代码相同，上面的代码将 scroll 和 maxscroll 直接添加到每个实例。如果访问
TextField 实例中的 scroll 或 maxscroll，则上溯原型链并找到 TextField.prototype 中的 getter/setter 属性。


Object.__proto__

可用性

Flash Player 5。

用法

myObject.__proto__

参数

无。

说明

属性；引用创建 myObject 的构造函数的 prototype 属性。在创建所有对象时，将自动赋予这些对象 __proto__ 属性。动作脚本解释程序使用 __proto__ 属性访问对象构造函数的
prototype 属性，以查找该对象从其类中继承的属性和方法。


Object.registerClass()

可用性

Flash Player 6。如果您使用的是外部类文件，则可以使用“链接属性”或“元件属性”对话框中的“动作脚本 2.0 类”字段将一个对象与一个类关联，而不是使用此方法。

用法

Object.registerClass(symbolID, theClass)

参数

symbolID 影片剪辑元件的链接标识符，或动作脚本类的字符串标识符。

theClass 指向动作脚本类的构造函数的引用，如果为 null，则取消注册元件。

返回

如果类注册成功，则返回值为 true；否则，返回 false。

说明

方法；将影片剪辑元件与动作脚本对象类相关联。如果元件不存在，则 Flash 在字符串标识符和对象类之间创建关联关系。

时间轴放置指定影片剪辑元件的实例时，该实例注册到由 theClass 参数指定的类，而不是注册到 MovieClip 类。

使用 MovieClip.attachMovie() 或 MovieClip.duplicateMovieClip() 创建指定影片剪辑元件的实例时，该实例注册到由 theClass 指定的类，而不是注册到 MovieClip 类。如果
theClass 为 null，则此方法删除任何与指定影片剪辑元件或类标识符相关联的动作脚本类定义。对于影片剪辑元件，该影片剪辑的任何现有实例保持不变，但此元件的新实例将与默认类 MovieClip 相关联。

如果元件已注册到某个类，则此方法用新注册将其替换。

如果影片剪辑实例是由时间轴放置或使用 attachMovie() 或 duplicateMovieClip() 创建的，则动作脚本使用指向此对象的关键字 this 调用适当类的构造函数。此构造函数在调用时不带有参数。

如果使用此方法将影片剪辑注册到动作脚本类而不是 MovieClip，则该影片剪辑元件不继承内置 MovieClip 类的方法、属性和事件，除非将 MovieClip 类包括在新类的原型链中。下面的代码创建一个新的名为 theClass 的 ActionScript 类，它继承了 MovieClip 类的属性：

theClass.prototype = new MovieClip();

另请参见

MovieClip.attachMovie()、MovieClip.duplicateMovieClip()


Object.toString()

可用性

Flash Player 5。

用法

myObject.toString()

参数

无。

返回

字符串。

说明

方法；将指定对象转换为字符串然后将其返回。


Object.unwatch()

可用性

Flash Player 6。

用法

myObject.unwatch (prop)

参数

prop 一个字符串，不应再进行监视的对象属性的名称。

返回

一个布尔值。

说明

方法；删除 Object.watch() 创建的监视点。如果监视点成功删除，则此方法返回 true 值；否则它返回 false 值。


Object.valueOf()

可用性

Flash Player 5。

用法

myObject.valueOf()

参数

无。

返回

指定对象的原始值，或对象本身。

说明

方法；返回指定对象的原始值。如果此对象没有原始值，则返回对象本身。


Object.watch()

可用性

Flash Player 6。

用法

myObject.watch( prop, callback [, userData] )

参数

prop 一个字符串，表示要监视的对象属性的名称。

callback 当监视的属性发生变化时要调用的函数。此参数为函数对象，而非字符串形式的函数名。callback 的格式是 callback(prop, oldval, newval, userData)。

userData 传递给 callback 方法的动作脚本数据的任意片段。如果省略 userData 参数，则将 undefined 传递给回调方法。此参数是可选的。

返回

如果监视点创建成功，则返回 true 值；否则，返回 false 值。

说明

方法；注册一个当动作脚本对象的某个指定属性更改时要调用的事件处理函数。当该属性更改时，调用该事件处理函数，并且 myObject 作为包含对象。您必须从 Object.watch 方法返回新值，否则将为监视的对象属性指定值 undefined。

通过返回已修改的 newval（或 oldval），监视点可以筛选（或取消）赋值。如果删除已为其
设置了监视点的属性，则该监视点并不消失。如果以后重新创建此属性，则该监视点依然起作用。若要删除监视点，请使用 Object.unwatch 方法。

在一个属性上只能注册一个监视点。对于同一属性，对 Object.watch() 的后续调用会替换原来的监视点。

Object.watch() 方法的行为类似于 Netscape JavaScript 1.2 和更高版本中的 Object.watch() 函数。其主要区别在于 userData 参数，该参数是 Flash 对 Object.watch() 的增补，Netscape Navigator 不支持它。可将 userData 参数传递给事件处理函数，并在该事件处理函数中使
用它。

Object.watch() 方法不能监视 getter/setter 属性。Getter/setter 属性以一种“懒惰计算”的方式进行操作，即直到实际查询属性时才确定属性的值。“懒惰计算”常常效率很高，原因在于属性并非不停地更新；而是在需要时才进行计算。但是，Object.watch() 需要计算属性才能激发此属性上的监视点。若要与 getter/setter 属性一起使用，Object.watch() 必须不断地计算属性，可是这样做的效率很低。

通常，动作脚本的预定义属性（如 _x、_y、_width 和 _height）为 getter/setter 属性，因此不能用 Object.watch() 进行监视。

示例

此示例列举一个 CheckBox 组件，该组件具有设置每个复选框实例的标签或值的方法：

myCheckBox1.setValue(true);
myCheckBox1.setLabel("new label");
...

为方便起见，可以将复选框的值和标签看作属性。这样使用 Object.watch() 就可以使对值和标签的访问像属性访问一样，而不是像方法调用，如下所示：

// 定义 CheckBox 类的构造函数（从而定义该类）
function CheckBox() {
  ...
  this.watch('value', function (id, oldval, newval){
    ...
  });
  this.watch('label', function(id, oldval, newval){
    ...
  });
}

当值或标签属性被修改时，将调用该组件指定的函数，以执行更新该组件外观和状态所需的任何任务。下面的示例调用 Object.watch() 方法，以通知组件变量已更改，从而导致该组件更新其图形表示形式。

myCheckBox1.value = false;

此语法比前一个语法更简洁：

myCheckBox1.setValue(false);

另请参见

Object.addProperty()、Object.unwatch()


Object()

可用性

Flash Player 5。

用法

Object( [ value ] )

参数

value 一个数值、字符串或布尔值。

返回

一个对象。

说明

转换函数；创建新的空对象，或者将指定的数值、字符串或布尔值转换为一个对象。此命令等效于使用 Object 构造函数创建对象（请参见Object 类的构造函数）。


on()

可用性

Flash 2。在 Flash 2 中，不是所有的事件都受支持。

用法

on(mouseEvent) {
  // 此处是您的语句
}

参数

statement(s) 发生 mouseEvent 时执行的指令。

mouseEvent 是称作“事件”的触发器。当发生此事件时，执行事件后面大括号中的语句。可以为 mouseEvent 参数指定下面的任何值：

  • press 在鼠标指针经过按钮时按下鼠标按钮。
  • release 在鼠标指针经过按钮时释放鼠标按钮。
  • releaseOutside 当鼠标指针在按钮之内时按下按钮后，将鼠标指针移到按钮之外，此时释放鼠标按钮。
  • rollOut 鼠标指针滑出按钮区域。
  • rollOver 鼠标指针滑过按钮。
  • dragOut 在鼠标指针滑过按钮时按下鼠标按钮，然后滑出此按钮区域。
  • dragOver 在鼠标指针滑过按钮时按下鼠标按钮，然后滑出此按钮，再滑回此按钮。
  • keyPress ("key") 按下指定的键。对于此参数的 key 部分，需指定键控代码或键常量。有关与标准键盘上的键相关联的键控代码的列表，请参见键盘键和键控代码值；有关键常量的列表，请参见Key 类的属性概要。

说明

事件处理函数；指定触发动作的鼠标事件或按键事件。

示例

在下面的脚本中，当按下鼠标按钮时，将执行 startDrag() 动作，当释放鼠标按钮时，将执行条件脚本，然后放下该对象。

on (press) {
  startDrag("rabbit");
}
on (release) {
  trace(_root.rabbit._y);
  trace(_root.rabbit._x);
  stopDrag();
}

另请参见

onClipEvent()


onClipEvent()

可用性

Flash Player 5。

用法

onClipEvent(movieEvent){
  // 此处是您的语句
}

参数

movieEvent 是一个称作事件 的触发器。当事件发生时，执行该事件后面大括号中的语句。可以为 movieEvent 参数指定下面的任何值：

  • load 影片剪辑一旦被实例化并出现在时间轴中时，即启动此动作。
  • unload 在从时间轴中删除影片剪辑之后，此动作在第 1 帧中启动。在向受影响的帧附加任何动作之前，先处理与 Unload 影片剪辑事件关联的动作。
  • enterFrame 以影片剪辑帧频不断触发的动作。首先处理与 enterFrame 剪辑事件关联的动作，然后才处理附加到受影响帧的所有帧动作。
  • mouseMove 每次移动鼠标时启动此动作。_xmouse 和 _ymouse 属性用于确定当前鼠标位置。
  • mouseDown 当按下鼠标左键时启动此动作。
  • mouseUp 当释放鼠标左键时启动此动作。
  • keyDown 当按下某个键时启动此动作。使用 Key.getCode() 获取有关最后按下的键的信息。
  • keyUp 当释放某个键时启动此动作。使用 Key.getCode() 方法获取有关最后按下的键的
    信息。
  • data 当在 loadVariables() 或 loadMovie() 动作中接收数据时启动此动作。当与
    loadVariables() 动作一起指定时，data 事件只在加载最后一个变量时发生一次。当与 loadMovie() 动作一起指定时，获取数据的每一部分时，data 事件都重复发生。

说明

事件处理函数；触发为特定影片剪辑实例定义的动作。

示例

下面的语句在导出 SWF 文件时包括来自外部文件的脚本；当加载包含脚本中的动作所附加到的影片剪辑时，运行这些动作：

onClipEvent (load) {
  #include "myScript.as"
}

下面的示例将 onClipEvent() 与 keyDown 影片事件一起使用。keyDown 影片事件通常与 Key 对象的一个或多个方法和属性一起使用。下面的脚本使用 Key.getCode() 找出用户按下了哪个键；如果按下的键与 Key.RIGHT 属性相匹配，则将影片转到下一帧；如果按下的键与 Key.LEFT 属性相匹配，则将影片转到上一帧。

onClipEvent(keyDown) {
  if (Key.getCode() == Key.RIGHT) {
    _parent.nextFrame();
  } else if (Key.getCode() == Key.LEFT){
    _parent.prevFrame();
  }
}

下面的示例将 onClipEvent() 与 mouseMove 影片事件一起使用。_xmouse 和 _ymouse 属性跟踪每次鼠标移动时的鼠标位置。

onClipEvent(mouseMove) {
  stageX=_root._xmouse;
  stageY=_root._ymouse;
}

另请参见

Key 类、MovieClip._xmouse、MovieClip._ymouse、on()、updateAfterEvent()


onUpdate

可用性

Flash Player 6。

用法

function onUpdate (){
   ...statements...;
}

参数

无。

返回

无。

说明

事件处理函数；onUpdate 是为用于组件的实时预览影片定义的。当舞台上组件的实例具有实时预览影片时，每次组件实例的组件参数发生变化，创作工具都会调用实时预览影片的 onUpdate 函数。创作工具调用 onUpdate 函数时不使用参数，并且将忽略其返回值。应该在实时预览影片的主时间轴上声明 onUpdate 函数。

在实时预览影片中定义 onUpdate 函数是可选的。

有关实时预览影片的更多信息，请参见使用组件。

示例

onUpdate 函数使实时预览影片可以更新其视觉外观以匹配组件参数的新值。当用户更改组件属性检查器或“组件参数”面板中的参数值时，即会调用 onUpdate。onUpdate 函数将执行某些操作对其自身进行更新。例如，如果组件包括 color 参数，则 onUpdate 函数可能会更改实时预览中影片剪辑的颜色以反映新的参数值。另外，它可以将新颜色存储在内部变量中。

这里是一个使用 onUpdate 函数的示例，该示例通过实时预览影片中的空影片剪辑传递参数值。假设某个带有标签的按钮组件具有变量 labelColor，该变量指定文本标签的颜色。以下代码在组件影片主时间轴的第 1 帧中：

//定义 textColor 参数变量指定按钮标签文本的颜色。
buttonLabel.textColor = labelColor;

在实时预览影片中，将一个名为“xch”的空影片剪辑放置在实时预览影片中。然后将以下代码放置到实时预览影片的第 1 帧中。将“xch”添加到 labelColor 变量路径以通过 my_mc 影片剪辑传递变量：

//编写一个 onUpdate 函数，将“my_mc.”添加到参数变量名中：
function onUpdate (){
  buttonLabel.textColor = my_mc.labelColor;
}


or

可用性

Flash 4。不鼓励使用此运算符，推荐使用 ||（逻辑 OR） 运算符。

用法

condition1 or condition2

参数

condition1、2 计算结果为 true 或 false 的表达式。

返回

无。

说明

运算符；计算 condition1 和 condition2，如果两个表达式中的任何一个为 true，则整个表达式为 true。

另请参见

||（逻辑 OR）、|（按位 OR）


ord

可用性

Flash Player 4。不鼓励使用此函数，推荐使用 String 类的方法和属性。

用法

ord(character)

参数

character 要转换为 ASCII 代码数字的字符。

返回

无。

说明

字符串函数；将字符转换为 ASCII 代码数字。

另请参见

String 类


_parent

可用性

Flash Player 5。

用法

_parent.property
_parent._parent.property

说明

标识符；指定或返回一个引用，该引用指向包含当前影片剪辑或对象的影片剪辑或对象。当前对象是包含引用 _parent 的动作脚本代码的对象。使用 _parent 可以指定一个相对路径，该路径指向当前影片剪辑或对象之上的影片剪辑或对象。

示例

在下面的示例中，影片剪辑 desk 是影片剪辑 classroom 的子级。当以下脚本在影片剪辑 desk 内执行时，播放头将跳到影片剪辑 classroom 时间轴中的第 10 帧。

_parent.gotoAndStop(10);

另请参见

_root、targetPath


parseFloat()

可用性

Flash Player 5。

用法

parseFloat(string)

参数

string 要读取并转换为浮点数的字符串。

返回

一个数字或 Nan。

说明

函数；将字符串转换为浮点数。此函数读取（或“分析”）并返回字符串中的数字，直到它到达不是数字（其初始含义为数字）部分的字符。如果字符串不是以一个可以分析的数字开始的，则 parseFloat 返回 NaN。有效整数前面的空白将被忽略，有效整数后面的非数值字符也将被
忽略。

示例

下面的示例使用 parseFloat 函数计算各种类型的数字。

parseFloat(" -2") 返回 -2

parseFloat(" 2.5") 返回 2.5

parseFloat("3.5e6") 返回 3.5e6 或 3500000

parseFloat("foobar") 返回 NaN

parseFloat(" 5.1") 返回 5.1

parseFloat("3.75math") 返回 3.75

parseFloat("0garbage") 返回 0

另请参见

NaN


parseInt

可用性

Flash Player 5。

用法

parseInt(expression [, radix])

参数

expression 转换为整数的字符串。

radix 可选；表示要分析数字的基数（基）的整数。合法值为 2 到 36。

返回

一个数字或 NaN。

说明

函数；将字符串转换为整数。如果参数中指定的字符串不能转换为数字，则此函数返回 NaN。以 0x 开头的字符串被解释为十六进制数字。以 0 开头的整数或指定基数为 8 的整数被解释为八进制数字。有效整数前面的空白将被忽略，有效整数后面的非数值字符也将被忽略。

示例

下面的示例使用 parseInt 函数计算各种类型的数字。

parseInt("3.5")

// 返回 3

parseInt("bar")
// 返回 NaN

parseInt("4foo")
// 返回 4

以下是十六进制转换的示例：

parseInt("0x3F8")
// 返回 1016

parseInt("3E8", 16)
// 返回 1000

以下是一个二进制转换的示例：

parseInt("1010", 2)
// 返回 10 （二进制 1010 的十进值表示形式）

以下是八进制数字分析的示例：

parseInt("0777")
parseInt("777", 8)
// 返回 511 （八进制 777 的十进值表示形式）


play()

可用性

Flash 2。

用法

play()

参数

无。

返回

无。

说明

函数；在时间轴中向前移动播放头。

示例

下面的代码使用 if 语句检查用户输入的名称值。如果用户输入 Steve，则调用 play() 动作，而且播放头在时间轴中向前移动。如果用户输入 Steve 以外的任何其它内容，则不播放 SWF 文件，而显示带有变量名 alert 的文本字段。

stop();
if (name == "Steve") {
  play();
} else {
  alert="You are not Steve!";
}


prevFrame()

可用性

Flash 2。

用法

prevFrame()

参数

无。

返回

无。

说明

函数；将播放头转到前一帧并停止。如果当前帧为第 1 帧，则播放头不移动。

示例

当用户单击附加了以下处理函数的按钮时，播放头移到上一帧。

on (release) {
  prevFrame();
}

另请参见

MovieClip.prevFrame()


prevScene()

可用性

Flash 2。

用法

prevScene()

参数

无。

返回

无。

说明

函数；将播放头移到前一场景的第 1 帧并停止。

另请参见

nextScene()


print()

可用性

Flash Player 4.20。

注意：如果您要为 Flash Player 7 或更高版本进行创作，则可以创建一个 PrintJob 对象，它将为您（和用户）提供对打印进程的更多控制。有关更多信息，请参见 PrintJob 类条目。

用法

print(target, "Bounding box")

参数

target 要打印的影片剪辑的实例名称。默认情况下，将打印目标实例中的所有帧。如果要打印影片剪辑中的特定帧，请将 #p 帧标签分配给这些帧。

Bounding box 设置影片剪辑打印区域的修饰符。将此参数用引号引起来，然后指定以下值之一：

  • bmovie 将影片中某一特定帧的边框指定为该影片中所有可打印帧的打印区域。为要将其边框用作打印区域的帧分配一个 #b 帧标签。
  • bmax 将所有可打印帧的所有边框的合并区域指定为打印区域。当影片中可打印帧的大小各不相同时，可指定 bmax。
  • bframe 指定将每个可打印帧的边框用作该帧的打印区域。这将为每个帧更改打印区域，并缩放对象以符合打印区域。如果在每个帧中有不同大小的对象，而您希望每个对象都充满打印页面，请使用 bframe。

返回

无。

说明

函数；根据在参数中所指定的边界（bmovie、bmax 或 bframe）打印 target 影片剪辑。如果要打印目标影片剪辑中的特定帧，请将 #P 帧标签附加到这些帧。尽管 print() 所实现的打印品质高于 printAsBitmap()，但是它不能用于打印使用 Alpha 透明度或特殊色彩效果的影片剪辑。

如果对 Bounding box 参数使用 bmovie，但未向帧分配 #b 标签，则打印区域由加载的影片的舞台大小来确定。（加载的影片不继承主影片的舞台大小。）

必须先完全加载完影片中的所有可打印元素才能开始打印。

Flash Player 打印功能支持 PostScript 和非 PostScript 打印机。非 PostScript 打印机将矢量转换成位图。

示例

下面的示例打印影片剪辑 my_mc 中所有可打印的帧，而打印区域则由带有 #b 帧标签的帧的边框来定义：

print(my_mc,"bmovie");

下面的示例打印 my_mc 中所有可打印的帧，而打印区域由每个帧的边框定义：

print(my_mc,"bframe");

另请参见

printAsBitmap()、printAsBitmapNum()、PrintJob 类、printNum()


printAsBitmap()

可用性

Flash Player 4.20。

注意：如果您要为 Flash Player 7 或更高版本进行创作，则可以创建一个 PrintJob 对象，它将为您（和用户）提供对打印进程的更多控制。有关更多信息，请参见 PrintJob 类条目。

用法

printAsBitmap(target, "Bounding box")

参数

target 要打印的影片剪辑的实例名称。默认情况下，打印影片中的所有帧。如果要打印影片中的特定帧，可将 #P 帧标签附加到这些帧。

Bounding box 设置影片打印区域的修饰符。将此参数用引号引起来，然后指定以下值之一：

  • bmovie 将影片中某一特定帧的边框指定为该影片中所有可打印帧的打印区域。为要将其边框用作打印区域的帧分配一个 #b 帧标签。
  • bmax 将所有可打印帧的所有边框的合并区域指定为打印区域。当影片中可打印帧的大小各不相同时，请指定 bmax 参数。
  • bframe 指定将每个可打印帧的边框用作该帧的打印区域。这将为每个帧更改打印区域，并缩放对象以符合打印区域。如果在每个帧中有不同大小的对象，而您希望每个对象都充满打印页面，请使用 bframe。

返回

无。

说明

函数；根据参数中指定的边界（bmovie、bmax 或 bframe）将 target 影片剪辑打印为位图。printAsBitmap() 可用于打印特定的影片，这种影片包含的帧具有使用透明度或色彩效果的对象。printAsBitmap() 动作以打印机可用的最高分辨率进行打印，以达到尽可能高的清晰度和品质。

如果影片不包含 Alpha 透明度或色彩效果，Macromedia 建议您使用 print() 以获得更好的品质效果。

如果对 Bounding box 参数使用 bmovie，但未向帧分配 #b 标签，则打印区域由加载的影片的舞台大小来确定。（加载的影片不继承主影片的舞台大小。）

必须先完全加载完影片中的所有可打印元素才能开始打印。

Flash Player 打印功能支持 PostScript 和非 PostScript 打印机。非 PostScript 打印机将矢量转换成位图。

另请参见

print()、printAsBitmapNum()、PrintJob 类、printNum()


printAsBitmapNum()

可用性

Flash Player 5。

注意：如果您要为 Flash Player 7 或更高版本进行创作，则可以创建一个 PrintJob 对象，它将为您（和用户）提供对打印进程的更多控制。有关更多信息，请参见 PrintJob 类条目。

用法

printAsBitmapNum(level, "Bounding box")

参数

level Flash Player 中要打印的级别。默认情况下，打印该级别中的所有帧。如果要打印该级别中的特定帧，请将 #p 帧标签分配给这些帧。

Bounding box 设置影片打印区域的修饰符。将此参数用引号引起来，然后指定以下值之一：

  • bmovie 将影片中某一特定帧的边框指定为该影片中所有可打印帧的打印区域。为要将其边框用作打印区域的帧分配一个 #b 帧标签。
  • bmax 将所有可打印帧的所有边框的合并区域指定为打印区域。当影片中可打印帧的大小各不相同时，请指定 bmax 参数。
  • bframe 指定将每个可打印帧的边框用作该帧的打印区域。这将为每个帧更改打印区域，并缩放对象以符合打印区域。如果在每个帧中有不同大小的对象，而您希望每个对象都充满打印页面，请使用 bframe。

返回

无。

说明

函数；根据参数中指定的边界（bmovie、bmax 或 bframe）将 Flash Player 中的级别打印为位图。printAsBitmapNum() 可用于打印特定的影片，这种影片包含的帧具有使用透明度或色彩效果的对象。printAsBitmapNum() 动作以打印机可用的最高分辨率进行打印，以达到尽可能高的清晰度和品质。在指明将帧作为位图打印的情况下，若要计算该帧的可打印文件的大小，可将像素宽度、像素高度和打印机分辨率相乘。

如果影片不包含 Alpha 透明度或色彩效果，建议您使用 printNum() 以获得更好的品质效果。

如果对 Bounding box 参数使用 bmovie，但未向帧分配 #b 标签，则打印区域由加载的影片的舞台大小来确定。（加载的影片不继承主影片的舞台大小。）

必须先完全加载完影片中的所有可打印元素才能开始打印。

Flash Player 打印功能支持 PostScript 和非 PostScript 打印机。非 PostScript 打印机将矢量转换成位图。

另请参见

print()、printAsBitmap()、PrintJob 类、printNum()


PrintJob 类

可用性

Flash Player 7。

说明

PrintJob 类用于创建内容并将其打印为一页或多页。除了对 print() 方法提供的打印功能进行改进之外，此类还允许呈现屏幕上未显示的动态内容、通过单个打印对话框提示用户，并且可以打印未经缩放的文档，使用的比例与内容的比例相同。此功能特别适用于呈现和打印外部动态内容，例如数据库内容和动态文本。

另外，使用由 PrintJob.start() 填充的属性，文档可以访问您的用户打印机设置，例如页高度、宽度和方向，并且您可以配置文档以动态设置适用于打印机设置的 Flash 内容的格式。

PrintJob 类的方法摘要

您必须以下表中列出的顺序使用 PrintJob 类的方法。

方法 | 说明
PrintJob.start() | 显示操作系统的打印对话框并开始后台处理。
PrintJob.addPage() | 将一页添加到打印后台处理程序。
PrintJob.send() | 将经过后台处理的页发送到打印机。

PrintJob 类的构造函数

可用性

Flash Player 7。

用法

my_pj = new PrintJob()

参数

无。

返回

无。

说明

构造函数；创建一个可用于打印一页或多页的 PrintJob 对象。

若要实现打印作业，请按照所显示的顺序使用这些方法：

// 创建 PrintJob 对象
my_pj = new PrintJob();                        // 实例化对象

// 显示打印对话框
my_pj.start();                                 // 启动打印作业

// 将指定的区域添加到打印作业
// 为要打印的每一页都重复一次
my_pj.addPage([params]);                       // 将页发送到后台处理程序
my_pj.addPage([params]);
my_pj.addPage([params]);
my_pj.addPage([params]);

// 将页从后台处理程序发送到打印机
my_pj.send();                                   // 打印页

// 进行清理
delete my_pj;                                    // 删除对象

在您自己的 PrintJob 对象实现中，应先检查 PrintJob.start() 和 PrintJob.addPage() 的返回值，然后再继续打印。请参见 PrintJob.addPage() 的示例。

在任何已创建的 PrintJob 对象不再活动之前（即，已成功完成或失败），不能创建 PrintJob 对象。如果在第一个 PrintJob 对象仍处于活动状态时尝试（通过调用 new PrintJob()）创建另一个 PrintJob 对象，则将不会创建第二个 PrintJob 对象。

示例

请参见PrintJob.addPage()。

另请参见

PrintJob.addPage()、PrintJob.send()、PrintJob.start()


PrintJob.addPage()

可用性

Flash Player 7。

用法

my_pj.addPage(target [, printArea] [, options ] [, frameNumber])

参数

target 要打印的影片剪辑的级别或实例名称。传递一个数字来指定级别（例如，0 是 _root 影片）或传递一个字符串（括在引号中）来指定影片剪辑的实例名称。

printArea 一个指定要打印的区域的可选对象，格式如下：

{xMin:topLeft, xMax:topRight, yMin:bottomLeft, yMax:bottomRight}

您为 printArea 指定的坐标表示屏幕像素，这些屏幕像素相对于 _root 影片（如果 target = 0）的注册点或 target 指定的级别或影片剪辑的注册点。您必须提供所有四个坐标。宽度 (xMax-xMin) 和高度 (yMax-yMin) 必须都大于 0。

磅是用于打印的度量单位，像素是屏幕的度量单位；一磅的大小等于一个像素的大小。您可以使用以下换算公式将英寸或厘米转换为缇、像素或磅（1 缇为 1/20 像素）：

  • 1 像素 = 1 磅 = 1/72 英寸 = 20 缇 (twip)
  • 1 英寸 = 72 像素 = 72 磅 = 1440 缇
  • 1 厘米 = 567缇

注意：如果以前曾使用 print()、printAsBitmap()、printAsBitmapNum() 或 printNum() 从 Flash 进行打印，则使用了 #b 帧标签来指定打印区域。当使用 addPage() 方法时，您必须使用 printArea 参数来指定打印区域；#b 帧标签将被忽略。

如果省略了 printArea 参数或错误地传递了该参数，则将打印 target 的整个舞台区域。如果不想为 printArea 指定值，但想为 options 或 frameNumber 指定值，则为 printArea 传递 null。

options 一个可选参数；指定是作为矢量打印还是作为位图打印，格式如下：

{printAsBitmap:Boolean}

默认情况下，将以矢量格式打印页。若要作为位图打印 target，则为 printAsBitmap 传递 true。默认值是 false，该值表示要求进行矢量打印。当确定要使用的值时，请记住以下建议：

  • 如果要打印的内容包括位图图像，则应使用 {printAsBitmap:true} 以包括任何透明和色彩效果。
  • 如果内容不包括位图图像，则应忽略此参数或者使用 {printAsBitmap:false} 以较高品质的矢量格式打印内容。

如果省略或错误地传递了 options，则执行矢量打印。如果您不想为 options 指定值，但想为 frameNumber 指定值，则为 options 传递 null。

frameNumber 一个可选数字，用于指定要打印的帧；请注意，将不调用该帧上的任何动作脚本。如果省略此参数，则打印 target 中的当前帧。

注意：如果以前曾使用 print()、printAsBitmap()、printAsBitmapNum() 或 printNum() 从 Flash 进行打印，则可能在多个帧上使用了 #p 帧标签指定要打印哪些页。若要使用 PrintJob.addPage() 打印多个帧，您必须对每个帧发出 PrintJob.addPage() 命令；#p 帧标签将被忽略。有关以编程的方式实现此目的的方法，请参见本条目稍后部分中的示例。

返回

如果页被成功发送到打印后台处理程序，则为布尔值 true；否则为 false。

说明

方法；将指定的级别或影片剪辑作为单个页发送到打印后台处理程序。在使用此方法之前，您必须使用 PrintJob.start()；在对打印作业调用了一次或多次 PrintJob.addPage() 之后，您必须使用 PrintJob.send() 将经过后台处理的页发送到打印机。

如果此方法返回 false（例如，如果您未调用 PrintJob.start() 或者用户取消了打印作业），则对 PrintJob.addPage() 的任何后续调用都将失败。但是，如果此前对 PrintJob.addPage() 的调用成功，则结束的 PrintJob.send() 命令会将经成功后台处理的所有页发送到打印机。

如果为 printArea 传递了一个值，则 xMin 和 yMin 坐标对应于页上可打印区域的左上角（坐标 0,0）；可打印区域是由 PrintJob.start() 设置的 pageHeight 和 pageWidth 属性确定的。因为打印输出会和页上可打印区域的左上角对齐，所以如果 printArea 中定义的区域大于页上的可打印区域，则打印输出在右边和/或底部会被截断。如果没有为 printArea 传递值并且舞台大于可打印区域，则发生同样类型的截断操作。

如果要在打印前对影片剪辑进行缩放，可在调用此方法前设置其 MovieClip._xscale 和 MovieClip._yscale 属性，并在打印后将它们设回原始值。影片剪辑的缩放与 printArea 无关。也就是说，如果指定打印大小为 50 x 50 像素的区域，则将打印 2500 像素。如果对影片剪辑进行了缩放，同样会打印 2500 像素，但是将以缩放的大小进行打印。

Flash Player 打印功能支持 PostScript 和非 PostScript 打印机。非 PostScript 打印机将矢量转换成位图。

示例

下面的示例说明了发布 addPage() 命令的多种方式。

my_btn.onRelease = function()
{
  var pageCount = 0;

  var my_pj = new PrintJob();

  if (my_pj.start())
  {
    // 以矢量格式打印 _root 影片的全部当前帧
    if (my_pj.addPage(0))
    {
      pageCount++;

      // 从 0,0 开始，以矢量格式打印 _root 影片当前帧的
      // 400 像素宽 500 像素高的区域
      if (my_pj.addPage(0, {xMin:0,xMax:400,yMin:0,yMax:500}))
      {
        pageCount++;

        // 从 0,0 开始，以位图格式打印 _root 影片第 1 帧的
        // 400 像素宽 500 像素高的区域
        if (my_pj.addPage(0, {xMin:0,xMax:400,yMin:0,yMax:500},
            {printAsBitmap:true}, 1))
        {
          pageCount++;

          // 从 0,0 右侧 50 像素、下方 70 像素开始，
          // 以矢量格式打印级别 5 的第 4 帧的
          // 500 像素宽 600 像素高的区域
          if (my_pj.addPage(5, {xMin:50,xMax:550,yMin:70,yMax:670},null, 4))
          {
            pageCount++;

            // 从 0,0 开始，以位图格式打印
            // “dance_mc”影片剪辑的第 3 帧的
            // 400 像素宽 400 像素高的区域
            if (my_pj.addPage("dance_mc",
                {xMin:0,xMax:400,yMin:0,yMax:400},{printAsBitmap:true}, 3))
            {
              pageCount++;

              // 从 0,0 开始，以矢量格式打印
              // “dance_mc”影片剪辑的第 3 帧的 400 像素宽 600 像素高的区域，
              // 大小为实际大小的 50%
              var x = dance_mc._xscale;
              var y = dance_mc._yscale;
              dance_mc._xscale = 50;
              dance_mc._yscale = 50;

              if (my_pj.addPage("dance_mc",
                  {xMin:0,xMax:400,yMin:0,yMax:600},null, 3))
              {
                pageCount++;
              }

              dance_mc._xscale = x;
              dance_mc._yscale = y;
            }
          }
        }
      }
    }
  }

  if (pageCount)
  {
    my_pj.send();
  }
  delete my_pj;
}

另请参见

PrintJob.send()、PrintJob.start()


PrintJob.send()

可用性

Flash Player 7。

用法

my_pj.send()

参数

无。

返回

无。

说明

方法；用在 PrintJob.start() 和 PrintJob.addPage() 之后，将经过后台处理的页发送到打印机。

示例

请参见PrintJob.addPage()。

另请参见

PrintJob.addPage()、PrintJob.start()


PrintJob.start()

可用性

Flash Player 7。

用法

my_pj.start()

参数

无。

返回

如果出现打印对话框时用户单击“确定”，则为布尔值 true，如果用户单击“取消”或出现错误，则为 false。

说明

方法；显示操作系统的打印对话框并开始后台处理。打印对话框允许用户更改打印设置，然后填充以下只读属性（请注意，1 磅等于屏幕上的 1 个像素）：

属性 | 类型 | 单位 | 备注
PrintJob.paperHeight | 数字 | 磅 | 纸张整体高度
PrintJob.paperWidth | 数字 | 磅 | 纸张整体宽度
PrintJob.pageHeight | 数字 | 磅 | 页上实际可打印区域的高度；忽略任何用户设置的边距
PrintJob.pageWidth | 数字 | 磅 | 页上实际可打印区域的宽度；忽略任何用户设置的边距
PrintJob.orientation | 字符串 | 无 | “纵向”或“横向”

当用户在打印对话框中单击“确定”之后，播放器开始在后台将打印作业处理到操作系统。您应该发布影响打印输出的任何动作脚本命令，然后可以使用 PrintJob.addPage() 命令开始将页发送到后台处理程序。如果愿意，可以使用此方法返回的高度、宽度和方向属性确定如何设置打印输出的格式。

因为在单击“确定”后用户马上会看到诸如“正在打印第 1 页”这样的信息，所以应该尽快调用 PrintJob.addPage() 和 PrintJob.send() 命令。

如果此方法返回 false（例如，如果用户单击“取消”而不是“确定”），则对 PrintJob.addPage() 和 PrintJob.send() 的任何后续调用都将失败。但是，如果只测试此返回值，而不需要发出 PrintJob.addPage() 命令，则仍需要删除 PrintJob 对象，以确保清除该打印后台处理程序，如下所示。

var my_pj = new PrintJob();
var myResult = my_pj.start();
  if(myResult){
    // 此处为 addPage() 和 send() 语句
  }
delete my_pj;

示例

请参见 PrintJob.addPage()。

另请参见

PrintJob.addPage()、PrintJob.send()


printNum()

可用性

Flash Player 5。

注意：如果您要为 Flash Player 7 或更高版本进行创作，则可以创建一个 PrintJob 对象，它将为您（和用户）提供对打印进程的更多控制。有关更多信息，请参见 PrintJob 类条目。

用法

printNum (level, "Bounding box")

参数

level Flash Player 中要打印的级别。默认情况下，打印该级别中的所有帧。如果要打印该级别中的特定帧，请将 #p 帧标签分配给这些帧。

Bounding box 设置影片打印区域的修饰符。将此参数用引号引起来，然后指定以下值之一：

  • bmovie 将影片中某一特定帧的边框指定为该影片中所有可打印帧的打印区域。为要将其边框用作打印区域的帧分配一个 #b 帧标签。
  • bmax 将所有可打印帧的所有边框的合并区域指定为打印区域。当影片中可打印帧的大小各不相同时，请指定 bmax 参数。
  • bframe 指定将每个可打印帧的边框用作该帧的打印区域。这将为每个帧更改打印区域，并缩放对象以符合打印区域。如果在每个帧中有不同大小的对象，而您希望每个对象都充满打印页面，请使用 bframe。

返回

无。

说明

函数；根据在 Bounding box 参数中指定的边界（"bmovie"、"bmax"、"bframe"）打印 Flash Player 中的级别。如果要打印目标影片中的特定帧，请将 #P 帧标签附加到这些帧。尽管使用 printNum() 实现的打印品质高于使用 printAsBitmapNum()，但是不能使用 printNum() 打印带有 Alpha 透明度或特殊色彩效果的影片。

如果对 Bounding box 参数使用 bmovie，但未向帧分配 #b 标签，则打印区域由加载的影片的舞台大小来确定。（加载的影片不继承主影片的舞台大小。）

必须先完全加载完影片中的所有可打印元素才能开始打印。

Flash Player 打印功能支持 PostScript 和非 PostScript 打印机。非 PostScript 打印机将矢量转换成位图。

另请参见

print()、printAsBitmap()、printAsBitmapNum()、PrintJob 类


private

可用性

Flash Player 6。

用法

class someClassName{
  private var name;
  private function name() {
    // 此处是您的语句
  }
}

注意：若要使用此关键字，必须在 FLA 文件的“发布设置”对话框的“Flash”选项卡上指定“动作脚本 2.0”和“Flash Player 6 或更高版本”。仅支持在外部脚本文件中使用此关键字，而不支持在用“动作”面板编写的脚本中使用此关键字。

参数

name 要指定为 private 的变量或函数的名称。

说明

关键字；指定变量或函数只对声明或定义该变量或函数的类或该类的子类可用。默认情况下，变量或函数对调用它的任何类都可用。使用此关键字可以限制对变量或函数的访问。有关更多信息，请参见控制成员访问。

您只能在类定义中使用此关键字，不能在接口定义中使用。

另请参见

public、static


public

Flash Player 6。

用法

class someClassName{
  public var name;
  public function name() {
    // 此处是您的语句
  }
}

注意：若要使用此关键字，必须在 FLA 文件的“发布设置”对话框的“Flash”选项卡上指定“动作脚本 2.0”和“Flash Player 6 或更高版本”。仅支持在外部脚本文件中使用此关键字，而不支持在用“动作”面板编写的脚本中使用此关键字。

参数

name 要指定为 public 的变量或函数的名称。

说明

关键字；指定变量或函数对调用它的任何类都可用。因为默认情况下变量和函数是公共的，所以使用此关键字主要是出于格式上的原因。例如，在包含 private 或 static 变量的代码块中，您可能要使用此关键字来保持格式一致。

示例

下面两个代码块在功能上是相同的。

private var age:Number;
public var name:String;
static var birth:Date;

private var age:Number;
var name:String;
static var birth:Date;

有关更多信息，请参见控制成员访问。

另请参见

private、static


_quality

可用性

Flash Player 5。

用法

_quality

说明

属性（全局）；设置或获取用于影片的呈现品质。设备字体始终是带有锯齿的，因此不受 _quality 属性的影响。

_quality 属性可设置为下列值：

  • "LOW" 低呈现品质。不消除图形的锯齿，位图不进行平滑处理。
  • "MEDIUM" 中等呈现品质。使用 2 x 2 网格（以像素为单位）消除图形锯齿，但不对位图进行平滑处理。适用于不包含文本的影片。
  • "HIGH" 高呈现品质。使用 4 x 4 网格（以像素为单位）消除图形锯齿，如果影片是静态的，则对位图进行平滑处理。这是 Flash 使用的默认呈现品质设置。
  • "BEST" 极高的呈现品质。使用 4 x 4 网格（以像素为单位）消除图形锯齿，并且始终对位图进行平滑处理。

示例

下面的示例将呈现品质设置为 LOW：

_quality = "LOW";

另请参见

_highquality、toggleHighQuality()


random

可用性

Flash Player 4。不鼓励在 Flash 5 中使用该函数，而推荐使用 Math.random()。

用法

random(value)

参数

value 一个整数。

返回

一个整数。

说明

函数；返回一个随机整数，此整数介于 0 和 value 参数中指定的整数减 1 之间。

示例

下面对 random() 的使用将返回 0、1、2、3 或 4 中的一个值：

random(5);

另请参见

Math.random()


removeMovieClip()

可用性

Flash Player 4。

用法

removeMovieClip(target)

参数

target 用 duplicateMovieClip() 创建的影片剪辑实例的目标路径，或者是用
MovieClip.attachMovie() 或 MovieClip.duplicateMovieClip() 创建的影片剪辑的实例
名称。

返回

无。

说明

函数；删除指定的影片剪辑。

另请参见

duplicateMovieClip()、MovieClip.duplicateMovieClip()、MovieClip.attachMovie()、
MovieClip.removeMovieClip()


return

可用性

Flash Player 5。

用法

return[expression]

参数

expression 要作为函数值计算并返回的字符串、数字、数组或对象。此参数是可选的。

返回

如果提供了 expression 参数，则返回计算的结果。

说明

语句；指定由函数返回的值。return 动作计算 expression 并将结果作为它在其中执行的函数的值返回。return 动作导致函数停止运行，并用返回值代替函数。如果单独使用 return 语句，则它返回 null。

您不能返回多个值。如果尝试返回多个值，则将只返回最后一个值。在下面的示例中，返回 c：

return a, b, c ;

示例

下面的示例在 sum() 函数体内使用 return 动作，以返回三个参数相加后的值。下一行代码调用 sum() 并将返回值赋予变量 newValue：

function sum(a, b, c){
  return a + b + c;
}
newValue = sum(4, 32, 78);
trace(newValue);
// 将 114 发送到“输出”面板

另请参见

function


_root

可用性

Flash Player 5。

用法

_root.movieClip
_root.action
_root.property

参数

movieClip 影片剪辑的实例名称。

action 动作或方法。

property MovieClip 对象的属性。

说明

属性；指定或返回指向根影片时间轴的引用。如果影片有多个级别，则根影片时间轴位于包含当前正在执行脚本的级别上。 例如，如果级别 1 中的脚本计算 _root，则返回 _level1。

指定 _root 与在当前级别内用斜杠记号 (/) 指定绝对路径的效果相同。

注意：如果包含 _root 的影片被加载到另一个影片中，则 _root 指的是加载影片的时间轴，而不是包含 _root 的时间轴。如果要确保 _root 指的是被加载影片的时间轴（即使该影片被加载到另一个影片中），请使用 MovieClip._lockroot。

示例

下面的示例停止包含当前正在执行脚本的级别的时间轴：

_root.stop();

下面的示例将当前级别中的时间轴移至第 3 帧：

_root.gotoAndStop(3);

另请参见

MovieClip._lockroot、_parent、targetPath


scroll

可用性

Flash Player 4。

用法

textFieldVariableName.scroll = x

说明

属性；一种不鼓励使用的属性，控制如何显示与某变量关联的文本字段中的信息。scroll 属性定义文本字段开始显示内容的位置；设置此属性后，当用户滚动该文本字段时，Flash Player 将更新此属性。scroll 属性很有用，该属性可以帮助用户定位到长篇文章的特定段落，或者创建滚动文本字段。可以获取和修改此属性。

示例

下面是附加到“向上”按钮上的代码，该按钮用于滚动文本字段 myText：

on (release) {
  myText.scroll = myText.scroll + 1;
}

另请参见

TextField.maxscroll、TextField.scroll


Selection 类

可用性

Flash Player 5。

说明

利用 Selection 类可以设置和控制插入点所在的文本字段，即，具有焦点的字段。选择范围 (Selection-span) 索引是从零开始的（例如，第一个位置为 0、第二个位置为 1，依此类推）。

Selection 类没有构造函数，这是因为在同一时间只能有一个当前具有焦点的字段。

Selection 类的方法摘要

方法 | 说明
Selection.addListener() | 注册一个对象，以便在调用 onSetFocus 时接收通知。
Selection.getBeginIndex() | 返回选择范围的开始索引。如果没有索引或当前没有选中的字段， 则返回 -1。
Selection.getCaretIndex() | 返回当前具有焦点的选择范围中当前插入符号（插入点）的位置。如果没有插入符号位置，或者当前没有具有焦点的选择范围，则返回 -1。
Selection.getEndIndex() | 返回选择范围的结束索引。如果没有索引或当前没有选中的字段， 则返回 -1。
Selection.getFocus() | 返回当前具有焦点的文本字段的变量的名称。如果当前没有具有焦点的文本字段，则返回 null。
Selection.removeListener() | 删除用 addListener() 注册的对象。
Selection.setFocus() | 使与指定变量关联的文本字段获得焦点。
Selection.setSelection() | 设置选择范围的开始索引和结束索引。

Selection 类的侦听器摘要

侦听器 | 说明
Selection.onSetFocus | 当输入焦点更改时获得通知。


Selection.addListener()

可用性

Flash Player 6。

用法

Selection.addListener(newListener)

参数

newListener 具有 onSetFocus 方法的对象。

返回

无。

说明

方法；注册一个对象，以接收键盘焦点更改通知。当焦点更改时（例如，每当调用
Selection.setFocus() 时），所有用 addListener() 注册的侦听对象都调用它们的
onSetFocus 方法。可以有多个对象侦听焦点更改通知。如果已经注册了侦听器 newListener，则不会发生任何更改。


Selection.getBeginIndex()

可用性

Flash Player 5。

用法

Selection.getBeginIndex()

参数

无。

返回

一个整数。

说明

方法；返回选择范围开始处的索引。如果不存在索引，或者当前没有具有焦点的文本字段，则该方法返回 -1。选择范围索引是从零开始的（例如，第一个位置为 0、第二个位置为 1，依此
类推）。


Selection.getCaretIndex()

可用性

Flash Player 5。

用法

Selection.getCaretIndex()

参数

无。

返回

一个整数。

说明

方法；返回闪烁插入点（插入符号）位置的索引。如果没有显示闪烁插入点，则该方法返回 -1。选择范围索引是从零开始的（例如，第一个位置为 0、第二个位置为 1，依此类推）。


Selection.getEndIndex()

可用性

Flash Player 5。

用法

Selection.getEndIndex()

参数

无。

返回

一个整数。

说明

方法；返回当前具有焦点的选择范围的结束索引。如果不存在索引，或者当前没有具有焦点的选择范围，则该方法返回 -1。选择范围索引是从零开始的（例如，第一个位置为 0、第二个位置为 1，依此类推）。


Selection.getFocus()

可用性

Flash Player 5。按钮和文本字段的实例名称在 Flash Player 6 和更高版本中可正常工作。

用法

Selection.getFocus()

参数

无。

返回

字符串或 null。

说明

方法；返回具有焦点的文本字段的变量名。如果没有任何文本字段具有焦点，则该方法返回 null。如果当前具有焦点的是一个按钮，并且该按钮是 Button 对象，则 getFocus() 以字符串形式返回目标路径。如果当前具有焦点的是一个文本字段，并且该文本字段是 TextField 对象，则 getFocus() 以字符串形式返回目标路径。

如果按钮影片剪辑是当前具有焦点的按钮，则 Selection.getFocus() 返回该按钮影片剪辑的目标路径。如果当前具有焦点的是具有实例名称的文本字段，则 Selection.getFocus() 返回该 TextField 对象的目标路径。否则，它返回该文本字段的变量名。


Selection.onSetFocus

可用性

Flash Player 6。

用法

someListener.onSetFocus = function(oldFocus, newFocus){
statements;
}

说明

侦听器；当输入焦点更改时获得通知。若要使用 onSetFocus，必须创建一个侦听器对象。然后可以为 onSetFocus 定义一个函数，并使用 addListener() 将该侦听器注册到 Selection 对象，如下所示：

someListener = new Object();
someListener.onSetFocus = function () { ... };
Selection.addListener(someListener);

侦听器可以使不同的代码片段协同工作，因为多个侦听器可以接收有关单个事件的通知。

另请参见

Selection.addListener()


Selection.removeListener()

可用性

Flash Player 6。

用法

Selection.removeListener(listener)

参数

listener 不再接收焦点通知的对象。

返回

如果成功删除了 listener，则该方法返回值 true。如果未成功删除 listener（例如，如果
listener 不在 Selection 对象的侦听器列表中），则该方法返回值 false。

说明

方法；删除以前用 addListener() 注册的对象。


Selection.setFocus()

可用性

Flash Player 5。按钮和影片剪辑的实例名称只在 Flash Player 6 和更高版本中可正常工作。

用法

Selection.setFocus("instanceName")

参数

instanceName 一个字符串，指定按钮、影片剪辑或文本字段的实例名的路径。

返回

事件。

说明

方法；使 instanceName 指定的可选择（可编辑）文本字段、按钮或影片剪辑具有焦点。instanceName 参数必须是表示实例路径的文本字符串。可以使用点或斜杠记号指定路径。也可以使用相对路径或绝对路径。如果使用动作脚本 2.0，则必须使用点记号表示法。

如果传递 null，则清除当前焦点。

示例

下面的示例使与主时间轴上的 myVar 关联的文本字段具有焦点。因为 instanceName 参数是绝对路径，所以您可以从任何时间轴调用该动作。

Selection.setFocus("_root.myVar");

在下面的示例中，与 myVar 关联的文本字段位于主时间轴上名为 myClip 的影片剪辑中。您可以使用下面两种路径之一来设置焦点；第一条语句使用的是相对路径，第二条语句使用的是绝对路径。

Selection.setFocus("myClip.myVar");
Selection.setFocus("_root.myClip.myVar");


Selection.setSelection()

可用性

Flash Player 5。

用法

Selection.setSelection(start, end)

参数

start 选择范围的开始索引。

end 选择范围的结束索引。

返回

无。

说明

方法；设置当前具有焦点的文本字段的选择范围。新的选择范围将从 start 参数中指定的索引开始，到 end 参数中指定的索引结束。选择范围索引是从零开始的（例如，第一个位置为 0、第二个位置为 1，依此类推）。如果当前没有具有焦点的文本字段，则此方法无效。


set

可用性

Flash Player 6。

用法

function set property(varName) {
  // 此处是您的语句
}

注意：若要使用此关键字，必须在 FLA 文件的“发布设置”对话框的“Flash”选项卡上指定“动作脚本 2.0”和“Flash Player 6 或更高版本”。仅支持在外部脚本文件中使用此关键字，而不支持在用“动作”面板编写的脚本中使用此关键字。

参数

property 您要用来指 set 将访问的属性的单词；此值必须与对应的 get 命令中使用的值相同。

varName 设置您正在指定的值的局部变量。

返回

无。

说明

关键字；允许根据您在外部类文件中定义的类隐式“设置”与对象关联的属性。使用隐式设置方法允许您访问对象的属性，而不用直接访问对象。隐式获取/设置方法是对动作脚本 1 中 Object.addProperty() 方法的句法简化。

有关更多信息，请参见隐式获取/设置方法。

另请参见

get、Object.addProperty()


set variable

可用性

Flash Player 4。

用法

set(variable, expression)

参数

variable 保存 expression 参数值的标识符。

expression 分配给变量的值。

返回

无。

说明

语句；为变量赋值。variable 是保存数据的容器。容器本身始终不变，但内容可以更改。通过在 SWF 文件播放时更改变量的值，可以记录和保存有关用户所执行操作的信息、记录当 SWF 文件播放时更改的值，或者计算某条件是 true 还是 false。

变量可以保存任何类型的数据（例如，字符串、数字、布尔值、对象或影片剪辑）。每个 SWF 文件和影片剪辑的时间轴都有其自己的变量集，每个变量又都有其自己的独立于其它时间轴上的变量的值。

set 语句中不支持严格数据类型指定。如果使用此语句将某个变量设置为一个值，而该值的数据类型与类文件中与该变量关联的数据类型不同，则不引发编译器错误。

示例

此示例设置一个名为 orig_x_pos 的变量，该变量存储 ship 影片剪辑的原始 x 轴位置，以便以后在 SWF 文件中将船 (ship) 重置到其起始位置。

on (release) {
  set("orig_x_pos", getProperty ("ship", _x ));
}

上面的代码与下面的代码结果一样：

on (release) {
  orig_x_pos = ship._x;
}

另请参见

var、call()


setInterval()

可用性

Flash Player 6。

用法

setInterval(functionName, interval [, param1, param2, ..., paramN])

参数

functionName 一个函数名或者一个对匿名函数的引用。

interval 对 functionName 参数的两次调用之间的时间（以毫秒为单位）。

param1, param2, ..., paramN 传递到 function 或 methodName 参数的可选参数。

返回

间隔标识符，可以将该标识符传递给 clearInterval() 以取消该间隔。

说明

函数；在播放 SWF 文件时，每隔一定的时间，就调用函数、方法或对象。可以使用间隔函数更新来自数据库的变量或更新时间显示。

如果 interval 小于 SWF 文件的帧频（例如，每秒 10 帧 [fps] 相当于 100 毫秒），则按照尽可能接近 interval 的时间间隔调用间隔函数。而且必须使用 updateAfterEvent() 函数来确保以足够的频率刷新屏幕。如果 interval 大于 SWF 文件的帧频，则只有在每次播放头进入帧时才调用该间隔函数，这样可以尽可能减小每次刷新屏幕的影响。

示例

用法 1：下面的示例每隔 1000 毫秒（每隔 1 秒）调用一次匿名函数。

setInterval( function(){ trace("interval called"); }, 1000 );

用法 2：下面的示例定义两个事件处理函数并分别调用它们。对 setInterval() 的两次调用的结果都是每隔 1000 毫秒就向“输出”面板发送字符串 "interval called"。对 setInterval() 的第一个调用将调用 callback1() 函数，该函数包含 trace() 动作。对 setInterval() 的第二个调用将 "interval called" 字符串作为参数传递给函数 callback2()。

function callback1() {
  trace("interval called");
}

function callback2(arg) {
  trace(arg);
}

setInterval( callback1, 1000 );
setInterval( callback2, 1000, "interval called" );

用法 3：此示例使用对象的方法。当要调用为对象定义的方法时，必须使用此语法。

obj = new Object();
obj.interval = function() {
  trace("interval function called");
}

setInterval( obj, "interval", 1000 );

obj2 = new Object();
obj2.interval = function(s) {
  trace(s);
}
setInterval( obj2, "interval", 1000, "interval function called" );

必须使用第二种格式的 setInterval() 语法来调用对象的方法，如下所示：

setInterval( obj2, "interval", 1000, "interval function called" );

另请参见

clearInterval()、updateAfterEvent()


setProperty()

可用性

Flash Player 4。

用法

setProperty(target, property, value/expression)

参数

target 到要设置其属性的影片剪辑实例名称的路径。

property 要设置的属性。

value 属性的新文本值。

expression 计算结果为属性新值的公式。

返回

无。

说明

函数；当影片播放时，更改影片剪辑的属性值。

示例

当单击按钮时，此语句将名为 star 的影片剪辑的 _alpha 属性设置为 30%：

on (release) {
  setProperty("star", _alpha, "30");
}

另请参见

getProperty


SharedObject 类

可用性

Flash Player 6。

说明

共享对象相当强大：它们提供用户计算机上永久对象间的实时数据共享。您可以将本地共享对象看作“Cookie”。

您可以使用本地共享对象维持本地永久性。这是使用共享对象最简单的方式。例如，您可以调用 SharedObject.getLocal() 在播放器中创建共享对象，例如具有内存的计算器。因为共享对象在本地是永久性的，所以当 SWF 文件结束时 Flash 会将其数据属性保存在用户的计算机上。SWF 文件下次运行时，计算器仍包含 SWF 文件结束时它所具有的值。或者，如果在 SWF 结束前将共享对象的属性设置为 null，则当 SWF 文件下次运行时，计算器打开时不带有任何以前的值。

若要创建本地共享对象，请使用以下语法：

// 创建本地共享对象
so = SharedObject.getLocal("foo");

本地磁盘空间注意事项

在可用内存和磁盘空间用完之前，客户端上的本地共享对象总是永久性的。

默认情况下，Flash 可以在本地保存多达 100K 大小的永久性远程共享对象。当您尝试保存一个较大的对象时，Flash Player 将显示“本地存储”对话框，用户可以使用该对话框允许或拒绝请求访问的域的本地存储。确保舞台大小至少为 215 x 138 像素；这是 Flash 显示该对话框所需的最小大小。

如果用户单击“允许”，则将保存该对象，并用 SharedObject.Flush.Success 的 code 属性调用 SharedObject.onStatus；如果用户单击“拒绝”，则不保存该对象，并用
SharedObject.Flush.Failed 的 code 属性调用 SharedObject.onStatus。

用户还可以指定特定域的永久本地存储设置，方法是在 SWF 文件播放时右击 (Windows) 或按住 Control 键单击 (Macintosh)，选择“设置”，然后打开“本地存储”面板。

下表总结用户的磁盘空间选择如何与共享对象互相影响：

  • 如果用户选择“从不”，则从不在本地保存对象，为该对象发出的所有
    SharedObject.flush() 命令都返回 false。
  • 如果用户选择“无限制”（一直向右移动滑块），则在本地保存对象直到达到最大可用磁盘空间。
  • 如果用户选择“无”（一直向左移动滑块）则为该对象发出的所有 SharedObject.flush()
    命令都返回 "pending"，播放器将询问用户是否可以分配额外的磁盘空间以容纳该对象，如上所述。
  • 如果用户选择“10 KB”、“100 KB”、“1 MB”或“10 MB”，则将在本地保存对象，并且如果这些对象的大小未超过指定的空间量，则 SharedObject.flush() 返回 true。如果需要更多空间，SharedObject.flush() 将返回 "pending"，播放器将询问用户是否可以分配额外的磁盘空间以容纳该对象，如上所述。

另外，如果用户选择的值小于本地永久数据当前使用的磁盘空间量，则播放器将警告用户将删除所有本地保存的共享对象。

注意：在创作环境中运行的 Flash Player 没有大小限制。

SharedObject 类的方法摘要

方法 | 说明
SharedObject.clear() | 清除共享对象中的所有数据并从磁盘删除共享对象。
SharedObject.flush() | 将本地永久共享对象立即写入本地文件。
SharedObject.getLocal() | 返回对本地永久共享对象的引用，该对象只可用于当前客户端。
SharedObject.getSize() | 获取共享对象的当前大小（以字节为单位）。

SharedObject 类的属性摘要

属性（只读） | 说明
SharedObject.data | 分配到该对象 data 属性的属性集合，可以共享和/或存储这些属性。

SharedObject 类的事件处理函数摘要

事件处理函数 | 说明
SharedObject.onStatus | 每次为共享对象公布错误、警告或信息性通知时调用。

SharedObject 类的构造函数

有关创建本地共享对象的信息，请参见 SharedObject.getLocal()。


SharedObject.clear()

可用性

Flash Player 7。

用法

my_so.clear()

参数

无。

返回

无。

说明

方法；清除共享对象中的所有数据并从磁盘删除共享对象。对 my_so 的引用仍然处于活动状态，my_so 现在已空。


SharedObject.data

可用性

Flash Player 6。

用法

myLocalSharedObject.data

说明

只读属性；分配到对象 data 属性的属性集合，可以共享和/或存储这些属性。每个属性都可以是所有基本 ActionScript 或 JavaScript 类型（数组、数字、布尔值等）的对象。例如，下面几行将值分配到共享对象的不同方面：

itemsArray = new Array(101,346,483);
currentUserIsAdmin = true;
currentUserName = "Ramona";
so.data.itemNumbers = itemsArray;
so.data.adminPrivileges = currentUserIsAdmin;
so.data.userName = currentUserName;

如果对象是永久性的，则将保存共享对象 data 属性的所有属性。

注意：不要将值直接赋予共享对象的 data 属性（例如 so.data = someValue）；Flash 将忽略这些赋值。

若要删除本地共享对象的属性，请使用诸如 delete so.data.attributeName 这样的代码；将本地共享对象的属性设置为 null 或 undefined 不会删除该属性。

若要创建共享对象的“私有”值（该对象正在使用时只有客户端实例才可以使用并且当对象关闭时不与该对象存储在一起的值），请创建名称不为 data 的属性来存储它们，如下面的示例
所示。

so.favoriteColor = "blue";
so.favoriteNightClub = "The Bluenote Tavern";
so.favoriteSong = "My World is Blue";

示例

下面的示例将当前流设置为用户的选择。

curStream = _root.so.data.msgList[selected].streamName;

另请参见

Sound 类


SharedObject.flush()

可用性

Flash Player 6。

用法

myLocalSharedObject.flush([minimumDiskSpace])

参数

minimumDiskSpace 一个可选整数，指定必须为此对象分配的字节数。默认值为 0。

返回

布尔值 true 或 false，或者是字符串值 "pending"。

  • 如果用户允许此域中的对象进行本地信息存储，并且所分配的空间量足够存储该对象，则此方法返回 true。（如果已为 minimumDiskSpace 传递了一个值，则所分配的空间量必须至少等于使此方法能够返回 true 的值）。
  • 如果用户允许此域中的对象进行本地信息存储，但所分配的空间量不足以存储该对象，则此方法返回 "pending"。
  • 如果用户已永久拒绝此域中的对象进行本地信息存储，或者如果 Flash 出于任何原因无法保存对象，则此方法返回 false。

说明

方法；将本地永久共享对象立即写入本地文件。如果您不使用此方法，则 Flash 会在共享对象会话结束时（也就是说，在 SWF 文件关闭时、在共享对象不再具有引用而被作为垃圾回收时、或者在您调用 SharedObject.data 时）将共享对象写入文件。

如果此方法返回 "pending"，Flash Player 将显示对话框要求用户增加磁盘空间量以供此域中的对象使用。若要允许将来保存共享对象时其空间能够“增长”，从而避免返回值 "pending"，请为 minimumDiskSpace 传递一个值。当 Flash 尝试写入文件时，它查找传递到
minimumDiskSpace 的字节数，而不是查找以共享对象的当前大小保存该对象刚刚够用的空间。

例如，如果预期共享对象增长到最大大小 500 字节，则即使它开始时要小得多，也为 minimumDiskSpace 传递 500。如果 Flash 要求用户为该共享对象分配磁盘空间，它将要
求 500 字节。在用户分配了请求的空间量之后，当以后尝试刷新该对象时（只要其大小不超过 500 字节），Flash 将无需要求更多的空间。

在用户响应该对话框之后，此方法将被再次调用并返回 true 或 false；另外，将用
SharedObject.Flush.Success 或 SharedObject.Flush.Failed 的 code 属性调用
SharedObject.onStatus。

有关更多信息，请参见本地磁盘空间注意事项。

示例

下面的函数获取共享对象 SO，并用用户提供的设置填充可写属性。最后，调用 flush() 以保存设置并分配最少 1000 字节的磁盘空间。

this.SyncSettingsCore=function(soname, override, settings)
{
  var SO=SharedObject.getLocal(soname, "http://www.mydomain.com/app/sys");

  // 设置列表索引
  var i;

  // 对于设置中每个指定的值：
  // 如果 override 为 true，则将永久设置设置为所提供的值。
  // 如果 override 为 false，则获取永久设置，除非
  // 没有永久设置，在这种情况下，将其设置为所提供的值。
  for (i in settings) {
    if (override || (SO.data[i] == null)) {
      SO.data[i]= settings[i];
    } else {
      settings[i]= SO.data[i];
    }
  }
  SO.flush(1000);
}


SharedObject.getLocal()

可用性

Flash Player 6。

用法

SharedObject.getLocal(objectName [, localPath])

注意：正确的语法是 SharedObject.getLocal。若要将该对象分配到变量，请使用类似于
myLocalSO = SharedObject.getLocal 的语法。

参数

objectName 对象的名称。该名称可以包含正斜杠 (/)；例如 work/addresses 就是合法名称。共享对象名称中不允许使用空格，也不允许使用以下字符：

~ % & \ ; :  " ' , < > ? #

localPath 一个可选字符串参数；该参数指定指向创建共享对象的 SWF 文件的完整路径或部分并确定共享对象的本地存储位置。默认值是完整路径。

返回

一个对共享对象的引用，该共享对象在本地是永久性的并且只可用于当前客户端。如果 Flash 无法创建或找到共享对象（例如，如果指定了 localPath 但不存在此目录），则此方法返回 null。

说明

方法；返回对只可用于当前客户端的本地永久共享对象的引用。

为了避免名称冲突，Flash 会考虑创建共享对象的 SWF 文件的位置。例如，如果位于
www.myCompany.com/apps/stockwatcher.swf 的 SWF 文件创建了一个名为 portfolio 的共享对象，该共享对象不会与位于 www.yourCompany.com/photoshoot.swf 的 SWF 文件所创建的另一个名为 portfolio 的对象冲突，这是因为这两个 SWF 文件源于两个不同的目录。

示例

下面的示例将用户输入的最后一个帧保存到本地共享对象 kookie。

// 获取 kookie
so = sharedobject.getlocal("kookie");

// 获取 kookie 的用户并转到为此用户保存的帧编号。
if (so.data.user != undefined) {
  this.user = so.data.user;
  this.gotoAndStop(so.data.frame);
}

下面的代码块放置在每个 SWF 帧上。

// 在每个帧上，调用 rememberme 函数保存帧编号。
function rememberme() {
  so.data.frame=this._currentFrame;
  so.data.user="John";
}


SharedObject.getSize()

可用性

Flash Player 6。

用法

myLocalSharedObject.getSize()

参数

无。

返回

一个指定共享对象大小（以字节为单位）的数值。

说明

方法；获取共享对象的当前大小（以字节为单位）。

Flash 通过逐句调试共享对象的每个数据属性计算该对象的大小；对象具有的数据属性越多，评估其大小所花的时间就越长。出于此原因，评估对象大小可能要花费巨大的处理开销。因此，除非有特定需求，否则应避免使用此方法。

示例

下面的示例获取共享对象 so 的大小。

var soSize= this.so.getSize();


SharedObject.onStatus

可用性

Flash Player 6。

用法

myLocalSharedObject.onStatus = function(infoObject) {
  // 此处是您的语句
}

参数

infoObject 按照状态消息定义的参数。

返回

无。

说明

事件处理函数；每次为共享对象公布错误、警告或信息性通知时调用。如果要响应此事件处理函数，您必须创建一个函数来处理共享对象生成的信息对象。

信息对象具有一个 code 属性（该属性包含的字符串说明 onStatus 处理函数的结果）和一个
level 属性（该属性包含字符串 "Status" 或 "Error"）。

除了此 onStatus 处理函数之外，Flash 还提供名为 System.onStatus 的“超级”函数。如果为特定对象调用了 onStatus 但未分配任何函数对其进行响应，则 Flash 将处理分配到
System.onStatus 的函数（如果存在）。

当发生特定的 SharedObject 活动时，以下事件将发出通知。

Code 属性 | Level 属性 | 含义
SharedObject.Flush.Failed | Error | 返回 "pending" 的 SharedObject.flush() 命令失败（当 Flash Player 显示“本地存储设置”对话框时，用户未为共享对象分配额外的磁盘空间）。
SharedObject.Flush.Success | Status | 返回 "pending" 的 SharedObject.flush() 命令成功完成（用户为共享对象分配了额外的磁盘空间）。

另请参见

SharedObject.getLocal()、System.onStatus


Sound 类

可用性

Flash Player 5。

说明

Sound 类使您可以控制影片中的声音。可以在影片正在播放时从库中向该影片剪辑添加声音，并控制这些声音。如果在创建新 Sound 对象时没有指定 target，则可以使用方法控制整个影片的声音。

在调用 Sound 类的方法之前，您必须使用构造函数 new Sound 创建 Sound 对象。

Sound 类的方法摘要

方法 | 说明
Sound.attachSound() | 附加在参数中指定的声音。
Sound.getBytesLoaded() | 返回为指定声音加载的字节数。
Sound.getBytesTotal() | 以字节为单位返回声音的大小。
Sound.getPan() | 返回上一个 setPan() 调用的值。
Sound.getTransform() | 返回上一个 setTransform() 调用的值。
Sound.getVolume() | 返回上一个 setVolume() 调用的值。
Sound.loadSound() | 将 MP3 文件加载到 Flash Player 中。
Sound.setPan() | 设置声音的左/右均衡。
Sound.setTransform() | 设置要在每个扬声器中播放的每个声道（左声道和右声道）的音量。
Sound.setVolume() | 设置声音的音量级别。
Sound.start() | 从头开始播放声音，或者可选择从参数中设置的某偏移点开始播放声音。
Sound.stop() | 停止指定声音或当前播放的所有声音。

Sound 类的属性摘要

属性 | 说明
Sound.duration | 声音的长度，以毫秒为单位。
Sound.ID3 | 提供对作为 MP3 文件一部分的元数据的访问。
Sound.position | 声音已播放的毫秒数。

Sound 类的事件处理函数摘要

事件处理函数 | 说明
Sound.onID3 | 每次有新的 ID3 数据可用时调用。
Sound.onLoad | 加载声音时调用。
Sound.onSoundComplete | 声音停止播放时调用。

Sound 类的构造函数

可用性

Flash Player 5。

用法

new Sound([target])

参数

target Sound 对象操作的影片剪辑实例。此参数是可选的。

返回

无。

说明

构造函数；为指定的影片剪辑创建新的 Sound 对象。如果没有指定目标实例，则 Sound 对象控制影片中的所有声音。

示例

下面的示例创建名为 global_sound 的新 Sound 对象。示例中的第二行调用 setVolume() 并将影片中的所有声音的音量调整为 50%。

global_sound = new Sound();
global_sound.setVolume(50);

下面的示例创建一个新 Sound 对象，将目标影片剪辑 my_mc 传递给它，然后调用 start 方法，该方法开始播放 my_mc 中的所有声音。

movie_sound = new Sound(my_mc);
movie_sound.start();


Sound.attachSound()

可用性

Flash Player 5。

用法

my_sound.attachSound("idName")

参数

idName 库中导出声音的标识符。该标识符位于“链接属性”对话框。

返回

无。

说明

方法；将 idName 参数中指定的声音附加到指定的 Sound 对象。该声音必须位于当前 SWF 文件的库中，并且必须已经在“链接属性”对话框中指定为导出。必须调用 Sound.start() 才能开始播放该声音。

为了确保从 SWF 文件中的任何场景都可以控制声音，请将声音放置在 SWF 文件的主时间
轴上。


Sound.duration

可用性

Flash Player 6。

用法

my_sound.duration

说明

属性（只读）；声音的持续时间，以毫秒为单位。


Sound.getBytesLoaded()

可用性

Flash Player 6。

用法

my_sound.getBytesLoaded()

参数

无。

返回

一个整数，指示所加载的字节数。

说明

方法；返回为指定 Sound 对象加载（进入流）的字节数。可以比较 getBytesLoaded() 的值
与 getBytesTotal() 的值，以确定已加载声音的百分比。

另请参见

Sound.getBytesTotal()


Sound.getBytesTotal()

可用性

Flash Player 6。

用法

my_sound.getBytesTotal()

参数

无。

返回

一个整数，以字节为单位指示指定 Sound 对象的总大小。

说明

方法；以字节为单位返回指定 Sound 对象的大小。

另请参见

Sound.getBytesLoaded()


Sound.getPan()

可用性

Flash Player 5。

用法

my_sound.getPan();

参数

无。

返回

一个整数。

说明

方法；返回在上一次 setPan() 调用中设置的面板级别，这是一个从 -100（左）到 100（右）
之间的整数。（0 平衡地设置左右声道。）该面板设置控制 SWF 文件中当前和将来声音的左右均衡。

此方法是用 setVolume() 或 setTransform() 累积的。

另请参见

Sound.setPan()


Sound.getTransform()

可用性

Flash Player 5。

用法

my_sound.getTransform();

参数

无。

返回

一个具有属性的对象，这些属性包含指定声音对象的声道百分比值。

说明

方法；返回用上一次 Sound.setTransform() 调用设置的指定 Sound 对象的声音转换信息。


Sound.getVolume()

可用性

Flash Player 5。

用法

my_sound.getVolume()

参数

无。

返回

一个整数。

说明

方法；返回音量级别，这是一个从 0 到 100 之间的整数，其中 0 表示关闭，100 表示最大音量。默认设置为 100。

另请参见

Sound.setVolume()


Sound.ID3

可用性

Flash Player 6；行为在 Flash Player 7 中进行了更新。

用法

my_sound.ID3

说明

属性（只读）；提供对作为 MP3 文件一部分的元数据的访问。

MP3 声音文件可以包含 ID3 标签，ID3 标签提供有关该文件的元数据。如果使用 Sound.attachSound() 或 Sound.loadSound() 加载的 MP3 声音包含 ID3 标签，则您可以查询这些属性。只支持使用 UTF-8 字符集的 ID3 标签。

Flash Player 6 40 版和更高版本使用 Sound.id3 属性支持 ID3 1.0 和 ID3 1.1 标签。Flash Player 7 添加了对 ID3 2.0 标签的支持，特别是 2.3 和 2.4。为了向后兼容，同时支持 Sound.id3 和 Sound.ID3。只有小写的 id3 才支持代码提示（请参见使用代码提示）。

下表列出了标准 ID3 2.0 标签以及这些标签所表示内容的类型，您可以以
my_sound.ID3.COMM、my_sound.ID3.TIME 等格式查询这些标签。MP3 文件可以包含此表中所列标签之外的其它标签，Sound.ID3 也提供对这些标签的访问。

属性 | 说明
COMM | 注释
TALB | 唱片/影片/演出名称
TBPM | 每分钟节拍数
TCOM | 作曲家
TCON | 内容类型
TCOP | 版权信息
TDAT | 日期
TDLY | 播放列表延迟
TENC | 编码者
TEXT | 歌词作者/乐谱作者
TFLT | 文件类型
TIME | 时间
TIT1 | 内容组描述
TIT2 | 标题/歌曲名称/内容描述
TIT3 | 副标题/主要描述
TKEY | 最初关键字
TLAN | 语言
TLEN | 长度
TMED | 媒体类型
TOAL | 原唱片/影片/演出名称
TOFN | 原文件名
TOLY | 原歌词作者/乐谱作者
TOPE | 原歌手/演奏者
TORY | 最初发行年份
TOWN | 文件所有者/许可证持有人
TPE1 | 领衔演奏者/独唱（奏）者
TPE2 | 乐队/交响乐队/伴奏
TPE3 | 指挥/主要演奏者
TPE4 | 翻译、混录员、或以其它方式进行修改的人员
TPOS | 作品集的部分
TPUB | 发行人
TRCK | 音轨编号/作品集中的位置
TRDA | 录制日期
TRSN | Internet 电台名称
TRSO | Internet 电台所有者
TSIZ | 大小
TSRC | ISRC（国际标准音像制品编码）
TSSE | 编码使用的软件/硬件和设置
TYER | 年份
WXXX | URL 链接帧

Flash Player 6 支持若干种 ID3 1.0 标签。如果这些标签不在 MP3 文件中，而相应的 ID3 2.0 标签却在 MP3 文件中，则 ID3 2.0 标签会被复制到下表所示的 ID3 1.0 属性中。此过程提供与您已编写的、读取 ID3 1.0 属性的脚本的向后兼容性。

ID3 2.0 标签 | 相应的 ID3 1.0 属性
COMM | Sound.id3.comment
TALB | Sound.id3.album
TCON | Sound.id3.genre
TIT2 | Sound.id3.songname
TPE1 | Sound.id3.artist
TRCK | Sound.id3.track
TYER | Sound.id3.year

示例

有关此属性用法的示例，请参见 Sound.onID3。

另请参见

Sound.attachSound()、Sound.loadSound()


Sound.loadSound()

可用性

Flash Player 6。

用法

my_sound.loadSound("url", isStreaming)

参数

url MP3 声音文件在服务器上的位置。

isStreaming 一个布尔值，指示声音是声音流 (true) 还是事件声音 (false)。

返回

无。

说明

方法；将 MP3 文件加载到 Sound 对象中。可以使用 isStreaming 参数指示该声音是事件声音还是声音流。

事件声音在完全加载后才能播放。它们由动作脚本 Sound 类进行管理，并且响应此类的所有方法和属性。

声音流在下载的同时播放。当接收的数据足以启动解压缩程序时，播放开始。

使用此方法加载的所有 MP3（事件或流）都保存在用户系统上浏览器的文件缓存中。

示例

下面的示例加载事件声音：

my_sound.loadSound( "http://serverpath:port/mp3filename", false);

下面的示例加载声音流：

my_sound.loadSound( "http://serverpath:port/mp3filename", true);

另请参见

Sound.onLoad


Sound.onID3

可用性

Flash Player 7。

用法

my_sound.onID3 = function(){
  // 此处是您的语句
}

参数

无。

返回

无。

说明

事件处理函数；每次有新的 ID3 数据可用于使用 Sound.attachSound() 或Sound.loadSound() 加载的 MP3 文件时调用。此处理程序提供对 ID3 数据的访问而无需轮询。如果文件中同时出现 ID3 1.0 和 ID3 2.0 标签，则此处理函数将被调用两次。

示例

下面的示例用 trace 命令将 song.mp3 的 ID3 属性发送到“输出”面板。

my_sound = new Sound();
my_sound.onID3 = function(){
  for( var prop in my_sound.ID3 ){
    trace( prop + " :"+ my_sound.ID3[prop] );
  }
}
my_sound.loadSound("song.mp3", false);

另请参见

Sound.attachSound()、Sound.ID3、Sound.loadSound()


Sound.onLoad

可用性

Flash Player 6。

用法

my_sound.onLoad = function(success){
  // 此处是您的语句
}

参数

success 如果 my_sound 已成功加载，则为布尔值 true，否则为 false。

返回

无。

说明

事件处理函数；当加载声音时自动调用。必须创建在调用此处理函数时执行的函数。您可以使用匿名函数或命名函数（有关每种情况的示例，请参见 Sound.onSoundComplete）。您应在调用 my_sound.loadSound() 之前定义此处理函数。

另请参见

Sound.loadSound()


Sound.onSoundComplete

可用性

Flash Player 6。

用法

my_sound.onSoundComplete = function(){
  // 此处是您的语句
}

参数

无。

返回

无。

说明

事件处理函数；当声音播放完时自动调用。您可以使用此处理函数在声音播放完毕后触发 SWF 文件中的事件。

必须创建一个在调用该处理函数时执行的函数。既可以使用匿名函数也可以使用命名函数。

示例

用法 1：下面的示例使用匿名函数：

my_sound = new Sound();
my_sound.attachSound("mySoundID");
my_sound.onSoundComplete = function() {
  trace("mySoundID completed");
}
my_sound.start();

用法 2：下面的示例使用命名函数：

function callback1() {
  trace("mySoundID completed");
}

my_sound = new Sound();
my_sound.attachSound("mySoundID");
my_sound.onSoundComplete = callback1;
my_sound.start();

另请参见

Sound.onLoad


Sound.position

可用性

Flash Player 6。

用法

my_sound.position

说明

属性（只读）；声音已播放的毫秒数。如果声音是循环的，则在每次循环开始时，位置将被重置为 0。


Sound.setPan()

可用性

Flash Player 5。

用法

my_sound.setPan(pan);

参数

pan 一个整数，指定声音的左右均衡。有效值的范围为 -100 到 100，其中 -100 表示仅使用左声道，100 表示仅使用右声道，而 0 表示在两个声道间平均地均衡声音。

返回

一个整数。

说明

方法；确定声音在左右声道（扬声器）中是如何播放的。对于单声道声音，pan 确定声音通过哪个扬声器（左或右）进行播放。

示例

下面的示例创建一个 Sound 对象 my_sound，并从库中为其附加具有标识符 L7 的声音。它还调用 setVolume() 和 setPan() 来控制 L7 声音。

onClipEvent(mouseDown) {
// 创建一个声音对象
  my_sound = new Sound(this);
// 从库中附加声音
  my_sound.attachSound("L7");
//将音量设置为 50%
  my_sound.setVolume(50);
//关闭右声道中的声音
  my_sound.setPan(-100);
//从声音的第 30 秒开始播放并播放 5 遍
  my_sound.start(30, 5);

另请参见

Sound.attachSound()、Sound.setPan()、Sound.setTransform()、Sound.setVolume()、
Sound.start()


Sound.setTransform()

可用性

Flash Player 5。

用法

my_sound.setTransform(soundTransformObject)

参数

soundTransformObject 一个用通用 Object 类的构造函数创建的对象。

返回

无。

说明

方法；设置 Sound 对象的声音转换（即，均衡）信息。

soundTransformObject 参数是一个用通用 Object 类的构造函数方法创建的对象，该对象具有指定声音在左右声道（扬声器）间如何分布的参数。

声音占用相当大的磁盘空间和内存。因为立体声声音使用的数据是单声道声音的两倍，通常情况下最好使用 22 KHz 6 位单声道声音。您可以使用 setTransform() 将单声道声音播放为立体声、将立体声声音播放为单声道以及向声音添加有趣的效果。

soundTransformObject 的属性如下：

11 一个百分数值，指定左输入在左扬声器里播放的量 (0-100)。

1r 一个百分数值，指定右输入在左扬声器里播放的量 (0-100)。

rr 一个百分数值，指定右输入在右扬声器里播放的量 (0-100)。

rl 一个百分数值，指定左输入在右扬声器里播放的量 (0-100)。

这些参数的净结果由以下公式表示：

leftOutput = left_input * ll + right_input * lr
rightOutput = right_input * rr + left_input * rl

left_input 或 right_input 的值由 SWF 文件中的声音类型（立体声或单声道）确定。

立体声声音将声音输入在左右扬声器之间平均分配，且在默认情况下具有下面的转换设置：

ll = 100
lr = 0
rr = 100
rl = 0

单声道声音在左扬声器里播放所有的声音输入，且在默认情况下具有下面的转换设置：

ll = 100
lr = 100
rr = 0
rl = 0

示例

下面的示例说明了这样一个设置，它可以通过使用 setTransform() 实现，但不能通过使用 setVolume() 或 setPan() 实现，即使将后两种方法结合起来使用也无法实现该设置。

下面的代码新建一个 soundTransformObject 对象并设置其属性，以便只在左声道中播放来自两个声道的声音。

mySoundTransformObject = new Object;
mySoundTransformObject.ll = 100;
mySoundTransformObject.lr = 100;
mySoundTransformObject.rr = 0;
mySoundTransformObject.rl = 0;

若要将 soundTransformObject 对象应用到 Sound 对象，则需要使用 setTransform() 将此对象传递给 Sound 对象，如下所示：

my_sound.setTransform(mySoundTransformObject);

下面的示例将立体声声音播放为单声道声音；soundTransformObjectMono 对象具有下列参数：

mySoundTransformObjectMono = new Object;
mySoundTransformObjectMono.ll = 50;
mySoundTransformObjectMono.lr = 50;
mySoundTransformObjectMono.rr = 50;
mySoundTransformObjectMono.rl = 50;
my_sound.setTransform(soundTransformObjectMono);

此示例只播放左声道音量的一半，而将左声道的剩余部分添加到右声道；
soundTransformObjectHalf 对象具有下列参数：

mySoundTransformObjectHalf = new Object;
mySoundTransformObjectHalf.ll = 50;
mySoundTransformObjectHalf.lr = 0;
mySoundTransformObjectHalf.rr = 100;
mySoundTransformObjectHalf.rl = 50;
my_sound.setTransform(soundTransformObjectHalf);

另请参见

Object 类


Sound.setVolume()

可用性

Flash Player 5。

用法

my_sound.setVolume(volume)

参数

volume 一个从 0 到 100 之间的数字，表示声音级别。100 为最大音量，而 0 为没有音量。
默认设置为 100。

返回

无。

说明

方法；设置 Sound 对象的音量。

示例

下面的示例将音量设置为 50%，并随时间的推移，不断地将声音从左扬声器逐渐传输到右扬
声器：

onClipEvent (load) {
  i = -100;
  my_sound = new Sound();
  my_sound.setVolume(50);
}
onClipEvent (enterFrame) {
  if (i <= 100) {
    my_sound.setPan(i++);
  }
}

另请参见

Sound.setPan()、Sound.setTransform()


Sound.start()

可用性

Flash Player 5。

用法

my_sound.start([secondOffset, loop])

参数

secondOffset 一个可选参数，用于从某个特定点开始播放声音。例如，如果您有一个 30 秒的声音，而您希望该声音从中间开始播放，可将 secondOffset 参数指定为 15。并非声音延迟 15 秒，而是从 15 秒标记处开始播放。

loop 一个可选参数，用于指定声音连续播放的次数。

返回

无。

说明

方法；如果未指定参数，则从开头开始播放最近附加的声音；或者从参数 secondOffset 指定的声音点处开始播放。

另请参见

Sound.stop()


Sound.stop()

可用性

Flash Player 5。

用法

my_sound.stop(["idName"])

参数

idName 一个可选参数，用于指定要停止播放的某个特定声音。idName 参数必须置于引号 (" ") 之中。

返回

无。

说明

方法；如果未指定参数，则停止当前播放的所有声音，否则只停止在 idName 参数中指定的声音。

另请参见

Sound.start()


_soundbuftime

可用性

Flash Player 4。

用法

_soundbuftime = integer

参数

integer 在 SWF 文件开始进入流之前缓冲的秒数。

说明

属性（全局）；规定声音流缓冲的秒数。默认值为 5 秒。


Stage 类

可用性

Flash Player 6。

说明

Stage 类是一个顶级类，不必使用构造函数即可访问其方法、属性和处理函数。

此类的方法和属性用于访问和操作有关 SWF 文件边界的信息。

Stage 类的方法摘要

方法 | 说明
Stage.addListener() | 添加一个检测 SWF 的大小何时进行了调整的侦听器对象。
Stage.removeListener() | 从 Stage 对象删除侦听器对象。

Stage 类的属性摘要

属性 | 说明
Stage.align | SWF 文件在播放器或浏览器中的对齐方式。
Stage.height | 舞台的高度，以像素为单位。
Stage.scaleMode | SWF 文件的当前缩放设置。
Stage.showMenu | 显示或隐藏 Flash Player 上下文菜单中的默认项。
Stage.width | 舞台的宽度，以像素为单位。

Stage 类的事件处理函数摘要

事件处理函数 | 说明
Stage.onResize | 当 Stage.scaleMode 设置为 "noScale" 而且 SWF 的大小进行了 调整时调用。


Stage.addListener()

可用性

Flash Player 6。

用法

Stage.addListener(myListener)

参数

myListener 侦听来自 Stage.onResize 事件的回调通知的对象。

返回

无。

说明

方法；检测 SWF 文件的大小何时进行了调整（仅当 Stage.scaleMode = "noScale" 的情况下）。当缩放设置为默认影片缩放设置 ("showAll") 或其它缩放设置（"exactFit" 和
"noBorder"）时，addListener() 方法不起作用。

若要使用 addListener()，必须先创建一个侦听器对象。舞台侦听器对象接收来自
Stage.onResize 的通知。

示例

此示例新建一个名为 myListener 的侦听器对象。然后使用 myListener 调用 onResize，并定义一个当触发 onResize 时将调用的函数。最后，此代码将 myListener 对象添加到 Stage 对象的回调列表中。侦听器对象允许多个对象侦听调整大小的通知。

myListener = new Object();
myListener.onResize = function () { ... }
Stage.scaleMode = "noScale"
Stage.addListener(myListener);

另请参见

Stage.onResize、Stage.removeListener()


Stage.align

可用性

Flash Player 6。

用法

Stage.align

说明

属性；指示 SWF 文件在播放器或浏览器中的当前对齐方式。

下表列出了 align 属性的值。此处未列出的值会将 SWF 文件居中放置在播放器或浏览器区
域内。

值 | 垂直 | 水平
"T" | 顶部 | 中间
"B" | 底部 | 中间
"L" | 中间 | 左侧
"R" | 中间 | 右侧
"TL" | 顶部 | 左侧
"TR" | 顶部 | 右侧
"BL" | 底部 | 左侧
"BR" | 底部 | 右侧


Stage.height

可用性

Flash Player 6。

用法

Stage.height

说明

属性（只读）；以像素为单位指示舞台的当前高度。当 Stage.scaleMode 的值为 "noScale" 时，height 属性表示播放器的高度。当 Stage.scaleMode 的值不为 "noScale" 时，height 表示 SWF 文件的高度。

另请参见

Stage.align、Stage.scaleMode、Stage.width


Stage.onResize

可用性

Flash Player 6。

用法

myListener.onResize = function(){
  // 此处是您的语句
}

参数

无。

参数

无。

返回

无。

说明

事件处理函数；当 Stage.scaleMode 设置为 "noScale" 并且 SWF 文件的大小调整时调用此函数。可以利用此事件处理函数编写一个函数，当 SWF 文件的大小调整时布置舞台上对象的
布局。

示例

当舞台大小调整时，下面的示例在“输出”面板中显示一条消息。

Stage.scaleMode = "noScale"
myListener = new Object();
myListener.onResize = function () {
  trace("Stage size is now " + Stage.width + " by " + Stage.height);
}
Stage.addListener(myListener);
// 稍后，调用 Stage.removeListener(myListener)

另请参见

Stage.addListener()、Stage.removeListener()


Stage.removeListener()

可用性

Flash Player 6。

用法

Stage.removeListener(myListener)

参数

myListener 用 addListener() 添加到对象回调列表中的对象。

返回

一个布尔值。

说明

方法；删除用 addListener() 创建的侦听器对象。

另请参见

Stage.addListener()


Stage.scaleMode

可用性

Flash Player 6。

用法

Stage.scaleMode = "value"

说明

属性；指示舞台内 SWF 文件的当前缩放设置。scaleMode 属性将 SWF 文件强制设置为特定的缩放模式。默认情况下，SWF 文件使用在“发布设置”对话框中设置的 HTML 参数。

scaleMode 属性可以使用以下值："exactFit"、"showAll"、"noBorder" 和 "noScale"。任何其它值都会将 scaleMode 属性设置为默认值 "showAll"。


Stage.showMenu

可用性

Flash Player 6。

用法

Stage.showMenu

说明

属性（只读）；指定显示或隐藏 Flash Player 上下文菜单中的默认项。如果 showMenu 设置为 true（默认设置），所有上下文菜单项都将显示。如果 showMenu 设置为 false，则只出现“设置”项。

另请参见

ContextMenu 类、ContextMenuItem 类


Stage.width

可用性

Flash Player 6。

用法

Stage.width

说明

属性（只读）；以像素为单位指示舞台的当前宽度。当 Stage.scaleMode 的值为 "noScale" 时，width 属性表示播放器的宽度。当 Stage.scaleMode 的值不为 "noScale" 时，width 表示 SWF 文件的宽度。

另请参见

Stage.align、Stage.height、Stage.scaleMode


startDrag()

可用性

Flash Player 4。

用法

startDrag(target,[lock ,left , top , right, bottom])

参数

target 要拖动的影片剪辑的目标路径。

lock 一个布尔值，指定可拖动影片剪辑是锁定到鼠标位置中央 (true)，还是锁定到用户首次单击该影片剪辑的位置上 (false)。此参数是可选的。

left、top、right、bottom 相对于影片剪辑父级坐标的值，这些值指定该影片剪辑的约束矩形。这些参数是可选的。

返回

无。

说明

函数；使 target 影片剪辑在影片播放过程中可拖动。一次只能拖动一个影片剪辑。执行了 startDrag() 操作后，影片剪辑将保持可拖动状态，直到用 stopDrag() 明确停止拖动为止，或直到对其它影片剪辑调用了 startDrag() 动作为止。

示例

若要创建用户可以放在任何位置的影片剪辑，可将 startDrag() 和 stopDrag() 动作附加到该影片剪辑内的某个按钮上。

on (press) {
  startDrag(this,true);
}
on (release) {
  stopDrag();
}

另请参见

MovieClip._droptarget、MovieClip.startDrag()、stopDrag()


static

可用性

Flash Player 6。

用法

class someClassName{
  static var name;
  static function name() {
    // 此处是您的语句
  }
}

注意：若要使用此关键字，必须在 FLA 文件的“发布设置”对话框的“Flash”选项卡上指定“动作脚本 2.0”和“Flash Player 6 或更高版本”。仅支持在外部脚本文件中使用此关键字，而不支持在用“动作”面板编写的脚本中使用此关键字。

参数

name 要指定为 static 的变量或函数的名称。

说明

关键字；指定某个变量或函数只为每个类创建一次，而不是在基于该类的每个对象中都创建。有关更多信息，请参见实例成员和类成员。

您只能在类定义中使用此关键字，不能在接口定义中使用。

另请参见

private、public


stop()

可用性

Flash 2。

用法

stop

参数

无。

返回

无。

说明

函数；停止当前正在播放的 SWF 文件。此动作最通常的用法是用按钮控制影片剪辑。


stopAllSounds()

可用性

Flash Player 3。

用法

stopAllSounds()

参数

无。

返回

无。

说明

函数；在不停止播放头的情况下停止 SWF 文件中当前正在播放的所有声音。设置到流的声音在播放头移过它们所在的帧时将恢复播放。

示例

下面的代码可以应用到一个按钮，这样当单击此按钮时，将停止 SWF 文件中的所有声音。

on (release) {
  stopAllSounds();
}

另请参见

Sound 类


stopDrag()

可用性

Flash Player 4。

用法

stopDrag()

参数

无。

返回

无。

说明

函数；停止当前的拖动操作。

示例

此代码在用户释放鼠标按钮时，在实例 my_mc 上停止拖动动作：

on (press) {
  startDrag("my_mc");
}
on (release) {
  stopdrag();
}

另请参见

MovieClip._droptarget、MovieClip.stopDrag()、startDrag()


" "（字符串分隔符）

可用性

Flash Player 4。

用法

"text"

参数

text 一个字符。

返回

无。

说明

字符串分隔符；在字符的前后加上引号后，引号指示这些字符具有其字面值；这些字符将被视作一个字符串，而不是一个变量、数值或其它动作脚本元素。

示例

此示例使用引号指示变量 yourGuess 的值是文本字符串“Prince Edward Island”，而不是变量名。province 的值是一个变量，而不是文本；要确定 province 的值，必须找到 yourGuess 的值。

yourGuess = "Prince Edward Island";
on (release) {
  province = yourGuess;
  trace(province);
}

// 在“输出”面板中显示“Prince Edward Island”

另请参见

String 类、String()


String 类

可用性

Flash Player 5（已成为 Flash Player 6 本身的对象，Flash Player 6 大大提高了性能）。

说明

String 类是字符串原始数据类型的包装，提供用于操作原始字符串值类型的方法和属性。您可以通过 String() 函数将任何对象的值转换为字符串。

除了 concat()、fromCharCode()、slice() 和 substr() 之外，String 对象的所有其它方法都是通用方法。这意味着这些方法本身先调用 this.toString()，然后再执行它们的操作，而且您可以将这些方法用于其它非 String 对象。

因为所有字符串索引都是从零开始的，所以任何字符串 x 的最后一个字符的索引都是
x.length - 1。

可以使用构造函数方法 new String 或者使用字符串文本值调用 String 类的任何方法。如果您指定了一个字符串，则动作脚本解释程序自动将其转换为一个临时 String 对象，再调用方法，然后放弃该临时 String 对象。您还可以将 String.length 属性用于字符串。

请不要将字符串和 String 对象相混淆。在下面的示例中，第一行代码创建字符串 s1，而第二行代码创建 String 对象 s2。

s1 = "foo"
s2 = new String("foo")

除非您确实需要使用 String 对象，否则请使用字符串。

String 类的方法摘要

方法 | 说明
String.charAt() | 返回字符串中特定位置处的字符。
String.charCodeAt() | 返回指定索引处字符的值，此值为介于 0 到 65535 之间的一个 16 位整数。
String.concat() | 合并两个字符串的文本，并返回一个新字符串。
String.fromCharCode() | 返回由参数中指定的字符组成的字符串。
String.indexOf() | 返回指定子字符串的第一个匹配项的位置。
String.lastIndexOf() | 返回指定子字符串的最后一个匹配项的位置。
String.slice() | 提取字符串的一部分，并返回一个新字符串。
String.split() | 通过将字符串分隔为子字符串，从而将 String 对象拆分为字符串数组。
String.substr() | 返回字符串内指定数量的字符，字符计数从指定的位置开始。
String.substring() | 返回字符串内两个索引间的字符。
String.toLowerCase() | 将字符串转换为小写然后返回结果；不更改原始对象的内容。
String.toUpperCase() | 将字符串转换为大写然后返回结果；不更改原始对象的内容。

String 类的属性摘要

属性 | 说明
String.length | 一个非从零开始的整数，表示指定 String 对象中的字符数。

String 类的构造函数

可用性

Flash Player 5。

用法

new String(value)

参数

value 新 String 对象的初始值。

返回

无。

说明

构造函数；创建一个新 String 对象。

另请参见

String()、" "（字符串分隔符）


String.charAt()

可用性

Flash Player 5。

用法

my_str.charAt(index)

参数

index 整数，指定字符在字符串中的位置。第一个字符由 0 表示，最后一个字符由
my_str.length-1 表示。

返回

一个字符。

说明

方法；返回参数 index 所指定位置处的字符。如果 index 不是 0 到 string.length - 1 之间的数字，则返回一个空字符串。

此方法与 String.charCodeAt() 类似，所不同的是它返回的值是字符，而不是 16 位整数字符代码。

示例

在下面的示例中，对字符串 "Chris" 的第一个字母调用了此方法。

my_str = new String("Chris");
i = my_str.charCodeAt(0); // i = "C"


String.charCodeAt()

可用性

Flash Player 5。

用法

my_str.charCodeAt(index)

参数

index 整数，指定字符在字符串中的位置。第一个字符由 0 表示，最后一个字符由
my_str.length-1 表示。

返回

一个整数。

说明

方法；返回一个 0 到 65535 之间的 16 位整数，表示由 index 指定的字符。如果 index 不是 0 到 string.length - 1 之间的数字，则返回 NaN。

此方法与 String.charAt() 类似，所不同的是它返回的值是 16 位整数字符代码，而不是字符。

示例

在下面的示例中，对字符串 "Chris" 的第一个字母调用了该方法。

my_str = new String("Chris");
i = my_str.charCodeAt(0); // i = 67


String.concat()

可用性

Flash Player 5。

用法

my_str.concat(value1,...valueN)

参数

value1...valueN 零或多个要连接的值。

返回

字符串。

说明

方法；将该 String 对象的值与参数合并，并返回新组成的字符串；而原始值 my_str 不变。


String.fromCharCode()

可用性

Flash Player 5。

用法

String.fromCharCode(c1,c2,...cN)

参数

c1,c2,...cN 表示 ASCII 值的十进制整数。

返回

字符串。

说明

方法；返回一个由参数中 ASCII 值表示的字符组成的字符串。

示例

此示例使用 fromCharCode() 在电子邮件地址中插入一个 @ 字符。

address_str = "dog" + String.fromCharCode(64) + "house.net";
trace(address_str); // dog@house.net


String.indexOf()

可用性

Flash Player 5。

用法

my_str.indexOf(substring, [startIndex])

参数

substring 一个整数或字符串，指定要在 my_str 中搜索的子字符串。

startIndex 一个可选整数，指定要在 my_str 中搜索该子字符串的起始点。

返回

指定子字符串的第一个匹配项的位置，或 -1。

说明

方法；搜索字符串，并返回在调用字符串内 startIndex 处或之后找到的 substring 的第一个匹配项的位置。如果没有找到 substring，则此方法返回 -1。

另请参见

String.lastIndexOf()


String.lastIndexOf()

可用性

Flash Player 5。

用法

my_str.lastIndexOf(substring, [startIndex])

参数

substring 一个整数或字符串，指定要搜索的字符串。

startIndex 一个可选整数，指定搜索 substring 的起始点。

返回

指定子字符串的最后一个匹配项的位置，或 -1。

说明

方法；在字符串中从右向左搜索，并返回调用此方法的字符串中在 startIndex 之前找到的 substring 的最后一个匹配项的索引。如果没有找到 substring，则此方法返回 -1。

另请参见

String.indexOf()


String.length

可用性

Flash Player 5。

用法

my_str.length

说明

属性；一个非从零开始的整数，表示指定 String 对象中的字符数。

因为所有字符串索引都是从零开始的，所以任何字符串 x 的最后一个字符的索引都是
x.length - 1。


String.slice()

可用性

Flash Player 5。

用法

my_str.slice(start, [end])

参数

start 指定片段起始点索引的数字。如果 start 是一个负数，则起始点从字符串的结尾开始确定，-1 表示最后一个字符。

end 一个比片段终点索引大 1 的整数。提取出来的字符串中不包括由 end 参数索引指定的字符。如果省略了此参数，将使用 String.length。如果 end 是一个负数，则终点根据从字符串的结尾向后数确定，-1 表示最后一个字符。

返回

指定字符串的子字符串。

说明

方法；返回一个字符串，该字符串包括从 start 字符直到 end 字符（但不包括该字符）之间的所有字符。不修改原始 String 对象。如果未指定 end 参数，则子字符串的结尾就是原字符串的结尾。如果 start 的值大于或等于 end 的值，则此方法返回一个空字符串。

示例

下面的示例先设置一个变量 text，再创建一个 String 对象 my_str，然后将 text 变量传递给该对象。slice() 方法提取该变量中所包含字符串的一部分，然后 trace() 将其发送到“输出”面板。下面的示例说明对 end 参数使用正值和负值两种情况。

text = "Lexington";
my_str = new String( text );
trace(my_str.slice( 1, 3 )); // "ex"
trace(my_str.slice( 1, -6 )); // "ex"

另请参见

String.substr()、String.substring()


String.split()

可用性

Flash Player 5。

用法

my_str.split("delimiter", [limit])

参数

delimiter 拆分 my_str 所依据的字符或字符串。

limit 要放入数组中的项目数。此参数是可选的。

返回

包含 my_str 的子字符串的数组。

说明

方法；在指定的 delimiter 参数出现的所有位置断开 String 对象，将其拆分为多个子字符串，然后以数组形式返回这些子字符串。如果使用空字符串 ("") 作为分隔符，则字符串中的每个字符都将被作为元素放入数组中，如下面的代码所示。

my_str = "Joe";
i = my_str.split("");
trace (i);

“输出”面板将显示以下结果：

J,o,e

如果未定义 delimiter 参数，则会将整个字符串放入返回数组的第一个元素中。

示例

下面的示例返回含有五个元素的数组。

my_str = "P, A, T, S, Y";
my_str.split(",");

此示例返回一个具有以下两个元素的数组："P" 和 "A"。

my_str.split(",", 2);


String.substr()

可用性

Flash Player 5。

用法

my_str.substr(start, [length])

参数

start 一个整数，指示 my_str 中用于创建子字符串的第一个字符的位置。如果 start 为一个负数，则起始位置从字符串的结尾开始确定，-1 表示最后一个字符。

length 要创建的子字符串中的字符数。如果没有指定 length，则子字符串包括从 start 开始直到字符串结尾的所有字符。

返回

指定字符串的子字符串。

说明

方法；返回字符串中的字符，这些字符从 start 参数所指定的索引开始，直至达到 length 参数所指定的字符数为止。substr 方法不更改由 my_str 指定的字符串，而是返回一个新字符串。


String.substring()

可用性

Flash Player 5。

用法

my_str.substring(start, [end])

参数

start 一个整数，指示 my_str 中用于创建子字符串的第一个字符的位置。start 的有效值为 0 到 String.length - 1。如果 start 为负值，则使用 0。

end 一个整数，为 1 + my_str 中要提取的最后一个字符的索引。end 的有效值为 1 到 String.length。提取出来的字符串中不包括由 end 参数索引指定的字符。如果省略了此参数，将使用 String.length。如果此参数是一个负值，则使用 0。

返回

字符串。

说明

方法；返回一个字符串，此字符串由 start 和 end 参数指定的两点之间的字符组成。如果未指定 end 参数，则子字符串的结尾就是原字符串的结尾。如果 start 的值等于 end 的值，则此方法返回一个空字符串。如果 start 的值大于 end 的值，则在函数执行前两个参数将自动互换，且原始值不变。


String.toLowerCase()

可用性

Flash Player 5。

用法

my_str.toLowerCase()

参数

无。

返回

字符串。

说明

方法；返回 String 对象的一个副本，其中所有的大写字符转换为小写。原始值不变。


String.toUpperCase()

可用性

Flash Player 5。

用法

my_str.toUpperCase()

参数

无。

返回

字符串。

说明

方法；返回 String 对象的一个副本，其中所有的小写字符转换为大写。原始值不变。


String()

可用性

Flash Player 4；行为在 Flash Player 7 中发生了变化。

用法

String(expression)

参数

expression 要转换为字符串的表达式。

返回

字符串。

说明

函数；返回指定参数的字符串表示形式，如下所示：

如果 expression 是数字，则返回的字符串为此数字的文本表示形式。

如果 expression 为字符串，则返回的字符串就是 expression。

如果 expression 是一个对象，则返回值为该对象的字符串表示形式，这是通过调用该对象的字符串属性生成的；如果不存在此类属性，则是通过调用 Object.toString() 生成的。

如果 expression 为 undefined，则返回值如下：

  • 在为 Flash Player 6 或更早版本发布的文件中，结果是空字符串 ("")。
  • 在为 Flash Player 7 或更高版本发布的文件中，结果是 undefined。

如果 expression 为布尔值，则返回的字符串为 "true" 或 "false"。

如果 expression 是一个影片剪辑，则返回值是以斜杠 (/) 记号表示的该影片剪辑的目标路径。

注意：动作脚本 2.0 不支持斜杠记号。

另请参见

Number.toString()、Object.toString()、String 类、" "（字符串分隔符）


substring

可用性

Flash Player 4。不鼓励使用此函数，而推荐使用 String.substr()。

用法

substring("string", index, count)

参数

string 从中提取新字符串的字符串。

index 要提取的第一个字符的编号。

count 要包含在所提取字符串中的字符数，其中不包括 index 字符。

返回

无。

说明

字符串函数；提取部分字符串。此函数是从 1 开始的，而 String 对象方法是从 0 开始的。

另请参见

String.substr()


super

可用性

Flash Player 6。

用法

super.method([arg1, ..., argN])
super([arg1, ..., argN])

参数

method 要在超类中调用的方法。

arg1 可选参数，这些参数或者传递给方法的超类版本（语法 1），或者传递给超类的构造函数（语法 2）。

返回

两种格式都调用一个函数。该函数可以返回任何值。

说明

运算符：第一种语法格式可以用于对象方法体内，用以调用方法的超类版本，而且可以选择向超类方法传递参数 (arg1 ... argN)。这对于创建某些子类方法很有用，这些子类方法在向超类方法添加附加行为的同时，又调用这些超类方法执行其原始行为。

第二种语法格式可以用于构造函数体内，用以调用此构造函数的超类版本，而且可以选择向它传递参数。这对于创建子类很有用，该子类在执行附加的初始化的同时，又调用超类构造函数执行超类初始化。


switch

可用性

Flash Player 4。

用法

switch (expression){
  caseClause:
  [defaultClause:]
}

参数

expression 任何表达式。

caseClause 一个 case 关键字，其后跟有一个表达式、冒号和一组语句，如果在使用全等 (===) 的情况下，此处的表达式与 switch 的 expression 参数相匹配，则执行这组语句。

defaultClause 一个 default 关键字，其后跟有一组语句，如果 case 表达式都不与 switch 的 expression 参数全等 (===) 匹配时，将执行这些语句。

返回

无。

说明

语句；创建动作脚本语句的分支结构。像 if 动作一样，switch 动作测试一个条件，并在条件返回 true 值时执行语句。

示例

在下面的示例中，如果 number 参数的计算结果为 1，则执行 case 1 后面的 trace() 动作，如果 number 参数的计算结果为 2，则执行 case 2 后面的 trace() 动作，依此类推。如果 case 表达式与 number 参数都不匹配，则执行 default 关键字后面的 trace() 动作。

switch (number) {
  case 1:
    trace ("case 1 tested true");
    break;
  case 2:
    trace ("case 2 tested true");
    break;
  case 3:
    trace ("case 3 tested true");
    break;
  default:
    trace ("no case tested true")
}

在下面的示例中，第一个 case 组中没有 break，因此如果 number 为 1，则 A 和 B 都将被发送到“输出”面板：

switch (number) {
  case 1:
    trace ("A");
  case 2:
    trace ("B");
    break;
  default:
    trace ("D")
}

另请参见

===（全等）、break、case、default、if


System 类

可用性

Flash Player 6。

说明

这是一个顶级类，包括功能对象（请参见 System.capabilities 对象）、安全对象（请参见
System.security 对象），以及下面列出的方法、属性和事件处理函数。

System 类的方法摘要

方法 | 说明
System.setClipboard() | 用文本字符串替换系统剪贴板的内容。
System.showSettings() | 显示 Flash Player“设置”面板。

System 类的属性摘要

方法 | 说明
System.exactSettings | 指定当访问本地设置时是使用超级域匹配规则还是完全域匹配规则。
System.useCodepage | 通知 Flash Player 是使用 Unicode 来解释外部文本文件，还是使用运行播放器的操作系统的传统代码页来解释外部文本文件。

System 类的事件处理函数摘要

方法 | 说明
System.onStatus | 为某些对象提供超级事件处理函数


System.exactSettings

可用性

创作：Flash MX 2004。

回放：为 Flash Player 6 或更高版本发布的 SWF 文件，在 Flash Player 7 或更高版本中播放。

用法

System.exactSettings

说明

属性；指定当访问本地设置（例如摄像头或麦克风访问权限）或本地永久数据（共享对象）时是使用超级域匹配规则还是完全域匹配规则。对于为 Flash Player 7 或更高版本发布的文件，默认值为 true，对于为 Flash Player 6 发布的文件，默认值为 false。

如果此值为 true，位于 here.xyz.com 的 SWF 文件的设置和数据将存储在 here.xyz.com 中，位于 there.xyz.com 的 SWF 文件的设置和数据将存储在 there.xyz.com 中，依此类推。如果此值为 false，则位于 here.xyz.com、there.xyz.com 和 xyz.com 的 SWF 文件的设置和数据是共享的，都将存储在 xyz.com 中。

如果某些文件将此属性设置为 false 而其它文件将其设置为 true，则将出现不同子域中的 Swf 文件共享设置和数据的情况。例如，如果位于 here.xyz.com 的 SWF 文件将此属性设置为 false 而位于 xyz.com 的 SWF 文件将此属性设置为 true，则两个文件将使用相同的设置和数据（即 xyz.com 中的设置和数据）。如果这不是您所希望的情况，则确保在每个文件中设置此属性以正确地表示所需的存储设置和数据的位置。

如果要更改此属性的默认值，则在文档的第一帧发布 System.exactSettings = false 命令。在发生任何需要访问本地设置的活动（例如 System.ShowSettings() 或
SharedObject.getLocal()）之后，将不能更改此属性。

如果使用 loadMovie()、MovieClip.loadMovie() 或 MovieClipLoader.loadClip() 将一个 SWF 文件加载到另一个 SWF 文件中，则为 Flash Player 7 发布的所有文件共享
System.exactSettings 的单个值，为 Flash Player 6 发布的所有文件共享
System.exactSettings 的单个值。因此，如果在一个为某个特定 Player 版本发布的文件中指定此属性的值，则应该在要加载的所有文件中执行此操作。如果加载多个文件，在最后一个加载的文件中指定的设置将覆盖所有以前指定的设置。

有关 Flash 中如何实现域匹配的更多信息，请参见Flash Player 安全功能。

另请参见

SharedObject.getLocal()、System.showSettings()


System.onStatus

可用性

Flash Player 6。

说明

事件处理函数：为某些对象提供“超级”事件处理函数。

LocalConnection、etStream 和SharedObject 对象提供 onStatus 事件处理函数，该事件处理函数使用信息对象提供信息、状态或错误消息。若要响应此事件处理函数，您必须创建一个函数来处理信息对象，同时还必须了解所返回的信息对象的格式和内容。

除了为上面列出的对象提供特定的 onStatus 方法之外，Flash 还提供名为 System.onStatus 的“超级”函数。如果为 level 属性为 "error" 的特定对象调用了 onStatus 但未分配任何函数对其进行响应，则 Flash 将处理分配到 System.onStatus 的函数（如果存在）。

注意：Camera 和 Microphone 类也具有 onStatus 处理函数，但不传递 level 属性为 "error" 的信息对象。因此，如果不为这些处理函数指定函数，则将不调用 System.onStatus。

下面的示例说明如何创建通用和特定函数来处理 onStatus 方法发送的信息对象。

// 创建通用函数
System.onStatus = function(genericError)
{
  // 您的脚本将在此处执行更有意义的操作
  trace("An error has occurred.Please try again.");
}

// 为 NetStream 对象创建函数
// 如果 NetStream 对象返回的信息对象不同于
// 下面列出的对象，其 level 属性为 "error"，
// 则将调用 System.onStatus

videoStream_ns.onStatus = function(infoObject) {
  if (infoObject.code == "NetStream.Play.StreamNotFound") {
    trace("Could not find video file.");
  }
}

另请参见

Camera.onStatus、LocalConnection.onStatus、Microphone.onStatus、
NetStream.onStatus、SharedObject.onStatus


System.setClipboard()

可用性

创作：Flash MX 2004。

回放：为 Flash Player 6 或更高版本发布的 SWF 文件，在 Flash Player 7 或更高版本中播放。

用法

System.setClipboard(string)

参数

string 要放置在系统剪贴板上的纯文本字符串，替换系统剪贴板上的当前内容（如果有的话）。如果传递文本字符串而不是 String 类型的变量，则将文本引在引号中。

返回

如果文本被成功放置在剪贴板上，则为布尔值 true，否则为 false。

说明

方法；用指定的文本字符串替换系统剪贴板上的内容。


System.showSettings()

可用性

Flash Player 6。

用法

System.showSettings([panel])

参数

panel 一个可选数字，指定要显示哪个 Flash Player“设置”面板，如下表所示。

为 panel 传递的值 | 显示的“设置”面板
无（参数被忽略）或不支持的值 | 用户上次关闭 Player“设置”面板时，处于打开状态的那个面板
0 | 隐私
1 | 本地存储
2 | 麦克风
3 | 摄像头

返回

无。

说明

方法；显示指定的 Flash Player“设置”面板，使用户可以执行以下操作：

  • 允许或拒绝访问摄像头和麦克风
  • 指定可供共享对象使用的本地磁盘空间
  • 选择默认摄像头和麦克风
  • 指定麦克风增益和回声抑制设置

例如，如果您的应用程序需要使用摄像头，则可以通知用户在“Privacy Settings”（隐私设置）面板中选择“Allow”（允许），然后发出 System.showSettings(0) 命令。（应确保舞台大小至少为 215 x 138 像素；这是 Flash 显示该面板所需的最小大小。）

另请参见

Camera.get()、Microphone.get()、SharedObject.getLocal()


System.useCodepage

可用性

Flash Player 6。

用法

System.useCodepage

说明

属性；一个布尔值，它通知 Flash Player 是使用 Unicode 来解释外部文本文件，还是使用运行播放器的操作系统的传统代码页来解释外部文本文件。system.useCodepage 的默认值为 false。

  • 当该属性设置为 false 时，Flash Player 按 Unicode 解释外部文本文件。（保存这些文件时，必须使用 Unicode 对其进行编码。）
  • 当该属性设置为 true 时，Flash Player 使用运行播放器的操作系统的传统代码页来解释外部文本文件。

对于作为外部文件包含或加载的文本（使用 #include 命令，loadVariables() 或 getURL 动作，或 LoadVars 或 XML 对象），保存这些文本文件时必须使用 Unicode 对其进行编码，这样 Flash Player 才能将其识别为 Unicode。若要使用 Unicode 对外部文件进行编码，请在支持 Unicode 的应用程序（例如，Windows 2000 上的“记事本”）中保存这些文件。

如果包含或加载了非 Unicode 编码的外部文本文件，则应将 system.useCodepage 设置为 true。在加载数据的 SWF 文件的第一帧中，在最前面添加以下代码（第一行代码）：

system.useCodepage = true;

如果有这一行代码，Flash Player 将使用运行 Flash Player 的操作系统的传统代码页来解释外部文本。对于英文 Windows 操作系统，该代码页通常为 CP1252；对于日文操作系统，该代码页通常为 Shift-JIS。如果将 system.useCodepage 设置为 true，Flash Player 6 和更高版本处理文本的方式与 Flash Player 5 相同。（Flash Player 5 在处理文本时，将所有文本都视为按运行播放器的操作系统的传统代码页编码的文本。）

如果将 system.useCodepage 设置为 true，应注意您的外部文本文件中使用的字符必须包含在运行播放器的操作系统的传统代码页中，这样才能显示该文本。例如，如果您加载了一个包含中文字符的外部文本文件，这些字符在使用 CP1252 代码页的系统上将无法显示，因为该代码页不包含中文字符。

若要确保所有平台上的用户都能查看您的 SWF 文件中使用的外部文本文件，应使用 Unicode 对所有外部文本文件进行编码，并将 System.useCodepage 设置保留为其默认设置 false。这样，Flash Player 6 和更高版本将按 Unicode 解释文本。


System.capabilities 对象

可用性

Flash Player 6。

说明

使用 System.capabilities 对象可以确定承载 SWF 文件的系统和播放器的功能。这样，您就可以针对不同的格式对内容进行调整。例如，移动电话的屏幕（黑白，100 x 100 像素）就与 1000 x 1000 像素的彩色 PC 屏幕不同。为了向尽可能多的用户提供适当的内容，可以使用 System.capabilities 对象来确定用户所拥有的设备的类型。然后，您可以指定服务器根据不同的设备功能发送不同的 SWF 文件，或者通知 SWF 文件根据设备的功能改变它的播放方式。

可以使用 GET 或 POST HTTP 方法来发送功能信息。下面是一个设备的服务器字符串示例，该设备不支持 MP3、屏幕为 400 x 200 像素、8 x 4 厘米：

"A=t&SA=t&SV=t&EV=t&MP3=t&AE=t&VE=t&ACC=f&PR=t&SP=t&SB=f&DEB=t&V=WIN%207%2C0%2C0%2C226&M=Macromedia%20Windows&R=1152x864&DP=72&COL=color&AR=1.0&OS=Windows%20XP&L=en&PT=External&AVD=f&LFD=f"

System.capabilities 对象的属性摘要

属性 | 说明 | 服务器字符串
System.capabilities.avHardwareDisable | 只读；指定用户的摄像头和麦克风是否 启用。 | AVD
System.capabilities.hasAccessibility | 指示播放器是否正在支持在 Flash Player 和辅助功能之间进行通讯的系统上运行。 | ACC
System.capabilities.hasAudio | 指示播放器是否正在具有音频功能的系统上 运行。 | A
System.capabilities.hasAudioEncoder | 指示播放器是否正在能够对音频流（例如，来自麦克风的音频流）进行编码的系统上 运行。 | AE
System.capabilities.hasEmbeddedVideo | 指示播放器是否正在支持嵌入视频的系统上 运行。 | EV
System.capabilities.hasMP3 | 指示播放器是否正在具有 MP3 解码器的系统上运行。 | MP3
System.capabilities.hasPrinting | 指示播放器是否正在支持打印的系统上 运行。 | PR
System.capabilities.hasScreenBroadcast | 指示播放器是否支持开发将通过 Flash Communication Server 运行的屏幕广播应用程序。 | SB
System.capabilities.hasScreenPlayback | 指示播放器是否支持回放正在通过 Flash Communication Server 运行的屏幕广播应用程序。 | SP
System.capabilities.hasStreamingAudio | 指示播放器是否可以播放流音频。 | SA
System.capabilities.hasStreamingVideo | 指示播放器是否可以播放流视频。 | SV
System.capabilities.hasVideoEncoder | 指示播放器是否能够对视频流（例如，来自 Web 摄像头的视频流）进行编码。 | VE
System.capabilities.isDebugger | 指示播放器是官方发布的版本，还是特殊的调试版本。 | DEB
System.capabilities.language | 指示运行播放器的系统的语言。 | L
System.capabilities.localFileReadDisable | 只读；指定播放器是否将尝试从用户的硬盘读取内容（包括播放器启动时播放的第一个 SWF 文件）。 | LFD
System.capabilities.manufacturer | 指示 Flash Player 的制造商。 | M
System.capabilities.os | 指示承载 Flash Player 的操作系统。 | OS
System.capabilities.pixelAspectRatio | 指示屏幕的像素高宽比。 | AR
System.capabilities.playerType | 指示播放器的类型：独立、外部、插件或 ActiveX。 | PT
System.capabilities.screenColor | 指示屏幕是彩色、灰度、还是黑白的。 | COL
System.capabilities.screenDPI | 指示屏幕分辨率（每英寸的点数），以像素为单位。 | DP
System.capabilities.screenResolutionX | 指示屏幕的水平大小。 | R
System.capabilities.screenResolutionY | 指示屏幕的垂直大小。 | R
System.capabilities.serverString | 一个 URL 编码的字符串，用于指定各个 System.capabilities 属性的值。 | 无
System.capabilities.version | 包含 Flash Player 版本和平台信息的字 符串。 | V


System.capabilities.avHardwareDisable

可用性

Flash Player 7。

用法

System.capabilities.avHardwareDisable

说明

只读属性；一个布尔值，指定是否启用了用户的摄像头和麦克风。

另请参见

Camera.get()、Microphone.get()、System.showSettings()


System.capabilities.hasAccessibility

可用性

Flash Player 6 版本 65。

用法

System.capabilities.hasAccessibility

说明

属性；一个布尔值，指示播放器是否正在支持在 Flash Player 和辅助功能之间进行通讯的环境中运行。其服务器字符串为 ACC。

另请参见

Accessibility.isActive()、Accessibility.updateProperties()、_accProps


System.capabilities.hasAudio

可用性

Flash Player 6。

用法

System.capabilities.hasAudio

说明

属性；一个布尔值，指示播放器是否正在具有音频功能的系统上运行。其服务器字符串为 A。


System.capabilities.hasAudioEncoder

可用性

Flash Player 6。

用法

System.capabilities.hasAudioEncoder

说明

属性；一个布尔值，指示播放器是否能够对音频流（例如，来自麦克风的音频流）进行编码。其服务器字符串为 AE。


System.capabilities.hasEmbeddedVideo

可用性

Flash Player 6。

用法

System.capabilities.hasEmbeddedVideo

说明

属性；一个布尔值，指示播放器是否正在支持嵌入视频的系统上运行。其服务器字符串为 EV。


System.capabilities.hasMP3

可用性

Flash Player 6。

用法

System.capabilities.hasMP3

说明

属性；一个布尔值，指示播放器是否正在具有 MP3 解码器的系统上运行。其服务器字符串为 MP3。


System.capabilities.hasPrinting

可用性

Flash Player 6。

用法

System.capabilities.hasPrinting

说明

属性；一个布尔值，指示播放器是否正在支持打印的系统上运行。其服务器字符串为 PR。


System.capabilities.hasScreenBroadcast

可用性

Flash Player 6。

用法

System.capabilities.hasScreenBroadcast

说明

属性；一个布尔值，指示播放器是否支持开发将通过 Flash Communication Server 运行的屏幕广播应用程序。其服务器字符串为 SB。


System.capabilities.hasScreenPlayback

可用性

Flash Player 6。

用法

System.capabilities.hasScreenPlayback

说明

属性；一个布尔值，指示播放器是否支持回放正在通过 Flash Communication Server 运行的屏幕广播应用程序。其服务器字符串为 SP。


System.capabilities.hasStreamingAudio

可用性

Flash Player 6。

用法

System.capabilities.hasStreamingAudio

说明

属性；一个布尔值，指示播放器是否可以播放流音频。其服务器字符串为 SA。


System.capabilities.hasStreamingVideo

可用性

Flash Player 6。

用法

System.capabilities.hasStreamingVideo

说明

属性；一个布尔值，指示播放器是否可以播放流视频。其服务器字符串为 SV。


System.capabilities.hasVideoEncoder

可用性

Flash Player 6。

用法

System.capabilities.hasVideoEncoder

说明

属性；一个布尔值，指示播放器是否能够对视频流（例如，来自 Web 摄像头的视频流）进行编码。其服务器字符串为 VE。


System.capabilities.isDebugger

可用性

Flash Player 6。

用法

System.capabilities.isDebugger

说明

属性；一个布尔值，指示播放器是正式发布的版本 (false)，还是特殊的调试版本 (true)。其服务器字符串为 DEB。


System.capabilities.language

可用性

Flash Player 6。

用法

System.capabilities.language

说明

属性；指示运行播放器的系统的语言。此属性可以指定为 ISO 639-1 标准的两个小写字母表示的语言代码加上 ISO 3166 标准的两个大写字母表示的国家/地区代码子标签（后者为可选）。这些代码表示运行播放器的系统的语言。这些语言本身是用英语标签指定的。例如，“fr”指法语。

语言 | 标签 | 所支持的国家/地区及标签
捷克语 | cs |
丹麦语 | da |
荷兰语 | nl |
英语 | en |
芬兰语 | fi |
法语 | fr |
德语 | de |
匈牙利语 | hu |
意大利语 | it |
日语 | ja |
朝鲜语 | ko |
挪威语 | no |
其它/未知 | xu |
波兰语 | pl |
葡萄牙语 | pt |
俄语 | ru |
简体中文 | zh | 中国（简体中文）：zh-CN
西班牙语 | es |
瑞典语 | sv |
繁体中文 | zh | 中国台湾地区（繁体中文）：zh-TW
土耳其语 | tr |


System.capabilities.localFileReadDisable

可用性

Flash Player 7。

用法

System.capabilities.localFileReadDisable

说明

只读属性；一个布尔值，指定 Flash Player 是否尝试从用户的硬盘读取任何内容（包括 Flash Player 启动时播放的第一个 SWF 文件）。


System.capabilities.manufacturer

可用性

Flash Player 6。

用法

System.capabilities.manufacturer

说明

属性；一个字符串，指示 Flash Player 的制造商。其格式为 "Macromedia OSName"（OSName 可能为 "Windows"、"Macintosh"、"Linux" 或 "Other OS Name"）。其服务器字符串为 M。


System.capabilities.os

可用性

Flash Player 6。

用法

System.capabilities.os

说明

属性；一个字符串，指示当前操作系统。os 属性可能会返回以下字符串："Windows XP"、"Windows 2000"、"Windows NT"、"Windows 98/ME"、"Windows 95"、"Windows CE"（仅在 Flash Player SDK 中可用，在桌面版本中不可用）、"Linux" 和 "MacOS"。其服务器字符串为 OS。


System.capabilities.pixelAspectRatio

可用性

Flash Player 6。

用法

System.capabilities.pixelAspectRatio

说明

属性；指示屏幕像素高宽比的整数。其服务器字符串为 AR。


System.capabilities.playerType

可用性

Flash Player 7。

用法

System.capabilities.playerType

说明

属性；一个字符串，指示播放器的类型。此属性可以具有以下值："StandAlone"、"External"、"PlugIn" 或 "ActiveX"。其服务器字符串为 PT。


System.capabilities.screenColor

可用性

Flash Player 6。

用法

System.capabilities.screenColor

说明

属性；指示屏幕是彩色的 (color)、灰度的 (gray)、还是黑白的 (bw)。其服务器字符串为 COL。


System.capabilities.screenDPI

可用性

Flash Player 6。

用法

System.capabilities.screenDPI

说明

属性；指示屏幕分辨率（每英寸的点数 (dpi)），以像素为单位。其服务器字符串为 DP。


System.capabilities.screenResolutionX

可用性

Flash Player 6。

用法

System.capabilities.screenResolutionX

说明

属性；指示屏幕最大水平分辨率的整数。其服务器字符串为 R（它返回屏幕的宽度和高度）。


System.capabilities.screenResolutionY

可用性

Flash Player 6。

用法

System.capabilities.screenResolutionY

说明

属性；指示屏幕最大垂直分辨率的整数。其服务器字符串为 R（它返回屏幕的宽度和高度）。


System.capabilities.serverString

可用性

Flash Player 6。

用法

System.capabilities.serverString

说明

属性；一个 URL 编码的字符串，用于指定各个 System.capabilities 属性的值，如下例所示：

A=t&SA=t&SV=t&EV=t&MP3=t&AE=t&VE=t&ACC=f&PR=t&SP=t&SB=f&DEB=t&V=WIN%207%2C0%2C0%2C226&M=Macromedia%20Windows&R=1152x864&DP=72&COL=color&AR=1.0&OS=Windows%20XP&L=en&PT=External&AVD=f&LFD=f


System.capabilities.version

可用性

Flash Player 6。

用法

System.capabilities.version

说明

属性；一个包含 Flash Player 平台和版本信息的字符串，例如，"WIN 7,0,0,231"。其服务器字符串为 V。


System.security 对象

可用性

Flash Player 6。

说明

此对象包含的方法指定不同域中的 SWF 文件如何相互通讯。

System.security 对象的方法摘要

方法 | 说明
System.security.allowDomain() | 允许指定的域中的 SWF 文件访问调用此方法的 SWF 文件中的对象和变量，或与调用此方法的 SWF 文件位于同一个域中的任何其它 SWF 文件中的对象和变量。
System.security.allowInsecureDomain() | 允许指定的域中的 SWF 文件访问调用此方法的 SWF 文件中的对象和变量，该文件是使用 HTTPS 协议进行承 载的。


System.security.allowDomain()

可用性

Flash Player 6；行为在 Flash Player 7 中发生了变化。

用法

System.security.allowDomain("domain1", "domain2, ... domainN")

参数

domain1, domain2, ... domainN 指定域的字符串，这些域可以访问包含
System.Security.allowDomain() 调用的文件中的对象和变量。可以按照以下格式指定域：

  • "domain.com"
  • "http://domain.com"
  • "http://IPaddress"

说明

方法；允许指定的域中的 SWF 文件访问调用此方法的 SWF 文件中的对象和变量，或与调用此方法的 SWF 文件位于同一个域中的任何其它 SWF 文件中的对象和变量。

在 Flash Player 7 或更高版本中播放的文件中，传递的参数必须遵守完全域命名规则。例如，若要允许位于 www.domain.com 或 store.domain.com 的 SWF 文件进行访问，则必须传递这两个域名：

// 对于 Flash Player 6
System.security.allowDomain("domain.com");
// 允许运行于 Flash Player 7 或更高版本中的 SWF 文件
// 进行访问的对应命令
System.security.allowDomain("www.domain.com"."store.domain.com");

另外，对于运行于 Flash Player 7 或更高版本中的文件，不能使用此方法让使用安全的协议 (HTTPS) 承载的 SWF 文件允许来自使用不安全的协议承载的 SWF 文件的访问；您必须改用 System.security.allowInsecureDomain()。

示例

位于 www.macromedia.com/MovieA.swf 的 SWF 文件包含以下代码行。

System.security.allowDomain("www.shockwave.com");
loadMovie("http://www.shockwave.com/MovieB.swf", _root.my_mc);

因为 MovieA 包含 allowDomain() 命令，所以 MovieB 可以访问 MovieA 中的对象和变量。如果 MovieA 中没有该命令，Flash 安全实施机制将不允许 MovieA 访问 MovieB 的对象和
变量。


System.security.allowInsecureDomain()

可用性

Flash Player 7。

用法

System.Security.allowInsecureDomain("domain")

参数

domain 一个完全域名，例如“www.myDomainName.com”或
“store.myDomainName.com”。

返回

无。

说明

方法；允许指定的域中的 SWF 文件访问调用此方法的 SWF 文件中的对象和变量，该文件是使用 HTTPS 协议进行承载的。

默认情况下，使用 HTTPS 协议承载的 SWF 文件只能被其它使用 HTTPS 协议承载的 SWF 文件访问。这种实现保持了 HTTPS 协议所提供的完整性。

因为此方法损害了 HTTPS 安全性，所以 Macromedia 不推荐使用此方法覆盖默认的行为。但是有时您可能需要这样做。例如，如果您必须允许为 Flash Player 6 发布的 HTTP 文件访问为 Flash Player 7 或更高版本发布的 HTTPS 文件。

为 Flash Player 6 发布的 SWF 文件可以使用 System.security.allowDomain() 允许 HTTP 对 HTTPS 的访问。但是，由于 Flash Player 7 中安全性的实现方式不同，您必须使用 System.Security.allowInsecureDomain() 允许在为 Flash Player 7 或更高版本发布的 SWF 文件中进行这种访问。

示例

在本例中，在安全的域中承载数学测试，以便只有注册的学生才能进行访问。您还开发了一些 SWF 文件用于说明某些概念，您将这些文件放置在不安全的域中。您希望学生能够从包含有关概念信息的 SWF 文件访问测试。

// 此 SWF 文件位于 https://myEducationSite.somewhere.com/mathTest.swf
// 概念文件位于 http://myEducationSite.somewhere.com
System.Security.allowInsecureDomain("myEducationSite.somewhere.com")

另请参见

System.security.allowDomain()、System.exactSettings


targetPath

可用性

Flash Player 5。

用法

targetpath(movieClipObject)

参数

movieClipObject 对要获取其目标路径的影片剪辑的引用（例如，_root 或 _parent）。

返回

包含指定影片剪辑的目标路径的字符串。

说明

函数；返回包含 movieClipObject 的目标路径的字符串。此目标路径以点记号表示形式返回。若要获取以斜杠记号表示的目标路径，请使用 _target 属性。

示例

此示例在加载影片剪辑时，立即显示该影片剪辑的目标路径。

onClipEvent (load) {
  trace(targetPath(this));
}

另请参见

eval()


tellTarget

可用性

Flash Player 3。（在 Flash 5 中不鼓励使用；建议使用点记号表示法和 with 动作。）

用法

tellTarget("target") {
  statement(s);
}

参数

target 一个字符串，指定要控制的时间轴的目标路径。

statement(s) 条件计算结果为 true 时要执行的指令。

返回

无。

说明

不鼓励使用的动作；将在 statements 参数中指定的指令应用到在 target 参数中指定的时间轴。tellTarget 动作对导航控制很有帮助。可以将 tellTarget 分配给停止或开始舞台上其它地方的影片剪辑的按钮。还可以使影片剪辑转到此剪辑的特定帧。例如，可以将 tellTarget 分配给停止或开始舞台上影片剪辑的按钮，或者提示影片剪辑跳至特定帧的按钮。

在 Flash 5 或更高版本中，可以使用点记号表示法代替 tellTarget 动作。可以使用 with 动作向同一个时间轴发出多个动作。使用 with 动作可将任何对象作为目标，而 tellTarget 动作只能将影片剪辑作为目标。

示例

此 tellTarget 语句控制主时间轴上的影片剪辑实例 ball。ball 实例的第 1 帧为空白而且有一个 stop() 动作，所以它在舞台上不可见。单击具有下列动作的按钮时，tellTarget 通知 ball 中的播放头转至第 2 帧（动画开始处）。

on (release) {
  tellTarget("ball") {
    gotoAndPlay(2);
  }
}

下面的示例使用点记号表示法达到同样的结果。

on (release) {
  ball.gotoAndPlay(2);
}

如果需要向 ball 实例发出多个命令，可以使用 with 动作，如下面的语句所示。

on (release) {
  with(ball) {
    gotoAndPlay(2);
    _alpha = 15;
    _xscale = 50;
    _yscale = 50;
  }
}

另请参见

with


TextField 类

可用性

Flash Player 6。

说明

SWF 文件中的所有动态文本字段和输入文本字段都是 TextField 类的实例。可以在属性检查器中为文本字段指定实例名称，并且可以在动作脚本中使用 TextField 类的方法和属性对文本字段进行操作。TextField 的实例名称显示在“影片管理器”中及“动作”面板的“插入目标路径”对话框中。

TextField 类继承自 Object 类。

若要动态创建文本字段，可以使用 MovieClip.createTextField()。

TextField 类的方法摘要

方法 | 说明
TextField.addListener() | 注册一个对象，以便在调用 onChanged 和 onScroller 事件处理函数时接收通知。
TextField.getFontList() | 返回播放器的主机系统上字体名称的数组。
TextField.getDepth() | 返回文本字段的深度。
TextField.getNewTextFormat() | 获取分配给新插入文本的默认文本格式。
TextField.getTextFormat() | 返回包含文本字段中一些或全部文本的格式信息的 TextFormat 对象。
TextField.removeListener() | 删除侦听器对象。
TextField.removeTextField() | 删除使用 MovieClip.createTextField() 创建的文本字段。
TextField.replaceSel() | 替换当前的所选内容。
TextField.setNewTextFormat() | 为由用户或方法插入的文本设置 TextFormat 对象。
TextField.setTextFormat() | 为文本字段中指定范围内的文本设置一个 TextFormat 对象。

TextField 类的属性摘要

属性 | 说明
TextField._alpha | 文本字段实例的透明度值。
TextField.autoSize | 控制文本字段的自动对齐和大小调整。
TextField.background | 指示文本字段是否具有背景填充。
TextField.backgroundColor | 指示背景填充的颜色。
TextField.border | 指示文本字段是否具有边框。
TextField.borderColor | 指示边框的颜色。
TextField.bottomScroll | 文本字段中最下面的可见行。只读。
TextField.embedFonts | 指示文本字段是使用嵌入字体轮廓还是使用设备字体。
TextField._height | 文本字段实例的高度，以像素为单位。它只影响文本字段的边框，不影响边框的粗细和文本字体大小。
TextField._highquality | 指示 SWF 文件的呈现品质。
TextField.hscroll | 指示文本字段的水平滚动值。
TextField.html | 指示文本字段的当前最大滚动位置。
TextField.htmlText | 包含文本字段内容的 HTML 表示形式。
TextField.length | 文本字段中的字符数。只读。
TextField.maxChars | 文本字段最多可容纳的字符数。
TextField.maxhscroll | TextField.hscroll 的最大值。只读。
TextField.maxscroll | TextField.scroll 的最大值。只读。
TextField.menu | 将 ContextMenu 对象与文本字段关联。
TextField.mouseWheelEnabled | 指示当鼠标指针停在文本字段上且用户滚动鼠标滚轮时，Flash Player 是否应自动滚动多行文本字段。
TextField.multiline | 指示文本字段是否包含多行。
TextField._name | 文本字段实例的实例名称。
TextField._parent | 对此实例的父级实例的引用；其类型为 Button 或 MovieClip。
TextField.password | 指示文本字段是否隐藏输入字符。
TextField._quality | 指示 SWF 文件的呈现品质。
TextField.restrict | 用户可输入文本字段的字符集。
TextField._rotation | 文本字段实例的旋转度数。
TextField.scroll | 指示文本字段的当前滚动位置。
TextField.selectable | 指示文本字段是否可选。
TextField._soundbuftime | 在声音进入流之前，必须预先缓冲的声音的时间量。
TextField.tabEnabled | 指示影片剪辑是否包括在 Tab 键的自动排序中。
TextField.tabIndex | 指示对象的 Tab 键顺序。
TextField._target | 指定文本字段实例的目标路径。只读。
TextField.text | 文本字段中的当前文本。
TextField.textColor | 文本字段中当前文本的颜色。
TextField.textHeight | 文本字段边框的高度。
TextField.textWidth | 文本字段边框的宽度。
TextField.type | 指示文本字段是输入文本字段还是动态文本字段。
TextField._url | 创建文本字段实例的 SWF 文件的 URL。只读。
TextField.variable | 与文本字段关联的变量名。
TextField._visible | 确定文本字段实例是隐藏还是可见的布尔值。
TextField._width | 文本字段实例的宽度，以像素为单位。它只影响文本字段的边框，不影响边框的粗细和文本字体大小。
TextField.wordWrap | 指示文本字段是否自动换行。
TextField._x | 文本字段实例的 x 坐标
TextField._xmouse | 指针相对于文本字段实例的 x 坐标。只读。
TextField._xscale | 指定水平缩放文本字段实例的百分比的值。
TextField._y | 文本字段实例的 y 坐标。
TextField._ymouse | 指针相对于文本字段实例的 y 坐标。只读。
TextField._yscale | 指定垂直缩放文本字段实例的百分比的值。

TextField 类的事件处理函数摘要

事件处理函数 | 说明
TextField.onChanged | 在文本字段更改时调用。
TextField.onKillFocus | 在文本字段失去焦点时调用。
TextField.onScroller | 在文本字段滚动属性之一发生更改时调用。
TextField.onSetFocus | 在文本字段接收焦点时调用。

TextField 类的侦听器摘要

方法 | 说明
TextField.onChanged | 在文本字段更改时获得通知。
TextField.onScroller | 在文本字段的 scroll 或 maxscroll 属性更改时获得通知。


TextField.addListener()

可用性

Flash Player 6。

用法

my_txt.addListener(listener)

参数

listener一个具有 onChanged 或 onScroller 事件处理函数的对象。

返回

无。

说明

方法；注册一个对象，以便在调用 onChanged 和 onScroller 事件处理函数时接收通知。当文本字段更改或滚动时，首先将调用 TextField.onChanged 和 TextField.onScroller 事件处理函数，然后调用任何注册为侦听器的对象的 onChanged 和 onScroller 事件处理函数。可将多个对象注册为侦听器。

若要从文本字段删除侦听器对象，可以调用 TextField.removeListener()。

事件源将把对该文本字段实例的一个引用作为参数传递给 onScroller 和 onChanged 处理函数。您可以通过将参数放入事件处理函数方法来捕获此数据。例如，以下代码使用 txt 作为传递给 onScroller 事件处理函数的参数。然后，在一条 trace 语句中使用该参数将文本字段的实例名称发送到“输出”面板。

myTextField.onScroller = function (txt) {
  trace (txt._name + " changed");
};

示例

下面的示例为输入文本字段 myText 定义一个 onChange 处理函数。然后定义一个新的侦听器对象，myListener，并为该对象定义一个 onChanged 处理函数。当文本字段 myText 发生更改时，将调用此处理函数。最后一行代码调用 TextField.addListener 向文本字段 myText 注册侦听器对象 myListener，这样，在 myText 更改时将通知该侦听器对象。

myText.onChanged = function (txt) {
  trace (txt._name + " changed");
};
myListener = new Object();
myListener.onChanged = function (txt) {
  trace(txt._name + " changed and notified myListener");
};

myText.addListener(myListener);

另请参见

TextField.onChanged、TextField.onScroller、TextField.removeListener()


TextField._alpha

可用性

Flash Player 6。

用法

my_txt._alpha

说明

属性；设置或获取由 my_txt 指定的文本字段的 Alpha 透明度值。有效值为 0（完全透明）到 100（完全不透明）。默认值为 100。

示例

下列代码在单击按钮时，将名为 text1_txt 的文本字段的 _alpha 属性设置为 30%：

on (release) {
  text1_txt._alpha = 30;
}

另请参见

Button._alpha、MovieClip._alpha


TextField.autoSize

可用性

Flash Player 6。

用法

my_txt.autoSize

说明

属性；控制文本字段的自动大小调整和对齐。autoSize 可接受的值是 "none"（默认值）、
"left"、"right" 和 "center"。设置 autoSize 属性时，true 与 "left" 同义，而 false 与
"none" 同义。

autoSize、multiline 和 wordWrap 的值确定文本字段是否扩展或收缩到左边、右边或底边。您可以使用以下代码并为 autoSize、multiline 和 wordWrap 输入不同的值，观察当这些值更改时字段如何调整大小。

createTextField("my_txt", 1, 0, 0, 200, 20);
with (my_txt) {
  border = true;
  borderColor = 0x000000;
  multiline = false;
  wordWrap = false;
  autoSize = "none";
  text = "Here is a whole bunch of text that won't fit in the field ";
}

示例

下面的语句将文本字段 my_txt 的 autosize 属性设置为 "center"。

my_txt.autosize = "center";


TextField.background

可用性

Flash Player 6。

用法

my_txt.background

说明

属性；如果为 true，则文本字段具有背景填充。如果为 false，则文本字段没有背景填充。


TextField.backgroundColor

可用性

Flash Player 6。

用法

my_txt.backgroundColor

说明

属性；文本字段背景的颜色。默认值为 0xFFFFFF（白色）。即使当前没有背景（只有当文本字段有边框时，背景颜色才可见），也可获取或设置此属性。

另请参见

TextField.background


TextField.border

可用性

Flash Player 6。

用法

my_txt.border

说明

属性；如果为 true，则文本字段具有边框。如果为 false，则文本字段没有边框。


TextField.borderColor

可用性

Flash Player 6。

用法

my_txt.borderColor

说明

属性；文本字段边框的颜色，默认值为 0x000000（黑色）。即使当前没有边框，也可获取或设置此属性。

另请参见

TextField.border


TextField.bottomScroll

可用性

Flash Player 6。

用法

my_txt.bottomScroll

说明

属性（只读）；指示 my_txt 中当前最底端可见行的整数（从 1 开始的索引）。可将文本字段看作文本块上的一个“窗口”。TextField.scroll 属性是此窗口中最顶端可见行的索引（从 1 开始）。

在该文本字段中，第 TextField.scroll 行和第 TextField.bottomScroll 行之间的所有文本当前都可见。


TextField.condenseWhite

可用性

Flash Player 6。

用法

my_txt.condenseWhite

说明

属性；一个布尔值，指定当 HTML 文本字段在浏览器中呈现时是否删除字段中的额外空白（空格、换行符等）。默认值为 false。

如果将此值设置为 true，则必须使用标准 HTML 命令（如 <BR> 和 <P>）将换行符放在文本字段中。

如果 my_txt.html 为 false，则忽略此属性。

另请参见

TextField.html


TextField.embedFonts

可用性

Flash Player 6。

用法

my_txt.embedFonts

说明

属性；一个布尔值，当此值为 true 时，使用嵌入字体轮廓呈现文本字段。如果为 false，则使用设备字体呈现文本字段。


TextField.getDepth()

可用性

Flash Player 6。

用法

my_txt.getDepth()

参数

无。

返回

一个整数。

说明

方法；返回文本字段的深度。


TextField.getFontList()

可用性

Flash Player 6。

用法

TextField.getFontList()

参数

无。

返回

一个数组。

说明

方法；全局 TextField 类的一个静态方法。调用此方法时，不需要指定特定的文本字段（例如 my_txt）。此方法返回播放器的主机系统上字体名称的数组。（而不返回当前加载的 SWF 文件中所有字体的名称。）这些名称为 string 类型。

示例

下面的代码显示 getFontList() 返回的字体列表。

font_array = TextField.getFontList();
for( i in font_array){

  trace(font_array[i]);

}


TextField.getNewTextFormat()

可用性

Flash Player 6。

用法

my_txt.getNewTextFormat()

参数

无。

返回

TextFormat 对象。

说明

方法；返回一个 TextFormat 对象，该对象包含此文本字段的文本格式对象的副本。文本格式对象是新插入文本（例如，使用 replaceSel() 方法插入的文本或由用户输入的文本）接收到的格式。调用 getNewTextFormat() 时，返回的 TextFormat 对象的所有属性均已定义。所有属性都不为 null。


TextField.getTextFormat()

可用性

Flash Player 6。

用法

my_txt.getTextFormat()
my_txt.getTextFormat(index)
my_txt.getTextFormat(beginIndex, endIndex)

参数

index 一个整数，指定字符串中的某个字符。

beginIndex、endIndex 整数，指定 my_txt 内文本块的开始和结束位置。

返回

一个对象。

说明

方法；用法 1：返回一个 TextFormat 对象，该对象包含文本字段中所有文本的格式设置信息。在结果 TextFormat 对象中只设置文本字段中所有文本共有的属性。所有混合 型属性（意味着它在文本中的不同位置有不同的值）的值都设置为 null。

用法 2：返回一个 TextFormat 对象，该对象包含 index 处文本字段的文本格式的副本。

用法 3：返回一个 TextFormat 对象，该对象包含从 beginIndex 到 endIndex 的文本范围内的格式设置信息。

另请参见

TextField.getNewTextFormat()、TextField.setNewTextFormat()、
TextField.setTextFormat()


TextField._height

可用性

Flash Player 6。

用法

my_txt._height

说明

属性；文本字段的高度，以像素为单位。

示例

下面的代码示例设置文本字段的高度和宽度。

my_txt._width = 200;
my_txt._height = 200;


TextField._highquality

可用性

Flash Player 6。

用法

my_txt._highquality

说明

属性（全局）；指定应用于当前 SWF 文件的锯齿消除级别。指定 2（最高品质），则应用高品质，位图平滑处理始终打开。指定 1（高品质），则应用锯齿消除功能；如果 SWF 文件不包含动画，将对位图进行平滑处理。指定 0（低品质），则不消除锯齿。

另请参见

_quality


TextField.hscroll

可用性

Flash Player 6。

用法

my_txt.hscroll

返回

一个整数。

说明

属性；指示当前水平滚动位置。如果 hscroll 属性为 0，则不能水平滚动文本。

有关滚动文本的更多信息，请参见创建滚动文本。

示例

下面的示例水平滚动文本。

on (release) {
  my_txt.hscroll += 1;
}

另请参见

TextField.maxhscroll、TextField.scroll


TextField.html

可用性

Flash Player 6。

用法

my_txt.html

说明

属性；指示文本字段是否包含 HTML 表示形式的标记。如果 html 属性为 true，则该文本字段为 HTML 文本字段。如果 html 为 false，则该文本字段为非 HTML 文本字段。

另请参见

TextField.htmlText


TextField.htmlText

可用性

Flash Player 6。

用法

my_txt.htmlText

说明

属性；如果该文本字段为 HTML 文本字段，则此属性包含该文本字段内容的 HTML 表示形式。如果该文本字段不是 HTML 文本字段，则其行为与 text 属性相同。可以通过以下方法指示某个文本字段是 HTML 文本字段：在属性检查器中指示；或通过将文本字段的 html 属性设置为 true 进行指示。

示例

在下面的示例中，文本字段 text2 中的文本以粗体呈现。

text2.html = true;
text2.htmlText = "<b> this is bold text </b>";

另请参见

TextField.html


TextField.length

可用性

Flash Player 6。

用法

my_txt.length

返回

一个数字。

说明

属性（只读）；指示文本字段中的字符数。此属性的返回值与 text.length 相同，但是它更快。如 Tab（“\t”）之类的字符视为一个字符。


TextField.maxChars

可用性

Flash Player 6。

用法

my_txt.maxChars

说明

属性；指示此文本字段最多可容纳的字符数。脚本插入的文本可能会比 maxChars 允许的字符数多；maxChars 属性只是指示用户可以输入多少文本。如果此属性的值为 null，则对用户可以输入的文本量没有限制。


TextField.maxhscroll

可用性

Flash Player 6。

用法

my_txt.maxhscroll

说明

属性（只读）；指示 TextField.hscroll 的最大值。


TextField.maxscroll

可用性

Flash Player 6。

用法

TextField.maxscroll

说明

属性（只读）；指示 TextField.scroll 的最大值。

有关滚动文本的更多信息，请参见创建滚动文本。


TextField.menu

可用性

Flash Player 7。

用法

my_txt.menu = contextMenu

参数

contextMenu 一个 ContextMenu 对象。

说明

属性；将 ContextMenu 对象 contextMenu 与文本字段 my_txt 相关联。ContextMenu 类用于修改当用户在 Flash Player 中右击 (Windows) 或按住 Control 键单击 (Macintosh) 时显示的上下文菜单。

此属性仅在可选（可编辑）文本字段上起作用；在非可选文本字段上，它不起作用。

示例

下面的示例将 ContextMenu 对象 menu_cm 分配给文本字段 news_txt。ContextMenu 对象包含一个标记为“Print”的自定义菜单项，该项带有一个名为 doPrint()、执行打印操作的（不显示出来）的关联回调处理函数：

var menu_cm = new ContextMenu();
menu_cm.customItems.push(new ContextMenuItem("Print...", doPrint));
function doPrint(menu, obj) {
  // 此处为打印代码
}
news_txt.menu = menu_cm;

另请参见

Button.menu、ContextMenu 类、ContextMenuItem 类、MovieClip.menu


TextField.mouseWheelEnabled

可用性

Flash Player 7。

用法

my_txt.mouseWheelEnabled

说明

属性；一个布尔值，指示当鼠标指针位于文本字段上且用户滚动鼠标滚轮时，Flash Player 是否应自动滚动多行文本字段。默认情况下，此值为 true。如果您想让文本字段在用户滚动鼠标滚轮时不随之滚动，或要实施您自己的文本字段滚动方式，可以使用此属性。

另请参见

Mouse.onMouseWheel


TextField.multiline

可用性

Flash Player 6。

用法

my_txt.multiline

说明

属性；指示文本字段是否为多行文本字段。如果此值为 true，则该文本字段为多行文本字段；如果此值为 false，则该文本字段为单行文本字段。


TextField._name

可用性

Flash Player 6。

用法

my_txt._name

说明

属性；由 my_txt 指定的文本字段的实例名称。


TextField.onChanged

可用性

Flash Player 6。

用法

my_txt.onChanged = function(){
  // 此处是您的语句
}

参数

无。

返回

文本字段的实例名称。

说明

事件处理函数；在文本字段的内容更改时调用。默认情况下它是未定义的；可以在脚本中定义它。

对该文本字段实例的一个引用将被作为参数传递给 onChanged 处理函数。您可以通过将参数放入事件处理函数方法来捕获此数据。例如，以下代码使用 txt 作为传递给 onChanged 事件处理函数的参数。然后，在 trace() 语句中使用该参数将文本字段的实例名称发送到“输出”面板。

myTextField.onChanged = function (txt) {
  trace (txt._name + " changed");
};


TextField.onKillFocus

可用性

Flash Player 6。

用法

my_txt.onKillFocus = function(newFocus){
  // 此处是您的语句
}

参数

newFocus 要接收焦点的对象。

返回

无。

说明

事件处理函数；在文本字段失去键盘焦点时调用。onKillFocus 方法接收一个参数 newFocus，该参数是一个对象，表示要接收焦点的新对象。如果没有对象接收焦点，则 newFocus 将包含值 null。


TextField.onScroller

可用性

Flash Player 6。

用法

my_txt.onScroller = function(textFieldInstance){
  // 此处是您的语句
}

参数

textFieldInstance 指向滚动位置被更改的 TextField 对象的引用。

返回

无。

说明

事件处理函数；在文本字段滚动属性中的某一个发生更改时调用。

对该文本字段实例的一个引用将被作为参数传递给 onScroller 处理函数。您可以通过将参数放入事件处理函数方法来捕获此数据。例如，以下代码使用 txt 作为传递给 onScroller 事件处理函数的参数。然后，在 trace() 语句中使用该参数将文本字段的实例名称发送到“输出”面板。

myTextField.onScroller = function (txt) {
  trace (txt._name + " scrolled");
};

另请参见

TextField.hscroll、TextField.maxhscroll、TextField.maxscroll、TextField.scroll


TextField.onSetFocus

可用性

Flash Player 6。

用法

my_txt.onSetFocus = function(oldFocus){
  // 此处是您的语句
}

参数

oldFocus 将失去焦点的对象。

返回

无。

说明

事件处理函数；在文本字段接收键盘焦点时调用。oldFocus 参数是失去焦点的对象。例如，如果用户按下 Tab 键将输入焦点从某个按钮移动到某个文本字段，则 oldFocus 包含该文本字段实例。

如果以前没有具有焦点的对象，则 oldFocus 包含 null 值。


TextField._parent

可用性

Flash Player 6。

用法

my_txt._parent.property
_parent.property

说明

属性；指向包含当前文本字段或对象的影片剪辑或对象的引用。当前对象是包含引用 _parent 的动作脚本代码的对象。

使用 _parent 可以指定一个相对路径，该路径指向当前文本字段之上的影片剪辑或对象。可以使用 _parent 在显示列表中攀升多个级别，如下所示：

_parent._parent._alpha = 20;

另请参见

Button._parent、MovieClip._parent、_root、targetPath


TextField.password

可用性

Flash Player 6。

用法

my_txt.password

说明

属性；如果 password 的值为 true，则该文本字段为密码文本字段，它将隐藏输入字符。如果为 false，则该文本字段不是密码文本字段。


TextField._quality

可用性

Flash Player 6。

用法

my_txt._quality

说明

属性（全局）；设置或获取用于 SWF 文件的呈现品质。设备字体始终是带有锯齿的，因此不受 _quality 属性的影响。

注意：虽然可以针对 TextField 对象指定此属性，但它实际上是一个全局属性，您可以简单地使用 _quality 指定其值。有关更多信息，请参见 _quality。


TextField.removeListener()

可用性

Flash Player 6。

用法

my_txt.removeListener(listener)

参数

listener 不再从 TextField.onChanged 或 TextField.onScroller 接收通知的对象。

返回

如果成功删除了 listener，则该方法的返回值为 true。如果未能成功删除 listener（例如，如果 listener 不在该 TextField 对象的侦听器列表上），则该方法的返回值为 false。

说明

方法；删除以前使用 TextField.addListener() 向文本字段实例注册的侦听器对象。


TextField.removeTextField()

可用性

Flash Player 6。

用法

my_txt.removeTextField()

说明

方法；删除由 my_txt 指定的文本字段。只能对使用 MovieClip.createTextField() 创建的文
本字段执行此操作。当调用此方法时，将删除文本字段。此方法与
MovieClip.removeMovieClip() 相似。


TextField.replaceSel()

可用性

Flash Player 6。

用法

my_txt.replaceSel(text)

参数

text 一个字符串。

返回

无。

说明

方法；使用 text 参数的内容替换当前所选内容。使用当前默认字符格式和默认段落格式，在当前所选内容的所在位置插入文本。即使该文本字段是 HTML 文本字段，也不会将这些文本视为 HTML。

可以使用 replaceSel() 方法插入并删除文本，而不破坏其余文本的字符和段落格式。

在发布此命令之前，您必须使用 Selection.setFocus() 将焦点放置在字段上。

另请参见

Selection.setFocus()


TextField.replaceText()

可用性

Flash Player 7。

用法

my_txt.replaceText(beginIndex, endIndex, text)

说明

方法；在指定的文本字段中，使用 text 参数的内容替换由 beginIndex 和 endIndex 参数所指定的范围内的字符。


TextField.restrict

可用性

Flash Player 6。

用法

my_txt.restrict

说明

属性；指示用户可输入到文本字段中的字符集。如果 restrict 属性的值为 null，则可以输入任何字符。如果 restrict 属性的值为空字符串，则任何字符都不能输入。如果 restrict 属性的值为一个字符串，则只能在文本字段中输入该字符串中的字符。从左向右扫描该字符串。范围可以使用短划线 (-) 进行指定。它只限制用户交互；脚本可将任何文本放入文本字段中。此属性不与属性检查器中的“嵌入字体轮廓”复选框同步。

如果此字符串以 ^ 开头，则先接受所有字符，然后从接受字符集中排除字符串中 ^ 之后的字符。如果此字符串不以 ^ 开头，则最初不接受任何字符，然后将字符串中的字符包括在接受字符
集中。

示例

下面的示例仅允许在文本字段中输入大写字符、空格和数字：

my_txt.restrict = "A-Z 0-9";

下面的示例包含除小写字母之外的所有字符：

my_txt.restrict = "^a-z";

可以使用反斜杠输入 ^ 或 - 的本义。认可的反斜杠序列为 \-、\^ 或 \\。反斜杠在字符串中必须是一个本义字符，因此在动作脚本中指定时必须使用两个反斜杠。例如，下面的代码只包含短划线 (-) 和 插入符号 (^)：

my_txt.restrict = "\\-\\^";

可在字符串中的任何地方使用 ^，以在包含字符与排除字符之间进行切换。下面的代码只包含除大写字母 Q 之外的大写字母：

my_txt.restrict = "A-Z^Q";

可以使用 \u 转义序列构造 restrict 字符串。下面的代码只包含从 ASCII 32（空格）到 ASCII 126（代字号）之间的字符。

my_txt.restrict = "\u0020-\u007E";


TextField._rotation

可用性

Flash Player 6。

用法

my_txt._rotation

说明

属性；文本字段从其原始方向的旋转（以度为单位）。从 0 到 180 的值表示顺时针方向的旋转；从 0 到 -180 的值表示逆时针方向的旋转。对于此范围之外的值，可以通过加上或减去 360 获得该范围内的值。例如，语句 my_txt._rotation = 450 与 my_txt._rotation = 90 相同。

另请参见

Button._rotation、MovieClip._rotation


TextField.scroll

可用性

Flash Player 6。

用法

my_txt.scroll

说明

属性；定义文本在文本字段中的垂直位置。scroll 属性很有用，该属性可以帮助用户定位到长篇文章的特定段落，或者创建滚动文本字段。可以获取和修改此属性。

有关滚动文本的更多信息，请参见创建滚动文本。

示例

下面是附加到用于滚动 my_txt 文本字段的“向上”按钮上的代码。

on (release) {
  my_txt.scroll = myText.scroll + 1;
}

另请参见

TextField.hscroll、TextField.maxscroll


TextField.selectable

可用性

Flash Player 6。

用法

my_txt.selectable

说明

属性；一个布尔值，指示文本字段是否可选（可编辑）。值为 true 表示文本可选。


TextField.setNewTextFormat()

可用性

Flash Player 6。

用法

my_txt.setNewTextFormat(textFormat)

参数

textFormat 一个 TextFormat 对象。

返回

无。

说明

方法；为新插入的文本（例如文本字段中使用 replaceSel() 方法插入的文本或由用户输入的文本）设置一个 TextFormat 对象。每个文本字段都有一个新文本格式。插入文本时，将新文本格式分配给新文本。

文本格式在新 TextFormat 对象中设置。它包含字符和段落格式设置信息。字符格式设置信息描述单个字符的外观；例如，字体名称、磅值、颜色和关联 URL。段落格式设置信息描述段落的外观；例如，左边距、右边距、首行缩进和左对齐、右对齐及居中对齐。

另请参见

TextField.getNewTextFormat()、TextField.getTextFormat()、
TextField.setTextFormat()


TextField.setTextFormat()

可用性

Flash Player 6。

用法

my_txt.setTextFormat (textFormat)
my_txt.setTextFormat (index, textFormat)
my_txt.setTextFormat (beginIndex, endIndex, textFormat)

参数

textFormat 一个包含字符和段落格式设置信息的 TextFormat 对象。

index 整数，指定 my_txt 内的一个字符。

beginIndex 一个整数。

endIndex 一个整数，指定所需文本范围后的第一个字符。

返回

无。

说明

方法；为文本字段中指定范围内的文本设置一个 TextFormat 对象。可以为文本字段中的每个字符分配一种文本格式。测试段落的第一个字符的文本格式，以执行整个段落的段落格式设置。setTextFormat() 方法更改应用于文本字段中单个字符、字符组或整体文本的文本格式。

文本格式在新 TextFormat 对象中设置。它包含字符和段落格式设置信息。字符格式设置信息描述单个字符的外观，例如，字体名称、磅值、颜色及关联 URL。段落格式设置信息描述段落的外观，例如，左边距、右边距、首行缩进和左对齐、右对齐及居中对齐。

用法 1：将 textFormat 的属性应用于文本字段中的所有文本。

用法 2：将 textFormat 的属性应用于 index 处的字符。

用法 3：将 textFormat 参数的属性应用于参数 beginIndex 到 endIndex 之间的文本范围。

请注意，用户手动插入的任何文本或使用 TextField.replaceSel() 替换的任何文本均不采用在 setTextFormat() 调用中指定的格式。若要设置 TextField 对象的默认格式，可使用 TextField.setNewTextFormat()。

示例

此示例新建一个名为 myTextFormat 的 TextFormat 对象，并将其 bold 属性设置为 true。然后调用 setTextFormat()，将新文本格式应用到 my_txt 文本字段。

myTextFormat = new TextFormat();
myTextFormat.bold = true;
my_txt.setTextFormat(myTextFormat);

另请参见

TextField.setNewTextFormat()、TextFormat 类


TextField._soundbuftime

可用性

Flash Player 6。

用法

my_txt._soundbuftime

说明

属性（全局）；一个整数，指定在声音开始进入流之前，预先缓冲的秒数。


TextField.StyleSheet 类

可用性

Flash Player 7。

说明

使用 TextField.StyleSheet 类可以创建包含文本格式设置规则（例如，字体大小、颜色和其它格式样式）的样式表对象。然后，可以将样式表定义的样式应用到包含 HTML 或 XML 格式文本的 TextField 对象。该 TextField 对象所包含的文本将自动根据该样式表对象定义的标签样式进行格式设置。可以使用文本样式来定义新的格式标签，重新定义内置的 HTML 标签，或创建可应用到某些 HTML 标签的样式类。

若要将样式应用到某个 TextField 对象，请将样式表对象赋给该 TextField 对象的 styleSheet 属性。

有关更多信息，请参见使用层叠样式表对文本进行格式设置。

TextField.StyleSheet 类的方法摘要

方法 | 说明
TextField.StyleSheet.getStyle() | 返回与指定样式名相关联的样式表对象的副本。
TextField.StyleSheet.getStyleNames() | 返回一个数组，其中包含该样式表对象中注册的所有样式的名称。
TextField.StyleSheet.load() | 开始将一个 CSS 文件载入该样式表对象。
TextField.StyleSheet.parseCSS() | 对 CSS 文本字符串进行分析，并创建指定的样式。
TextField.StyleSheet.setStyle() | 在该样式表对象中添加新样式。

TextField.StyleSheet 类的事件处理函数摘要

L
方法 | 说明
TextField.StyleSheet.onLoad | 回调处理函数，在 TextField.StyleSheet.load() 操作完成时调用。

TextField.StyleSheet 类的构造函数

可用性

Flash Player 7。

用法

new TextField.StyleSheet()

返回

无。

说明

构造函数；创建一个 TextField.StyleSheet 对象。


TextField.StyleSheet.getStyle()

可用性

Flash Player 7。

用法

styleSheet.getStyle(styleName)

参数

styleName 一个字符串，指定要获取的样式的名称。

返回

一个对象。

说明

方法；返回与名为 styleName 的样式相关联的样式对象的副本。如果没有样式对象与 styleName 相关联，则返回 null。

示例

假设一个名为 textStyles 的样式表对象加载了一个名为 styles.css 的外部样式表文件。该文件中只有一个名为 heading 的样式，它定义了 font-family、font-size 和 font-weight 属性，如下所示。

// 在 styles.css 中
heading {
  font-family:Arial;
  font-size:24px;
  font-weight:bold;
}

下面的代码将加载该 CSS 文件中的样式，然后在“输出”面板中显示各个属性名和它们的值。

var styleSheet = new TextField.styleSheet();
styleSheet.load("styles.css");
var sectionStyle = styleSheet.getStyle("heading");
for(property in sectionStyle) {
  var propName = property;
  var propValue = sectionStyle[property];
  trace(propName + " :" + propValue);
}

“输出”面板中将显示以下内容：

fontfamily :Arial
fontsize :24px
fontweight :bold

另请参见

TextField.StyleSheet.setStyle()


TextField.StyleSheet.getStyleNames()

可用性

Flash Player 7。

用法

styleSheet.getStyleNames()

参数

无。

返回

一个数组。

说明

方法；返回一个数组，其中包含该样式表中注册的所有样式的名称（字符串形式）。

示例

此示例创建一个名为 styleSheet 的样式表对象，其中包含两个样式：heading 和 bodyText。然后将调用该样式表对象的 getStyleNames() 方法，将结果赋给数组 names_array，并在“输出”面板中显示该数组的内容。

var styleSheet= new TextField.StyleSheet();
styleSheet.setStyle("heading", {
  fontsize:'24px'
});
styleSheet.setStyle("bodyText", {
  fontsize:'12px'
});
var names_array = styleSheet.getStyleNames();
trace(names.join("\n"));

下面是在“输出”面板中显示的内容：

bodyText
heading

另请参见

TextField.StyleSheet.getStyle()


TextField.StyleSheet.load()

可用性

Flash Player 7。

用法

styleSheet.load(url)

参数

url 要加载的 CSS 文件的 URL。该 URL 必须与 SWF 文件当前位于的 URL 在同一个域中。

返回

无。

说明

方法；开始将该 CSS 文件载入 styleSheet。加载操作是异步进行的；使用
TextField.StyleSheet.onLoad 回调处理函数可以确定该文件何时加载完毕。

该 CSS 文件必须与加载它的 SWF 文件位于完全相同的域中。有关跨域加载数据的限制的信息，请参见Flash Player 安全功能。

示例

以下示例将名为 styles.css（未显示）的 CSS 文件加载到样式表对象 styleObj 中。当该文件成功完成加载后，该样式表对象将应用到名为 news_txt 的 TextField 对象。

var styleObj = new TextField.StyleSheet();
styleObj.load("styles.css");
styleObj.onLoad = function (success) {
  if (success){
    news_txt.styleSheet = styleObj;
  }
}

另请参见

TextField.StyleSheet.onLoad


TextField.StyleSheet.onLoad

可用性

Flash Player 7。

用法

styleSheet.onLoad = function (success) {}

参数

success 一个布尔值，指示是否成功加载了该 CSS 文件。

返回

无。

说明

回调处理函数；在 TextField.StyleSheet.load() 操作完成后调用。如果成功加载了该样式表，success 参数为 true。如果未收到该文档，或从服务器接收响应时出现错误，则 success 参数为 false。

示例

以下示例将名为 styles.css（未显示）的 CSS 文件加载到样式表对象 styleObj 中。当该文件成功完成加载后，该样式表对象将应用到名为 news_txt 的 TextField 对象。

var styleObj = new TextField.StyleSheet();
styleObj.load("styles.css");
styleObj.onLoad = function (success) {
  if (success){
    news_txt.styleSheet = styleObj;
  }
}

另请参见

TextField.StyleSheet.load()


TextField.StyleSheet.parseCSS()

可用性

Flash Player 7。

用法

styleSheet.parseCSS(cssText)

参数

cssText 要分析的 CSS 文本（一个字符串）。

返回

一个布尔值，指示是否成功分析了该文本（如果成功，则为 true；如果失败，则为 false）。

说明

方法；分析 cssText 中的 CSS 并加载相应的样式表。如果 cssText 中的某个样式在
styleSheet 中已经存在，将保留 styleSheet 中的属性，而 styleSheet 中只会添加或更改
cssText 中有的属性。

若要扩展本机 CSS 分析功能，可通过创建 TextField.StyleSheet 类的子类来覆盖此方法。有关更多信息，请参见创建子类。


TextField.StyleSheet.setStyle()

可用性

Flash Player 7。

用法

styleSheet.setStyle(name, style)

参数

name 一个字符串，指定要添加到样式表中的样式的名称。

style 一个描述样式的对象，或 null。

返回

无。

说明

方法；将具有指定名称的新样式添加到该样式表对象中。如果该样式表中没有具有指定名称的样式，将添加该样式。如果该样式表中已经有具有指定名称的样式，将替换该样式。如果 style 参数为 null，将删除具有指定名称的样式。

Flash Player 将创建传递给此方法的样式对象的一个副本。

示例

下面的代码将一个名为 emphasized 的样式添加到样式表 myStyleSheet 中。该样式包含两个样式属性：color 和 fontWeight。该样式对象用 {} 运算符定义。

myStyleSheet.setStyle("emphasized", {color:'#000000',fontWeight:'bold'});

您也可以使用 Object 类的一个实例来创建样式对象，然后将该对象作为 style 参数传递给此方法，如下例所示。

var styleObj = new Object();
styleObj.color = '#000000';
styleObj.fontWeight = 'bold';
myStyleSheet.setStyle("emphasized", styleObj);
delete styleObj;

注意：最后一行代码 (delete styleObj) 删除传递给 setStyle() 的原始样式对象。虽然此步骤不是必需的，但可以降低内存使用量，因为 Flash Player 会创建传递给 setStyle() 的样式对象的副本。

另请参见

{}（对象初始值设定项）


TextField.styleSheet

可用性

Flash Player 7。

用法

my_txt.styleSheet = TextField StyleSheet

说明

属性；将一个样式表附加到由 my_txt 指定的文本字段。有关创建样式表的信息，请参见
TextField.StyleSheet 类条目和使用层叠样式表对文本进行格式设置。


TextField.tabEnabled

可用性

Flash Player 6。

用法

my_txt.tabEnabled

说明

属性；指定 my_txt 是否包括在 Tab 键的自动排序中。默认情况下它是 undefined。

如果 tabEnabled 属性为 undefined 或 true，则该对象包括在 Tab 键的自动排序中。如果
tabIndex 属性也设置为某个值，则该对象也包括在 Tab 键的自定义排序中。如果 tabEnabled 为 false，则即使设置了 tabIndex 属性，该对象也不包括在 Tab 键的自动或自定义排序中。

另请参见

Button.tabEnabled、MovieClip.tabEnabled


TextField.tabIndex

可用性

Flash Player 6。

用法

my_txt.tabIndex

参数

无。

返回

无。

说明

属性；可用于自定义 SWF 文件中对象的 Tab 键排序。可以设置按钮、影片剪辑或文本字段实例的 tabIndex 属性；默认情况下，它为 undefined。

如果 SWF 文件中当前显示的任意对象都包含 tabIndex 属性，则禁用 Tab 键的自动排序，而使用该 SWF 文件中对象的 tabIndex 属性来计算 Tab 键排序。Tab 键的自定义排序仅包括那些具有 tabIndex 属性的对象。

tabIndex 属性必须为正整数。将根据这些对象的 tabIndex 属性按升序对这些对象进行排序。tabIndex 值为 1 的对象排在 tabIndex 值为 2 的对象的前面。如果两个对象具有相同的
tabIndex 值，则在 Tab 键排序中哪个排在前面是 undefined。

由 tabIndex 属性定义的 Tab 键的自定义排序是平构 的。这意味着不考虑 SWF 文件中对象的层次结构关系。SWF 文件中具有 tabIndex 属性的所有对象都排入 Tab 键顺序中，而 Tab 键顺序由 tabIndex 值的顺序确定。如果两个对象具有相同的 tabIndex 值，则哪个在前面是
undefined。多个对象不应使用相同的 tabIndex 值。

另请参见

Button.tabIndex、MovieClip.tabIndex


TextField._target

可用性

Flash Player 6。

用法

my_txt._target

说明

属性（只读）；由 my_txt 指定的文本字段的目标路径。


TextField.text

可用性

Flash Player 6。

用法

my_txt.text

说明

属性；指示文本字段中的当前文本。行用回车符（“\r”即 ASCII 13）分隔。该属性包含文本字段中普通的无格式文本，不包含 HTML 标签，即使该文本字段为 HTML。

另请参见

TextField.htmlText


TextField.textColor

可用性

Flash Player 6。

用法

my_txt.textColor

说明

属性；指示文本字段中文本的颜色。


TextField.textHeight

可用性

Flash Player 6。

用法

my_txt.textHeight

说明

属性；指示文本的高度。


TextField.textWidth

可用性

Flash Player 6。

用法

my_txt.textWidth

说明

属性；指示文本的宽度。


TextField.type

可用性

Flash Player 6。

用法

my_txt.type

说明

属性；指定文本字段的类型。有两种值："dynamic" 指定动态文本字段（用户不能对其进行编辑）；"input" 指定输入文本字段。

示例

my_txt.type = "dynamic";


TextField._url

可用性

Flash Player 6。

用法

my_txt._url

说明

属性（只读）；获取创建文本字段的 SWF 文件的 URL。


TextField.variable

可用性

Flash Player 6。

用法

my_txt.variable

说明

属性；与文本字段关联的变量的名称。此属性的类型为 String。


TextField._visible

可用性

Flash Player 6。

用法

my_txt._visible

说明

属性；一个布尔值，指示文本字段 my_txt 是否可见。不可见的文本字段（_visible 属性设置为 false）被禁用。

另请参见

Button._visible、MovieClip._visible


TextField._width

可用性

Flash Player 6。

用法

my_txt._width

说明

属性；文本字段的宽度，以像素为单位。

示例

下面的示例设置文本字段的高度和宽度属性：

my_txt._width=200;
my_txt._height=200;

另请参见

MovieClip._height


TextField.wordWrap

可用性

Flash Player 6。

用法

my_txt.wordWrap

说明

属性；指示文本字段是否自动换行的布尔值。如果 wordWrap 的值为 true，则该文本字段自动换行；如果值为 false，则该文本字段不自动换行。


TextField._x

可用性

Flash Player 6。

用法

my_txt._x

说明

属性；一个整数，设置文本字段相对于父级影片剪辑的本地坐标的 x 坐标。如果文本字段在主时间轴上，则其坐标系统将舞台的左上角作为 (0, 0)。如果文本字段在具有变形的影片剪辑中，则该文本字段位于其所属影片剪辑的本地坐标系统中。因此，对于逆时针旋转 90 度的影片剪辑，其中的文本字段将继承逆时针旋转 90 度的坐标系统。文本字段的坐标指的是注册点的位置。

另请参见

TextField._xscale、TextField._y、TextField._yscale


TextField._xmouse

可用性

Flash Player 6。

用法

my_txt._xmouse

说明

属性（只读）；返回鼠标位置相对于文本字段的 x 坐标。

另请参见

TextField._ymouse


TextField._xscale

可用性

Flash Player 6。

用法

my_txt._xscale

说明

属性；确定从文本字段注册点开始应用的文本字段的水平缩放比例，以百分比形式表示。默认注册点为 (0,0)。

另请参见

TextField._x、TextField._y、TextField._yscale


TextField._y

可用性

Flash Player 6。

用法

my_txt._y

说明

属性；文本字段相对于父级影片剪辑本地坐标的 y 坐标。如果文本字段在主时间轴中，则其坐标系统将舞台的左上角作为 (0, 0)。如果文本字段位于另一个具有变形的影片剪辑中，则该文本字段位于其所属影片剪辑的本地坐标系统中。因此，对于逆时针旋转 90 度的影片剪辑，其中的文本字段将继承逆时针旋转 90 度的坐标系统。文本字段的坐标指的是注册点的位置。

另请参见

TextField._x、TextField._xscale、TextField._yscale


TextField._ymouse

可用性

Flash Player 6。

用法

my_txt._ymouse

说明

属性（只读）；指示鼠标位置相对于文本字段的 y 坐标。

另请参见

TextField._xmouse


TextField._yscale

可用性

Flash Player 6。

用法

my_txt._yscale

说明

属性；从文本字段的注册点开始应用的文本字段的垂直缩放比例，以百分比形式表示。默认注册点为 (0,0)。

另请参见

TextField._x、TextField._xscale、TextField._y


TextFormat 类

可用性

Flash Player 6。

说明

TextFormat 类描述字符格式设置信息。

必须在使用构造函数 new TextFormat() 创建了 TextFormat 对象之后，才能调用其方法。

可将 TextFormat 参数设置为 null，以指示它们是未定义的。使用 TextField.setTextFormat() 将 TextFormat 对象应用到文本字段时，只会应用该对象已定义的属性，如下面的示例所示：

my_fmt = new TextFormat();
my_fmt.bold = true;
my_txt.setTextFormat(my_fmt);

此代码首先创建一个空 TextFormat 对象，该对象的所有属性都未定义，然后将 bold 属性设置为一个定义的值。

代码 my_txt.setTextFormat(my_fmt) 只更改该文本字段默认文本格式的 bold 属性，因为
bold 属性是 my_fmt 中定义的唯一属性。该文本字段默认文本格式的所有其它内容保持不变。

调用 TextField.getTextFormat() 时，将返回一个 TextFormat 对象，该对象的所有属性均已定义；所有属性都不为 null。

TextFormat 类的方法摘要

方法 | 说明
TextFormat.getTextExtent() | 返回文本字符串的文本度量信息。

TextFormat 类的属性摘要

属性 | 说明
TextFormat.align | 指示段落的对齐方式。
TextFormat.blockIndent | 指示块的缩进，以磅为单位。
TextFormat.bold | 指示文本是否为粗体。
TextFormat.bullet | 指示文本是否在带有项目符号的列表中。
TextFormat.color | 指示文本的颜色。
TextFormat.font | 指示带有文本格式的文本的字体名称。
TextFormat.indent | 指示从左边距到段落中第一个字符的缩进。
TextFormat.italic | 指示文本是否为斜体。
TextFormat.leading | 指示行与行之间的垂直间距量（称为前导）。
TextFormat.leftMargin | 以磅为单位指示段落的左边距。
TextFormat.rightMargin | 以磅为单位指示段落的右边距。
TextFormat.size | 指示文本的磅值。
TextFormat.tabStops | 指定 Tab 键的自定义停靠位。
TextFormat.target | 指示浏览器中显示超链接的窗口。
TextFormat.underline | 指示文本是否带有下划线。
TextFormat.url | 指示文本所链接到的 URL。

TextFormat 类的构造函数

可用性

Flash Player 6。

用法

new TextFormat([font, [size, [color, [bold, [italic, [underline, [url, [target, [align, [leftMargin, [rightMargin, [indent, [leading]]]]]]]]]]]]])

参数

font 以字符串形式表示的文本字体名称。

size 指示磅值的整数。

color 使用此文本格式的文本的颜色。包含三个 8 位 RGB 分量的数字；例如，0xFF0000 为红色、0x00FF00 为绿色。

bold 指示文本是否为粗体的布尔值。

italic 指示文本是否为斜体的布尔值。

underline 指示文本是否带有下划线的布尔值。

url 使用此文本格式的文本超链接到的 URL。如果 url 为空字符串，则表示文本没有超链接。

target 显示超链接的目标窗口。如果目标窗口为空字符串，则文本显示在默认目标窗口 _self 中。如果 url 参数设置为空字符串或值 null，虽然您可以获取或设置此属性，但该属性不起作用。

align 以字符串形式表示的段落对齐方式。如果为 "left"，则段落为左对齐。如果为
"center"，则段落居中。如果为 "right"，则段落为右对齐。

leftMargin 指示段落的左边距，以磅为单位。

rightMargin 指示段落的右边距，以磅为单位。

indent 一个整数，指示从左边距到段落中第一个字符的缩进量。

leading 一个数字，指示行与行之间的前导垂直间距量。

返回

无。

说明

构造函数；使用指定的属性创建一个 TextFormat 对象。然后可更改 TextFormat 对象的属性以更改文本字段的格式设置。

任何参数都可设置为 null 以指示该参数未定义。所有的参数都是可选的；任何被忽略的参数都被视为 null。


TextFormat.align

可用性

Flash Player 6。

用法

my_fmt.align

说明

属性；以字符串形式指示段落的对齐方式。以字符串形式表示的段落的对齐方式。如果为 "left"，则段落为左对齐。如果为 "center"，则段落居中。如果为 "right"，则段落为右对齐。默认值为 null，它指示未定义该属性。


TextFormat.blockIndent

可用性

Flash Player 6。

用法

my_fmt.blockIndent

说明

属性；以磅为单位指示块缩进的数字。块缩进应用于整个文本块，即文本的所有行。相反，普通缩进 (TextFormat.indent) 只影响各段的第一行。如果此属性为 null，则 TextFormat 对象没有指定块缩进。


TextFormat.bold

可用性

Flash Player 6。

用法

my_fmt.bold

说明

属性；指示文本是否为粗体的布尔值。默认值为 null，它指示未定义该属性。


TextFormat.bullet

可用性

Flash Player 6。

用法

my_fmt.bullet

说明

属性；一个布尔值，指示文本为带项目符号的列表的一部分。在带项目符号的列表中，文本的各段都是缩进的。项目符号显示在各段第一行的左侧。默认值为 null。


TextFormat.color

可用性

Flash Player 6。

用法

my_fmt.color

说明

属性；指示文本的颜色。包含三个 8 位 RGB 分量的数字；例如，0xFF0000 为红色、
0x00FF00 为绿色。


TextFormat.font

可用性

Flash Player 6。

用法

my_fmt.font

说明

属性；使用该文本格式的文本的字体名称，以字符串形式表示。默认值为 null，它指示未定义该属性。


TextFormat.getTextExtent()

可用性

Flash Player 6。Flash Player 7 中支持可选的 width 参数。

用法

my_fmt.getTextExtent(text, [width])

参数

text 一个字符串。

width 可选参数；一个表示宽度的数字（以像素为单位），指定的文本应在该处换行。

返回

一个对象，它具有以下属性：width、height、ascent、descent、textFieldHeight、
textFieldWidth。

说明

方法；返回使用由 my_fmt 指定的格式表示的文本字符串 text 的文本度量信息。文本字符串被视为纯文本（而不是 HTML）。

此方法返回一个具有以下六个属性的对象：ascent、descent、width、height、
textFieldHeight 和 textFieldWidth。所有度量值均以像素为单位。

如果指定了 width 参数，指定的文本将自动换行。这样，您就可以确定文本框在显示所有指定的文本时，它的高度是多少。

ascent 和 descent 度量值分别提供一行文本的基线上面或下面的距离。第一行文本的基线位于该文本字段的原点加上其 ascent 度量值的位置。

width 和 height 度量值提供该文本字符串的宽度和高度。textFieldHeight 和 textFieldWidth 度量值提供文本字段对象显示整个文本字符串所需要具有的高度和宽度。文本字段的四周有 2 个像素宽的“槽”，因此 textFieldHeight 的值等于 height 的值 + 4；同样，textFieldWidth 的值也始终等于 width 的值 + 4。

如果要根据文本度量值创建文本字段，应使用 textFieldHeight（而不是 height）和 textFieldWidth（而不是 width）。

下图中介绍这些度量值。

设置 TextFormat 对象时，所有属性设置必须与创建文本字段时所设置的属性完全一样，包括字体名称、字体大小和前导间距量。前导间距量的默认值为 2。

示例

此示例创建一个单行文本字段，其大小刚好足够使用指定格式显示一个文本字符串。

var text = "Small string";

// 创建一个 TextFormat 对象
// 并应用其属性。
var txt_fmt = new TextFormat();
with(txt_fmt) {
  font = "Arial";
  bold = true;
}

// 获取该文本字符串使用指定格式时
// 的度量信息。
var metrics = txt_fmt.getTextExtent(text);

// 创建一个文本字段，其大小刚好足够显示该文本。
this.createTextField ("textField", 0, 100, 100, metrics.textFieldWidth, metrics.textFieldHeight);
textField.border = true;
textField.wordWrap = true;
// 将相同的文本字符串和
// TextFormat 对象分配给该 TextField 对象。
textField.text = text;
textField.setTextFormat(txt_fmt);

下面的示例创建一个 100 像素宽的多行文本字段，其高度足够使用指定的格式显示一个字符串。

// 创建一个 TextFormat 对象。
var txt_fmt:TextFormat= new TextFormat();

// 为该 TextFormat 对象指定格式属性：
txt_fmt.font = "Arial";
txt_fmt.bold = true;
txt_fmt.leading = 4;

// 要显示的文本字符串
var textToDisplay:String = "Macromedia Flash 7, now with improved text metrics.";

// 获取在 100 像素换行处
// 该字符串的文本度量信息
var metrics:Object = txt_fmt.getTextExtent(textToDisplay, 100);

// 使用刚刚获取的度量信息创建一个
// 新的 TextField 对象。
this.createTextField ("textField", 0, 50, 50-metrics.ascent, 100, metrics.textFieldHeight)
textField.wordWrap = true;
textField.border = true;
// 将该文本和 TextFormat 对象分配给该 TextObject：
textField.text = textToDisplay;
textField.setTextFormat(aformat);


TextFormat.indent

可用性

Flash Player 6。

用法

my_fmt.indent

说明

属性；指示从左边距到段落中第一个字符的缩进的整数。默认值为 null，它指示未定义该属性。

另请参见

TextFormat.blockIndent


TextFormat.italic

可用性

Flash Player 6。

用法

my_fmt.italic

说明

属性；指示该文本格式中文本是否为斜体的布尔值。默认值为 null，它指示未定义该属性。


TextFormat.leading

可用性

Flash Player 6。

用法

my_fmt.leading

说明

属性；行与行之间的垂直间距量（称为前导）。默认值为 null，它指示未定义该属性。


TextFormat.leftMargin

可用性

Flash Player 6。

用法

my_fmt.leftMargin

说明

属性；段落的左边距，以磅为单位。默认值为 null，它指示未定义该属性。


TextFormat.rightMargin

可用性

Flash Player 6。

用法

my_fmt.rightMargin

说明

属性；段落的右边距，以磅为单位。默认值为 null，它指示未定义该属性。


TextFormat.size

可用性

Flash Player 6。

用法

my_fmt.size

说明

属性；该文本格式中文本的磅值。默认值为 null，它指示未定义该属性。


TextFormat.tabStops

可用性

Flash Player 6。

用法

my_fmt.tabStops

说明

属性；使用一个非负整数的数组指定自定义 Tab 键停靠位。以磅为单位指定每个 Tab 键的停靠位。如果没有指定自定义 Tab 键停靠位 (null)，则默认 Tab 键停靠位为 4（平均字符宽度）。


TextFormat.target

可用性

Flash Player 6。

用法

my_fmt.target

说明

属性；指示显示超链接的目标窗口。如果目标窗口为空字符串，则文本显示在默认目标窗口
_self 中。如果 TextFormat.url 属性是空字符串或 null，虽然您可以获取或设置此属性，但该属性不起作用。


TextFormat.underline

可用性

Flash Player 6。

用法

my_fmt.underline

说明

属性，一个布尔值，指定使用此文本格式的文本下面是否有下划线（如果有，则为 true；如果没有，则为 false）。此下划线类似于用 <U> 标签产生的下划线，但后者不是“真正”的下划线，因为它不能正确地跳过字母的下伸部分。默认值为 null，它指示未定义该属性。


TextFormat.url

可用性

Flash Player 6。

用法

my_fmt.url

说明

属性；指示该文本格式中的文本链接所至的 URL。如果 url 属性为空字符串，则文本没有超链接。默认值为 null，它指示未定义该属性。


TextSnapshot 对象

可用性

创作：Flash MX 2004。

回放：为 Flash Player 6 或更高版本发布的 SWF 文件，在 Flash Player 7 或更高版本中播放。

说明

TextSnapshot 对象可用于处理影片剪辑中的静态文本。例如，您可以使用它们用比动态文本所允许的更高的精确对文本进行布局，但仍以只读方式访问该文本。

不使用构造函数创建 TextSnapshot 对象；它是由 MovieClip.getTextSnapshot() 返回的。

TextSnapshot 对象的方法摘要

方法 | 说明
TextSnapshot.findText() | 返回指定文本的第一个匹配项的位置。
TextSnapshot.getCount() | 返回字符数。
TextSnapshot.getSelected() | 指定指定范围内的任何文本是否已被 TextSnapshot.setSelected() 选中。
TextSnapshot.getSelectedText() | 返回一个包含 TextSnapshot.setSelected() 指定的所有字符的字符串。
TextSnapshot.getText() | 返回一个包含指定范围内字符的字符串。
TextSnapshot.hitTestTextNearPos() | 用于确定对象中的哪个字符在指定的坐标上或靠近指定的 坐标。
TextSnapshot.setSelectColor() | 指定当突出显示使用 TextSnapshot.setSelected() 命令选中的字符时要使用的颜色。
TextSnapshot.setSelected() | 指定是选择还是取消选择一系列字符。


TextSnapshot.findText()

可用性

创作：Flash MX 2004。

回放：为 Flash Player 6 或更高版本发布的 SWF 文件，在 Flash Player 7 或更高版本中播放。

用法

my_snap.findText( startIndex, textToFind, caseSensitive )

参数

startIndex 一个整数，指定在 my_snap 中搜索指定文本的起始点。

textToFind 一个字符串，指定要搜索的文本。如果指定文本字符串而不是 String 类型的变量，则将该字符串引在引号中。

caseSensitive 一个布尔值，指定 my_snap 中文本的大小写是否必须和 textToFind 中字符串的大小写匹配。

返回

指定文本的第一个匹配项的从零开始的索引位置，或 -1。

说明

方法；搜索指定的 TextSnapshot 对象，并返回在 startIndex 或其后找到的 textToFind 的第一个匹配项的位置。如果未找到 textToFind，则此方法返回 -1。

另请参见

TextSnapshot.getText()


TextSnapshot.getCount()

可用性

创作：Flash MX 2004。

回放：为 Flash Player 6 或更高版本发布的 SWF 文件，在 Flash Player 7 或更高版本中播放。

用法

my_snap.getCount()

参数

无。

返回

一个表示指定的 TextSnapshot 对象中字符数的整数。

说明

方法；返回 TextSnapshot 对象中的字符数。

另请参见

TextSnapshot.getText()


TextSnapshot.getSelected()

可用性

创作：Flash MX 2004。

回放：为 Flash Player 6 或更高版本发布的 SWF 文件，在 Flash Player 7 或更高版本中播放。

用法

my_snap.getSelected(from, to)

参数

from 一个整数，指示要检查的 my_snap 中第一个字符的位置。from 的有效值为 0 到
TextSnapshot.getCount() - 1。如果 from 为负值，则使用 0。

to 一个整数，为 1+ 要检查的 my_snap 中最后一个字符的索引。to 的有效值为 0 到
TextSnapshot.getCount()。提取出来的字符串中不包括由 to 参数索引指定的字符。如果省略了此参数，则使用 TextSnapshot.getCount()。如果此值小于或等于 from 的值，则使用 from+1。

返回

如果给定范围内至少一个字符已被对应的 TextSnapshot.setSelected() 命令选中，则为布尔值 true，否则为 false。

说明

方法；返回一个布尔值，该值指定 TextSnapshot 对象在指定范围内是否包含所选的文本。

若要搜索所有字符，则为 from 传递值 0，为 to 传递 TextSnapshot.getCount()（或任何一个非常大的数字）。若要搜索单个字符，则为 to 传递值 from+1。

另请参见

TextSnapshot.getSelectedText()、TextSnapshot.getText()


TextSnapshot.getSelectedText()

可用性

创作：Flash MX 2004。

回放：为 Flash Player 6 或更高版本发布的 SWF 文件，在 Flash Player 7 或更高版本中播放。

用法

mySnapshot.getSelectedText( [ includeLineEndings ] )

参数

includeLineEndings 一个可选布尔值，该值指定是否在返回的字符串中的适当位置插入换行符。默认值为 false。

返回

一个字符串，该字符串包含对应的 TextSnapshot.setSelected() 命令指定的所有字符。

说明

方法；返回一个字符串，该字符串包含对应的 TextSnapshot.setSelected() 命令指定的所有字符。如果未选择任何字符，则返回空字符串。

如果为 includeLineEndings 传递值 true，则在返回的字符串中认为适当的位置插入换行符。在这种情况下，返回字符串可能比输入范围要长。如果 includeLineEndings 为 false 或被省略，则返回所选的文本，不添加任何字符。

另请参见

TextSnapshot.getSelected()


TextSnapshot.getText()

可用性

创作：Flash MX 2004。

回放：为 Flash Player 6 或更高版本发布的 SWF 文件，在 Flash Player 7 或更高版本中播放。

用法

mySnapshot.getText(from, to [, includeLineEndings ] )

参数

from 一个整数，指示要包括在返回的字符串中的 my_snap 第一个字符的位置。from 的有效值为 0 到 TextSnapshot.getCount() - 1。如果 from 为负值，则使用 0。

to 一个整数，为 1+ 要检查的 my_snap 中最后一个字符的索引。to 的有效值为 0 到
TextSnapshot.getCount()。提取出来的字符串中不包括由 to 参数索引指定的字符。如果省略了此参数，则使用 TextSnapshot.getCount()。如果此值小于或等于 from 的值，则使用 from+1。

includeLineEndings 一个可选布尔值，该值指定是否在返回的字符串中的适当位置插入换行符。默认值为 false。

返回

一个包含指定范围中字符的字符串，如果指定范围中未找到任何字符，则为空字符串。

说明

方法；返回一个字符串，该字符串包含 from 和 to 参数指定的所有字符。如果未选择任何字符，则返回空字符串。

若要返回所有字符，则为 from 传递值 0，为 to 传递 TextSnapshot.getCount()（或任何一个非常大的数字）。若要返回单个字符，则为 to 传递值 from+1。

如果为 includeLineEndings 传递值 true，则在返回的字符串中认为适当的位置插入换行符。在这种情况下，返回字符串可能比输入范围要长。如果 includeLineEndings 为 false 或被省略，则返回所选的文本，不添加任何字符。

另请参见

TextSnapshot.getSelectedText()


TextSnapshot.hitTestTextNearPos()

可用性

创作：Flash MX 2004。

回放：为 Flash Player 6 或更高版本发布的 SWF 文件，在 Flash Player 7 或更高版本中播放。

用法

my_snap.hitTestTextNearPos(x, y [, maxDistance] )

参数

x 一个数字，表示包含 my_snap 中文本的影片剪辑的 x 坐标。

y 一个数字，表示包含 my_snap 中文本的影片剪辑的 y 坐标。

maxDistance 一个可选数字，表示从 x、y 坐标出发搜索文本的最大距离。此距离是从每个字符的中心点开始测量的。默认值为 0。

返回

一个整数，表示 my_snap 中与指定的 x、 y 坐标最近的字符的索引值，如果未找到任何字符，则为 -1。

说明

方法；用于确定 TextSnapshot 对象中哪个字符在影片剪辑（该影片剪辑包含 my_snap 中的文本）中指定的 x、y 坐标上或离该坐标最近。

如果为 maxDistance 传递值 0 或将其省略，则 x、y 坐标指定的位置必须在 my_snap 的边框内。

另请参见

MovieClip.getTextSnapshot()、MovieClip._x、MovieClip._y


TextSnapshot.setSelectColor()

可用性

创作：Flash MX 2004。

回放：为 Flash Player 6 或更高版本发布的 SWF 文件，在 Flash Player 7 或更高版本中播放。

用法

mySnapshot.setSelectColor(hexColor);

参数

hexColor 用于字符（这些字符已被对应的 TextSnapshot.setSelected() 命令选中）旁边边框的颜色，以 0xRRGGBB 格式表示。

返回

无。

说明

方法；指定当突出显示使用 TextSnapshot.setSelected() 命令选中的字符时要使用的颜色。该颜色一定是不透明的；不能指定透明值。


TextSnapshot.setSelected()

可用性

创作：Flash MX 2004。

回放：为 Flash Player 6 或更高版本发布的 SWF 文件，在 Flash Player 7 或更高版本中播放。

用法

mySnapshot.setSelected(from, to, select)

参数

from 一个整数，指示要选择的 my_snap 中第一个字符的位置。from 的有效值是 0 到
TextSnapshot.getCount() - 1。如果 from 为负值，则使用 0。

to 一个整数，为 1+ 要检查的 my_snap 中最后一个字符的索引。to 的有效值为 0 到
TextSnapshot.getCount()。提取出来的字符串中不包括由 to 参数索引指定的字符。如果省略了此参数，则使用 TextSnapshot.getCount()。如果此值小于或等于 from 的值，则使用 from+1。

select 一个布尔值，指定是应该选择文本 (true) 还是应该取消选择文本 (false)。

返回

无。

说明

方法；指定是选择还是取消选择 TextSnapshot 对象中的一系列字符。被选择的字符绘制时后面有一个带有颜色的矩形，与字符的边框匹配。边框的颜色由 TextSnapshot.setSelectColor() 确定。

若要选择或取消选择所有字符，为 from 传递值 0，为 to 传递 TextSnapshot.getCount()（或任何一个非常大的数字）。若要指定单个字符，则为 to 传递值 from+1。

因为字符是被单个地标为选中的，所以您可以多次发布此命令以选择多个字符；也就是说，使用此命令不会取消选择已由此命令设置的其它字符。


this

可用性

Flash Player 5。

用法

this

说明

标识符；引用对象或影片剪辑实例。在脚本执行时，this 引用包含该脚本的影片剪辑实例。在调用方法时，this 包含对包括所调用方法的对象的引用。

在附加到按钮的 on 事件处理函数动作中，this 引用包含该按钮的时间轴。在附加到影片剪辑的 onClipEvent() 事件处理函数动作中，this 引用该影片剪辑自身的时间轴。

因为 this 是在包含它的脚本的上下文中计算的，所以脚本中不能使用 this 引用类文件中定义的变量：

// 在文件 applyThis.as 中
class applyThis{
  var str:String = "Defined in applyThis.as";
  function conctStr(x:String):String{
    return x+x;
  }

  function addStr():String{
    return str;
  }
}

// 在 FLA 中使用以下代码测试影片
import applyThis;

var obj:applyThis = new applyThis();
var abj:applyThis = new applyThis();
abj.str = "defined in FLA";

trace(obj.addStr.call(abj,null));    // 在 FLA 中定义
trace(obj.addStr.call(this,null));   // 未定义
trace(obj.addStr.call(obj,null));    // 在 applyThis.as 中定义

同样，若要调用动态类中定义的函数，您必须使用 this 设置该函数的范围：

// simple.as 不正确的版本
dynamic class simple{
  function callfunc(){
    trace(func());
  }

}

// simple.as 正确的版本
dynamic class simple{
  function callfunc(){
    trace(this.func());
  }
}
// FLA 文件中的语句
import simple;
var obj:simple = new simple();
obj.num = 0;
obj.func = function():Boolean{
  return true;
}
obj.callfunc(); // simple.as 不正确版本中的语法错误

示例

在下面的示例中，关键字 this 引用 Circle 对象。

function Circle(radius) {
  this.radius = radius;
  this.area = Math.PI * radius * radius;
}

在下面分配给帧的语句中，关键字 this 引用当前的影片剪辑。

// 将当前影片剪辑的 alpha 属性设置为 20
this._alpha = 20;

在下面的 onClipEvent() 处理函数内的语句中，关键字 this 引用当前的影片剪辑。

// 加载该影片剪辑时，对当前影片剪辑
// 启动一个 startDrag() 操作。

onClipEvent (load) {
  startDrag (this, true);
}

另请参见

on()、onClipEvent()


throw

可用性

Flash Player 7。

用法

throw expression

说明

语句；生成（“抛出”）一个可由 catch{} 或 finally{} 代码块处理（“捕获”）的错误。如果异常未被 catch 或 finally 代码块捕获，抛出值的字符串表示形式将被发送到“输出”面板。

通常，抛出的错误是 Error 类或其子类的实例（请参见下面的示例）。

参数

expression 一个动作脚本表达式或对象。

示例

在此示例中，一个名为 checkEmail() 的函数检查传递给它的字符串是否为格式正确的电子邮件地址。如果该字符串不包含 @ 符号，则该函数将抛出一个错误。

function checkEmail(email:String) {
  if (email.indexOf("@") == -1) {
    throw new Error("Invalid email address");
  }
}

然后，下面的代码在一个 try 代码块内调用 checkEmail() 函数，将一个文本字段 (email_txt) 中的文本作为参数传递给该函数。如果该字符串参数中不包含有效的电子邮件地址，将在一个文本字段 (error_txt) 中显示该错误消息。

try {
  checkEmail("Joe Smith");
} catch (e) {
  error_txt.text = e.toString();
}

在此示例中，将抛出 Error 类的一个子类。我们对 checkEmail() 函数进行了修改，它将抛出该子类的一个示例。（有关更多信息，请参见创建子类。）

// 定义 Error 的子类 InvalidEmailError
// 在 InvalidEmailError.as 中：
class InvalidEmailAddress extends Error {
  var message = "Invalid email address.";
}

function checkEmail(email:String) {
  if (email.indexOf("@") == -1) {
    throw new InvalidEmailAddress();
  }
}

另请参见

Error 类、try..catch..finally


toggleHighQuality()

可用性

Flash 2；不鼓励使用，推荐使用 _quality。

用法

toggleHighQuality()

参数

无。

返回

无。

说明

不鼓励使用的函数；在 Flash Player 中开启和关闭消除锯齿功能。消除锯齿可使对象的边缘平滑并会减缓 SWF 播放的速度。此动作会影响 Flash Player 中的所有 SWF 文件。

示例

下面的代码可以应用到一个按钮，单击该按钮时会在开启和关闭消除锯齿功能间切换：

on (release) {
  toggleHighQuality();
}

另请参见

_highquality、_quality


trace()

可用性

Flash Player 4。

用法

trace(expression)

参数

expression 要计算的表达式。在 Flash 创作工具中使用“测试影片”命令打开 SWF 文件时，expression 参数的值显示在“输出”面板中。

返回

无。

说明

语句；在测试模式下，计算表达式并在“输出”面板中显示结果。

在测试影片时，使用此动作可在“输出”面板中记录编程注释或显示消息。使用 expression 参数可以检查是否存在某种条件，或在“输出”面板中显示值。trace() 动作类似于 JavaScript 中的 alert 函数。

可以使用“发布设置”中的“Omit Trace Actions”（省略 Trace 动作）命令将 trace() 动作从导出的 SWF 文件中删除。

示例

此示例来自一个游戏，在该游戏中一个名为 my_mc 的可拖动影片剪辑实例必须在特定目标上释放。我们使用一个条件语句来计算 _droptarget 属性并根据 my_mc 的释放位置执行不同的动作。在脚本的末尾使用 trace() 动作来计算 my_mc 影片剪辑的位置，并在“输出”面板中显示结果。如果 my_mc 的行为与预期的不一样（例如，如果它对齐的目标不正确），则由 trace() 动作发送到“输出”面板的值将有助于您确定脚本中的问题。

on (press) {
  my_mc.startDrag();
}

on (release) {
  if(eval(_droptarget) != target) {
      my_mc._x = my_mc_xValue;
      my_mc._y = my_mc_yValue;
  } else {
    var my_mc_xValue = my_mc._x;
    var my_mc_yValue = my_mc._y;
    target = "_root.pasture";
  }
  trace("my_mc_xValue = " + my_mc_xValue);
  trace("my_mc_xValue = " + my_mc_xValue);
  stopDrag();
}


true

可用性

Flash Player 5。

用法

true

说明

常量；表示与 false 相反的唯一布尔值。

另请参见

false


try..catch..finally

可用性

Flash Player 7。

用法

try {
  // ... try 代码块 ...
} finally {
  // ... finally 代码块 ...
}
try {
  // ... try 代码块 ...
} catch(error[:ErrorType1]) {
  // ... catch 代码块 ...
} [catch(error[:ErrorTypeN]) {
  // ... catch 代码块 ...
}] [finally {
  // ... finally 代码块 ...
}]

参数

error 从 throw 语句抛出的表达式，通常是 Error 类或其子类的一个实例。

ErrorType 可选参数；指定 error 标识符的类型。catch 子句只捕获指定类型的错误。

说明

关键字；在它们所包括的代码块内，如果发生错误，将对错误进行响应。如果 try 代码块内的任何代码抛出了一个错误（使用 throw 动作），控制将传递到 catch 代码块（如果有），然后传递到 finally 代码块（如果有）。无论是否有错误被抛出，finally 代码块都会执行。如果 try 代码块内的代码未抛出错误（也就是说，如果 try 代码块正常完成），则仍会执行 finally
代码块内的代码。即使 try 代码块使用 return 语句退出，finally 代码块仍会执行。

try 代码块后面必须跟有 catch 代码块、finally 代码块，或两者都有。一个 try 代码块可以有多个 catch 代码块，但只能有一个 finally 代码块。您可以根据需要嵌套多层 try 代码块（层数没有限制）。

在 catch 处理函数内指定的 error 参数必须为一个简单的标识符，例如，e 或 theException 或 x。您还可以为 catch 处理函数中的变量指定类型。如果指定了不同的错误类型，再结合使用多个 catch 代码块，可以捕获从一个 try 代码块抛出的多种类型的错误。

抛出的异常是对象时，如果抛出的对象是指定类型的一个子类，则类型将匹配。如果抛出的是特定类型的错误，将执行处理相应错误的 catch 代码块。如果抛出的不是指定类型的异常，则不会执行 catch 代码块，而会自动将该异常从 try 代码块抛出到与其相匹配的 catch 处理函数。

如果在某个函数内抛出了错误，而该函数中没有 catch 处理函数，则动作脚本解释器退出该函数以及任何调用函数，直到找到一个 catch 代码块。在此过程中，在各层上都会调用 finally 处理函数。

示例

下面的示例说明如何创建 try..finally 语句。由于 finally 代码块中的代码肯定会执行，因此，它通常用于在 try 代码块执行完毕后，执行必要的“清理”代码。在此示例中，finally 代码块用于删除一个动作脚本对象，而不管是否有错误发生。

var account = new Account()
try {
  var returnVal = account.getAccountInfo();
  if(returnVal != 0) {
    throw new Error("Error getting account information.");
  }
}
finally {
  // 无论是否有错误发生，都会删除“account”对象。
  if(account != null) {
    delete account;
  }
}

下面的示例演示一个 try..catch 语句。try 代码块内的代码将会执行。如果 try 代码块内的任何代码抛出异常，控制将传递到 catch 代码块。该代码块使用 Error.toString() 方法在一个文本字段中显示该错误消息。

var account = new Account()
try {
  var returnVal = account.getAccountInfo();
  if(returnVal != 0) {
    throw new Error("Error getting account information.");
  }
} catch (e) {
  status_txt.text = e.toString();
}

下面的示例演示一个带有多个 catch 代码块的 try 代码块，而且在 catch 代码块中指定了错误类型。try 代码块将根据所发生错误的类型抛出不同类型的对象。在此示例中，myRecordSet 是一个名为 RecordSet 的类（假设有这样一个类）的实例。该类的 sortRows() 方法可能会抛出以下两种不同类型的错误：RecordSetException 和 MalformedRecord。

在此示例中，RecordSetException 和 MalformedRecord 对象是 Error 类的子类。它们都是在其自己的 AS 类文件中定义的。（有关更多信息，请参见使用动作脚本 2.0 创建类。）

// 在 RecordSetException.as 中：
class RecordSetException extends Error {
  var message = "Record set exception occurred."
}
// 在 MalformedRecord.as 中：
class MalformedRecord extends Error {
  var message = "Malformed record exception occurred.";
}

在 RecordSet 类的 sortRows() 方法内，将根据所发生异常的类型抛出上面定义的两个错误对象之一。下面的代码片断显示了此代码的大致结构。

// 在 RecordSet.as 类文件内...
function sortRows() {
  ...
  if(recordSetErrorCondition) {
    throw new RecordSetException();
  }
  if(malFormedRecordCondition) {
    throw new MalformedRecord();
  }
  ...
}

最后，在另一个 AS 文件或 FLA 脚本中，以下代码对 RecordSet 类的一个实例调用
sortRows() 方法。它为 sortRows() 所抛出的各种类型的错误都分别定义了 catch 代码块。

try {
  myRecordSet.sortRows();
} catch (e:RecordSetException) {
  trace("Caught a recordset exception");
} catch (e:MalformedRecord) {
  trace("Caught a malformed record exception");
}

另请参见

Error 类、throw、class、extends


typeof

可用性

Flash Player 5。

用法

typeof(expression)

参数

expression 一个字符串、影片剪辑、按钮、对象或函数。

说明

运算符；放在单个参数前的一元运算符。typeof 运算符让 Flash 解释器计算 expression；其结果为一个字符串，指示该表达式是字符串、影片剪辑、对象、函数、数字，还是布尔值。下表显示对各类表达式使用 typeof 运算符的结果：

参数 | 输出
字符串 | string
影片剪辑 | movieclip
按钮 | object
文本字段 | object
数字 | number
布尔值 | boolean
对象 | object
函数 | function


undefined

可用性

Flash Player 5。

用法

undefined

参数

无。

返回

无。

说明

一个特殊值，通常用于指示变量尚未赋值。对未定义值的引用返回特殊值 undefined。动作脚本代码 typeof(undefined) 返回字符串 "undefined"。undefined 类型的唯一值就是
undefined。

在为 Flash Player 6 或更早版本发布的文件中，undefined.toString() 的值为 "" （空字符串）。 在为 Flash Player 7 或更高版本发布的文件中，undefined.toString() 的值为
undefined。

undefined 值与特殊值 null 相似。使用相等运算符对 null 和 undefined 进行比较时，它们的比较结果为相等。

示例

在此示例中，变量 x 尚未声明，所以其值为 undefined。在代码的第一部分，我们使用相等运算符 (==) 对 x 的值与值 undefined 进行比较，并将相应的结果发送到“输出”面板。在代码的第二部分，我们使用相等运算符对值 null 和 undefined 进行比较。

// x 尚未声明
trace ("The value of x is " + x);
if (x == undefined) {
  trace ("x is undefined");
} else {
  trace ("x is not undefined");
}

trace ("typeof (x) is " + typeof (x));
if (null == undefined) {
  trace ("null and undefined are equal");
} else {
  trace ("null and undefined are not equal");
}

下面的结果显示在“输出”面板中。

The value of x is undefined
x is undefined
typeof (x) is undefined
null and undefined are equal


unescape

可用性

Flash Player 5。

用法

unescape(x)

参数

x 要转义的十六进制序列字符串。

返回

对 URL 编码的参数进行解码所得到的字符串。

说明

函数；将参数 x 作为字符串计算，将该字符串从 URL 编码格式进行解码（将所有十六进制序列转换为 ASCII 字符），并返回该字符串。

示例

下面的示例说明了转义到反向转义的转换过程。

escape("Hello{[World]}");

转义结果如下：

("Hello%7B%5BWorld%5D%7D");

使用 unescape 可以返回到原始格式：

unescape("Hello%7B%5BWorld%5D%7D");

结果如下：

Hello{[World]}


unloadMovie()

可用性

Flash Player 3。

用法

unloadMovie(target)

参数

target 影片剪辑的目标路径。

返回

无。

说明

函数；从 Flash Player 中删除通过 loadMovie() 加载的影片剪辑。若要卸载通过 loadMovieNum() 加载的影片，应使用 unloadMovieNum()，而不应使用 unloadMovie()。

示例

下面的示例卸载主时间轴上的影片剪辑 draggable_mc，并将 movie.swf 加载到级别 4 中。

on (press) {
    unloadMovie ("_root.draggable_mc");
    loadMovieNum ("movie.swf", 4);
}

下面的示例卸载已经加载到级别 4 中的影片。

on (press) {
    unloadMovieNum (4);
}

另请参见

loadMovie()、MovieClipLoader.unloadClip()


unloadMovieNum()

可用性

Flash Player 3。

用法

unloadMovieNum(level)

参数

level 所加载影片的级别 (_levelN)。

返回

无。

说明

函数；从 Flash Player 中删除通过 loadMovieNum() 加载的影片。若要卸载通过 loadMovie() 加载的影片，应使用 unloadMovie()，而不应使用 unloadMovieNum()。

另请参见

loadMovie()、loadMovieNum()、unloadMovie()


updateAfterEvent()

可用性

Flash Player 5。

用法

updateAfterEvent()

参数

无。

返回

无。

说明

函数；在 onClipEvent() 处理函数内调用此函数时，或将其作为传递给 setInterval() 的函数或方法的一部分进行调用时，它将更新显示（与为影片设置的帧频无关）。如果对 updateAfterEvent 的调用不在 onClipEvent() 处理函数内，也不是传递给 setInterval() 的函数或方法的一部分，则 Flash 将忽略该调用。

另请参见

onClipEvent()、setInterval()


var

可用性

Flash Player 5。

用法

var variableName [= value1] [...,variableNameN [=valueN]]

参数

variableName 一个标识符。

value 赋给该变量的值。

返回

无。

说明

语句；用于声明局部或时间轴变量。

  • 如果变量是在函数内声明的，则这些变量是局部变量。它们是为该函数声明的，在函数调用结束时到期。
  • 如果变量不是在块 ({}) 内声明的，但执行该动作列表时使用的是 call() 动作，则这些变量也是局部变量，它们在当前列表结束时到期。
  • 如果变量不是在块中声明的，且执行当前动作列表时使用的不是 call() 动作，则这些变量被解释为时间轴变量。但是，您无需使用 var 来声明时间轴变量。

您不能将范围限于另一个对象的变量声明为局部变量：

my_array.length = 25;     // 正确
var my_array.length = 25; // 语法错误

当使用 var 时，您可以精确键入变量，请参见严格数据类型指定

注意：在外部脚本中定义的类还支持 public、private 和 static 变量范围。请参见使用动作脚本 2.0 创建类以及 private°public 和 static°


Video 类

可用性

Flash Player 6；播放 Flash 视频 (FLV) 文件的功能已添加到 Flash Player 7 中。

说明

使用 Video 类可以直接在舞台上显示实时视频流，而无需将其嵌入您的 SWF 文件中。可以使用 Camera.get() 来捕获视频。在为 Flash Player 7 和更高版本发布的文件中，您还可以使用 Video 类通过 HTTP 或在本地文件系统中回放 Flash 视频 (FLV) 文件。有关更多信息，请参见动态回放外部 FLV 文件、NetConnection 类和 NetStream 类。

Video 对象的使用方式类似于影片剪辑。就像放置在舞台上的其它对象一样，您可以控制 Video 对象的多种属性。例如，可以通过使用 Video 对象的 _x 和 _y 属性在舞台上移动该对象；可以通过使用其 _height 和 _width 属性更改其大小等。

若要显示视频流，首先将 Video 对象放置在舞台上。然后使用 Video.attachVideo() 将视频流附加到 Video 对象。

将 Video 对象放置在舞台上：

  1. 如果“库”面板不可见，选择“窗口”>“库”以显示该面板。
  2. 单击“库”面板标题栏右侧的“选项”菜单，然后选择“新建视频”，在库中添加一个嵌入的 Video 对象。
  3. 将该 Video 对象拖放到舞台上，然后使用属性检查器给它起一个唯一的实例名称，例如，my_video。（不要将其命名为“Video”。）

Video 类的方法摘要

方法 | 说明
Video.attachVideo() | 指定将在舞台上的 Video 对象的边界内显示的视频流。
Video.clear() | 清除该 Video 对象中当前显示的图像。

Video 类的属性摘要

属性 | 说明
Video.deblocking | 指定在视频进入流时，视频压缩器根据需要应用的解块过滤器的行为。
Video.height | 只读；视频流的高度，以像素为单位。
Video.smoothing | 指定在缩放视频时是否应对其进行平滑处理（插补数据）。
Video.width | 只读；视频流的宽度，以像素为单位。


Video.attachVideo()

可用性

Flash Player 6；处理 Flash 视频 (FLV) 文件的功能已添加到 Flash Player 7 中。

用法

my_video.attachVideo(source)

参数

source 一个正在捕获视频数据或 NetStream 对象的 Camera 对象。若要切断与该 Video 对象的连接，可在 source 参数中传递 null。

返回

无。

说明

方法；指定将在舞台上的 Video 对象的边界内显示的视频流 (source)。视频流要么是通过
NetStream.play() 命令显示的 FLV 文件（即 Camera 对象），要么是 null。如果 source 为
null，则该 Video 对象中将不再播放视频。

如果 FLV 文件只包含音频，则无需使用此方法；当发布 NetStream.play() 命令时，将自动播放 FLV 文件的音频部分。

如果要控制与 FLV 文件关联的音频，您可以使用 MovieClip.attachAudio() 将音频路由到影片剪辑；然后可以创建 Sound 对象来控制音频的某些属性。有关更多信息，请参见
MovieClip.attachAudio()。

示例

下面的示例在本地播放实时视频。

my_cam = Camera.get();
my_video.attachVideo(my_cam); // my_video 是舞台上的一个 Video 对象

下面的示例播放一个以前录制的名为 myVideo.flv 的文件，该文件与 SWF 文件存储在同一个目录中。

var nc:NetConnection = new NetConnection();
nc.connect(null);
var ns:NetStream = new NetStream(my_nc);
my_video.attachVideo(ns); // my_video 是舞台上的一个 Video 对象
ns.play("myVideo.flv");

另请参见

Camera 类、NetStream 类


Video.clear()

可用性

Flash Player 6。

用法

my_video.clear()

参数

无。

返回

无。

说明

方法；清除该 Video 对象中当前显示的图像。例如，如果要显示待机信息，则可以使用此方法。这样就不必隐藏该 Video 对象了。

另请参见

Video.attachVideo()


Video.deblocking

可用性

Flash Player 6。

用法

my_video.deblocking
my_video.deblocking = setting

说明

属性；指定在视频进入流时，视频压缩器根据需要应用的解块过滤器的行为。下面是 setting 可以接受的值：

  • 0 （默认值）：让视频压缩器根据需要应用解块过滤器。
  • 1: 从不使用解块过滤器。
  • 2: 始终使用解块过滤器。

解块过滤器对整体回放性能有影响，而对于高带宽视频，通常不需要使用它。如果您的系统不够强大，在启用此过滤器的情况下回放视频可能会有困难。


Video.height

可用性

Flash Player 6。

用法

my_video.height

说明

只读属性；一个整数，指示该视频流的高度（以像素为单位）。对于实时流，此值与正在捕获该视频流的 Camera 对象的 Camera.height 属性相同。对于 FLV 文件，此值是以 FLV 形式导出的文件的高度。

例如，您可能需要使用此属性来确保用户以捕获时的相同大小观看视频，而无论 Video 对象在舞台上的实际大小是什么。

示例

用法 1：下面的示例设置 Video 对象的高度和宽度值以和 FLV 文件的值匹配。应该在调用
NetStream.onStatus（code 属性为 NetStream.Buffer.Full）之后调用此代码。如果在 code 属性为 NetStream.Play.Start 时调用此代码，则高度和宽度值将为 0，这是因为 Video 对象尚未具有加载的 FLV 文件的高度和宽度。

// Clip 是包含
// 视频对象“my_video”的影片剪辑的实例名称。
_root.Clip._width = _root.Clip.my_video.width;
_root.Clip._height = _root.Clip.my_video.height;

用法 2：以下示例让用户通过按一个按钮来设置正在 Flash Player 中显示的视频流的高度和宽度，使其与捕获该视频流时的高度和宽度相同。

on (release) {
  _root.my_video._width = _root.my_video.width
  _root.my_video._height = _root.my_video.height
}

另请参见

MovieClip._height、Video.width


Video.smoothing

可用性

Flash Player 6。

用法

my_video.smoothing

说明

属性；一个布尔值，指定在缩放该视频时是否应进行平滑处理（插补数据）。播放器必须处于高品质模式，平滑处理才起作用。默认值为 false（不进行平滑处理）。


Video.width

可用性

Flash Player 6。

用法

my_video.width

说明

只读属性；一个整数，指示视频流的宽度（以像素为单位）。对于实时流，此值与正在捕获该视频流的 Camera 对象的 Camera.width 属性相同。对于 FLV 文件，此值是以 FLV 文件形式导出的文件的宽度。

例如，您可能需要使用此属性来确保用户以捕获时的相同大小观看视频，而无论 Video 对象在舞台上的实际大小是什么。

示例

请参见 Video.height 的示例。


void

可用性

Flash Player 5。

用法

void (expression)

说明

运算符；一个一元运算符，它将放弃 expression 值并返回未定义值。void 操作符经常用于使用 == 运算符测试未定义值的比较运算中。


while

可用性

Flash Player 4。

用法

while(condition) {
  statement(s);
}

参数

condition 每次执行 while 动作时都要重新计算的表达式。

statement(s) 条件计算结果为 true 时要执行的指令。

返回

无。

说明

语句；测试一个表达式，只要该表达式为 true，就重复运行循环中的语句或语句序列。

在运行该语句块之前，首先测试 condition；如果测试返回 true，则运行该语句块。如果该条件为 false，则跳过该语句块，并执行 while 动作语句块之后的第一条语句。

通常当计数器变量小于某指定值时，使用循环执行动作。 在每个循环的结尾递增计数器的值，直到达到指定值为止。此时，condition 不再为 true，因此循环结束。

while 语句执行下面一系列步骤。第 1 步至第 4 步的每次重复，称作循环的一次迭代。每次迭代的开始将重新测试 condition，如下面的步骤所示：

  1. 计算表达式 condition。
  2. 如果 condition 的计算结果为 true，或是一个可转换为布尔值 true 的值（比如一个非零数字），则转到第 3 步。

    否则，while 语句结束，并从 while 循环之后的下一语句继续执行。

  3. 运行语句块 statement(s)。
  4. 转到步骤 1。

另请参见

do while、continue、for、for..in


with

可用性

Flash Player 5。

用法

with (object) {
  statement(s);
}

参数

object 动作脚本对象或影片剪辑的一个实例。

statement(s) 包括在大括号中的一个动作或一组动作。

返回

无。

说明

语句；允许您使用 object 参数指定一个对象（比如影片剪辑），并使用 statement(s) 参数计算该对象中的表达式和动作。这可以使您不必重复书写对象的名称或路径。

object 参数将成为读取 statement(s) 参数中的属性、变量与函数的上下文。例如，如果
object 为 my_array，且指定的属性中有 length 和 concat 这样两个属性，则这些属性将自动作为 my_array.length 和 my_array.concat 进行读取。在另一个示例中，如果 object 为
state.california，则 with 动作中的任何动作或语句将从 california 实例中调用。

查找 statement(s) 参数中某个标识符的值时，动作脚本将从 object 指定的范围链的开头开始查找，并按照特定的顺序在范围链的每个级别中搜索该标识符。

with 动作使用范围链解析标识符，该范围链从下面列表中的第一项开始，一直到最后一项结束：

  • 在最里面的 with 动作的 object 参数中指定的对象。
  • 在最外面的 with 动作的 object 参数中指定的对象。
  • 激活的对象。（当调用函数时自动创建的临时对象，该函数包含函数所调用的局部变量。）
  • 包含当前执行脚本的影片剪辑。
  • 全局对象（诸如 Math 与 String 的内置对象）。

若要在 with 动作中设置变量，该变量必须已在 with 动作外部进行了声明，或者您必须输入该变量所生存时间轴的完整路径。如果在 with 动作中设置了未声明的变量，则 with 动作将根据范围链查找该值。如果该变量尚不存在，则将在调用 with 动作的时间轴上设置此新值。

在 Flash 5 或更高版本中，with 动作替换了已不鼓励使用的 tellTarget 动作。建议您使用 with 而不使用 tellTarget，因为前者是对 ECMA-262 标准的一个标准动作脚本扩展功能。with 动作与 tellTarget 动作的主要区别在于：with 采用对影片剪辑或其它对象的引用作为其参数，而 tellTarget 采用标识影片剪辑的目标路径字符串作为其参数，且不能用于指向
对象。

示例

下面的示例设置 someOther_mc 实例的 _x 和 _y 属性，然后指示 someOther_mc 转到第 3 帧并停止。

with (someOther_mc) {
  _x = 50;
  _y = 100;
  gotoAndStop(3);
}

下面的代码片断显示不使用 with 动作如何编写上面的代码。

someOther_mc._x = 50;
someOther_mc._y = 100;
someOther_mc.gotoAndStop(3);

还可使用 tellTarget 动作编写这段代码。但是，如果 someOther_mc 不是影片剪辑，而是一个对象，则不能使用 with 动作。

tellTarget ("someOther_mc") {
  _x = 50;
  _y = 100;
  gotoAndStop(3);
}

with 动作对于同时访问一个范围链列表中的多项十分有用。在下面的示例中，内置 Math 对象被放置在范围链的前面。将 Math 设置为默认对象可以将标识符 cos、sin 和 PI 分别解析为
Math.cos、Math.sin 和 Math.PI。标识符 a、x、y 和 r 不是 Math 对象的方法或属性，但由于它们处于函数 polar() 的对象激活范围内，所以会将它们解析为相应的局部变量。

function polar(r) {
  var a, x, y;
  with (Math) {
    a = PI * r * r;
    x = r * cos(PI);
    y = r * sin(PI/2);
}
trace("area = " +a);
trace("x = " + x);
trace("y = " + y);
}

可以使用嵌套的 with 动作访问多重范围中的信息。在下面的示例中，实例 fresno 和实例
salinas 是实例 california 的子级。该语句设置 fresno 和 salinas 的 _alpha 值，而不改变
california 的 _alpha 值。

with (california){
  with (fresno){
    _alpha = 20;
  }
  with (salinas){
    _alpha = 40;
  }
}

另请参见

tellTarget


XML 类

可用性

Flash Player 5（已成为 Flash Player 6 本身的对象，Flash Player 6 大大提高了性能）。

说明

使用 XML 类的方法和属性可以加载、分析、发送、生成和操作 XML 文档树。

必须先使用构造函数 new XML() 创建 XML 对象，然后才能调用 XML 类的方法。

XML 类的方法摘要

方法 | 说明
XML.addRequestHeader() | 添加或更改 POST 操作的 HTTP 标头。
XML.appendChild() | 在指定对象的子级列表结尾追加一个节点。
XML.cloneNode() | 克隆指定的节点，并可选择递归克隆所有子级。
XML.createElement() | 创建一个新的 XML 元素。
XML.createTextNode() | 创建一个新的 XML 文本节点。
XML.getBytesLoaded() | 返回为指定 XML 文档加载的字节数。
XML.getBytesTotal() | 返回 XML 文档的大小，以字节为单位。
XML.hasChildNodes() | 如果指定的节点有子级节点，则返回 true；否则返回 false。
XML.insertBefore() | 在指定节点的子级列表中的一个现有节点之前插入节点。
XML.load() | 从 URL 中加载文档（由 XML 对象指定）。
XML.parseXML() | 将 XML 文档分析为指定的 XML 对象树。
XML.removeNode() | 从指定节点的父级中将该节点删除。
XML.send() | 将指定的 XML 对象发送到 URL。
XML.sendAndLoad() | 将指定的 XML 对象发送到 URL，并将服务器响应加载到另一 XML 对象中。
XML.toString() | 将指定的节点与其任何子级转换为 XML 文本。

XML 类的属性摘要

属性 | 说明
XML.contentType | 表示传输到服务器的 MIME 类型。
XML.docTypeDecl | 设置和返回关于 XML 文档的 DOCTYPE 声明的信息。
XML.firstChild | 只读；引用指定节点列表中的第一个子级。
XML.ignoreWhite | 当设置为 true 时，在分析过程中将放弃仅包含空白的文本节点。
XML.lastChild | 引用指定节点列表中的最后一个子级。
XML.loaded | 只读；检查指定的 XML 对象是否已加载。
XML.nextSibling | 只读；引用父级节点的子级列表中的下一个同级。
XML.nodeName | XML 对象的节点名称。
XML.nodeType | 指定节点的类型（XML 元素或文本节点）。
XML.nodeValue | 如果指定节点为文本节点，则为该节点的文本。
XML.parentNode | 只读；引用指定节点的父级节点。
XML.previousSibling | 只读；引用父级节点的子级列表中的前一个同级。
XML.status | 一个数字状态代码，指示 XML 文档分析操作成功或失败。
XML.xmlDecl | 指定有关文档的 XML 声明的信息。

XML 类的集合摘要

方法 | 说明
XML.attributes | 返回一个包含指定节点所有属性的关联数组。
XML.childNodes | 只读；返回一个包含对指定节点的子级节点的引用的数组。

XML 类的事件处理函数摘要

事件处理函数 | 说明
XML.onData | 一个事件处理函数，当 XML 文本从服务器上被完全下载时，或者当从服务器上下载 XML 文本的过程中出现错误时进行调用。
XML.onLoad() | 一个事件处理函数，它返回一个布尔值，指示是否用 XML.load() 或 XML.sendAndLoad() 成功加载了该 XML 对象。

XML 类的构造函数

可用性

Flash Player 5。

用法

new XML([source])

参数

source 对其进行分析以创建新的 XML 对象的 XML 文本。

返回

无。

说明

构造函数；创建一个新的 XML 对象。必须先使用构造函数创建一个 XML 对象，然后才能调用 XML 类的方法。

注意：createElement() 和 createTextNode() 方法是用于在 XML 文档树中创建元素和文本节点的“构造函数”方法。

示例

用法 1：下面的示例创建一个新的空 XML 对象。

my_xml = new XML();

用法 2：下面的示例通过分析 source 参数中指定的 XML 文本创建一个 XML 对象，并使用得到的 XML 文档树填充新创建的 XML 对象。

anyOtherXML = new XML("<state>California<city>san francisco</city></state>");

另请参见

XML.createElement()、XML.createTextNode()


XML.addRequestHeader()

可用性

Flash Player 6。

用法

xml.addRequestHeader(headerName, headerValue)
xml.addRequestHeader(["headerName_1", "headerValue_1" ..."headerName_n", "headerValue_n"])

参数

headerName HTTP 请求标头名称。

headerValue 与 headerName 关联的值。

返回

无。

说明

方法，添加或更改用 POST 动作发送的 HTTP 请求标头（如 Content-Type 或 SOAPAction）。在第一种用法中，向该方法传递了两个字符串：headerName 和 headerValue。在第二种用法中，传递了字符串、替代标头名称和标头值的数组。

如果通过多次调用来设置相同的标头名称，则每个后继值将替换在上一次调用中设置的值。

您不能使用此方法添加或更改下列标准 HTTP 标头：Accept-Ranges、Age、Allow、Allowed、
Connection、Content-Length、Content-Location、Content-Range、ETag、Host、Last-
Modified、Locations、Max-Forwards、Proxy-Authenticate、Proxy-Authorization、Public、Range、Retry-After、Server、TE、Trailer、Transfer-Encoding、Upgrade、URI、Vary、Via、Warning 和 WWW-Authenticate。

示例

以下示例将值为 Foo 的自定义 HTTP 标头 SOAPAction 添加到名为 my_xml 的 XML 对象中。

my_xml.addRequestHeader("SOAPAction", "'Foo'");

下一个示例创建名为 headers 的数组，它包含两个替代 HTTP 标头及其关联值。然后将该数组作为参数传递给 addRequestHeader() 方法。

var headers = ["Content-Type", "text/plain", "X-ClientAppVersion", "2.0"];
my_xml.addRequestHeader(headers);

另请参见

LoadVars.addRequestHeader()


XML.appendChild()

可用性

Flash Player 5。

用法

my_xml.appendChild(childNode)

参数

childNode 要添加到指定 XML 对象的子级列表中的子级节点。

返回

无。

说明

方法；将指定的子级节点追加到 XML 对象的子级列表中。将追加的子级节点放入树结构中的同时，将该子级节点从其现有的父级节点（如果有的话）中删除。

示例

下面的示例从 doc1 中克隆最后一个节点，并将其追加到 doc2 中。

doc1 = new XML(src1);
doc2 = new XML();
node = doc1.lastChild.cloneNode(true);
doc2.appendChild(node);


XML.attributes

可用性

Flash Player 5。

用法

my_xml.attributes

参数

无。

返回

一个数组。

说明

属性；一个包含指定 XML 对象的所有属性的关联数组。

示例

下面的示例将 XML 属性的名称写到“输出”窗口。

str = "<mytag name=\"Val\"> intem </mytag>";
doc = new XML(str);
y = doc.firstChild.attributes.name;
  trace (y);
doc.firstChild.attributes.order = "first";
z = doc.firstChild.attributes.order
  trace(z);

下面的内容将被写到“输出”面板：

Val
first


XML.childNodes

可用性

Flash Player 5。

用法

my_xml.childNodes

参数

无。

返回

一个数组。

说明

属性（只读）；指定 XML 对象的子级组成的数组。数组中的每个元素都是对表示子级节点的 XML 对象的引用。这是一个只读属性，无法用于操作子级节点。若要操作子级节点，应使用 XML.appendChild()、XML.insertBefore() 和 XML.removeNode()。

对于文本节点 (nodeType == 3)，此属性未定义。

另请参见

XML.nodeType


XML.cloneNode()

可用性

Flash Player 5。

用法

my_xml.cloneNode(deep)

参数

deep 布尔值，指定是否递归克隆指定 XML 对象的子级。

返回

一个 XML 节点。

说明

方法；构造并返回一个类型、名称、值和属性与指定 XML 对象均相同的新 XML 节点。如果 deep 设置为 true，则递归克隆所有子级节点，这将得到一个与原始对象文档树完全相同的
副本。

返回的克隆节点与被克隆项目的树不再相关联。因此，nextSibling、parentNode 和
previousSibling 的值均为 null。如果不执行剪贴板复制，firstChild 和 lastChild 也为 null。


XML.contentType

可用性

Flash Player 6。

用法

my_xml.contentType

说明

属性；调用 XML.send() 或 XML.sendAndLoad() 方法时发送到服务器的 MIME 类型。默认值为 application/x-www-form-urlencoded。

另请参见

XML.send()、XML.sendAndLoad()


XML.createElement()

可用性

Flash Player 5。

用法

my_xml.createElement(name)

参数

name 要创建的 XML 元素的标签名。

返回

一个 XML 元素。

说明

方法；使用参数中指定的名称创建一个新的 XML 元素。新元素开始时没有父级、子级和同级。该方法返回一个引用，该引用指向新创建的表示元素的 XML 对象。 此方法与 createTextNode() 是为 XML 对象创建节点的构造函数方法。


XML.createTextNode()

可用性

Flash Player 5。

用法

my_xml.createTextNode(text)

参数

text 用于创建新文本节点的文本。

返回

无。

说明

方法；使用指定文本创建一个新的 XML 文本节点。该新节点开始时没有父级，且文本节点不能有子级或同级。这种方法返回对表示新文本节点的 XML 对象的引用。 此方法与 createElement() 是为 XML 对象创建节点的构造函数方法。


XML.docTypeDecl

可用性

Flash Player 5。

用法

my_xml.XMLdocTypeDecl

说明

属性；指定有关 XML 文档的 DOCTYPE 声明的信息。在将 XML 文本分析为 XML 对象后，该 XML 对象的 XML.docTypeDecl 属性将被设置为该 XML 文档的 DOCTYPE 声明的文本。例如，<!DOCTYPE greeting SYSTEM "hello.dtd">。此属性是使用 DOCTYPE 声明的字符串表示形式设置的，而不是使用 XML 节点对象设置的。

动作脚本的 XML 分析器不是具有验证功能的分析器。分析器读取 DOCTYPE 声明，并将其存储在 docTypeDecl 属性中，但不执行 DTD 验证。

如果在执行分析操作的过程中未遇到 DOCTYPE 声明，XML.docTypeDecl 将被设置为未定义。XML.toString() 在输出完存储在 XML.xmlDecl 中的 XML 声明后，将立即输出 XML.docTypeDecl 的内容，然后才输出 XML 对象中的任何其它文本。如果 XML.docTypeDecl 未定义，则不输出 DOCTYPE 声明。

示例

下面的示例使用 XML.docTypeDecl 设置 XML 对象的 DOCTYPE 声明：

my_xml.docTypeDecl = "<!DOCTYPE greeting SYSTEM \"hello.dtd\">";

另请参见

XML.toString()、XML.xmlDecl


XML.firstChild

可用性

Flash Player 5。

用法

my_xml.firstChild

说明

属性（只读）；计算指定的 XML 对象，并引用父级节点的子级列表中的第一个子级。如果节点没有子级，则此属性为 null。如果节点为文本节点，则该属性未定义。这是只读属性，无法用于操作子级节点；请使用 appendChild()、insertBefore() 和 removeNode() 来操作子级
节点。

另请参见

XML.appendChild()、XML.insertBefore()、XML.removeNode()


XML.getBytesLoaded()

可用性

Flash Player 6。

用法

XML.getBytesLoaded()

参数

无。

返回

一个整数，指示所加载的字节数。

说明

方法；返回为 XML 文档加载（进入流）的字节数。可以对 getBytesLoaded() 的值与 getBytesTotal() 的值进行比较，从而确定 XML 文档已加载的百分比。

另请参见

XML.getBytesTotal()


XML.getBytesTotal()

可用性

Flash Player 6。

用法

XML.getBytesTotal()

参数

无。

返回

一个整数。

说明

方法；以字节为单位返回 XML 文档的大小。

另请参见

XML.getBytesLoaded()


XML.hasChildNodes()

可用性

Flash Player 5。

用法

my_xml.hasChildNodes()

参数

无。

返回

一个布尔值。

说明

方法；如果指定的 XML 对象有子级节点，则返回 true；否则返回 false。

示例

下面的示例在用户定义的函数中使用来自 XML 对象的信息。

if (rootNode.hasChildNodes()) {
  myfunc (rootNode.firstChild);
}


XML.ignoreWhite

可用性

Flash Player 5。

用法

my_xml.ignoreWhite = boolean
XML.prototype.ignoreWhite = boolean

参数

boolean 一个布尔值（true 或 false）。

说明

属性；默认设置为 false。当设置为 true 时，在分析过程中将放弃仅包含空白的文本节点。带有前导或尾随空白的文本节点不受影响。

用法 1：可以为单个 XML 对象设置 ignoreWhite 属性，如下面的代码所示：

my_xml.ignoreWhite = true

用法 2：可以为 XML 对象设置默认 ignoreWhite 属性，如下面的代码所示：

XML.prototype.ignoreWhite = true


XML.insertBefore()

可用性

Flash Player 5。

用法

my_xml.insertBefore(childNode, beforeNode)

参数

childNode 要插入的节点。

beforeNode childNode 插入点前面的节点。

返回

无。

说明

方法；在 XML 对象的子级列表中插入一个新的子级节点，插入位置在 beforeNode 节点之前。如果 beforeNode 参数未定义或为 null，将使用 appendChild() 添加该节点。如果 beforeNode 不是 my_xml 的子级，则插入将失败。


XML.lastChild

可用性

Flash Player 5。

用法

my_xml.lastChild

说明

属性（只读）；计算 XML 对象，并引用父级节点的子级列表中的最后一个子级。如果该节点没有子级，则此方法返回 null。这是只读属性，无法用于操作子级节点；请使用
appendChild()、insertBefore() 和 removeNode() 来操作子级节点。

另请参见

XML.appendChild()、XML.insertBefore()、XML.removeNode()


XML.load()

可用性

Flash Player 5；行为在 Flash Player 7 中发生了变化。

用法

my_xml.load(url)

参数

url 要加载的 XML 文档所位于的 URL。如果发布此调用的 SWF 文件运行在 Web 浏览器上，则 url 必须与 SWF 文件位于同一个域中；有关详细信息，请参见下面的“说明”。

返回

无。

说明

方法；从指定的 URL 中加载 XML 文档，并使用下载的 XML 数据替换指定 XML 对象的内容。该 URL 是相对的，并且通过 HTTP 调用。加载过程是异步的；它不会在 load() 方法执行后立即结束。

在运行于 Flash Player 7 以前版本的播放器的 SWF 文件中，url 必须与发布此调用的 SWF 文件位于同一个超级域中。例如，位于 www.someDomain.com 的 SWF 文件可以从位于 store.someDomain.com 的 SWF 文件加载变量，这是因为这两个文件都在同一个超级域 someDomain.com 中。

在运行于 Flash Player 7 或更高版本的任何版本的 SWF 文件中，url 必须在同一个域中（请参见Flash Player 安全功能）。例如，位于 www.someDomain.com 的 SWF 文件只能从同样位于 www.someDomain.com 的 SWF 文件加载变量。如果要从其它域中加载变量，则可以在承载被访问的 SWF 文件的服务器上放置一个跨域策略文件。有关更多信息，请参见关于允许跨域数据加载。

执行 load() 时，XML 对象的属性 loaded 将被设置为 false。在 XML 数据下载完毕后，loaded 属性将被设置为 true，并调用 onLoad() 方法。直到 XML 数据完全下载后，才开始分析。如果该 XML 对象以前包含任何 XML 树，它们将被放弃。

您可以指定自己的事件处理函数来代替 onLoad() 方法。

示例

下面是一个使用 XML.load() 的简单示例：

doc = new XML();
doc.load ("theFile.xml");

另请参见

XML.loaded、XML.onLoad()


XML.loaded

可用性

Flash Player 5。

用法

my_xml.loaded

说明

属性（只读）；确定由 XML.load() 调用启动的文档加载过程是否已完成。如果该过程成功完成，则此方法返回 true；否则返回 false。

示例

下面的示例在一个简单的脚本中使用 XML.loaded。

if (doc.loaded) {
  gotoAndPlay(4);
}


XML.nextSibling

可用性

Flash Player 5。

用法

my_xml.nextSibling

说明

属性（只读）；计算 XML 对象，并引用父级节点的子级列表中的下一个同级。如果该节点没有下一个同级节点，则此方法返回 null。这是一个只读属性，无法用于操作子级节点。请使用 appendChild()、insertBefore() 和 removeNode() 来操作子级节点。

另请参见

XML.appendChild()、XML.insertBefore()、XML.removeNode()


XML.nodeName

可用性

Flash Player 5。

用法

my_xml.nodeName

说明

属性；XML 对象的节点名称。如果该 XML 对象是一个 XML 元素 (nodeType == 1)，则 nodeName 是 XML 文件中表示该节点的标签的名称。例如，TITLE 是 HTML 中 TITLE 标签的 nodeName。如果该 XML 对象是一个文本节点 (nodeType == 3)，则 nodeName 为 null。

另请参见

XML.nodeType


XML.nodeType

可用性

Flash Player 5。

用法

my_xml.nodeType

说明

属性（只读）；采用或返回一个 nodeType 值。值为 1 表示 XML 元素；值为 3 表示文本节点。

另请参见

XML.nodeValue


XML.nodeValue

可用性

Flash Player 5。

用法

my_xml.nodeValue

说明

属性；该 XML 对象的节点值。如果该 XML 对象是一个文本节点，则 nodeType 为 3，而 nodeValue 为该节点的文本。如果该 XML 对象是一个 XML 元素（节点类型为 1），则其 nodeValue 为 null，而且该属性为只读。

另请参见

XML.nodeType


XML.onData

可用性

Flash Player 5

用法

my_xml.onData = function(src) {
  // 此处是您的语句
}

参数

src 服务器发送的原始数据，通常为 XML 格式。

返回

无。

说明

事件处理函数；当 XML 文本从服务器上被完全下载后，或当从服务器上下载 XML 文本的过程中出现错误时调用该处理函数。在分析 XML 之前调用这个处理函数，因此它可用于调用一个自定义分析例程，从而不必使用 Flash XML 分析器。XML.onData 方法或者返回 undefined 值，或者返回一个包含从服务器上下载的 XML 文本的字符串。如果返回值为 undefined，说明从服务器上下载 XML 时出现了错误。

默认情况下，XML.onData 方法将调用 XML.onLoad()。可以用您自己定义的行为覆盖
XML.onData 方法，但这时就不再调用 XML.onLoad() 了，除非在您的 XML.onData 实现中又调用了该方法。

示例

onData 方法的默认实现如下例所示：

XML.prototype.onData = function (src) {
  if (src == undefined) {
    this.onLoad(false);
  } else {
    this.parseXML(src);
    this.loaded = true;
    this.onLoad(true);
  }
}

可以覆盖 XML.onData 方法，从而截获 XML 文本而不对其进行分析。


XML.onLoad()

可用性

Flash Player 5。

用法

my_xml.onLoad = function (success) {
  // 此处是您的语句
}

参数

success 一个布尔值，指示 XML.load() 或 XML.sendAndLoad() 操作是否成功加载了该 XML 对象。

返回

无。

说明

事件处理函数；接收到来自服务器的 XML 文档时由 Flash Player 调用。如果成功地收到了 XML 文档，则 success 参数为 true。如果未收到该文档，或在接收来自服务器响应时出现错误，则 success 参数为 false。该方法的默认实现是不活动的。若要覆盖默认实现，必须指定一个包含您自己的动作的函数。

示例

下面的示例为一个简单的电子商务店面应用程序创建一个简单的 SWF 文件。sendAndLoad() 方法传输包含用户名和密码的 XML 元素，并设置一个 onLoad 处理函数来处理服务器的应答。

function myOnLoad(success) {
  if (success){
    if (e.firstChild.nodeName == "LOGINREPLY_xml" &&
        e.firstChild.attributes.status == "OK") {
      gotoAndPlay("loggedIn")
    } else {
      gotoAndStop("loginFailed")
    }
  } else {
    gotoAndStop("connectionFailed")
  }
}
var myLoginReply_xml = new XML();
myLoginReply_xml.onLoad = myOnLoad;
my_xml.sendAndLoad("http://www.samplestore.com/login.cgi",
            myLoginReply_xml);

另请参见

function、XML.load()、XML.sendAndLoad()


XML.parentNode

可用性

Flash Player 5。

用法

my_xml.parentNode

说明

属性（只读）；引用指定 XML 对象的父级节点，如果该节点没有父级，则返回 null。这是一个只读属性，无法用于操作子级节点；请使用 appendChild()、insertBefore() 和
removeNode() 来操作子级。


XML.parseXML()

可用性

Flash Player 5。

用法

my_xml.parseXML(source)

参数

source 要分析并传递给指定 XML 对象的 XML 文本。

返回

无。

说明

方法；分析 source 参数中指定的 XML 文本，并使用得到的 XML 树填充指定的 XML 对象。XML 对象中任何现有的树将被放弃。


XML.previousSibling

可用性

Flash Player 5。

用法

my_xml.previousSibling

说明

属性（只读）；返回一个对父级节点的子级列表中的前一个同级的引用。如果该节点没有前一个同级节点，则此属性的值为 null。这是一个只读属性，不能用于操作子级节点；请使用 XML.appendChild()、XML.insertBefore() 和 XML.removeNode() 来操作子级节点。


XML.removeNode()

可用性

Flash Player 5。

用法

my_xml.removeNode()

参数

无。

返回

无。

说明

方法；从指定 XML 对象的父级中将该对象删除。该节点的所有后代也将被删除。


XML.send()

可用性

Flash Player 5。

用法

my_xml.send(url, [window])

参数

url 指定 XML 对象的目标 URL。

window 显示服务器返回数据的浏览器窗口：_self 指定当前窗口中的当前帧，_blank 指定一个新窗口，_parent 指定当前帧的父级，_top 指定当前窗口中的顶级帧。此参数是可选的；如果未指定 window 参数，则与指定 _self 相同。

返回

无。

说明

方法；将指定的 XML 对象编码为 XML 文档，并使用 POST 方法将其发送到指定的 URL。


XML.sendAndLoad()

可用性

Flash Player 5；行为在 Flash Player 7 中发生了变化。

用法

my_xml.sendAndLoad(url, targetXMLobject)

参数

url 指定 XML 对象的目标 URL。如果发布此调用的 SWF 文件运行在 Web 浏览器上，则 url 必须与 SWF 文件位于同一个域中；有关详细信息，请参见下面的“说明”。

targetXMLobject 一个由 XML 构造函数方法创建的 XML 对象，该对象将接收来自服务器的返回信息。

返回

无。

说明

方法；将指定的 XML 对象编码为 XML 文档，并使用 POST 方法将其发送到指定的 URL，下载服务器的响应，然后将其加载到参数中指定的 targetXMLobject 中。服务器响应的加载方式与 load() 方法使用的方式相同。

在运行于 Flash Player 7 以前版本的播放器的 SWF 文件中，url 必须与发布此调用的 SWF 文件位于同一个超级域中。例如，位于 www.someDomain.com 的 SWF 文件可以从位于 store.someDomain.com 的 SWF 文件加载变量，这是因为这两个文件都在同一个超级域
someDomain.com 中。

在运行于 Flash Player 7 或更高版本的任何版本的 SWF 文件中，url 必须在同一个域中（请参见Flash Player 安全功能）。例如，位于 www.someDomain.com 的 SWF 文件只能从同样位于 www.someDomain.com 的 SWF 文件加载变量。如果要从其它域中加载变量，则可以在承载被访问的 SWF 文件的服务器上放置一个跨域策略文件。有关更多信息，请参见关于允许跨域数据加载。

执行 load() 时，XML 对象的属性 loaded 将被设置为 false。在 XML 数据下载完毕后，loaded 属性将被设置为 true，并调用 onLoad() 方法。直到 XML 数据完全下载后，才开始分析。如果该 XML 对象以前包含任何 XML 树，它们将被放弃。

另请参见

XML.load()


XML.status

可用性

Flash Player 5。

用法

my_xml.status

说明

属性；自动设置并返回一个数值，该数值指示 XML 文档是否成功地分析为 XML 对象。这些数字状态代码以及每个代码的说明列表如下：

  • 0 没有错误；成功地完成了分析。
  • -2 一个 CDATA 部分没有正确结束。
  • -3 XML 声明没有正确结束。
  • -4 DOCTYPE 声明没有正确结束。
  • -5 一个注释没有正确结束。
  • -6 一个 XML 元素有格式错误。
  • -7 内存不足。
  • -8 一个属性值没有正确结束。
  • -9 一个开始标签没有匹配的结束标签。
  • -10 遇到一个没有匹配的开始标签的结束标签。


XML.toString()

可用性

Flash Player 5。

用法

my_xml.toString()

参数

无。

返回

字符串。

说明

方法；计算指定的 XML 对象；构造一个包括节点、子级和属性的 XML 结构的文本表示形式，并以字符串形式返回结果。

对于顶级 XML 对象（那些用构造函数创建的对象），XML.toString() 首先输出文档的 XML 声明（存储在 XML.xmlDecl 中），随后输出文档的 DOCTYPE 声明（存储在 XML.docTypeDecl 中），然后输出该对象中所有 XML 节点的文本表示形式。如果 XML.xmlDecl 未定义，则不输出 XML 声明。如果 XML.docTypeDecl 未定义，则不输出 DOCTYPE 声明。

示例

下面的代码是 XML.toString() 方法的一个示例，该示例将 <h1>test</h1> 发送到“输出”
面板。

node = new XML("<h1>test</h1>");
trace(node.toString());

另请参见

XML.docTypeDecl、XML.xmlDecl


XML.xmlDecl

可用性

Flash Player 5。

用法

my_xml.xmlDecl

说明

属性；指定有关文档的 XML 声明的信息。将 XML 文档分析为 XML 对象之后，该属性被设置为文档的 XML 声明的文本。使用 XML 声明的字符串表示形式而不是 XML 节点对象设置该属性。如果在分析操作过程中未遇到 XML 声明，则该属性将被设置为 undefined。XML.toString() 方法首先输出 XML.xmlDecl 的内容，然后才输出 XML 对象中的其它文本。如果 XML.xmlDecl 包含 undefined 类型，则不输出 XML 声明。

示例

下面的示例使用 XML.xmlDecl 为一个 XML 对象设置 XML 文档声明。

my_xml.xmlDecl = "<?xml version=\"1.0\" ?>";

下面是一个 XML 声明的示例：

<?xml version="1.0" ?>

另请参见

XML.docTypeDecl、XML.toString()


XMLNode 类

可用性

Flash Player 5。

说明

XMLnode 类支持以下属性、方法和集合；有关它们的用法的信息，请参见相应的 XML 类
条目。

属性、方法或集合 | 相应的 XML 类条目
appendChild() | XML.appendChild()
attributes | XML.attributes
childNodes | XML.childNodes
cloneNode() | XML.cloneNode()
firstChild | XML.firstChild
hasChildNodes() | XML.hasChildNodes()
insertBefore() | XML.insertBefore()
lastChild | XML.lastChild
nextSibling | XML.nextSibling
nodeName | XML.nodeName
nodeType | XML.nodeType
nodeValue | XML.nodeValue
parentNode | XML.parentNode
previousSibling | XML.previousSibling
removeNode() | XML.removeNode()
toString() | XML.toString()

另请参见

XML 类


XMLSocket 类

可用性

Flash Player 5。

说明

XMLSocket 类用于实现客户端套接字。利用客户端套接字，运行 Flash Player 的计算机可以与由 IP 地址或域名标识的服务器计算机进行通讯。对于要求滞后时间较短的客户端/服务器应用程序，如实时聊天系统，XMLSocket 类非常有用。传统的基于 HTTP 的聊天解决方案频繁轮询服务器，并使用 HTTP 请求来下载新的消息。与此相反，XMLSocket 聊天解决方案保持与服务器的开放连接，这一连接允许服务器即时发送传入的消息，而无需客户端发出请求。

若要使用 XMLSocket 类，服务器计算机必须运行可识别 XMLSocket 类使用的协议的守护程序。 协议如下所示：

  • XML 消息通过全双工 TCP/IP 流套接字连接发送。
  • 每个 XML 消息都是一个完整的 XML 文档，以零字节结束。
  • 通过一个 XMLSocket 连接发送和接收的 XML 消息数没有限制。

XMLSocket 对象连接到服务器的方式和位置受下列限制：

  • XMLSocket.connect() 方法只能连接到端口号大于或等于 1024 的 TCP 端口。这种限制的一个后果是，与 XMLSocket 对象通讯的服务器守护程序也必须分配到端口号大于或等于 1024 的端口。端口号小于 1024 的端口通常由系统服务（如 FTP、Telnet 和 HTTP）使用，因此，出于安全方面的考虑，禁止 XMLSocket 对象使用这些端口。这种端口号方面的限制可以减少不恰当地访问和滥用这些资源的可能性。
  • XMLSocket.connect() 方法只能连接到 SWF 文件所在域中的计算机。这一限制不适用于在本地磁盘外运行的 SWF 文件。（这一限制与 loadVariables()、XML.sendAndLoad() 和 XML.load() 的安全规则相同。）若要连接到在 SWF 所在域之外的其它域中运行的服务器守护程序，可以在该服务器上创建一个允许从特定域进行访问的安全策略文件。有关为 XMLSocket 连接创建策略文件的更多信息，请参见关于允许跨域数据加载。

将服务器设置为与 XMLSocket 对象进行通讯可能会遇到一些困难。如果您的应用程序不需要进行实时交互，请使用 loadVariables() 动作或 Flash 的基于 HTTP 的 XML 服务器连接（XML.load()、XML.sendAndLoad()、XML.send()），而不要使用 XMLSocket 类。

若要使用 XMLSocket 类的方法，您必须首先使用构造函数 new XMLSocket 创建一个新的 XMLSocket 对象。

XMLSocket 类的方法摘要

方法 | 说明
XMLSocket.close() | 关闭一个打开的套接字连接。
XMLSocket.connect() | 建立一个到指定服务器的连接。
XMLSocket.send() | 向服务器发送一个 XML 对象。

XMLSocket 类的事件处理函数摘要

事件处理函数 | 说明
XMLSocket.onClose() | 当 XMLSocket 连接关闭时调用的事件处理函数。 一个事件处理函数，在通过 XMLSocket.connect() 启动的连接请求成功或失败后，Flash Player 将调用此函数。 当 XML 消息已从服务器上下载后调用的事件处理函数。 当 XML 对象从服务器到达时调用的事件处理函数。
XMLSocket.onConnect()
XMLSocket.onData()
XMLSocket.onXML()

XMLSocket 类的构造函数

可用性

Flash Player 5。

用法

new XMLSocket()

参数

无。

返回

无。

说明

构造函数；创建一个新的 XMLSocket 对象。XMLSocket 对象开始时未与任何服务器连接。必须调用 XMLSocket.connect() 将该对象连接到服务器。


XMLSocket.close()

可用性

Flash Player 5。

用法

myXMLSocket.close()

参数

无。

返回

无。

说明

方法；关闭 XMLSocket 对象指定的连接。

另请参见

XMLSocket.connect()


XMLSocket.connect()

可用性

Flash Player 5；行为在 Flash Player 7 中发生了变化。

用法

myXMLSocket.connect(host, port)

参数

host 一个完全限定 DNS 域名，或一个 aaa.bbb.ccc.ddd 形式的 IP 地址。也可指定 null，这将连接到 SWF 文件所在的主机服务器。如果发布此调用的 SWF 文件运行在 Web 浏览器上，则 url 必须与 SWF 文件位于同一个域中；有关详细信息，请参见下面的“说明”。

port 主机上用于建立连接的 TCP 端口号。端口号必须为 1024 或更高。

返回

一个布尔值。

说明

方法；使用指定的 TCP 端口（必须为 1024 或更大）建立一个到指定 Internet 主机的连接，并根据是否成功建立了连接，返回 true 或 false。如果您不知道 Internet 宿主计算机的端口号，请与您的网络管理员联系。

如果将 host 参数指定为 null，则所联系的主机为调用 XMLSocket.connect() 的 SWF 文件所在的主机。例如，如果 SWF 文件是从 http://www.yoursite.com 下载的，则将 host 参数指定为 null 与输入 www.yoursite.com 的 IP 地址效果相同。

在运行于 Flash Player 7 以前版本的播放器的 SWF 文件中，url 必须与发布此调用的 SWF 文件位于同一个超级域中。例如，位于 www.someDomain.com 的 SWF 文件可以从位于 store.someDomain.com 的 SWF 文件加载变量，这是因为这两个文件都在同一个超级域 someDomain.com 中。

在运行于 Flash Player 7 或更高版本的任何版本的 SWF 文件中，url 必须在同一个域中（请参见Flash Player 安全功能）。例如，位于 www.someDomain.com 的 SWF 文件只能从同样位于 www.someDomain.com 的 SWF 文件加载变量。如果要从其它域中加载变量，则可以在承载被访问的 SWF 文件的服务器上放置一个跨域策略文件（必须将其放置在运行于与套接字服务器所在的同一个域中端口 80 上的 HTTP 服务器上）。有关更多信息，请参见关于允许跨域数据加载。

执行 load() 时，XML 对象的属性 loaded 将被设置为 false。在 XML 数据下载完毕后，loaded 属性将被设置为 true，并调用 onLoad() 方法。直到 XML 数据完全下载后，才开始分析。如果该 XML 对象以前包含任何 XML 树，它们将被放弃。

如果 XMLSocket.connect() 返回 true 值，则表示连接过程的初始阶段是成功的；随后将调用 XMLSocket.onConnect 方法以确定最终连接是否成功。如果 XMLSocket.connect() 返回 false，则表示未能建立连接。

示例

下面的示例使用 XMLSocket.connect() 连接到 SWF 文件所在的主机，然后使用 trace 显示返回值，指示连接是否成功。

function myOnConnect(success) {
  if (success){
    trace ("Connection succeeded!")
  } else {
    trace ("Connection failed!")
  }
}
socket = new XMLSocket()
socket.onConnect = myOnConnect
if (!socket.connect(null, 2000)) {
  trace ("Connection failed!")
}

另请参见

function、XMLSocket.onConnect()


XMLSocket.onClose()

可用性

Flash Player 5。

用法

myXMLSocket.onClose() = function() {
  // 此处是您的语句
}

参数

无。

返回

无。

说明

事件处理函数；只有当某个打开的连接被服务器关闭时才调用此函数。此方法的默认实现不执行任何动作。若要覆盖默认实现，必须指定一个包含您自己的动作的函数。

另请参见

function、XMLSocket.onConnect()


XMLSocket.onConnect()

可用性

Flash Player 5。

用法

myXMLSocket.onConnect(success)
  // 此处是您的语句
}

参数

success 一个布尔值，指示是否成功建立了套接字连接（true 或 false）。

返回

无。

说明

事件处理函数；在通过 XMLSocket.connect() 启动的连接请求成功或失败后，Flash Player 将调用该函数。如果连接成功，则 success 参数为 true；否则 success 参数为 false。

此方法的默认实现不执行任何动作。若要覆盖默认实现，必须指定一个包含您自己的动作的
函数。

示例

下面的示例说明在一个简单的聊天应用程序中为 onConnect 方法指定替换函数的过程。

该函数根据是否成功建立了连接，控制为用户显示哪一屏幕。如果连接成功建立，则为用户显示标记为 startChat 的帧上的主聊天屏幕。如果连接不成功，则为用户显示标记为
connectionFailed 的帧上的带到疑难解答信息的屏幕。

function myOnConnect(success) {
  if (success) {
    gotoAndPlay("startChat")
  } else {
    gotoAndStop("connectionFailed")
  }
}

在使用构造函数方法创建了 XMLSocket 对象后，脚本使用赋值运算符设置 onConnect 方法：

socket = new XMLSocket();
socket.onConnect = myOnConnect;

最后，启动连接。如果 connect() 返回 false，则 SWF 文件将直接跳转到标记为
connectionFailed 的帧，且永远不会调用 onConnect。如果 connect() 返回 true，则 SWF 文件将跳转到标记为 waitForConnection 的帧，即“请稍候”屏幕。SWF 文件将停留
在 waitForConnection 帧，直到调用 onConnect 处理函数。该函数将在以后某个时刻执行，具
体取决于网络的滞后时间。

if (!socket.connect(null, 2000)) {
  gotoAndStop("connectionFailed")
} else {
  gotoAndStop("waitForConnection")
}

另请参见

function、XMLSocket.connect()


XMLSocket.onData()

可用性

Flash Player 5。

用法

XMLSocket.onData = function(src) {
  // 此处是您的语句
}

参数

src 一个字符串，包含服务器发送的数据。

返回

无。

说明

事件处理函数；当从服务器上下载完消息时调用，以零字节结束。您可以覆盖 XMLSocket.onData 以截获服务器发送的数据，而不将其分析为 XML。如果您传输的是任意格式的数据包，而且希望在数据到达时直接操纵这些数据，而不让 Flash Player 将数据分析为 XML，则上述方法会非常有用。

默认情况下，XMLSocket.onData 方法调用 XMLSocket.onXML 方法。如果用您自己的行为覆盖了 XMLSocket.onData，则将不再调用 XMLSocket.onXML，除非在您的 XMLSocket.onData 实现中又调用了该方法。

XMLSocket.prototype.onData = function (src) {
  this.onXML(new XML(src));
}

在上面的示例中，src 参数是一个包含从服务器上下载的 XML 文本的字符串。零字节终止符不包含在该字符串中。


XMLSocket.onXML()

可用性

Flash Player 5。

用法

myXMLSocket.onXML(object) = function() {
  // 此处是您的语句
}

参数

object 一个 XML 对象，它包含从服务器上接收到的已经过分析的 XML 文档。

返回

无。

说明

事件处理函数；在包含 XML 文档的指定 XML 对象通过打开的 XMLSocket 连接到达时，Flash Player 将调用此函数。XMLSocket 连接可用于在客户端与服务器之间传输数量无限的 XML 文档。每个文档都以 0（零）字节终止。当 Flash Player 收到 0 字节时，它分析自从前一个 0 字节以来收到的所有 XML，如果这是收到的第一条消息，则分析建立连接以来收到的所有 XML。每一批经过分析的 XML 都被视作单个 XML 文档，并被传递给 onXML 方法。

此方法的默认实现不执行任何动作。若要覆盖默认实现，必须指定一个包含您定义的动作的
函数。

示例

下面的函数在一个简单的聊天应用程序中覆盖 onXML 方法的默认实现。函数 myOnXML 指示该聊天应用程序识别一个 XML 元素 (MESSAGE)，该元素的格式如下所示。

<MESSAGE USER="John" TEXT="Hello, my name is John!" />.

必须首先在该 XMLSocket 对象中设置 onXML 处理函数，如下所示：

socket.onXML = myOnXML;

假定函数 displayMessage() 是一个用户定义的函数，该函数显示用户收到的消息。

function myOnXML(doc) {
  var e = doc.firstChild;
  if (e != null && e.nodeName == "MESSAGE") {
    displayMessage(e.attributes.user, e.attributes.text);
  }
}

另请参见

function


XMLSocket.send()

可用性

Flash Player 5。

用法

myXMLSocket.send(object)

参数

object 要传输到服务器的 XML 对象或其它数据。

返回

无。

说明

方法；将在 object 参数中指定的 XML 对象或数据转换成一个字符串，并将其传输到服务器，后面跟有一个零字节。如果 object 是一个 XML 对象，则该字符串是这个 XML 对象的 XML 文本表示形式。发送操作是异步的；它将立即返回，但数据可能会以后传输。
XMLSocket.send() 方法不返回指示数据是否成功传输的值。

如果 myXMLSocket 对象未连接到服务器（使用 XMLSocket.connect()），则 XMLSocket.send() 操作将失败。

示例

下面的示例说明如何指定用户名和密码，并将 XML 对象 my_xml 发送到服务器：

loginReplyXML = new XML();
var myLogin = my_xml.createElement("login");
myLogin.attributes.username = usernameTextField;
myLogin.attributes.password = passwordTextField;
my_xml.appendChild(myLogin);
myXMLSocket.send(my_xml);

另请参见

XMLSocket.connect()

上一页


关于 button 组件

Button 组件是一个可调整大小的矩形用户界面按钮。可以给按钮添加一个自定义图标。也可以将按钮的行为从按下改为切换。在单击切换按钮后，它将保持按下状态，直到再次单击时才会返回到弹起状态。

可以在应用程序中启用或者禁用按钮。在禁用状态下，按钮不接收鼠标或键盘输入。如果单击或者切换到某个按钮，处于启用状态的就会接收焦点。当一个 Button 实例具有焦点时，您可以使用下列按键来控制它：

按键 | 描述
Shift + Tab | 将焦点移到前一个对象。
空格键 | 按下或释放组件并触发 click 事件。
Tab 键 | 将焦点移到下一个对象。

有关控制焦点的详细信息，请参阅创建自定义焦点导航或FocusManager 类。

每个 Button 实例的实时预览反映在创作过程中对属性检查器或“组件检查器”面板中的参数所做的更改。然而，在实时预览中，自定义图标在舞台上由一个灰色方块表示。

在将 Button 组件添加到应用程序时，您可以使用“辅助功能”面板，以使其可由屏幕读取器访问。首先，您必须添加下面的代码，为 Button 组件启用辅助功能：

mx.accessibility.ButtonAccImpl.enableAccessibility();

不管一个组件有多少实例，都只对其启用一次辅助功能。有关详细信息，请参阅创建辅助内容。


使用 Button 组件

按钮是任何表单或 Web 应用程序的一个基础部分。每当您需要让用户启动一个事件时，都可以使用按钮。例如，大多数表单都有“提交”按钮，您也可以给演示文稿添加“前一个”和“后一个”按钮。

要给按钮添加一个图标，您需要选择或创建一个影片剪辑或图形元件以用作图标。元件应注册在（0，0）以在按钮上获得适当的布局。在“库”面板中选择图标元件，从“选项”菜单中打开“链接”对话框，并输入一个链接标识符。该值是为属性检查器或“组件检查器”面板中的图标参数输入的值。也可以为 Button.icon 动作脚本属性输入此值。

注意：如果图标比按钮大，它将会延伸到按钮的边框外。

Button 参数

以下是您可以在属性检查器中或在“组件检查器”面板中为每个 Button 组件实例设置的创作参数：

label 设置按钮上文本的值；默认值是“Button”。

icon 给按钮添加自定义图标。该值是库中影片剪辑或图形元件的链接标识符；没有默认值。

toggle 将按钮转变为切换开关。如果值为 true，则按钮在按下后保持按下状态，直到再次按下时才返回到弹起状态。如果值为 false，则按钮的行为就像一个普通按钮；默认值为 false。

selected 如果切换参数的值是 true，则该参数指定是按下 (true) 还是释放 (false) 按钮。默认值为 false。

labelPlacement 确定按钮上的标签文本相对于图标的方向。该参数可以是下列四个值之一：left、right、top 或 bottom，默认值是 right。有关详细信息，请参阅 Button.labelPlacement。

您可以编写“动作脚本”，通过利用其属性、方法和事件来控制 Button 组件的这些选项以及其他选项。有关详细信息，请参阅 Button 类。

创建具有 Button 组件的应用程序

以下过程解释了如何在创作时将 Button 组件添加到应用程序。在本范例中，按钮是一个带有自定义图标的“帮助”按钮，当用户按下该按钮时，会打开一个“帮助”系统。

要创建具有 Button 组件的应用程序，请执行以下操作：

  1. 将 Button 组件从“组件”面板拖到舞台上。
  2. 在属性检查器中，输入实例名称 helpBtn。
  3. 在属性检查器中，执行以下操作：
    • 为标签参数输入 Help。
    • 为图标参数输入 HelpIcon。

      要使用图标，必须将库中一个带有链接标识符的影片剪辑或图形元件用作图标参数。在本范例中，链接标识符是 HelpIcon。

    • 将切换属性设置为 true。
  4. 在时间轴中选择第一帧，打开“动作”面板，然后输入以下代码：
    clippyListener = new Object();
clippyListener.click = function (evt){
  clippyHelper.enabled = evt.target.selected;
}
helpBtn.addEventListener("click", clippyListener);

    最后一行代码将 click 事件处理函数添加到 helpBtn 实例。该处理函数启用和禁用 clippyHelper 实例，此实例可能是某种“帮助”面板。


自定义 Button 组件

您可以在创作时或在运行时，在水平和垂直方向上改变 Button 组件的形状。在创作时，在舞台上选择组件并使用“任意变形”工具或任何“修改”>“变形”命令。在运行时，使用 setSize() 方法（请参阅 UIObject.setSize()）或任何适用的 Button 类的属性和方法（请参阅 Button 类）。调整按钮大小不会更改图标或标签的大小。

Button 实例的边框是不可见的，它同时也指定了该实例的点击区域。如果您增加实例的大小，也就增加了点击区的大小。如果边框太小而无法容纳标签，标签会被裁剪以适合边框。

如果图标比按钮大，它将会延伸到按钮的边框外。

对 Button 组件使用样式

您可以设置样式属性来更改按钮实例的外观。如果样式属性的名称以“Color”结尾，则它是颜色样式属性，并且行为与非颜色样式属性不同。有关详细信息，请参阅使用样式自定义组件的颜色和文本。

Button 组件支持下列光晕样式：

样式 | 描述
themeColor | 组件的背景。这是唯一不继承样式值的颜色样式。可能的值包括“haloGreen”、“haloBlue”和“haloOrange”。
color | 组件标签的文本。
disabledColor | 禁用的文本颜色。
fontFamily | 文本的字体名称。
fontSize | 字体的磅值。
fontStyle | 字体样式：“常规”或“斜体”。
fontWeight | 字体粗细：“常规”或“粗体”。

对 Button 组件使用外观

Button 组件使用“动作脚本”绘图 API 来绘制按钮的状态。若要在创作时设计 Button 组件的外观，请修改 ButtonSkin.as 文件（该文件位于 First Run\Classes\mx\skins\halo 文件夹下）中的动作脚本代码。

如果您使用 UIObject.createClassObject() 方法（在运行时）动态创建 Button 组件实例，就可以动态设计其外观。要在运行时设计组件的外观，请设置传递给 createClassObject() 方法的 initObject 参数的外观属性。这些外观属性设置用作按钮状态的元件的名称，元件可以带有图标，也可以没有图标。

如果您在创作过程中设置图标参数，或者在运行时设置 icon 动作脚本属性，则将同一链接标识符指定为三种图标状态：falseUpIcon、falseDownIcon 和 trueUpIcon。如果您希望为八种图标状态中的任一种指定唯一的图标（例如，如果您希望在用户按下按钮时显示一个不同的图标），则必须设置传递到 createClassObject() 方法的 initObject 参数的属性。

下面的代码创建了一个名为 initObject 的对象，以用作 initObject 参数，并将外观属性设为新建元件的链接标识符。最后一行代码调用 createClassObject() 方法以创建一个新的 Button 类实例，该实例具有在 initObject 参数中传递的属性，如下所示：

var initObject = new Object();
initObject.falseUpIcon = "MyFalseUpIcon";
initObject.falseDownIcon = "MyFalseDownIcon";
initObject.trueUpIcon = "MyTrueUpIcon";
createClassObject(mx.controls.Button, "ButtonInstance", 0, initObject);

有关详细信息，请参阅关于设置组件外观和 UIObject.createClassObject()。

如果按钮被启用，当鼠标指针在它上方移过时，它会显示其悬停状态。在单击按钮时，按钮将接收输入焦点并显示其按下状态。当松开鼠标后，按钮又返回其悬停状态。如果在按下鼠标时指针移离按钮，按钮就会返回到其初始状态并保留输入焦点。如果切换参数设置为 true，则按钮的状态不会改变，直到鼠标在它上方松开。

如果按钮被禁用，不管用户进行什么交互操作，它都会显示其禁用状态。

Button 组件使用以下外观属性：

属性 | 描述
falseUpSkin | 弹起状态。默认值为 RectBorder。
falseDownSkin | 按下状态。默认值为 RectBorder。
falseOverSkin | 悬停状态。默认值为 RectBorder。
falseDisabledSkin | 禁用状态。默认值为 RectBorder。
trueUpSkin | 切换状态。默认值为 RectBorder。
trueDownSkin | 按下切换状态。默认值为 RectBorder。
trueOverSkin | 悬停切换状态。默认值为 RectBorder。
trueDisabledSkin | 禁用切换状态。默认值为 RectBorder。
falseUpIcon | 图标弹起状态。默认值未定义。
falseDownIcon | 图标按下状态。默认值未定义。
falseOverIcon | 图标悬停状态。默认值未定义。
falseDisabledIcon | 图标禁用状态。默认值未定义。
trueUpIcon | 图标切换状态。默认值未定义。
trueOverIcon | 图标悬停切换状态。默认值未定义。
trueDownIcon | 图标按下切换装态。默认值未定义。
trueDisabledIcon | 图标禁用切换状态。默认值未定义。


Button 类

继承 UIObject > UIComponent > SimpleButton > Button

动作脚本类命名空间 mx.controls.Button

Button 类的属性允许您在运行时给按钮添加图标、创建文本标签，或者指定该按钮在运行时的作用是普通按钮还是切换开关。

使用“动作脚本”设置 Button 类的属性将会覆盖在属性检查器或“组件检查器”面板中设置的同名参数。

Button 组件会用 FocusManager 覆盖默认的 Flash Player 焦点矩形，并画出一个带有圆角的自定义焦点矩形。有关详细信息，请参阅创建自定义焦点导航。

每个组件类都有一个 version 属性，该属性是一个类属性。类属性只能用于该类本身。version 属性会返回一个字符串，该字符串指明组件的版本。要访问 version 属性，请使用以下代码：

trace(mx.controls.Button.version);

注意：下面的代码返回未定义的：trace(myButtonInstance.version);。

Button 组件类与动作脚本内置 Button 对象不同。

Button 类的方法摘要

继承 UIObject 类和 UIComponent 类中的所有方法。

Button 类的属性摘要

方法 | 描述
SimpleButton.emphasized> | 指明按钮是否具有默认的普通按钮外观。
SimpleButton.emphasizedStyleDeclaration> | 当 emphasized 属性设置为 true 时的样式声明。
Button.icon | 指定按钮实例的图标。
Button.label | 指定在按钮上显示的文本。
Button.labelPlacement | 指定标签文本相对于图标的方向。
Button.selected | 当 toggle 属性为 true 时，指定按钮是处于按下状态 (true) 还是释放状态 (false)。
Button.toggle | 指明按钮是否用作切换开关。

继承 UIObject 类和 UIComponent 类的所有属性。

Button 类的事件摘要

方法 | 描述
Button.click | 在按钮实例上方按下鼠标或者按下空格键时进行广播。

继承 UIObject 类和 UIComponent 类的所有事件。


Button.click

可用性

Flash Player 6.0.79。

版本

Flash MX 2004。

用法

用法 1：

on(click){
  ...
}

用法 2：

listenerObject = new Object();
listenerObject.click = function(eventObject){
  ...
}
buttonInstance.addEventListener("click", listenerObject)

描述

事件；当在按钮上单击（释放）鼠标，或者当按钮具有焦点并按下空格键时，对所有已注册的侦听器进行广播。

第一个用法范例使用一个 on() 处理函数，并且必须直接附加到一个 Button 组件实例。附加到组件的 on() 处理函数内部使用的关键字 this 是指该组件实例。例如，以下代码附加到 Button 组件实例 myButtonComponent，它将“_level0.myButtonComponent”发送到“输出”面板：

on(click){
  trace(this);
}

请注意，这与附加到常规 Flash 按钮元件的 on() 处理函数内部使用的 this 的行为不同。在附加到按钮元件的 on() 处理函数中使用 this 时，它指的是包含该按钮的时间轴。例如，以下代码附加到按钮元件实例 myButton，它将“_level0”发送到“输出”面板：

on(release){
  trace(this);
}

注意：内置的动作脚本 Button 对象没有 click 事件；最接近的事件是 release。

第二个用法范例使用一个调度程序/侦听器事件模型。组件实例 (buttonInstance) 调度一个事件（在本例中为 click），而该事件由附加到您创建的侦听器对象 (listenerObject) 的函数处理。您定义一个与侦听器对象上的事件同名的方法；当该事件被触发时，就会调用该方法。该事件被触发时，它会自动将一个事件对象 (eventObject) 传递到侦听器对象方法。该事件对象有一组属性，这些属性包含有关事件的信息。您可以使用这些属性来编写处理该事件的代码。最后，对广播该事件的组件实例调用 addEventListener() 方法（请参阅 UIEventDispatcher.addEventListener()），以将侦听器注册到实例。当该实例调度该事件时，就会调用该侦听器。

有关事件对象的详细信息，请参阅事件对象。

范例

此范例是在时间轴上的某一帧上编写的，当单击名为 buttonInstance 的按钮时，它会向“输出”面板发送一条消息。第一行代码给该按钮设置标签。第二行代码指定该按钮用作切换开关。第三行代码创建一个名为 form 的侦听器对象。第四行代码为侦听器对象上的 click 事件定义一个函数。该函数内部有一个 trace 动作，它使用自动传递到该函数的事件对象（在本例中是 eventObj）来生成消息。事件对象的 target 属性是生成该事件的组件，在本例中是 buttonInstance。从事件对象的 target 属性中可以访问 Button.selected 属性。最后一行代码从 buttonInstance 调用 addEventListener() 方法，并将 click 事件和 form 侦听器对象作为参数传递给该方法，如下所示：

buttonInstance.label = "Click Test"
buttonInstance.toggle = true;
form = new Object();
form.click = function(eventObj){
  trace("The selected property has changed to " + eventObj.target.selected);
}
buttonInstance.addEventListener("click", form);

下列代码还会在单击 buttonInstance 时向“输出”面板发送一条消息。必须将 on() 处理函数直接附加到 buttonInstance 上，如下所示：

on(click){
  trace("button component was clicked");
}

另请参见

UIEventDispatcher.addEventListener()


SimpleButton.emphasized

可用性

Flash Player 6.0.79。

版本

Flash MX 2004。

用法

buttonInstance.emphasized

描述

属性；指明按钮是否处于强调状态，如果是，则为 true，否则为 false。强调状态相当于默认的普通按钮外观。一般来说，应使用 FocusManager.defaultPushButton 属性，而不是直接设置 emphasized 属性。默认值为 false。

emphasized 属性是 SimpleButton 类的静态属性。因此，只能直接从 SimpleButton 访问它，如下所示：

SimpleButton.emphasizedStyleDeclaration = "foo";

如果您没有使用 FocusManager.defaultPushButton，则您可能只想将按钮设置为强调状态，或者使用强调状态来更改文本颜色。在下面的范例中，将设置按钮实例 myButton 的 emphasized 属性：

_global.styles.foo = new CSSStyleDeclaration();
_global.styles.foo.color = 0xFF0000;
SimpleButton.emphasizedStyleDeclaration = "foo";
myButton.emphasized = true;

另请参见

SimpleButton.emphasizedStyleDeclaration


SimpleButton.emphasizedStyleDeclaration

可用性

Flash Player 6.0.79。

版本

Flash MX 2004。

用法

buttonInstance.emphasizedStyleDeclataion

描述

属性；一个指明样式声明的字符串，该样式声明会在 emphasized 属性设置为 true 时格式化
按钮。

另请参见

Window.titleStyleDeclaration, SimpleButton.emphasized


Button.icon

可用性

Flash Player 6.0.79。

版本

Flash MX 2004。

用法

buttonInstance.icon

描述

属性；一个字符串，指定库中要用作按钮实例图标的元件的链接标识符。图标可以是一个影片剪辑元件，也可以是具有左上角注册点的图形元件。如果图标太大而无法容纳，您必须调整按钮的大小；无法自动调整按钮和图标的大小。如果图标比按钮大，图标将会延展到按钮的边界外。

要创建一个自定义图标，请创建一个影片剪辑或者图形元件。在编辑元件模式下，选择舞台上的该元件，并在属性检查器中的 X 和 Y 框内都输入0。在“库”面板中，选择影片剪辑并从“选项”菜单中选择“链接”。选择“为动作脚本导出”，并在“标识符”文本框内输入一个标识符。

默认值是一个空字符串 ("")，指明没有图标。

使用 labelPlacement 属性来设置图标相对于按钮的位置。

范例

下列代码从“库”面板中将带有链接标识符 happiness 的影片剪辑作为图标分配给 Button
实例：

myButton.icon = "happiness"

另请参见

Button.labelPlacement


Button.label

可用性

Flash Player 6.0.79。

版本

Flash MX 2004。

用法

buttonInstance.label

描述

属性；指定按钮实例的文本标签。默认情况下，标签显示在按钮的中央。调用此方法将会覆盖在属性检查器或“组件检查器”面板中指定的标签创作参数。默认值为 "Button"。

范例

下列代码将标签设为“Remove from list”：

buttonInstance.label = "Remove from list";

另请参见

Button.labelPlacement


Button.labelPlacement

可用性

Flash Player 6.0.79。

版本

Flash MX 2004。

用法

buttonInstance.labelPlacement

描述

属性；设置标签相对于图标的位置。默认值为 "right"。下面是四种可能的值，图标和标签始终在按钮的边界区域内垂直居中和水平居中：

  • "right" 标签设在图标的右侧。
  • "left" 标签设在图标的左侧。
  • "bottom" 标签设在图标的下方。
  • "top" 标签放在图标的上方。

范例

下列代码将标签设在图标的左侧。第二行代码将 labelPlacement 属性的值发送到“输出”
面板：

iconInstance.labelPlacement = "left";
trace(iconInstance.labelPlacement);


Button.selected

可用性

Flash Player 6.0.79。

版本

Flash MX 2004。

用法

buttonInstance.selected

描述

属性；一个布尔值，指定按钮是 (true) 否 (false) 处于按下状态。要将 selected 属性设为 true，toggle 属性的值必须为 true。如果 toggle 属性为 false，则给 selected 属性赋予值 true 将不起作用。默认值为 false。

当用动作脚本更改 selected 属性的值时，不会触发 click 事件。当用户与该按钮交互时触发该事件。

范例

在下面的范例中，toggle 属性设为 true 并且 selected 属性也设为 true，这样就会使按钮处于按下状态。trace 动作将值 true 发送到“输出”面板：

ButtonInstance.toggle = true; // toggle 需要为 true，以便设置 selected 属性
ButtonInstance.selected = true; // 显示按钮的切换状态
trace(ButtonInstance.selected); // 跟踪 true

另请参见

Button.toggle


Button.toggle

可用性

Flash Player 6.0.79。

版本

Flash MX 2004。

用法

buttonInstance.toggle

描述

属性；一个布尔值，指定将按钮用作切换开关 (true) 还是用作普通按钮 (false)。默认值是 false。当按下切换开关后，它将保持按下状态，直到再次单击它时为止。

范例

下列代码将 toggle 属性设为 true，这将会使 myButton 实例的行为与切换开关类似：

myButton.toggle = true;


关于 CheckBox 组件

复选框是一个可以选中或取消选中的方框。当它被选中后，框中会出现一个复选标记。您可以为复选框添加一个文本标签，并可以将它放在左侧、右侧、顶部或底部。

可以在应用程序中启用或者禁用复选框。如果复选框已启用，并且用户单击它或者它的标签，复选框会接收输入焦点并显示为按下状态。如果用户在按下鼠标按钮时将指针移到复选框或其标签的边界区域之外，则组件的外观会返回到其最初状态，并保持输入焦点。在组件上释放鼠标之前，复选框的状态不会发生变化。另外，复选框有两种禁用状态：选中和取消选中，这两种状态不允许鼠标或键盘的交互操作。

如果复选框被禁用，它会显示其禁用状态，而不管用户的交互操作。在禁用状态下，按钮不接收鼠标或键盘输入。

如果用户单击 CheckBox 实例或者用 Tab 按键切换到它时，CheckBox 实例将接收焦点。当一个 CheckBox 实例有焦点时，您可以使用下列按键来控制它：

按键 | 描述
Shift + Tab | 将焦点移到前一个元素。
空格键 | 选中或者取消选中组件并触发 click 事件。
Tab 键 | 将焦点移到下一个元素。

有关控制焦点的详细信息，请参阅创建自定义焦点导航或FocusManager 类。

每个 CheckBox 实例的实时预览反映在创作过程中对属性检查器或组件检查器面板中的参数所做的更改。

在将 CheckBox 组件添加到应用程序时，您可以使用“辅助功能”面板使其可由屏幕读取器访问。首先，您必须添加以下代码行来启用辅助功能：

mx.accessibility.CheckBoxAccImpl.enableAccessibility();

不管一个组件有多少实例，都只对其启用一次辅助功能。有关详细信息，请参阅创建辅助内容。


使用 CheckBox 组件

复选框是任何表单或 Web 应用程序中的一个基础部分。每当需要收集一组非相互排斥的 true 或 false 值时，都可以使用复选框。例如，一个收集客户个人信息的表单可能有一个爱好列表供客户选择；每个爱好的旁边都有一个复选框。

CheckBox 参数

以下是您可以在属性检查器中或在“组件检查器”面板中为每个 CheckBox 组件实例设置的创作参数：

label 设置复选框上文本的值；默认值是 defaultValue。

selected 将复选框的初始值设为选中 (true) 或取消选中 (false)。

labelPlacement 确定复选框上标签文本的方向。该参数可以是下列四个值之一：left、right、top 或 bottom，默认值是 right。有关详细信息，请参阅 CheckBox.labelPlacement。

您可以编写动作脚本，通过利用 CheckBox 组件的属性、方法和事件来控制该组件的这些选项以及其他选项。有关详细信息，请参阅 CheckBox 类。

创建具有 CheckBox 组件的应用程序

以下过程解释了如何在创作时将 CheckBox 组件添加到应用程序。下面的范例是一个用于联机约会应用程序的表单，该表单是一个查询，它搜索与客户相匹配的可能约会。该查询表单必须有一个标签为“Restrict Age”的复选框，以允许客户将其搜索限定在一个指定的年龄组。选中“Restrict Age”复选框后，客户就可以在两个文本字段内输入最小年龄和最大年龄，这两个文本字段只有在“Restrict Age”被选中后才启用。

要创建具有 CheckBox 组件的应用程序，请执行以下操作：

  1. 将两个 TextInput 组件从“组件”面板拖到舞台上。
  2. 在属性检查器中，输入实例名称 minimumAge 和 maximumAge。
  3. 将 CheckBox 组件从“组件”面板拖到舞台上。
  4. 在属性检查器中，执行以下操作：
    • 输入 restrictAge 作为实例名称。
    • 输入 Restrict Age 作为标签参数。
  5. 在时间轴中选择第一帧，打开“动作”面板，然后输入以下代码：
    restrictAgeListener = new Object();
restrictAgeListener.click = function (evt){
  minimumAge.enabled = evt.target.selected;
  maximumAge.enabled = evt.target.selected;
}
restrictAge.addEventListener("click", restrictAgeListener);

    此代码创建一个 click 事件处理函数，该函数可启用和禁用已放到舞台上的 minimumAge 和 maximumAge 文本字段组件。有关 click 事件的详细信息，请参阅 CheckBox.click。有关 TextInput 组件的详细信息，请参阅TextInput 组件。


自定义 CheckBox 组件

您可以在创作时或在运行时，在水平和垂直方向上改变 CheckBox 组件的形状。在创作时，在舞台上选择组件并使用“任意变形”工具或任何“修改”>“变形”命令。在运行时，使用 setSize() 方法（UIObject.setSize()）或任何适用的 CheckBox 类的属性和方法（请参阅 CheckBox 类）。调整复选框的大小不会改变标签或复选框图标的大小；它只会改变边框的大小。

CheckBox 实例的边框是不可见的，它同时也指定了该实例的点击区域。如果您增加实例的大小，也就增加了点击区的大小。如果边框太小而无法容纳标签，标签会被裁剪以适合边框。

对 CheckBox 组件使用样式

您可以设置样式属性以更改 CheckBox 实例的外观。如果样式属性的名称以“Color”结尾，则它是颜色样式属性，并且行为与非颜色样式属性不同。有关详细信息，请参阅使用样式自定义组件的颜色和文本。

CheckBox 组件支持下列光晕样式：

样式 | 描述
themeColor | 组件的背景。这是唯一不继承样式值的颜色样式。可能的值包括“haloGreen”、“haloBlue”和“haloOrange”。
color | 组件标签的文本。
disabledColor | 禁用的文本颜色。
fontFamily | 文本的字体名称。
fontSize | 字体的磅值。
fontStyle | 字体样式：“常规”或“斜体”。
fontWeight | 字体粗细：“常规”或“粗体”。
textDecoration | 文本修饰：“无”或“下划线”。

对 CheckBox 组件使用外观

CheckBox 组件使用“库”面板中的元件来表示按钮的状态。若要在创作时设计 CheckBox 组件的外观，请修改“库”面板中的元件。CheckBox 组件外观位于 HaloTheme.fla 文件或者 SampleTheme.fla 文件的库中的 Flash UI Components 2/Themes/MMDefault/CheckBox Assets/states 文件夹下。有关详细信息，请参阅关于设置组件外观。

CheckBox 组件使用下列外观属性：

属性 | 描述
falseUpSkin | 弹起状态。默认值为 RectBorder。
falseDownSkin | 按下状态。默认值为 RectBorder。
falseOverSkin | 悬停状态。默认值为 RectBorder。
falseDisabledSkin | 禁用状态。默认值为 RectBorder。
trueUpSkin | 切换状态。默认值为 RectBorder。
trueDownSkin | 按下切换状态。默认值为 RectBorder。
trueOverSkin | 悬停切换状态。默认值为 RectBorder。
trueDisabledSkin | 禁用切换状态。默认值为 RectBorder。


CheckBox 类

继承 UIObject > UIComponent > SimpleButton > Button > CheckBox

动作脚本类命名空间 mx.controls.CheckBox

CheckBox 类的属性允许您在运行时创建一个文本标签，并将其放在复选框的左、右、上或下部。

使用“动作脚本”设置 CheckBox 类的属性将会覆盖在属性检查器或“组件检查器”面板中设置的同名参数。

CheckBox 组件用 FocusManager 覆盖默认的 Flash Player 焦点矩形，并画出一个带有圆角的自定义焦点矩形。有关详细信息，请参阅创建自定义焦点导航。

每个组件类都有一个 version 属性，该属性是一个类属性。类属性只能用于该类本身。version 属性会返回一个字符串，该字符串指明组件的版本。要访问 version 属性，请使用以下代码：

trace(mx.controls.CheckBox.version)；

注意：下面的代码返回未定义的：trace(myCheckBoxInstance.version);。

CheckBox 类的属性摘要

属性 | 描述
CheckBox.label | 指定在复选框旁边出现的文本。
CheckBox.labelPlacement | 指定标签文本相对于复选框的方向。
CheckBox.selected | 指定复选框是处于选中状态 (true) 还是处于取消选中状态 (false)。

继承 UIObject 类和 UIComponent 类的所有属性。

CheckBox 类的方法摘要

继承 UIObject 类和 UIComponent 类中的所有方法。

CheckBox 类的事件摘要

事件 | 描述
CheckBox.click | 在按钮实例上按下鼠标时触发。

继承 UIObject 类和 UIComponent 类的所有事件。


CheckBox.click

可用性

Flash Player 6.0.79。

版本

Flash MX 2004。

用法

用法 1：

on(click){
  ...
}

用法 2：

listenerObject = new Object();
listenerObject.click = function(eventObject){
  ...
}
checkBoxInstance.addEventListener("click", listenerObject)

描述

事件；在复选框上单击（松开）鼠标时，或者，如果复选框有焦点并按下了空格键时，向所有已注册的侦听器广播。

第一个用法范例使用一个 on() 处理函数，并且必须直接附加到一个 CheckBox 组件实例。附加到组件的 on() 处理函数内部使用的关键字 this 是指该组件实例。例如，下面的代码附加到复选框 myCheckBox，它将“_level0.myCheckBox”发送到“输出”面板：

on(click){
  trace(this);
}

第二个用法范例使用一个调度程序/侦听器事件模型。组件实例 (checkBoxInstance) 调度一个事件（在本例中为 click），而该事件由附加到您创建的侦听器对象 (listenerObject) 的函数处理。您定义一个与侦听器对象上的事件同名的方法；当该事件被触发时，就会调用该方法。该事件被触发时，它会自动将一个事件对象 (eventObject) 传递到侦听器对象方法。该事件对象有一组属性，这些属性包含有关事件的信息。您可以使用这些属性来编写处理该事件的代码。最后，对广播该事件的组件实例调用 addEventListener() 方法（请参阅 UIEventDispatcher.addEventListener()），以将侦听器注册到实例。当该实例调度该事件时，就会调用该侦听器。

有关事件对象的详细信息，请参阅事件对象。

范例

此范例是在时间轴上的某一帧上编写的，当单击名为 checkBoxInstance 的按钮时，它会向“输出”面板发送一条消息。代码的第一行创建一个名为 form 的侦听器对象。第二行代码为侦听器对象上的 click 事件定义一个函数。该函数内部有一个 trace 动作，它使用自动传递到该函数的事件对象（在本例中是 eventObj）来生成消息。事件对象的 target 属性是生成该事件的组件，在本例中是 checkBoxInstance。从事件对象的 target 属性中可以访问 CheckBox.selected 属性。最后一行代码从 checkBoxInstance 调用 addEventListener() 方法，并将 click 事件和 form 侦听器对象作为参数传递给该方法，如下所示：

form = new Object();
form.click = function(eventObj){
  trace("The selected property has changed to " + eventObj.target.selected);
}
checkBoxInstance.addEventListener("click", form);

下面的代码也会在 checkBoxInstance 被单击时向“输出”面板发送消息。on() 处理函数必须直接附加到 checkBoxInstance，如下所示：

on(click){
  trace("check box component was clicked");
}

另请参见

UIEventDispatcher.addEventListener()


CheckBox.label

可用性

Flash Player 6.0.79。

版本

Flash MX 2004。

用法

checkBoxInstance.label

描述

属性；显示复选框的文本标签。默认情况下，标签出现在复选框的右侧。对此属性的设置将会覆盖在剪辑参数面板中指定的标签参数。

范例

下面的代码设置显示在 CheckBox 组件旁的文本，并向“输出”面板发送该值：

checkBox.label = "Remove from list";
trace(checkBox.label)

另请参见

CheckBox.labelPlacement


CheckBox.labelPlacement

可用性

Flash Player 6.0.79。

版本

Flash MX 2004。

用法

checkBoxInstance.labelReplacement

描述

属性；一个字符串，它指明标签相对于复选框的位置。下面是四种可能的值（虚线表示组件的边界区域，它们在文档中不可见）：

  • "right" 复选框被固定在边界区域的左上角。标签设置在复选框的右边。这是默认值。

  • "left" 复选框被固定在边界区域的右上角。标签设置在复选框的左边。

  • "bottom" 标签设置在复选框的下面。复选框和标签组水平、垂直居中。

  • "top" 标签放置在复选框的上面。复选框和标签组水平、垂直居中。

    在创作时可以使用 Transform 命令来更改组件的边界区域，或在运行时使用 UIObject.setSize() 属性来更改组件的边界区域。有关详细信息，请参阅自定义 CheckBox 组件。

范例

下面的范例将标签的位置设置在复选框的左侧。

checkBox_mc.labelPlacement = "left";

另请参见

CheckBox.label


CheckBox.selected

可用性

Flash Player 6.0.79。

版本

Flash MX 2004。

用法

checkBoxInstance.selected

描述

属性；一个布尔值，它指明选中 (true) 或取消选中 (false) 复选框。

范例

下面的范例选中 checkbox1 实例：

checkbox1.selected = true;


关于 ComboBox 组件

组合框可以是静态的，也可以是可编辑的。使用静态组合框，用户可以从下拉列表中做出一项选择。使用可编辑的组合框，用户可以在列表顶部的文本字段中直接输入文本，也可以从下拉列表中选择一项。如果下拉列表超出文档底部，该列表将会向上打开，而不是向下。组合框由三个子组件组成，它们是：Button 组件、TextInput 组件和 List 组件。

当在列表中进行选择后，所选内容的标签被复制到组合框顶部的文本字段中。进行选择时既可以使用鼠标也可以使用键盘。

如果单击文本框或按钮，ComboBox 组件就会获取焦点。当 ComboBox 组件拥有焦点并为可编辑时，所有键盘输入都会传递到文本框并根据 TextInput 组件（请参阅TextInput 组件）的规则进行处理，但以下按键除外：

按键 | 描述
Control+下箭头键 | 打开下拉列表并给它设置焦点。
Shift + Tab | 将焦点移到前一个对象。
Tab 键 | 将焦点移到下一个对象。

如果一个 ComboBox 组件具有焦点，并且是静态的，按字母数字键就会沿下拉列表将选区上移和下移到下一个首字符相同的项目。您也可以使用下面的按键来控制静态组合框：

按键 | 描述
Control+下箭头键 | 打开下拉列表并给它设置焦点。
Control+上箭头键 | 关闭下拉列表（如果下拉列表打开的话）。
向下箭头 | 选区会向下移动一项。
End 键 | 选区会移动到列表底端。
Esc 键 | 关闭下拉列表，并将焦点返回到组合框。
Enter 键 | 关闭下拉列表，并将焦点返回到组合框。
Home 键 | 选区会移动到列表顶端。
Page Down 键 | 选区会向下移动一页。
Page Up 键 | 选区会向上移动一页。
Shift + Tab | 将焦点移到前一个对象。
Tab 键 | 将焦点移到下一个对象。

如果组合框的下拉列表具有焦点，按字母数字键就会沿下拉列表将选区上移和下移到下一个首字符相同的项目。您也可以使用下面的按键来控制下拉列表：

按键 | 描述
Control+上箭头键 | 如果下拉列表处于打开状态，焦点就会返回到文本框，并且下拉列表会关闭。
向下箭头 | 选区会向下移动一项。
End 键 | 插入点移动到文本框的末尾。
Enter 键 | 如果下拉列表处于打开状态，焦点就会返回到文本框，并且下拉列表会关闭。
Esc 键 | 如果下拉列表处于打开状态，焦点就会返回到文本框，并且下拉列表会关闭。
Home 键 | 插入点移动到文本框的开始位置。
Page Down 键 | 选区会向下移动一页。
Page Up 键 | 选区会向上移动一页。
Tab 键 | 将焦点移到下一个对象。
Shift-End | 选中从插入点到末尾位置的文本。
Shift-Home | 选择从插入点到开始位置的文本。
Shift-Tab | 将焦点移到前一个对象。
向上箭头 | 选区会向上移动一项。

注意：Page Up 键和 Page Down 键使用的页的大小比可以显示的项数少一项。例如，在一个十行的下拉列表中向下翻页，将会依次显示第 0-9 项、第 9-18 项、第 18-27 项，等等，每页都会有一个重叠项。

有关控制焦点的详细信息，请参阅创建自定义焦点导航或FocusManager 类。

每个 ComboBox 组件实例在舞台上的实时预览反映在创作过程中对属性检查器或“组件检查器”面板中的参数所做的更改。然而，在实时预览中下拉列表并不打开，并且第一个项目会显示为选中项目。

在将 ComboBox 组件添加到应用程序时，您可以使用“辅助功能”面板，使其可由屏幕读取器访问。首先，您必须添加以下代码行来启用辅助功能：

mx.accessibility.ComboBoxAccImpl.enableAccessibility();

不管一个组件有多少实例，都只对其启用一次辅助功能。有关详细信息，请参阅创建辅助内容。


使用 ComboBox 组件

在任何需要从列表中选择一项的表单或应用程序中，您都可以使用 ComboBox 组件。例如，您可以在客户地址表单中提供一个州/省的下拉列表。对于比较复杂的情况，您可以使用可编辑的组合框。例如，在一个驾驶方向应用程序中，您可以使用一个可编辑的组合框来让用户输入出发地址和目标地址。下拉列表可以包含用户以前输入过的地址。

ComboBox 参数

以下是您可以在属性检查器中或在“组件检查器”面板中为每个 ComboBox 组件设置的创作参数：

editable 确定 ComboBox 组件是可编辑的 (true) 还是只能选择的 (false)。默认值为 false。

labels 用一个文本值数组填充 ComboBox 组件。

data 将一个数据值与 ComboBox 组件中的每个项目相关联。该数据参数是一个数组。

rowCount 设置在不使用滚动条的情况下一次最多可以显示的项目数。默认值为 5。

您可以编写“动作脚本”，通过利用 ComboBox 类的方法、属性和事件来设置 ComboBox 实例的其他选项。有关详细信息，请参阅 ComboBox 类。

创建具有 ComboBox 组件的应用程序

以下过程解释了如何在创作时将 ComboBox 组件添加到应用程序。在此范例中，组合框在其下拉列表呈现出一个从中选择城市的列表。

要创建具有 ComboBox 组件的应用程序，请执行以下操作：

  1. 将 ComboBox组件从“组件”面板拖到舞台上。
  2. 选择“变形”工具，并在舞台上调整该组件的大小。

    组合框只能在创作时在舞台上调整大小。通常，您只需改变组合框的宽度以适应其条目。

  3. 选择组合框，并在属性检查器中输入实例名称 comboBox。
  4. 在“组件检查器”面板或属性检查器中，执行以下操作：
    • 输入 Minneapolis、Portland 和 Keene 作为标签参数。双击标签参数字段以打开“值”对话框。然后单击加号（+）以添加项目。
    • 输入 MN.swf、OR.swf 和 NH.swf 作为数据参数。

      这些是假想的 SWF 文件。例如，当用户在组合框中选择了一个城市时，你就可以加载这些文件。

  5. 在时间轴中选择第一帧，打开“动作”面板，然后输入以下代码：
    form = new Object();
form.change = function (evt){
  trace(evt.target.selectedItem.label);
}
comboBox.addEventListener("change", form);

    最后一行代码将 change 事件处理函数添加到 ComboBox 实例。有关详细信息，请参阅 ComboBox.change。


自定义 ComboBox 组件

在创作时，您可以在水平和垂直方向调整 ComboBox 组件。在创作时，在舞台上选择组件并使用“任意变形”工具或任何“修改”>“变形”命令。

如果文本太长而不能在组合框中完全显示，文本将会被裁剪以适合组合框。您必须在创作时调整组合框的大小以适合标签文本。

在可编辑的组合框中，只有按钮是点击区，文本框不是。对于静态组合框，按钮和文本框一起组成点击区。

对 ComboBox 组件使用样式

您可以设置样式属性来更改 ComboBox 组件的外观。如果样式属性的名称以“Color”结尾，则它是颜色样式属性，并且行为与非颜色样式属性不同。有关详细信息，请参阅使用样式自定义组件的颜色和文本。

组合框有两个独有的样式。其他样式通过各自组件传递到组合框的按钮、文本框和下拉列表，如下所示：

  • 该按钮是一个 Button 实例，并使用它自己的样式。（请参阅对 Button 组件使用样式。）
  • 文本是一个 TextInput 实例，它使用自己的样式。（请参阅对 TextInput 组件使用样式。）
  • 下拉列表是一个 List 实例并使用它自己的样式。（请参阅对 List 组件使用样式。）

ComboBox 组件使用下列光晕样式：

样式 | 描述
themeColor | 组件的背景。这是唯一不继承样式值的颜色样式。可能的值包括“haloGreen”、“haloBlue”和“haloOrange”。
color | 组件标签的文本。
disabledColor | 禁用的文本颜色。
fontFamily | 文本的字体名称。
fontSize | 字体的磅值。
fontStyle | 字体样式：“常规”或“斜体”。
fontWeight | 字体粗细：“常规”或“粗体”。
textDecoration | 文本修饰：“无”或“下划线”。
openDuration | 打开下拉列表的毫秒数。默认值为 250。
openEasing | 对控制下拉列表动画的补间函数的引用。默认为正弦输入/输出。要了解更多的公式，请从 Robert Penner website（Robert Penner 的 Web 站点）下载列表。

对 ComboBox 组件使用外观

ComboBox 组件使用“库”面板中的元件来表示按钮的状态，ComboBox 具有向下箭头的外观变量。除此之外，它还使用滚动条外观和列表外观。要在创作过程中设计 ComboBox 组件的外观，请在“库”面板中修改元件并将组件重新导出为 SWC。CheckBox 组件外观位于 HaloTheme.fla 文件或者 SampleTheme.fla 文件的库中的 Flash UI Components 2/Themes/MMDefault/ComboBox Assets/states 文件夹下。有关详细信息，请参阅关于设置组件外观。

ComboBox 组件使用下列外观属性：

属性 | 描述
ComboDownArrowDisabledName | 向下箭头的禁用状态。默认值为 RectBorder。
ComboDownArrowDownName | 向下箭头的按下状态。默认值为 RectBorder。
ComboDownArrowUpName | 向下箭头的弹起状态。默认值为 RectBorder。
ComboDownArrowOverName | 向下箭头的悬停状态。默认值为 RectBorder。


ComboBox 类

继承 UIObject > UIComponent > ComboBase > ComboBox

动作脚本类命名空间 mx.controls.ComboBox

ComboBox 组件结合了三个单独的子组件：Button、TextInput 和 List。从 ComboBox 组件中可以直接使用每个子组件的大多数 API，ComboBox 类的方法、属性和事件表中列出了这些 API。

所提供的组合框中的下拉列表是作为 Array 或者作为 DataProvider 对象。如果您使用 DataProvider 对象，列表会在运行时更改。通过切换到一个新的 Array 或 DataProvider 对象，可以动态改变 ComboBox 的数据源。

组合框列表中的项目是按位置从数字 0 开始编排索引的。一个项目可以是以下内容之一：

  • 原始数据类型。
  • 一个对象，其中包含 label 属性和 data 属性。

    注意：对象可能使用 ComboBox.labelFunction 或 ComboBox.labelField 属性来确定 label
    属性。

如果该项目是原始数据类型而不是字符串，则会转换为字符串。如果某个项目是一个对象，则其 label 属性必须是字符串，而 data 属性可以是任何动作脚本值。

您向其提供项目的 ComboBox 组件方法有两个参数：label 和 data，它们指的是上述属性。返回一个项目的方法会将该项目作为一个“对象”返回。

每个组件类都有一个 version 属性，该属性是一个类属性。类属性只能用于该类本身。version 属性会返回一个字符串，该字符串指明组件的版本。要访问 version 属性，请使用以下代码：

trace(mx.controls.ComboBox.version);

注意：下面的代码返回未定义的：trace(myComboBoxInstance.version);。

ComboBox 类的方法摘要

属性 | 描述
ComboBox.addItem() | 向列表的结尾添加项目。
ComboBox.addItemAt() | 向列表的结尾在指定的索引处添加项目。
ComboBox.close() | 关闭下拉列表。
ComboBox.getItemAt() | 返回指定索引处的项目。
ComboBox.open() | 打开下拉列表。
ComboBox.removeAll() | 删除列表中的所有项目。
ComboBox.removeItemAt() | 删除位于列表中指定位置的项目。
ComboBox.replaceItemAt() | 用其他指定项目替换列表中的某个项目。

继承 UIObject 类和 UIComponent 类中的所有方法。

ComboBox 类的属性摘要

属性 | 描述
ComboBox.dataProvider | 列表中项目的数据模型。
ComboBox.dropdown | 返回一个对组合框所包含的 List 组件的引用。
ComboBox.dropdownWidth | 下拉列表的宽度（以像素为单位）。
ComboBox.editable | 指明组合框是否可以编辑。
ComboBox.labelField | 指明使用哪个数据字段作为下拉列表的标签。
ComboBox.labelFunction | 指定一个用于计算下拉列表标签字段的函数。
ComboBox.length | 只读。下拉列表的长度。
ComboBox.rowCount | 列表一次可以显示的最大项目数。
ComboBox.selectedIndex | 下拉列表中所选项目的索引。
ComboBox.selectedItem | 下拉列表中所选项目的值。
ComboBox.text | 文本框中文本的字符串。
ComboBox.textField | 对组合框中 TextInput 组件的引用。
ComboBox.value | 文本框（可编辑）或下拉列表（静态）的值。

继承 UIObject 类和 UIComponent 类的所有属性。

ComboBox 类的事件摘要

事件 | 描述
ComboBox.change | 当组合框的值因用户交互操作而改变时广播。
ComboBox.close | 当下拉列表开始关闭时广播。
ComboBox.enter | 当按下 Enter 键时广播。
ComboBox.itemRollOut | 当指针滑离一个下拉列表项时广播。
ComboBox.itemRollOver | 当滑过下拉列表的一个项目时广播。
ComboBox.open | 当下拉列表开始打开时广播。
ComboBox.scroll | 当滚动下拉列表时广播。

继承 UIObject 类和 UIComponent 类的所有事件。


ComboBox.addItem()

可用性

Flash Player 6.0.79。

版本

Flash MX 2004。

用法

用法 1：

comboBoxInstance.addItem(label[, data])

用法 2：

comboBoxInstance.addItem({label:label[, data:data]})

用法 3：

comboBoxInstance.addItem(obj);

参数

label 一个字符串，它指明新项目的标签。

data 该项目的数据，可以是任何数据类型。此参数是可选的。

obj 具有 label 属性和可选 data 属性的对象。

返回

在其位置添加了项目的索引。

描述

方法；在列表的结尾添加新项目。

范例

下面的代码给 myComboBox 实例添加一个项目：

myComboBox.addItem("this is an Item");


ComboBox.addItemAt()

可用性

Flash Player 6.0.79。

版本

Flash MX 2004。

用法

comboBoxInstance.addItemAt(index, label[, data])

参数

index 一个等于或大于 0 的数字，指明要插入项目的位置（新项目的索引）。

label 一个字符串，它指明新项目的标签。

data 该项目的数据，可以是任何数据类型。此参数是可选的。

返回

在其位置添加了项目的索引。

描述

方法；在位于列表结尾的由 index 参数指定的索引处添加新项目。大于 ComboBox.length 的索引将被忽略。

范例

下面的代码在索引 3 处（即组合框列表中的第 4 个位置（0 是第 1 个位置））插入一个项目：

myBox.addItemAt(3, "this is the fourth Item");


ComboBox.change

可用性

Flash Player 6.0.79。

版本

Flash MX 2004。

用法

用法 1：

on(change){
  // 此处是您的代码
}

用法 2：

listenerObject = new Object();
listenerObject.change = function(eventObject){
  // 此处是您的代码
}
comboBoxInstance.addEventListener("change", listenerObject)

描述

事件；当组合框的值因用户交互操作而改变时向所有已注册的侦听器广播。

第一个用法范例使用一个 on() 处理函数，并且必须直接附加到一个 ComboBox 组件实例。附加到组件的 on() 处理函数内部使用的关键字 this 是指该组件实例。例如，下面的代码附加到 ComboBox 组件实例 myBox 上，它将“_level0.myBox”发送到“输出”面板：

on(change){
  trace(this);
}

第二个用法范例使用一个调度程序/侦听器事件模型。组件实例 (comboBoxInstance) 调度一个事件（在本例中为 change），而该事件由附加到您创建的侦听器对象 (listenerObject) 的函数处理。您定义一个与侦听器对象上的事件同名的方法；当该事件被触发时，就会调用该方法。该事件被触发时，它会自动将一个事件对象 (eventObject) 传递到侦听器对象方法。每个事件对象都有一组属性，这些属性包含有关该事件的信息。您可以使用这些属性来编写处理该事件的代码。最后，对广播该事件的组件实例调用 addEventListener() 方法（请参阅
UIEventDispatcher.addEventListener()），以将侦听器注册到实例。当该实例调度该事件时，就会调用该侦听器。

有关事件对象的详细信息，请参阅事件对象。

范例

下面的范例将生成 change 事件的组件的实例名称发送到“输出”面板：

form.change = function(eventObj){
  trace("Value changed to " + eventObj.target.value);
}
myCombo.addEventListener("change", form);

另请参见

UIEventDispatcher.addEventListener()


ComboBox.close()

可用性

Flash Player 6.0.79。

版本

Flash MX 2004。

用法

myComboBox.close()

参数

无。

返回

无。

描述

方法；关闭下拉列表。

范例

下面的范例关闭组合框 myBox 的下拉列表：

myBox.close();

另请参见

ComboBox.open()


ComboBox.close

可用性

Flash Player 6.0.79。

版本

Flash MX 2004。

用法

用法 1：

on(close){
  // 此处是您的代码
}

用法 2：

listenerObject = new Object();
listenerObject.close = function(eventObject){
  // 此处是您的代码
}
comboBoxInstance.addEventListener("close", listenerObject)

描述

事件；当组合框的列表开始回缩时，向所有已注册的侦听器广播。

第一个用法范例使用一个 on() 处理函数，并且必须直接附加到一个 ComboBox 组件实例。附加到组件的 on() 处理函数内部使用的关键字 this 是指该组件实例。例如，下面的代码附加到 ComboBox 组件实例 myBox 上，它将“_level0.myBox”发送到“输出”面板：

on(close){
  trace(this);
}

第二个用法范例使用一个调度程序/侦听器事件模型。组件实例 (comboBoxInstance) 调度一个事件（在本例中为 close），而该事件由附加到您创建的侦听器对象 (listenerObject) 的函数处理。您定义一个与侦听器对象上的事件同名的方法；当该事件被触发时，就会调用该方法。该事件被触发时，它会自动将一个事件对象 (eventObject) 传递到侦听器对象方法。每个事件对象都有一组属性，这些属性包含有关该事件的信息。您可以使用这些属性来编写处理该事件的代码。最后，对广播该事件的组件实例调用 addEventListener() 方法，以将侦听器注册到实例。当该实例调度该事件时，就会调用该侦听器。

有关事件对象的详细信息，请参阅事件对象。

范例

下面的范例在下拉列表开始关闭时，向“输出”面板发送一条消息：

form.close = function(){
  trace("The combo box has closed");
}
myCombo.addEventListener("close", form);

另请参见

UIEventDispatcher.addEventListener()


ComboBox.dataProvider

可用性

Flash Player 6.0.79。

版本

Flash MX 2004。

用法

comboBoxInstance.dataProvider

描述

属性；在列表中查看的项目的数据模型。该属性的值可以是一个数组或任何实现 DataProvider 接口的对象。默认值为 []。这是 List 组件的一个属性，但是可以从 ComboBox 组件实例中直接访问。

List 组件以及其他支持数据的组件会将方法添加到 Array 对象的原型，以便它们符合 DataProvider 接口（有关详细信息，请参阅 DataProvider.as）。因此，任何同时作为列表存在的数组都会自动具有作为列表的模型所需的所有方法（addItem()、getItemAt() 等等），并可用于向多个组件广播模型更改。

如果数组包含对象，则会访问 labelField 或 labelFunction 属性以确定要显示项目的哪些部分。默认值是 "label"，所以，如果存在这样的字段，就会选择它来进行显示；如果不存在，就会显示用逗号分隔的所有字段的列表。

注意：如果该数组在每个索引处都包含字符串，而不包含对象，该列表就无法对项目进行排序和保持选定状态。进行任何排序都会丢失所做选择。

任何实现 DataProvider 接口的实例都可以作为 List 的数据提供程序。这包括 Flash Remoting RecordSets、Firefly DataSets，等等。

范例

本范例使用一个字符串数组来填充下拉列表：

comboBox.dataProvider = ["Ground Shipping","2nd Day Air","Next Day Air"];

本范例创建了一个数据提供程序数组，并将它分配给 dataProvider 属性，如下所示：

myDP = new Array();
list.dataProvider = myDP;

for (var i=0; i<accounts.length; i++) {
  // 对 DataProvider 的这些更改将广播到列表
  myDP.addItem({ label:accounts[i].name,
                 data:accounts[i].accountID });
}


ComboBox.dropdown

可用性

Flash Player 6.0.79。

版本

Flash MX 2004。

用法

myComboBox.dropdown

描述

属性（只读）；返回对组合框所包含的 List 组件的引用。组合框中的 List 子组件在需要显示前不实例化。但是，当访问 dropdown 属性时，将创建该列表。

另请参见

ComboBox.dropdownWidth


ComboBox.dropdownWidth

可用性

Flash Player 6.0.79。

版本

Flash MX 2004。

用法

myComboBox.change

描述

属性；下拉列表的宽度限制（以像素为单位）。默认值是 ComboBox 组件（TextInput 实例加上 SimpleButton 实例）的宽度。

范例

下面的代码将 dropdownWidth 设置为 150 个像素：

myComboBox.dropdownWidth = 150;

另请参见

ComboBox.dropdown


ComboBox.editable

可用性

Flash Player 6.0.79。

版本

Flash MX 2004。

用法

myComboBox.editable

描述

属性；指明组合框是 (true) 否 (false) 可编辑。对于可编辑组合框，可以在文本框中输入值，这些值不显示在下拉列表中。如果组合框是不可编辑的，则只有下拉列表中列出的值才可以输入到文本框中。默认值为 false。

将组合框设置为可编辑会清除组合框的文本字段，还会将所选的索引（以及项目）设置为未定义。要使组合框可编辑且仍保留所选项，请使用下面的代码：

var ix = myComboBox.selectedIndex;
myComboBox.editable = true; // 清除文本字段
myComboBox.selectedIndex = ix; // 将标签复制回文本字段。

范例

下面的代码将 myComboBox 设置为可编辑的：

myComboBox.editable = true;


ComboBox.enter

可用性

Flash Player 6.0.79。

版本

Flash MX 2004。

用法

用法 1：

on(enter){
  // 此处是您的代码
}

用法 2：

listenerObject = new Object();
listenerObject.enter = function(eventObject){
  // 此处是您的代码
}
comboBoxInstance.addEventListener("enter", listenerObject)

描述

事件；当在文本框中按下 Enter 键时，向所有已注册的侦听器广播。该事件只从可编辑的组合框广播。这是一个从组合框广播的 TextInput 事件。有关详细信息，请参阅 TextInput.enter 。

第一个用法范例使用一个 on() 处理函数，并且必须直接附加到一个 ComboBox 组件实例。附加到组件的 on() 处理函数内部使用的关键字 this 是指该组件实例。例如，下面的代码附加到 ComboBox 组件实例 myBox 上，它将“_level0.myBox”发送到“输出”面板：

on(enter){
  trace(this);
}

第二个用法范例使用一个调度程序/侦听器事件模型。组件实例 (comboBoxInstance) 会调度一个事件（在本例中为 enter），而该事件由附加到您创建的侦听器对象 (listenerObject) 的函数处理。您定义一个与侦听器对象上的事件同名的方法；当该事件被触发时，就会调用该方法。该事件被触发时，它会自动将一个事件对象 (eventObject) 传递到侦听器对象方法。每个事件对象都有一组属性，这些属性包含有关该事件的信息。您可以使用这些属性来编写处理该事件的代码。最后，对广播该事件的组件实例调用 addEventListener() 方法，以将侦听器注册到实例。当该实例调度该事件时，就会调用该侦听器。

有关事件对象的详细信息，请参阅事件对象。

范例

下面的范例在下拉列表开始关闭时，向“输出”面板发送一条消息：

form.enter = function(){
  trace("The combo box enter event was triggered");
}
myCombo.addEventListener("enter", form);

另请参见

UIEventDispatcher.addEventListener()


ComboBox.getItemAt()

可用性

Flash Player 6.0.79。

版本

Flash MX 2004。

用法

comboBoxInstance.getItemAt(index)

参数

index 一个大于或等于 0，且小于 ComboBox.length 的数字。要检索的项目的索引。

返回

被索引的项目对象或值。如果索引超出范围，该值就会是未定义的。

描述

方法；检索所指定索引处的项目。

范例

下面的代码显示索引位置 4 处的项目：

trace(myBox.getItemAt(4).label);


ComboBox.itemRollOut

可用性

Flash Player 6.0.79。

版本

Flash MX 2004。

用法

用法 1：

on(itemRollOut){
  // 此处是您的代码
}

用法 2：

listenerObject = new Object();
listenerObject.itemRollOut = function(eventObject){
  // 此处是您的代码
}
comboBoxInstance.addEventListener("itemRollOut", listenerObject)

事件对象

除了事件对象的标准属性外，itemRollOut 事件还有一个附加属性：index。index 是已经滚动出的项目的数量。

描述

事件；当指针滚动出下拉列表项目时，向所有已注册的侦听器广播。这是一个从组合框广播的 List 事件。有关详细信息，请参阅 List.itemRollOut 。

第一个用法范例使用一个 on() 处理函数，并且必须直接附加到一个 ComboBox 组件实例。附加到组件的 on() 处理函数内部使用的关键字 this 是指该组件实例。例如，下面的代码附加到 ComboBox 组件实例 myBox 上，它将“_level0.myBox”发送到“输出”面板：

on(itemRollOut){
  trace(this);
}

第二个用法范例使用一个调度程序/侦听器事件模型。组件实例 (comboBoxInstance) 调度一个事件（在本例中为 itemRollOut），而该事件由附加到您创建的侦听器对象 (listenerObject) 的函数处理。您定义一个与侦听器对象上的事件同名的方法；当该事件被触发时，就会调用该方法。该事件被触发时，它会自动将一个事件对象 (eventObject) 传递到侦听器对象方法。每个事件对象都有一组属性，这些属性包含有关该事件的信息。您可以使用这些属性来编写处理该事件的代码。有关事件对象的详细信息，请参阅事件对象。

最后，对广播该事件的组件实例调用 addEventListener() 方法，以将侦听器注册到实例。当该实例调度该事件时，就会调用该侦听器。

范例

下面的范例向“输出”面板发送一条消息，指明已经滚动出哪些项目索引编号:

form.itemRollOut = function (eventObj) {
  trace("Item #" + eventObj.index + " has been rolled out of.");
}
myCombo.addEventListener("itemRollOut", form);

另请参见

ComboBox.itemRollOver, UIEventDispatcher.addEventListener()


ComboBox.itemRollOver

可用性

Flash Player 6.0.79。

版本

Flash MX 2004。

用法

用法 1：

on(itemRollOver){
  // 此处是您的代码
}

用法 2：

listenerObject = new Object();
listenerObject.itemRollOver = function(eventObject){
  // 此处是您的代码
}
comboBoxInstance.addEventListener("itemRollOver", listenerObject)

事件对象

除了事件对象的标准属性外，itemRollOver 事件还有一个附加属性：index。index 是滑过的项目的数量。

描述

事件；当滑过下拉列表项目时，向所有已注册的侦听器广播。这是一个从组合框广播的 List 事件。有关详细信息，请参阅 List.itemRollOver 。

第一个用法范例使用一个 on() 处理函数，并且必须直接附加到一个 ComboBox 组件实例。附加到组件的 on() 处理函数内部使用的关键字 this 是指该组件实例。例如，下面的代码附加到 ComboBox 组件实例 myBox 上，它将“_level0.myBox”发送到“输出”面板：

on(itemRollOver){
  trace(this);
}

第二个用法范例使用一个调度程序/侦听器事件模型。组件实例 (comboBoxInstance) 调度一个事件（在本例中为 itemRollOver），而该事件由附加到您创建的侦听器对象 (listenerObject) 的函数处理。您定义一个与侦听器对象上的事件同名的方法；当该事件被触发时，就会调用该方法。该事件被触发时，它会自动将一个事件对象 (eventObject) 传递到侦听器对象方法。每个事件对象都有一组属性，这些属性包含有关该事件的信息。您可以使用这些属性来编写处理该事件的代码。有关事件对象的详细信息，请参阅事件对象。

最后，对广播该事件的组件实例调用 addEventListener() 方法，以将侦听器注册到实例。当该实例调度该事件时，就会调用该侦听器。

范例

下面的范例向“输出”面板发送一条消息，指明已在哪个项目索引编号上滑过：

form.itemRollOver = function (eventObj) {
  trace("Item #" + eventObj.index + " has been rolled over.");
}
myCombo.addEventListener("itemRollOver", form);

另请参见

ComboBox.itemRollOut, UIEventDispatcher.addEventListener()


ComboBox.labelField

可用性

Flash Player 6.0.79。

版本

Flash MX 2004。

用法

myComboBox.labelField

描述

属性；在 dataProvider 数组对象中要用作标签字段的字段名称。这是 List 组件的一个属性，可以从 ComboBox 组件实例中使用。有关详细信息，请参阅 List.labelField。

默认值未定义。

范例

下面的范例将 dataProvider 属性设置为一个字符串数组并设置 labelField 属性，以指明应将 name 字段用作下拉列表的标签：

myComboBox.dataProvider  = [
  {name:"Gary", gender:"male"},
  {name:"Susan", gender:"female"} ];

myComboBox.labelField = "name";

另请参见

List.labelFunction


ComboBox.labelFunction

可用性

Flash Player 6.0.79。

版本

Flash MX 2004。

用法

myComboBox.labelFunction

描述

属性；一个计算 dataProvider 项目标签的函数。必须定义该函数。默认值未定义。

范例

下面的范例创建了一个数据提供程序，然后定义一个函数以指定用作下拉列表标签的内容：

myComboBox.dataProvider  = [
  {firstName:"Nigel", lastName:"Pegg", age:"really young"},
  {firstName:"Gary", lastName:"Grossman", age:"young"},
  {firstName:"Chris", lastName:"Walcott", age:"old"},
  {firstName:"Greg", lastName:"Yachuk", age:"really old"} ];

myComboBox.labelFunction = function(itemObj){
  return (itemObj.lastName + ", " + itemObj.firstName);
}

另请参见

List.labelField


ComboBox.length

可用性

Flash Player 6.0.79。

版本

Flash MX 2004。

用法

myComboBox.length

描述

属性（只读）；下拉列表的长度。这是 List 组件的一个属性，可以从 ComboBox 实例使用。有关详细信息，请参阅 List.length。默认值为 0。

范例

下面的范例将 length 的值存储到一个变量：

dropdownItemCount = myBox.length;


ComboBox.open()

可用性

Flash Player 6.0.79。

版本

Flash MX 2004。

用法

myComboBox.open()

参数

无。

返回

无。

描述

属性；打开下拉列表。

范例

下面的代码打开 combo1 实例的下拉列表：

combo1.open();

另请参见

ComboBox.close()


ComboBox.open

可用性

Flash Player 6.0.79。

版本

Flash MX 2004。

用法

用法 1：

on(open){
  // 此处是您的代码
}

用法 2：

listenerObject = new Object();
listenerObject.open = function(eventObject){
  // 此处是您的代码
}
comboBoxInstance.addEventListener("open", listenerObject)

描述

事件；当下拉列表开始出现时，向所有已注册的侦听器广播。

第一个用法范例使用一个 on() 处理函数，并且必须直接附加到一个 ComboBox 组件实例。附加到组件的 on() 处理函数内部使用的关键字 this 是指该组件实例。例如，下面的代码附加到 ComboBox 组件实例 myBox 上，它将“_level0.myBox”发送到“输出”面板：

on(open){
  trace(this);
}

第二个用法范例使用一个调度程序/侦听器事件模型。组件实例 (comboBoxInstance) 调度一个事件（在本例中为 open），而该事件由附加到您创建的侦听器对象 (listenerObject) 的函数处理。您定义一个与侦听器对象上的事件同名的方法；当该事件被触发时，就会调用该方法。该事件被触发时，它会自动将一个事件对象 (eventObject) 传递到侦听器对象方法。每个事件对象都有一组属性，这些属性包含有关该事件的信息。您可以使用这些属性来编写处理该事件的代码。有关事件对象的详细信息，请参阅事件对象。

最后，对广播该事件的组件实例调用 addEventListener() 方法，以将侦听器注册到实例。当该实例调度该事件时，就会调用该侦听器。

范例

以下范例向“输出”面板发送一条消息，以指明已经滚动出的项目索引号：

form.open = function () {
  trace("The combo box has opened with text " + myBox.text);
}
myBox.addEventListener("open", form);

另请参见

ComboBox.close, UIEventDispatcher.addEventListener()


ComboBox.removeAll()

可用性

Flash Player 6.0.79。

版本

Flash MX 2004。

用法

comboBoxInstance.removeAll()

参数

无。

返回

无。

描述

方法；删除列表中的所有项目。这是 List 组件的一个方法，可以从 ComboBox 组件的实例中获得。

范例

下列代码会清除列表：

myCombo.removeAll();

另请参见

ComboBox.removeItemAt(), ComboBox.replaceItemAt()


ComboBox.removeItemAt()

可用性

Flash Player 6.0.79。

版本

Flash MX 2004。

用法

listInstance.removeItemAt(index)

参数

index 一个数字，指明要删除的项目的位置。该值是从零开始的。

返回

一个对象；已删除的项目（如果项目不存在，则它是未定义的）。

描述

方法；删除指定索引位置处的项目。index 参数指明的索引后面的列表索引会折叠一项。这是 List 组件的一个方法，可以从 ComboBox 组件的实例中获得。

范例

下面的代码会删除在索引位置 3 的项目：

myCombo.removeItemAt(3);

另请参见

ComboBox.removeAll(), ComboBox.replaceItemAt()


ComboBox.replaceItemAt()

可用性

Flash Player 6.0.79。

版本

Flash MX 2004。

用法

comboBoxInstance.replaceItemAt(index, label[, data])

参数

index 一个等于或大于 0 的数字，指明要插入项目的位置（新项目的索引）。

label 一个字符串，它指明新项目的标签。

data 项目的数据。此参数是可选的。

返回

无。

描述

方法；替换 index 参数指定的索引处的项目内容。它是 List 组件的一个方法，可以从 ComboBox 组件中获得。

范例

以下范例会更改第三个索引位置：

myCombo.replaceItemAt(3, "new label");

另请参见

ComboBox.removeAll(), ComboBox.removeItemAt()


ComboBox.rowCount

可用性

Flash Player 6.0.79。

版本

Flash MX 2004。

用法

myComboBox.rowCount

描述

属性；下拉列表中可见的最大行数。默认值为 5。

如果下拉列表中的项目数大于或等于 rowCount 属性，那么它会调整大小，并根据需要显示滚动条。如果下拉列表中包含的项目数少于 rowCount 属性，那么它会调整到列表中的项目数。

这种行为与 List 组件的行为不同，List 组件会始终显示 rowCount 属性所指定的行数，即使有些地方出现空白。

如果该值是负的或小数，则该行为是未定义的。

范例

以下范例指定组合框中应该可以看到 20 行或更少的行：

myComboBox.rowCount = 20;


ComboBox.scroll

可用性

Flash Player 6.0.79。

版本

Flash MX 2004。

用法

用法 1：

on(scroll){
  // 此处是您的代码
}

用法 2：

listenerObject = new Object();
listenerObject.scroll = function(eventObject){
  // 此处是您的代码
}
comboBoxInstance.addEventListener("scroll", listenerObject)

事件对象

除了标准的事件对象属性之外，滚动事件还有另一个 direction 属性。它是一个字符串，有两个可能的值："horizontal" 或 "vertical"。对于 ComboBox scroll事件，该值始终是 "vertical"。

描述

事件；当滚动下拉列表时，向所有已注册的侦听器广播。这是一个 List 组件事件，可以用于 ComboBox。

第一个用法范例使用一个 on() 处理函数，并且必须直接附加到一个 ComboBox 组件实例。附加到组件的 on() 处理函数内部使用的关键字 this 是指该组件实例。例如，下面的代码附加到 ComboBox 组件实例 myBox 上，它将“_level0.myBox”发送到“输出”面板：

on(scroll){
  trace(this);
}

第二个用法范例使用一个调度程序/侦听器事件模型。组件实例 (comboBoxInstance) 调度一个事件（在本例中为 scroll），而该事件由附加到您创建的侦听器对象 (listenerObject) 的函数处理。您定义一个与侦听器对象上的事件同名的方法；当该事件被触发时，就会调用该方法。该事件被触发时，它会自动将一个事件对象 (eventObject) 传递到侦听器对象方法。每个事件对象都有一组属性，这些属性包含有关该事件的信息。您可以使用这些属性来编写处理该事件的代码。有关事件对象的详细信息，请参阅事件对象。

最后，对广播该事件的组件实例调用 addEventListener() 方法，以将侦听器注册到实例。当该实例调度该事件时，就会调用该侦听器。

范例

以下范例向“输出”面板发送一条消息，以指明已经滚动到的项目索引号：

form.scroll = function(eventObj){
  trace("The list had been scrolled to 项 # " + eventObj.target.vPosition);
}
myCombo.addEventListener("scroll", form);

另请参见

UIEventDispatcher.addEventListener()


ComboBox.selectedIndex

可用性

Flash Player 6.0.79。

版本

Flash MX 2004。

用法

myComboBox.selectedIndex

描述

属性；下拉列表中所选项目的索引（数值）。默认值为 0。给该属性赋值会清除当前的选择，而选择指定项目，并在组合框的文本框中显示指定项目的标签。

如果对 selectedIndex 的赋值超出了范围，则会被忽略。在可编辑组合框的文本字段中输入文本会将 selectedIndex 设置为未定义。

范例

下列代码会选择列表中的最后一项：

myComboBox.selectedIndex = myComboBox.length-1;

另请参见

ComboBox.selectedItem


ComboBox.selectedItem

可用性

Flash Player 6.0.79。

版本

Flash MX 2004。

用法

myComboBox.selectedItem

描述

属性；下拉列表中所选项目的值。

如果组合框是可编辑的，在文本框中输入任何文本时，selectedItem 都将返回未定义。如果您从下拉列表中选择一项，或者通过动作脚本设置该值，那么它将只有一个值。如果组合框是静态的，则 selectedItem 的值始终有效。

范例

如果数据提供程序包含了原始类型，则以下范例会显示 selectedItem：

var item = myComboBox.selectedItem;
trace("You selected the item " + item);

如果数据提供程序包含了具有 label 和 data 属性的对象，则以下范例会显示 selectedItem：

var obj = myComboBox.selectedItem;
trace("You have selected the color named:" + obj.label);
trace("The hex value of this color is:" + obj.data);

另请参见

ComboBox.dataProvider, ComboBox.selectedIndex


ComboBox.text

可用性

Flash Player 6.0.79。

版本

Flash MX 2004。

用法

myComboBox.text

描述

属性；文本框中的文本。您可以为可编辑的组合框获取和设定该值。对于静态的组合框，该值是只读的。

范例

以下范例设置了可编辑组合框的当前 text 值：

myComboBox.text = "California";


ComboBox.textField

可用性

Flash Player 6.0.79。

版本

Flash MX 2004。

用法

myComboBox.textField

描述

属性（只读）；对 ComboBox 包含的 TextInput 组件的引用。

使用该属性，您可以访问下层的 TextInput 组件，这样您就可以操作该组件。例如，您可能需要更改文本框的选定内容或者限制可以输入到文本框中的字符。

范例

下列代码会限制 myComboBox 的文本框只接受数字：

myComboBox.textField.restrict = "0-9";


ComboBox.value

可用性

Flash Player 6.0.79。

版本

Flash MX 2004。

用法

myComboBox.value

描述

属性（只读）；如果组合框是可编辑的，value 会返回文本框的值。如果组合框是静态的，value 会返回下拉列表的值。下拉列表的值为 data 字段，或者，如果 data 字段不存在，则为 label 字段。

范例

以下范例通过设置 dataProvider 属性，将数据输入组合框。然后，它会在“输出”面板中显示 value。最后，它选择 "California"，并将其显示在文本框中，如下所示：

cb.dataProvider = [
  {label:"Alaska", data:"AZ"},
  {label:"California", data:"CA"},
  {label:"Washington", data:"WA"}];

cb.editable = true;
cb.selectedIndex = 1;
trace('Editable value is "California":'+ cb.value);

cb.editable = false;
cb.selectedIndex = 1;
trace('Non-editable value is "CA":'+ cb.value);


关于 DepthManager 类

动作脚本类命名空间 mx.managers.DepthManager

DepthManager 类向动作脚本的 MovieClip 类添加功能，使您可以管理任何组件或影片剪辑的相对深度（包括 _root）分配。它还允许您为光标或工具提示这样的系统级服务来管理在 _root 上的特殊最深剪辑中保留的深度。

以下方法组成了按相对深度排序的 API：

  • DepthManager.createChildAtDepth()
  • DepthManager.createClassChildAtDepth()
  • DepthManager.setDepthAbove()
  • DepthManager.setDepthBelow()
  • DepthManager.setDepthTo()

以下方法组成了保留深度空间 API：

  • DepthManager.createClassObjectAtDepth()
  • DepthManager.createObjectAtDepth()

DepthManager 类的方法摘要

方法 | 描述
DepthManager.createChildAtDepth()> | 在指定深度处创建指定元件的子级。
DepthManager.createClassChildAtDepth()> | 在该指定深度处创建指定类的对象。
DepthManager.createClassObjectAtDepth()> | 在特殊最深剪辑中的指定深度处创建指定类的实例。
DepthManager.createObjectAtDepth()> | 在最深剪辑中的指定深度处创建一个对象。
DepthManager.setDepthAbove()> | 将深度设置到指定实例之上。
DepthManager.setDepthBelow()> | 将深度设置到指定实例之下。
DepthManager.setDepthTo()> | 将深度设置为最深剪辑中的指定实例。


DepthManager.createChildAtDepth()

可用性

Flash Player 6.0.79。

版本

Flash MX 2004。

用法

movieClipInstance.createChildAtDepth(linkageName, depthFlag[, initObj])

参数

linkageName 链接标识符。此参数是一个字符串。

depthFlag 它是下列值之一：DepthManager.kTop、DepthManager.kBottom、DepthManager.kTopmost、DepthManager.kNotopmost。所有深度标记都是 DepthManger 类的静态属性。您必须引用 DepthManager 包（例如 mx.managers.DepthManager.kTopmost），或者使用 import 语句导入 DepthManager 包。

initObj 一个初始化对象。此参数是可选的。

返回

指向所创建的对象的引用。

描述

方法；创建一个由 linkageName 参数指定的元件的子实例，该子实例位于 depthFlag 参数指定的深度。

范例

下面的范例创建 MinuteSymbol 影片剪辑的实例 minuteHand，并将其放在 clock 之上：

import mx.managers.DepthManager;
minuteHand = clock.createChildAtDepth("MinuteSymbol", DepthManager.kTop);


DepthManager.createClassChildAtDepth()

可用性

Flash Player 6.0.79。

版本

Flash MX 2004 和 Flash MX Professional 2004。

用法

movieClipInstance.createClassChildAtDepth( className, depthFlag[, initObj] )

参数

className 一个类名称。

depthFlag 它是下列值之一：DepthManager.kTop、DepthManager.kBottom、DepthManager.kTopmost、DepthManager.kNotopmost。所有深度标记都是 DepthManger 类的静态属性。您必须引用 DepthManager 包（例如 mx.managers.DepthManager.kTopmost），或者使用 import 语句导入 DepthManager 包。

initObj 一个初始化对象。此参数是可选的。

返回

指向所创建的子级的引用。

描述

方法；在 depthFlag 参数指定的深度创建一个 className 参数指定的类的子类。

范例

下面的代码在所有 NoTopmost 对象之上绘制一个焦点矩形：

import mx.managers.DepthManager
this.ring = createClassChildAtDepth(mx.skins.RectBorder, DepthManager.kTop);

下面的代码创建一个 Button 类的实例，并将其 label 属性的值作为 initObj 参数传递给该实例：

import mx.managers.DepthManager
button1 = createClassChildAtDepth(mx.controls.Button, DepthManager.kTop, {label:"Top Button"});


DepthManager.createClassObjectAtDepth()

可用性

Flash Player 6.0.79。

版本

Flash MX 2004 和 Flash MX Professional 2004。

用法

DepthManager.createClassObjectAtDepth(className, depthSpace[, initObj])

参数

className 一个类名称。

depthSpace 它是下列值之一：DepthManager.kCursor、DepthManager.kTooltip。所有深度标记都是 DepthManger 类的静态属性。您必须引用 DepthManager 包（例如 mx.managers.DepthManager.kCursor），或者使用 import 语句导入 DepthManager 包。

initObj 一个初始化对象。此参数是可选的。

返回

指向所创建的对象的引用。

描述

方法；在 depthSpace 参数指定的深度创建一个 className 参数指定的类的对象。该方法用于访问特殊最高深度剪辑中保留的深度空间。

范例

下面的范例创建一个 Button 类的对象：

import mx.managers.DepthManager
myCursorButton = createClassObjectAtDepth(mx.controls.Button, DepthManager.kCursor, {label:"Cursor"});


DepthManager.createObjectAtDepth()

可用性

Flash Player 6.0.79。

版本

Flash MX 2004 和 Flash MX Professional 2004。

用法

DepthManager.createObjectAtDepth(linkageName, depthSpace[, initObj])

参数

linkageName 链接标识符。

depthSpace 它是下列值之一：DepthManager.kCursor、DepthManager.kTooltip。所有深度标记都是 DepthManger 类的静态属性。您必须引用 DepthManager 包（例如 mx.managers.DepthManager.kCursor），或者使用 import 语句导入 DepthManager 包。

initObj 一个初始化对象。

返回

指向所创建的对象的引用。

描述

方法；在指定深度处创建一个对象。该方法用于访问特殊最高深度剪辑中保留的深度空间。

范例

下面的范例创建一个 TooltipSymbol 元件的实例，并将其放在为工具提示保留的深度：

import mx.managers.DepthManager
myCursorTooltip = createObjectAtDepth("TooltipSymbol", DepthManager.kTooltip);


DepthManager.setDepthAbove()

可用性

Flash Player 6.0.79。

版本

Flash MX 2004 和 Flash MX Professional 2004。

用法

movieClipInstance.setDepthAbove(instance)

参数

instance 实例名称。

返回

无。

描述

方法；将影片剪辑或组件实例的深度设置到 instance 参数指定的实例的深度之上。


DepthManager.setDepthBelow()

可用性

Flash Player 6.0.79。

版本

Flash MX 2004 和 Flash MX Professional 2004。

用法

movieClipInstance.setDepthBelow(instance)

参数

instance 实例名称。

返回

无。

描述

方法；将影片剪辑或组件实例的深度设置到 instance 参数指定的实例的深度之下。

范例

下列代码将 textInput 实例的深度设置到 button 的深度之下：

textInput.setDepthBelow(button);


DepthManager.setDepthTo()

可用性

Flash Player 6.0.79。

版本

Flash MX 2004 和 Flash MX Professional 2004。

用法

movieClipInstance.setDepthTo(depth)

参数

depth 深度级别。

返回

无。

描述

方法；将 movieClipInstance 的深度设置为 depth 指定的值。此方法将实例移动到其他深度，以便留出空间供其他对象使用。

范例

下面的范例将 mc1 实例的深度设置为深度 10：

mc1.setDepthTo(10);

有关深度和堆叠顺序的详细信息，请参阅“动作脚本字典”帮助中的确定下一个最大的可用深度。


关于 FocusManager 类

您可以使用 FocusManager 来指定一个顺序，当用户按 Tab 键在应用程序中定位时，组件将按此顺序接受焦点。您可以使用 FocusManager API 在文档中设置一个按钮，当用户按 Enter 键 (Windows) 或 Return 键 (Macintosh) 时，该按钮会接收键盘输入。例如，当用户填完一张表单后，他们应该能够使用 Tab 键在字段之间切换，然后按 Enter 键 (Windows) 或 Return 键 (Macintosh) 来提交表单。

所有组件都支持 FocusManager；您无需编写代码来调用它。FocusManager 也会与系统管理器进行交互，当激活或取消激活弹出窗口时，系统管理器会激活或取消激活 FocusManager 实例。每个模式窗口都有一个 FocusManager 实例，所以，该窗口中的组件就成为了它们自己的 Tab 集，这样就可以防止用户按 Tab 键切换到其他窗口中的组件。

FocusManager 可识别单选按钮组（这些按钮具有定义的 RadioButton.groupName 属性），并将焦点设置到该组中 selected 属性设置为 true 的实例。当按 Tab 键时，焦点管理器会查看下一个对象是否与当前对象具有相同的 groupName。如果是这样，那么它会自动将焦点移动到下一个具有不同 groupName 的对象。其他支持 groupName 属性的组件组也可以使用这一功能。

FocusManager 会处理由鼠标单击而引起的焦点变化。如果用户单击一个组件，则该组件就被赋予焦点。

FocusManager 不会自动给应用程序中的组件指定焦点。除非您对组件调用 focusManager.setFocus，否则默认情况下，主窗口和任何弹出窗口都不会在任何组件上设置焦点。


使用 FocusManager

要在应用程序中创建焦点导航，请在应接收焦点的任何对象（包括按钮）上设置 tabIndex 属性。当用户按下 Tab 键时，FocusManager 就会查找一个已启用对象，此对象应具有比 tabIndex 当前值更高的 tabIndex 属性。FocusManager 达到 tabIndex 属性的最高值后，它就会返回到零。因此，在以下范例中，首先 comment 对象（可能是 TextArea 组件）接收焦点，然后 okButton 对象接收焦点：

comment.tabIndex = 1;
okButton.tabIndex = 2;

要创建一个当用户按下 Enter 键 (Windows) 或者 Return 键 (Macintosh) 时接收焦点的按钮，可将 FocusManager.defaultPushButton 属性设为所需按钮的实例名称，如下所示：

focusManager.defaultPushButton = okButton;

注意：FocusManager 与对象放在舞台上的时间（对象的深度顺序）有关，而与它们在舞台上的相对位置无关。这与 Flash Player 处理 Tab 键排序的方式不同。

FocusManager 参数

FocusManager 没有创作参数。你必须使用“动作”面板中 FocusManager 类的动作脚本方法和属性。有关详细信息，请参阅 FocusManager 类。

创建具有 FocusManager 的应用程序

以下步骤会在 Flash 应用程序中创建一个焦点方案。

  1. 将 TextInput 组件从“组件”面板拖到舞台中。
  2. 在属性检查器中，为它分配实例名称 comment。
  3. 将 Button 组件从“组件”面板拖到舞台中。
  4. 在属性检查器中，为它分配实例名称 okButton，并将标签参数设置为 OK。
  5. 在“动作”面板的第 1 帧中，输入下列代码：
    comment.tabIndex = 1;
okButton.tabIndex = 2;
focusManager.setFocus(comment);
focusManager.defaultPushButton = okButton;
lo = new Object();
lo.click = function(){
  trace("button was clicked");
}
okButton.addEventListener("click", lo);

    这段代码设置了 Tab 键顺序，并指定一个默认按钮，在用户按 Enter 键 (Windows) 或 Return 键 (Macintosh) 时可以用来接收 click 事件。


自定义 FocusManager

通过更改 themeColor 样式的值，可以更改光晕主题中焦点环的颜色。

FocusManager 使用 FocusRect 外观来绘制焦点。可以替换或修改此外观，子类也可以覆盖 UIComponent.drawFocus 以绘制自定义的焦点指示符。


FocusManager 类

继承 UIObject > UIComponent > FocusManager

动作脚本类命名空间 mx.managers.FocusManager

FocusManager 类的方法摘要

方法 | 描述
FocusManager.getFocus()> | 返回对具有焦点的对象的引用。
FocusManager.sendDefaultPushButtonEvent()> | 给注册到默认普通按钮的侦听器对象发送一个 click 事件。
FocusManager.setFocus()> | 给指定对象设置焦点。

FocusManager 类的属性摘要

方法 | 描述
FocusManager.defaultPushButton> | 一个对象，该对象在用户按 Return 键或 Enter 键时接收 click 事件。
FocusManager.defaultPushButtonEnabled> | 指明是启用 (true) 还是禁用 (false) 默认普通按钮的键盘处理功能。默认值为 true。
FocusManager.enabled> | 指明是启用 (true) 还是禁用 (false) Tab 键的处理功能。默认值为 true。
FocusManager.nextTabIndex> | tabIndex 属性的下一个值。


FocusManager.defaultPushButton

可用性

Flash Player 6.0.79。

版本

Flash MX 2004 和 Flash MX Professional 2004。

用法

focusManager.defaultPushButton

描述

属性；为应用程序指定默认普通按钮。当用户按 Enter 键 (Windows) 或 Return 键 (Macintosh) 时，默认普通按钮的侦听器会接收到一个 click 事件。默认值未定义，而且这个属性的数据类型是对象类型。

FocusManager 使用 SimpleButton 类的强调样式声明以可视方式指明当前的默认普通按钮。

defaultPushButton 属性的值始终是具有焦点的按钮。设置 defaultPushButton 属性无法将初始焦点指定给默认的普通按钮。如果应用程序中有多个按钮，则在按下 Enter 键或 Return 键时，由当前具有焦点的按钮接收 click 事件。如果在按下 Enter 键或 Return 键时某个其他组件具有焦点，则将 defaultPushButton 属性重置为其原始值。

范例

下列代码将默认普通按钮设置为 OKButton 实例：

FocusManager.defaultPushButton = OKButton;

另请参见

FocusManager.defaultPushButtonEnabled, FocusManager.sendDefaultPushButtonEvent()


FocusManager.defaultPushButtonEnabled

可用性

Flash Player 6.0.79。

版本

Flash MX 2004。

用法

focusManager.defaultPushButtonEnabled

描述

属性；一个布尔值，确定是启用 (true) 还是禁用 (false) 默认普通按钮的键盘处理功能。将 defaultPushButtonEnabled 设置为 false，可以使组件接收 Return 键或 Enter 键，并在内部对其进行处理。必须通过监视组件的 onKillFocus() 方法（请参阅“动作脚本字典”帮助中的 MovieClip.onKillFocus）或 focusOut 事件来重新启用默认普通按钮处理功能。默认值为 true。

范例

下列代码会禁用默认普通按钮处理功能：

focusManager.defaultPushButtonEnabled = false;


FocusManager.enabled

可用性

Flash Player 6.0.79。

版本

Flash MX 2004。

用法

focusManager.enabled

描述

属性；一个布尔值，确定是为一组特定的具有焦点的对象启用 (true) 还是禁用 (false) Tab 键处理功能。（例如，其他弹出窗口可能具有它自己的 FocusManager。）将 enabled 设置为 false，可以使组件接收 Tab 处理按键，并在内部对它们进行处理。必须通过监视组件的 onKillFocus() 方法（请参阅“动作脚本字典”帮助中的 MovieClip.onKillFocus）或 focusOut 事件来重新启用 FocusManager 处理功能。默认值为 true。

范例

下面的代码禁用 Tab 键处理功能：

focusManager.enabled = false;


FocusManager.getFocus()

可用性

Flash Player 6.0.79。

版本

Flash MX 2004 和 Flash MX Professional 2004。

用法

focusManager.getFocus()

参数

无。

返回

对具有焦点的对象的引用。

描述

方法；返回对当前具有焦点的对象的引用。

范例

如果当前具有焦点的对象是 myInputText，下列代码会将焦点设置到 myOKButton：

if (focusManager.getFocus() == myInputText)
{
  focusManager.setFocus(myOKButton);
}

另请参见

FocusManager.setFocus()


FocusManager.nextTabIndex

可用性

Flash Player 6.0.79。

版本

Flash MX 2004。

用法

FocusManager.nextTabIndex

描述

属性；下一个可用的 Tab 键索引号。该属性用于动态地设置对象的 tabIndex 属性。

范例

下列代码为 mycheckbox 实例赋予下一个最高的 tabIndex 值：

mycheckbox.tabIndex = focusManager.nextTabIndex;

另请参见

UIComponent.tabIndex


FocusManager.sendDefaultPushButtonEvent()

可用性

Flash Player 6.0.79。

版本

Flash MX 2004 和 Flash MX Professional 2004。

用法

focusManager.sendDefaultPushButtonEvent()

参数

无。

返回

无。

描述

方法；给注册到默认普通按钮的侦听器对象发送一个 click 事件。使用该方法可以用编程方式发送 click 事件。

范例

下面的代码在用户选择 CheckBox 实例 chb（复选框将标记为“自动登录”）时触发默认普通按钮的 click 事件，并填写用户名和密码字段：

name_txt.tabIndex = 1;
password_txt.tabIndex = 2;
chb.tabIndex = 3;
submit_ib.tabIndex = 4;

focusManager.defaultPushButton = submit_ib;

chbObj = new Object();
chbObj.click = function(o){
  if (chb.selected == true){
    name_txt.text = "Jody";
    password_txt.text = "foobar";
    focusManager.sendDefaultPushButtonEvent();
  } else {
    name_txt.text = "";
    password_txt.text = "";
  }
}
chb.addEventListener("click", chbObj);

submitObj = new Object();
submitObj.click = function(o){
  if (password_txt.text != "foobar"){
    trace("error on submit");
  } else {
    trace("Yeah! sendDefaultPushButtonEvent worked!");
  }
}
submit_ib.addEventListener("click", submitObj);

另请参见

FocusManager.defaultPushButton, FocusManager.sendDefaultPushButtonEvent()


FocusManager.setFocus()

可用性

Flash Player 6.0.79。

版本

Flash MX 2004 和 Flash MX Professional 2004。

用法

focusManager.setFocus(object)

参数

object 对要接收焦点的对象的引用。

返回

无。

描述

方法；将焦点设置为指定的对象。

范例

下列代码将焦点设置到 myOKButton：

focusManager.setFocus(myOKButton);

另请参见

FocusManager.getFocus()


关于 Label 组件

一个标签组件就是一行文本。您可以指定一个标签采用 HTML 格式。您也可以控制标签的对齐和大小。Label 组件没有边框、不能具有焦点，并且不广播任何事件。

每个 Label 实例的实时预览反映了创作时在属性检查器中或在“组件检查器”面板中对参数所做的更改。标签没有边框，因此，查看它的实时预览的唯一方法就是设置其文本参数。如果文本太长，并且选择设置 autoSize 参数，那么实时预览将不支持 autoSize 参数，而且不能调整标签边框大小。您必须在边框内单击才能选择舞台上的标签。

将 Label 组件添加到应用程序时，可以使用“辅助功能”面板使其可以由屏幕读取器进行访问。首先，您必须添加以下代码行来启用辅助功能：

mx.accessibility.LabelAccImpl.enableAccessibility();

不管一个组件有多少实例，都只对其启用一次辅助功能。有关详细信息，请参阅创建辅助内容。


使用 label 组件

使用一个 Label 组件为表单的另一个组件创建文本标签；例如，TextInput 字段左侧的“姓名：”标签来接受用户的姓名。如果您要构建一个应用程序，这个程序使用基于 Macromedia Component Architecture 第 2 版 (v2) 的组件，那么，使用 Label 组件来替代普通文本字段就是一个好方法，因为您可以使用样式来维持一致的外观。

Label 参数

以下是您可以在属性检查器中或在“组件检查器”面板中为每个 Label 组件设置的创作参数：

text 指明标签的文本；默认值是 Label。

html 指明标签是 (true) 否 (false) 采用 HTML 格式。如果将 html 参数设置为 true，就不能用样式来设定 Label 的格式。默认值为 false。

autoSize 指明标签的大小和对齐方式应如何适应文本。默认值为 none。参数可以是以下四个值之一：

  • none：标签不会调整大小或对齐方式来适应文本。
  • left：标签的右边和底部可以调整大小以适应文本。左边和上边不会进行调整。
  • center：标签的底部会调整大小以适应文本。标签的水平中心锚定在它原始的水平中心位置。
  • right：标签的左边和底部会调整大小以适应文本。上边和右边不会进行调整。

注意：Label 组件的 autoSize 属性与内置的动作脚本 TextField 对象的 autoSize 属性不同。

您可以使用 Label 实例的方法、属性和事件为其编写动作脚本来设置其他选项。有关详细信息，请参阅 Label 类。

创建具有 Label 组件的应用程序

以下过程解释了如何在创作时将 Label 组件添加到应用程序。在本例中，标签在组合框的旁边，日期在购物车应用程序中。

要创建具有 Label 组件的应用程序，请执行以下操作：

  1. 将 Label 组件从“组件”面板拖至舞台。
  2. 在“组件检查器”面板中，执行以下操作：
    • 为 label 参数输入过期日期。


自定义 label 组件

在创作时和运行时，您都可以在水平和垂直方向使 Label 组件变形。在创作时，在舞台上选择组件并使用“任意变形”工具或任何“修改”>“变形”命令。您可以设置 autoSize 创作参数；设置此参数不会改变实时预览中的边框，但是会调整标签的大小。有关详细信息，请参阅Label 参数。在运行时，请使用 setSize() 方法（请参阅 UIObject.setSize()）或 Label.autoSize。

对 Label 组件使用样式

您可以设置样式属性来更改标签实例的外观。Label 组件实例中的所有文本必须采用相同的样式。例如，对同一标签内的单词应用 color 样式时，不能将一个单词设置为 "blue"，而将另一个单词设置为 "red"。

如果样式属性的名称以“Color”结尾，则它是颜色样式属性，并且行为与非颜色样式属性不同。

有关样式的详细信息，请参阅使用样式自定义组件的颜色和文本。

Label 组件支持下列样式：

样式 | 描述
color | 文本的默认颜色。
embedFonts | 文档中嵌入的字体。
fontFamily | 文本的字体名称。
fontSize | 字体的磅值。
fontStyle | 字体样式，“常规”或“斜体”。
fontWeight | 字体粗细，“常规”或“粗体”。
textAlign | 文本对齐方式：“左”、“右”或“居中”。
textDecoration | 文本修饰，“无”或“下划线”。

使用具有 Label 组件的外观

Label 组件不能使用外观。

有关设计组件外观的详细信息，请参阅关于设置组件外观。


Label 类

继承 UIObject > Label

动作脚本类命名空间 mx.controls.Label

Label 类的属性允许您在运行时为标签指定文本，指明文本是否要采用 HTML 格式，以及标签是否自动调整大小以适应文本。

使用“动作脚本”设置的 Label 类的属性会覆盖在属性检查器中或在“组件检查器”面板中设置的同名参数。

每个组件类都有一个 version 属性，该属性是一个类属性。类属性只能用于该类本身。version 属性会返回一个字符串，该字符串指明组件的版本。要访问 version 属性，请使用以下代码：

trace(mx.controls.Label.version);

注意：下面的代码返回未定义的：trace(myLabelInstance.version);。

Label 类的方法摘要

继承 UIObject 类的所有方法。

Label 类的属性摘要

属性 | 描述
Label.autoSize | 一个字符串，指明如何调整标签大小和对齐方式以适应其 text 属性值。有四种可能的值："none"、"left"、"center" 和 "right"。默认值为 "none"。
Label.html | 一个布尔值，它指明标签是 (true) 否 (false) 采用 HTML 格式。
Label.text | 标签上的文本。

继承 UIObject 类的所有属性。

Label 类的事件摘要

继承 UIObject 类的所有事件。


Label.autoSize

可用性

Flash Player 6.0.79。

版本

Flash MX 2004。

用法

labelInstance.autoSize

描述

属性；一个字符串，指明如何调整标签大小和对齐方式以适应其 text 属性的值。有四种可能的值："none"、"left"、"center" 和 "right"。默认值为 "none"。

  • none：标签不会调整大小或对齐方式来适应文本。
  • left：标签的右边和底边可以调整大小以适应文本。左边和上边不会进行调整。
  • center：标签的底边会调整大小以适应文本。标签的水平中心锚定在它原始的水平中心位置。
  • right：标签的左边和底边可以调整大小以适应文本。上边和右边不会进行调整。

注意：Label 组件的 autoSize 属性与内置的动作脚本 TextField 对象的 autoSize 属性不同。


Label.html

可用性

Flash Player 6.0.79。

版本

Flash MX 2004。

用法

labelInstance.html

描述

属性；一个布尔值，它指明标签是 (true) 否 (false) 采用 HTML 格式。默认值为 false。html 属性设置为 true 的 Label 组件不能用样式设定格式。

即使当 Label.html 设置为 true 时，您也不能对 Label 组件使用 <font color> HTML 标签。例如，在以下范例中，文本“Hello”显示为黑色，而不是它原本应该显示的红色（如果支持 <font color> 的情况下）：

lbl.html = true;
lbl.text = "<font color=\"#FF0000\">Hello</font> World";

为了从 HTML 格式的文本获得纯文本，可将 HTML 属性设置为 false，然后访问 text 属性。这将去掉 HTML 格式，所以在获取纯文本之前，可能需要将标签文本复制到屏幕以外的 Label 或 TextArea 组件中。

范例

以下范例将 html 属性设置为 true，以便可以使用 HTML 设定标签的格式。然后，将 text 属性设置为一个包含 HTML 格式的字符串，如下所示：

labelControl.html = true;
labelControl.text = "The <b>Royal</b> Nonesuch";

单词“Royal”以粗体显示。


Label.text

可用性

Flash Player 6.0.79。

版本

Flash MX 2004。

用法

labelInstance.text

描述

属性；标签的文本。默认值为 "Label"。

范例

下列代码设置了 Label 实例 labelControl 的 text 属性，并将该值发送到“输出”面板：

labelControl.text = "The Royal Nonesuch";
trace(labelControl.text);


关于 List 组件

List 组件是一个可滚动的单选或多选列表框。列表也可以显示图形，其中包含其他组件。您在单击标签或数据参数字段时，会出现“值”对话框，您可以使用该对话框来添加显示在 List 中的项目。您也可以使用 List.addItem() 和 List.addItemAt() 方法来将项目添加到列表。

List 组件使用基于零的索引，其中索引为 0 的项目就是显示在顶端的项目。当使用 List 类的方法和属性添加、删除或替换列表项时，您可能需要指定该列表项的索引。

在单击列表或按 Tab 键切换到列表时，列表获得焦点，您然后可使用以下键控制它：

按键 | 描述
字母或数字键 | 跳转到标签中以 Key.getAscii() 作为首字符的下一项。
Ctrl 键 | 切换键。允许多个不临近的选择和取消选择。
向下箭头 | 选区会向下移动一项。
Home 键 | 选区会移动到列表顶端。
Page Down 键 | 选区会向下移动一页。
Page Up 键 | 选区会向上移动一页。
Shift 键 | 连续选择键。允许进行连续选择。
向上箭头 | 选区会向上移动一项。

注意：Page Up 键和 Page Down 键使用的页的大小比可以显示的项数少一项。例如，在一个十行的下拉列表中向下翻页，将会依次显示第 0-9 项、第 9-18 项、第 18-27 项，等等，每页都会有一个重叠项。

有关控制焦点的详细信息，请参阅创建自定义焦点导航或FocusManager 类。

舞台上的每个 List 实例的实时预览反映了创作时在属性检查器或“组件检查器”面板中的对参数所做的更改。

当您将 List 组件添加到应用程序后，就可以使用“辅助功能”面板，使其可由屏幕读取器访问。首先，您必须添加以下代码行来启用辅助功能：

mx.accessibility.ListAccImpl.enableAccessibility();

不管一个组件有多少实例，都只对其启用一次辅助功能。有关详细信息，请参阅创建辅助内容。


使用 List 组件

您可以建立一个列表，以便用户可以选择一项或多项。例如，用户访问一个电子商务网站需要选择想要购买的项目。一共有 30 个项目，用户在列表中上下滚动，并通过单击选择一项。

您也可以设计一个列表，该列表使用自定义影片剪辑作为行，这样就可以向用户显示更多信息。例如，在电子邮件应用程序中，每个信箱可能就是一个 List 组件，而每行可能会有指明优先级和状态的图标。

List 组件参数

以下是您可以在属性检查器中或在“组件检查器”面板中为每个 List 组件实例设置的创作参数：

data 填充列表数据的值数组。默认值为 []（空数组）。没有相应的运行时属性。

labels 填充列表的标签值的文本值数组。默认值为 []（空数组）。没有相应的运行时属性。

multipleSelection 一个布尔值，它指明是 (true) 否 (false) 可以选择多个值。默认值为 false。

rowHeight指明每行的高度，以像素为单位。默认值是 20。设置字体不会更改行的高度。

您可以使用 List 实例的方法、属性和事件为其编写动作脚本来设置其他选项。有关详细信息，请参阅 List 类。

创建具有 List 组件的应用程序

以下过程解释了如何在创作时将 List 组件添加到应用程序。在本例中，列表是一个有三个项目的范例。

要将一个简单的 List 组件添加到一个应用程序中，请执行以下操作：

  1. 将 List 组件从“组件”面板拖到舞台。
  2. 选择列表，然后选择“修改”>“变形”，调整大小以适应您的应用程序。
  3. 在属性检查器中，执行以下操作：
    • 输入实例名称 myList。
    • 为标签参数输入 Item1、Item2 和 Item3。
    • 为数据参数输入 item1.html、item2.html、item3.html。
  4. 选择“控制”>“测试影片”，以查看带项目的列表。

    您可以在应用程序中使用数据属性值来打开 HTML 文件。

以下过程解释了如何在创作时将 List 组件添加到应用程序。在本例中，列表是一个有三个项目的范例。

要将 List 组件添加到应用程序，请执行以下操作：

  1. 将 List 组件从“组件”面板拖到舞台。
  2. 选择列表，然后选择“修改”>“变形”，调整大小以适应您的应用程序。
  3. 在“动作”面板中，输入实例名称 myList
  4. 在时间轴中选择第一帧，在“动作”面板中，输入下列代码：
    myList.dataProvider = myDP;

    如果已经定义了名为 myDP 的数据提供程序，那么列表中将填入数据。有关数据提供程序的详细信息，请参阅 List.dataProvider 。

  5. 选择“控制”>“测试影片”，以查看带项目的列表。


自定义 List 组件

在创作时和运行时，您都可以按水平方向和垂直方向将 List 组件变形。在创作时，在舞台上选择组件并使用“任意变形”工具或任何“修改”>“变形”命令。在运行时，使用 List.setSize() 方法（请参阅 UIObject.setSize()）。

当调整列表的大小后，列表的行会在水平方向收缩，剪下其中的任何文本。在垂直方向，列表根据需要增加或删除行。滚动条自动对它们定位。有关滚动条的详细信息，请参阅ScrollPane 组件。

对 List 组件使用样式

您可以设置样式属性以更改 List 实例的外观。

List 组件使用下列光晕样式：

样式 | 描述
alternatingRowColors | 指定交替模式中行的颜色。它的值可以是两个或多个颜色（例如 0xFF00FF、0xCC6699 和 0x996699）组成的数组。
backgroundColor | 列表的背景颜色。该样式在类样式声明 ScrollSelectList 上进行定义。
borderColor | 三维边框的黑色部分或二维边框的彩色部分。
borderStyle | 边框样式。可能的值包括：“none”、“solid”、“inset”和“outset”。该样式在类样式声明 ScrollSelectList 上进行定义。
defaultIcon | 用于列表行的默认图标的名称。默认值未定义。
rollOverColor | 滑过的行的颜色。
selectionColor | 所选行的颜色。
selectionEasing | 对用于控制编程补间的扩大公式（函数）的引用。
disabledColor | 禁用的文本颜色。
textRollOverColor | 指针在文本上滑过时，该文本的颜色。
textSelectedColor | 选定文本时，该文本的颜色。
selectionDisabledColor | 行被选中并禁用之后的颜色。
selectionDuration | 选择项目时的任何转换的长度。
useRollOver | 确定滑过一行时是否激活突出显示该行。

List 组件也使用 Label 组件（请参阅对 Label 组件使用样式）、ScrollBar 和 RectBorder 的样式属性。

使用具有 List 组件的外观

List 组件中的所有外观都包含在组成列表的子组件（ScrollPane 组件和 RectBorder）中。有关详细信息，请参阅 ScrollPane 组件。您可以使用 setStyle() 方法（请参阅 UIObject.setStyle()）来更改下列 RectBorder 样式属性：

RectBorder 样式 | 边框位置
borderColor | a
highlightColor | b
borderColor | c
shadowColor | d
borderCapColor | e
shadowCapColor | f
shadowCapColor | g
borderCapColor | h

这些样式属性设置边框上的下列位置：


List 类

继承 UIObject > UIComponent > View > ScrollView > ScrollSelectList > List

动作脚本类命名空间 mx.controls.List

List 组件由下列三个部分组成：

  • 项
  • 行
  • 数据提供程序

项是用于将信息单位存储在列表中的一个“动作脚本”对象。可以将列表看作一个数组；数组中的每个索引空间就是一个项。项是一个对象，它通常有一个 label 属性（用于进行显示）和一个 data 属性（用于存储数据）。

行是用于显示项的一个组件。默认情况下，列表会提供行（使用 SelectableRow 类），或者您也可以提供行，它们通常作为 SelectableRow 类的子类。SelectableRow 类会实现 CellRenderer 接口，该接口是属性和方法的集合，通过它们，列表可以操作各行并将数据和状态信息（例如，已突出显示、已被选中，等等）发送到该行来进行显示。

数据提供程序是列表中的项列表的数据模型。同一帧中作为列表的任何数组都会自动得到一些方法，这些方法允许您操作数据并将更改广播给多个视图。您可以创建一个 Array 实例或者从服务器上获取一个实例，然后将它用作多个 List、ComboBox、DataGrid 等的数据模型。List 组件有一组代理其数据提供程序的方法（例如，addItem() 和 removeItem()）。如果没有为列表提供外部数据提供程序，则这些方法会自动创建一个数据提供程序实例，该实例会通过 List.dataProvider 被公开。

要将一个 List 组件添加到应用程序的 Tab 键顺序，请设置其 tabIndex 属性（请参阅 UIComponent.tabIndex）。List 组件用 FocusManager 覆盖默认的 Flash Player 焦点矩形，并绘制一个带有圆角的自定义焦点矩形。有关详细信息，请参阅创建自定义焦点导航。

每个组件类都有一个 version 属性，该属性是一个类属性。类属性只能用于该类本身。version 属性会返回一个字符串，该字符串指明组件的版本。要访问 version 属性，请使用以下代码：

trace(mx.controls.List.version);

注意：下面的代码返回未定义的：trace(myListInstance.version);。

List 类的方法摘要

方法 | 描述
List.addItem()> | 向列表的结尾添加项目。
List.addItemAt()> | 将项目添加到指定索引处的列表。
List.getItemAt()> | 返回指定索引处的项目。
List.removeAll()> | 删除列表中的所有项目。
List.removeItemAt()> | 删除指定索引处的项目。
List.replaceItemAt()> | 用其他项目替换指定索引处的项目。
List.setPropertiesAt()> | 将指定的属性应用到指定的项目。
List.sortItems()> | 按照指定的比较函数对列表中的项目进行排序。
List.sortItemsBy()> | 按照指定的属性对列表中的项目进行排序。

继承 UIObject 类和 UIComponent 类中的所有方法。

List 类的属性摘要

属性 | 描述
List.cellRenderer | 指定 cellRenderer 以用于列表的每行。
List.dataProvider | 列表项目的来源。
List.hPosition | 列表的水平位置。
List.hScrollPolicy | 指明是 ("on") 否 ("off") 显示水平滚动条。
List.iconField | 各项目中用于指定图标的字段。
List.iconFunction | 一个函数，它确定要使用的图标。
List.labelField | 指定各项目中用作标签文本的字段。
List.labelFunction | 一个函数，它确定各个项目的哪些字段要用作标签文本。
List.length | 项目中列表的长度。该属性为只读。
List.maxHPosition | 当将 List.hScrollPolicy> 设置为 "on" 时，指定列表可以向右滚动的像素数目。
List.multipleSelection> | 指明列表中允许 (true) 还是不允许 (false) 多选。
List.rowCount | 列表中至少可以看到一部分的行数。
List.rowHeight | 列表中每行的像素高度。
List.selectable> | 指定列表是 (true) 否 (false) 为可选择列表。
List.selectedIndex | 单选列表中的选择索引。
List.selectedIndices | 多选列表中的已选择项目的数组。
List.selectedItem | 单选列表中的已选择项目。该属性为只读。
List.selectedItems | 多选列表中的已选择的项目对象。该属性为只读。
List.vPosition | 滚动列表，以便使最顶部可见的项目为指定的数。
List.vScrollPolicy | 指明是显示 ("on")、不显示 ("off") 还是在需要时显示 ("auto") 垂直滚动条。

继承 UIObject 类和 UIComponent 类的所有属性。

List 类的事件摘要

事件 | 描述
List.change> | 所选内容因用户交互操作而更改时广播。
List.itemRollOut> | 指针在列表项目上滑过然后又滑离时广播。
List.itemRollOver> | 指针在列表项目上滑过时广播。
List.scroll> | 滚动列表时，进行广播。

继承 UIObject 类和 UIComponent 类的所有事件。


List.addItem()

可用性

Flash Player 6.0.79。

版本

Flash MX 2004。

用法

listInstance.addItem(label[, data])
listInstance.addItem(itemObject)

参数

label 一个字符串，它指明新项目的标签。

data 项目的数据。此参数是可选的，可以是任何数据类型。

itemObject 项目对象，通常具有 label 属性和 data 属性。

返回

在其位置添加了项目的索引。

描述

方法；在列表的结尾添加新项目。

在第一个用法范例中，始终使用指定的 label 属性和 data 属性（如果已指定）来创建项目
对象。

第二个用法范例添加了指定的项目对象。

调用此方法会修改 List 组件的数据提供程序。如果与其他组件共享数据提供程序，那些组件也将会更新。

范例

下面两行代码都会将项目添加到 myList 实例。要试试这行代码，可将一个 List 拖到舞台，并为其设定实例名称 myList。将下面的代码添加到时间轴中的第一帧：

myList.addItem("this is an Item");
myList.addItem({label:"Gordon",age:"very old",data:123});


List.addItemAt()

可用性

Flash Player 6.0.79。

版本

Flash MX 2004。

用法

listInstance.addItemAt(index, label[, data])
listInstance.addItemAt(index, itemObject)

参数

label 一个字符串，它指明新项目的标签。

data 项目的数据。此参数是可选的，可以是任何数据类型。

index 一个大于或等于零的数，指明项目的位置。

itemObject 项目对象，通常具有 label 属性和 data 属性。

返回

在其位置添加了项目的索引。

描述

方法；将新项目添加到 index 参数指定的位置。

在第一个用法范例中，始终使用指定的 label 属性和 data 属性（如果已指定）来创建项目
对象。

第二个用法范例添加了指定的项目对象。

调用此方法会修改 List 组件的数据提供程序。如果与其他组件共享数据提供程序，那些组件也将会更新。

范例

下面代码行会将一个项目添加到第三索引位置，该位置是列表中的第四个项目：

myList.addItemAt(3,{label:'Red',data:0xFF0000});


List.cellRenderer

可用性

Flash Player 6.0.79。

版本

Flash MX 2004。

用法

listInstance.cellRenderer

描述

属性；指定要用于列表各行的单元格渲染器。这个属性必须是一个类对象引用，或者是单元格渲染器使用的元件链接标识符。用于此属性的任何类都必须实现CellRenderer 接口。

范例

下面的范例使用链接标识符来设置一个新的单元格渲染器：

myList.cellRenderer = "ComboBoxCell";


List.change

可用性

Flash Player 6.0.79。

版本

Flash MX 2004。

用法

用法 1：

on(change){
  // 此处是您的代码
}

用法 2：

listenerObject = new Object();
listenerObject.change = function(eventObject){
  // 此处是您的代码
}
listInstance.addEventListener("change", listenerObject)

描述

事件；当所选的列表的索引因用户交互操作而改变时，向所有已注册的侦听器广播。

第一个用法范例使用了 on() 处理函数，并且必须直接附加到一个 list 组件实例。附加到组件的 on() 处理函数内部使用的关键字 this 是指该组件实例。例如，以下代码附加到 list 组件实例 myBox，它将“_level0.myBox”发送到“输出”面板：

on(click){
  trace(this);
}

第二个用法范例使用一个调度程序/侦听器事件模型。组件实例 (listInstance) 调度一个事件（在本例中为 change），而该事件由附加到您创建的侦听器对象 (listenerObject) 的函数处理。您定义一个与侦听器对象上的事件同名的方法；当该事件被触发时，就会调用该方法。该事件被触发时，它会自动将一个事件对象 (eventObject) 传递到侦听器对象方法。每个事件对象都有一组属性，这些属性包含有关该事件的信息。您可以使用这些属性来编写处理该事件的代码。有关事件对象的详细信息，请参阅事件对象。

最后，对广播该事件的组件实例调用 addEventListener() 方法，以将侦听器注册到实例。当该实例调度该事件时，就会调用该侦听器。

范例

下面的范例将生成 change 事件的组件的实例名称发送到“输出”面板：

form.change = function(eventObj){
  trace("Value changed to " + eventObj.target.value);
}
myList.addEventListener("change", form);

另请参见

UIEventDispatcher.addEventListener()


List.dataProvider

可用性

Flash Player 6.0.79。

版本

Flash MX 2004。

用法

listnstance.dataProvider

描述

属性；在列表中查看的项目的数据模型。该属性的值可以是一个数组或任何实现 DataProvider 接口的对象。默认值为 []。有关 DataProvider 接口的详细信息，请参阅DataProvider 组件。

List 组件以及其他支持数据的组件会将方法添加到 Array 对象的原型，以便它们符合 DataProvider 接口。因此，任何同时作为列表存在的数组都可以自动获得作为列表的数据模型所需的所有方法（addItem()、getItemAt() 等），并可用于向多个组件广播模型更改。

如果数组包含对象，则会访问 List.labelField 或 List.labelFunction 属性，以确定要显示项目的哪些部分。默认值为 "label"，如果存在 label 字段，则会选择显示它，如果不存在该字段，则显示用逗号分隔的所有字段的列表。

注意：如果该数组在每个索引处都包含字符串，而不包含对象，该列表就无法对项目进行排序和保持选定状态。进行任何排序都会丢失所做选择。

任何实现 DataProvider 接口的实例都可以作为 List 组件的数据提供程序。这包括 Flash Remoting RecordSets、Firefly DataSets，等等。

范例

在本例使用一个字符串数组填充列表：

list.dataProvider = ["Ground Shipping","2nd Day Air","Next Day Air"];

本例创建一个数据提供程序数组，并将其赋予 dataProvider 属性，如下所示：

myDP = new Array();
list.dataProvider = myDP;

for (var i=0; i<accounts.length; i++) {
  // 对 DataProvider 的这些更改将广播到列表
  myDP.addItem({ label:accounts[i].name,
                 data:accounts[i].accountID });
}


List.getItemAt()

可用性

Flash Player 6.0.79。

版本

Flash MX 2004。

用法

listInstance.getItemAt(index)

参数

index 一个大于或等于 0，且小于 List.length 的数字。要检索的项目的索引。

返回

索引项目对象。如果索引已超出范围，则是未定义的。

描述

方法；检索所指定索引处的项目。

范例

下面代码显示索引位置 4 处的项目的标签：

trace(myList.getItemAt(4).label);


List.hPosition

可用性

Flash Player 6.0.79。

版本

Flash MX 2004。

用法

listInstance.hPosition

描述

属性；水平滚动列表到指定的像素数。只有在 hScrollPolicy 的值是 "on"，而且列表的 maxHPosition 大于 0 的情况下，才能设置 hPosition。

范例

下面的范例获取 myList 的水平滚动位置：

var scrollPos = myList.hPosition;

以下范例将水平滚动位置始终设置到左侧：

myList.hPosition = 0;


List.hScrollPolicy

可用性

Flash Player 6.0.79。

版本

Flash MX 2004。

用法

listInstance.hScrollPolicy

描述

属性；确定是否显示水平滚动条的字符串；该值可以是 "on" 或 "off"。默认值为 "off"。水平滚动条不会测量文本，您必须设置最大水平滚动位置，请参阅 List.maxHPosition。

注意：List.hScrollPolicy 不支持值 "auto"。

范例

下面代码最多可以使列表水平滚动 200 像素：

myList.hScrollPolicy = "on";
myList.Box.maxHPosition = 200;

另请参见

List.hPosition, List.maxHPosition


List.iconField

可用性

Flash Player 6.0.79。

版本

Flash MX 2004。

用法

listInstance.iconField

描述

属性；指定了要用作图标标识符的字段名称。如果字段的值为未定义，则使用 defaultIcon 样式指定的默认图标。如果 defaultIcon 样式是未定义的，则不使用任何图标。

范例

下面的范例将 iconField 属性设置为每个项目的 icon 属性：

list.iconField = "icon"

另请参见

List.iconFunction


List.iconFunction

可用性

Flash Player 6.0.79。

版本

Flash MX 2004。

用法

listInstance.iconFunction

描述

属性；指定一个函数，该函数用于确定每行将使用哪个图标来显示其项目。此函数会接收参数 item（该参数指示要被呈现的项目），并且必须返回一个表示图标元件标识符的字符串。

范例

下面范例添加了一些图标，这些图标指明文件是图像还是文本文档。如果 data.fileExtension 字段包含值 "jpg" 或 "gif"，那么所用的图标将是 "pictureIcon"，依此类推：

list.iconFunction = function(item){
  var type = item.data.fileExtension;
  if (type=="jpg" || type=="gif") {
    return "pictureIcon";
  } else if (type=="doc" || type=="txt") {
    return "docIcon";
  }
}


List.itemRollOut

可用性

Flash Player 6.0.79。

版本

Flash MX 2004。

用法

用法 1：

on(itemRollOut){
  // 此处是您的代码
}

用法 2：

listenerObject = new Object();
listenerObject.itemRollOut = function(eventObject){
  // 此处是您的代码
}
listInstance.addEventListener("itemRollOut", listenerObject)

事件对象

除了事件对象的标准属性外，itemRollOut 事件还有一个附加属性：index。index 是已经滚动出的项目的数量。

描述

事件；当滚动出列表项目时，向所有已注册的侦听器广播。

第一个用法范例使用了一个 on() 处理函数，并且必须直接附加到一个 List 组件实例。附加到组件的 on() 处理函数内部使用的关键字 this 是指该组件实例。例如，以下代码附加到 List 实例 myList 上，它将“_level0.myList”发送到“输出”面板：

on(itemRollOut){
  trace(this);
}

第二个用法范例使用一个调度程序/侦听器事件模型。组件实例 (listInstance) 调度一个事件（在本例中为 itemRollOut），而该事件由附加到您创建的侦听器对象 (listenerObject) 的函数处理。您定义一个与侦听器对象上的事件同名的方法；当该事件被触发时，就会调用该方法。该事件被触发时，它会自动将一个事件对象 (eventObject) 传递到侦听器对象方法。每个事件对象都有一组属性，这些属性包含有关该事件的信息。您可以使用这些属性来编写处理该事件的代码。最后，对广播该事件的组件实例调用 UIEventDispatcher.addEventListener() 方法，以将侦听器注册到实例。当该实例调度该事件时，就会调用该侦听器。

有关事件对象的详细信息，请参阅事件对象。

范例

下面的范例向“输出”面板发送一条消息，指明已在哪个项目索引编号上滑过：

form.itemRollOut = function (eventObj) {
  trace("Item #" + eventObj.index + " has been rolled out.");
}
myList.addEventListener("itemRollOut", form);

另请参见

List.itemRollOver


List.itemRollOver

可用性

Flash Player 6.0.79。

版本

Flash MX 2004。

用法

用法 1：

on(itemRollOver){
  // 此处是您的代码
}

用法 2：

listenerObject = new Object();
listenerObject.itemRollOver = function(eventObject){
  // 此处是您的代码
}
listInstance.addEventListener("itemRollOver", listenerObject)

事件对象

除了事件对象的标准属性外，itemRollOver 事件还有一个附加属性：index。index 是滑过的项目的数量。

描述

事件；当滑过列表项目时，向所有已注册的侦听器广播。

第一个用法范例使用了一个 on() 处理函数，并且必须直接附加到一个 List 组件实例。附加到组件的 on() 处理函数内部使用的关键字 this 是指该组件实例。例如，以下代码附加到 List 实例 myList 上，它将“_level0.myList”发送到“输出”面板：

on(itemRollOver){
  trace(this);
}

第二个用法范例使用一个调度程序/侦听器事件模型。组件实例 (listInstance) 调度一个事件（在本例中为 itemRollOver），而该事件由附加到您创建的侦听器对象 (listenerObject) 的函数处理。您定义一个与侦听器对象上的事件同名的方法；当该事件被触发时，就会调用该方法。该事件被触发时，它会自动将一个事件对象 (eventObject) 传递到侦听器对象方法。每个事件对象都有一组属性，这些属性包含有关该事件的信息。您可以使用这些属性来编写处理该事件的代码。最后，对广播该事件的组件实例调用 UIEventDispatcher.addEventListener() 方法，以将侦听器注册到实例。当该实例调度该事件时，就会调用该侦听器。

有关事件对象的详细信息，请参阅事件对象。

范例

下面的范例向“输出”面板发送一条消息，指明已在哪个项目索引编号上滑过：

form.itemRollOver = function (eventObj) {
  trace("Item #" + eventObj.index + " has been rolled over.");
}
myList.addEventListener("itemRollOver", form);

另请参见

List.itemRollOut


List.labelField

可用性

Flash Player 6.0.79。

版本

Flash MX 2004。

用法

listInstance.labelField

描述

属性；指定每个项目中的一个字段用作显示文本。此属性会获得该字段的值，并将其用作标签。默认值为 "label"。

范例

下面范例将 labelField 属性设置为每个项目的 "name" 字段“Nina”将显示为第二行代码中添加的项目的标签：

list.labelField = "name";
list.addItem({name:"Nina", age: 25});

另请参见

List.labelFunction


List.labelFunction

可用性

Flash Player 6.0.79。

版本

Flash MX 2004。

用法

listInstance.labelFunction

描述

属性；指定一个函数用于决定要显示每个项目的哪个字段（或字段组合）。此函数会接收一个参数 item（该参数指示要被呈现的项目），并且必须返回一个表示要显示的文本的字符串。

范例

以下范例让标签显示项目的一些设置了格式的细节：

list.labelFunction = function(item){
  return "The price of product " + item.productID + ", " + item.productName + " is $"
  + item.price;
}

另请参见

List.labelField


List.length

可用性

Flash Player 6.0.79。

版本

Flash MX 2004。

用法

listInstance.length

描述

属性（只读）；列表中的项目数。

范例

下面范例将 length 的值放入一个变量中：

var len = myList.length;


List.maxHPosition

可用性

Flash Player 6.0.79。

版本

Flash MX 2004。

用法

listInstance.maxHPosition

描述

属性；指定当 List.hScrollPolicy 设置为 "on" 时，列表可以滚动的像素数。列表无法精确地测量所包含的文本的宽度。必须设置 maxHPosition 以指明列表需要的滚动量。如果不设置此属性，则列表将不水平滚动。

范例

以下范例创建了一个带 400 像素的可以水平滚动的列表：

myList.hScrollPolicy = "on";
myList.maxHPosition = 400;

另请参见

List.hScrollPolicy


List.multipleSelection

可用性

Flash Player 6.0.79。

版本

Flash MX 2004。

用法

listInstance.multipleSelection

描述

属性；指明是可以多选 (true) 还是只可以单选 (false)。默认值为 false。

范例

以下范例会进行测试，以确定是否可以选择多个项目：

if (myList.multipleSelection){
  // 此处是您的代码
}

以下范例允许列表进行多选：

myList.selectMultiple = true;


List.removeAll()

可用性

Flash Player 6.0.79。

版本

Flash MX 2004。

用法

listInstance.removeAll()

参数

无。

返回

无。

描述

方法；删除列表中的所有项目。

调用此方法会修改 List 组件的数据提供程序。如果与其他组件共享数据提供程序，那些组件也将会更新。

范例

下列代码会清除列表：

myList.removeAll();


List.removeItemAt()

可用性

Flash Player 6.0.79。

版本

Flash MX 2004。

用法

listInstance.removeItemAt(index)

参数

index 一个字符串，它指明新项目的标签。它是一个大于零但小于 List.length 的值。

返回

一个对象；已删除的项目（如果项目不存在，则它是未定义的）。

描述

方法；删除指定 index 位置处的项目。index 参数指明的索引后面的列表索引会折叠一项。

调用此方法会修改 List 组件的数据提供程序。如果与其他组件共享数据提供程序，那些组件也将会更新。

范例

下面的代码会删除在索引位置 3 的项目：

myList.removeItemAt(3);


List.replaceItemAt()

可用性

Flash Player 6.0.79。

版本

Flash MX 2004。

用法

listInstance.replaceItemAt(index, label[, data])
listInstance.replaceItemAt(index, itemObject)

参数

index 一个大于零且小于 List.length 的数字，指明要插入项目的位置（新项目的索引）。

label 一个字符串，它指明新项目的标签。

data 项目的数据。此参数是可选参数，它可以是任何类型。

itemObject。 用作项目的对象，通常含有 label 和 data 属性。

返回

无。

描述

方法；替换 index 参数指定的索引处的项目内容。

调用此方法会修改 List 组件的数据提供程序。如果与其他组件共享数据提供程序，那些组件也将会更新。

范例

以下范例更改了第四索引的位置：

myList.replaceItemAt(3, "new label");


List.rowCount

可用性

Flash Player 6.0.79。

版本

Flash MX 2004。

用法

listInstance.rowCount

描述

属性；列表中至少可以看到一部分的行数。如果您已经使用像素缩放了一个列表，但需要计算它的行数，则该属性很有用。相反，设置行数可以保证显示准确的行数，而不会在底部出现部分行。

代码 myList.rowCount = num 相当于代码 myList.setSize(myList.width, h)（其中 h 为显示 num 个项目所需的高度）。

默认值基于创作时设置的列表高度，或者由 list.setSize() 方法（请参阅 UIObject.setSize()）设置。

范例

以下范例会发现列表中的可以看到的项目数量：

var rowCount = myList.rowCount;

下面范例会使列表显示四个项目：

myList.rowCount = 4;

在本例会删除列表底部的部分行（如果存在部分行）：

myList.rowCount = myList.rowCount;

该范例将列表设置为它可以完整显示的最小行数：

myList.rowCount = 1;
trace("myList has "+myList.rowCount+" rows");


List.rowHeight

可用性

Flash Player 6.0.79。

版本

Flash MX 2004。

用法

listInstance.rowHeight

描述

属性；列表中每行的像素高度。字体设置不会增加行高以适应文字，因此设置 rowHeight 属性是确保项目完全显示的最佳方法。默认值为 20。

范例

以下范例将每行设置为 30 像素：

myList.rowHeight = 30;


List.scroll

可用性

Flash Player 6.0.79。

版本

Flash MX 2004。

用法

用法 1：

on(scroll){
  // 此处是您的代码
}

用法 2：

listenerObject = new Object();
listenerObject.scroll = function(eventObject){
  // 此处是您的代码
}
listInstance.addEventListener("scroll", listenerObject)

事件对象

除了标准的事件对象属性之外，scroll 事件还有另一个附加属性：direction。它是一个字符串，有两个可能的值："horizontal" 或 "vertical"。对于 ComboBox 滚动事件，该值始终是 "vertical"。

描述

事件；当列表滚动时，向所有已注册的侦听器广播。

第一个用法范例使用了一个 on() 处理函数，并且必须直接附加到一个 List 组件实例。附加到组件的 on() 处理函数内部使用的关键字 this 是指该组件实例。例如，以下代码附加到 List 实例 myList 上，它将“_level0.myList”发送到“输出”面板：

on(scroll){
  trace(this);
}

第二个用法范例使用一个调度程序/侦听器事件模型。组件实例 (listInstance) 调度一个事件（在本例中为 scroll），而该事件由附加到您创建的侦听器对象 (listenerObject) 的函数处理。您定义一个与侦听器对象上的事件同名的方法；当该事件被触发时，就会调用该方法。该事件被触发时，它会自动将一个事件对象 (eventObject) 传递到侦听器对象方法。每个事件对象都有一组属性，这些属性包含有关该事件的信息。您可以使用这些属性来编写处理该事件的代码。最后，对广播该事件的组件实例调用 UIEventDispatcher.addEventListener() 方法，以将侦听器注册到实例。当该实例调度该事件时，就会调用该侦听器。

有关事件对象的详细信息，请参阅事件对象。

范例

下面的范例将生成 change 事件的组件的实例名称发送到“输出”面板：

form.scroll = function(eventObj){
  trace("list scrolled");
}
myList.addEventListener("scroll", form);


List.selectable

可用性

Flash Player 6.0.79。

版本

Flash MX 2004。

用法

listInstance.selectable

描述

属性；一个指明列表是 (true) 否 (false) 为可选列表的布尔值。默认值为 true。


List.selectedIndex

可用性

Flash Player 6.0.79。

版本

Flash MX 2004。

用法

listInstance.selectedIndex

描述

属性；单选列表的已选择索引。如果没有选中任何内容，则该值是未定义的；如果有多项所选内容，则该值等于最后选中的项目。如果您为 selectedIndex 分配一个值，就会清除当前所做任何选择，并且会选中所指明的项目。

范例

在本例将选择当前所选项目之后的项目。如果没有可选择的项目，则选择项目 0，如下所示：

var selIndex = myList.selectedIndex;
myList.selectedIndex = (selIndex==undefined ?0 : selIndex+1);

另请参见

List.selectedIndices, List.selectedItem, List.selectedItems


List.selectedIndices

可用性

Flash Player 6.0.79。

版本

Flash MX 2004。

用法

listInstance.selectedIndices

描述

属性；所选项目的索引数组。指定此属性将替换当前选择。将 selectedIndices 设置为 0 长度数组（或未定义的）将清除当前选择。如果没有可选择的项目，则无法定义该值。

selectedIndices 属性以项目的选择顺序列出。如果您单击第二个项目，再单击第三个项目，然后单击第一个项目，则 selectedIndices 将返回 [1,2,0]。

范例

以下范例将获取所选的索引：

var selIndices = myList.selectedIndices;

以下范例选择了四个项目：

var myArray = new Array (1,4,5,7);
myList.selectedIndices = myArray;

另请参见

List.selectedIndex, List.selectedItem, List.selectedItems


List.selectedItem

可用性

Flash Player 6.0.79。

版本

Flash MX 2004。

用法

listInstance.selectedItem

描述

属性（只读）；单选列表中的项目对象。（在有多个选中项目的多选列表中，selectedItem 将返回最近选中的项目。）如果没有所选内容，则该值是未定义的。

范例

在本例将显示选中的标签：

trace(myList.selectedItem.label);

另请参见

List.selectedIndex, List.selectedIndices, List.selectedItems


List.selectedItems

可用性

Flash Player 6.0.79。

版本

Flash MX 2004。

用法

listInstance.selectedItems

描述

属性（只读）；所选项目对象组成的数组。在多选列表中，selectedItems 允许您以项目对象的形式访问选中的项目组。

范例

以下范例会获取一个所选项目对象的数组：

var myObjArray = myList.selectedItems;

另请参见

List.selectedIndex, List.selectedItem, List.selectedIndices


List.setPropertiesAt()

可用性

Flash Player 6.0.79。

版本

Flash MX 2004。

用法

listInstance.setPropertiesAt(index, styleObj)

参数

index 一个大于零且小于 List.length 的数字，它指明要更改的项目的索引。

styleObj 一个对象，它枚举要设置的属性和值。

返回

无。

描述

方法；将 styleObj 参数指定的属性应用到 index 参数指定的项目。受支持的属性为 icon 和 backgroundColor。

范例

以下范例会将第四个项目更改为黑色，并为它指定一个图标：

myList.setPropertiesAt(3, {backgroundColor:0x000000, icon:"file"});


List.sortItems()

可用性

Flash Player 6.0.79。

版本

Flash MX 2004。

用法

listInstance.sortItems(compareFunc)

参数

compareFunc 引用一个函数。此函数用于比较两个项目，以确定它们的排序顺序。

有关详细信息，请参阅“动作脚本字典”帮助中的 Array.sort()。

返回

在其位置添加了项目的索引。

描述

方法；根据 compareFunc 参数对列表中的项目进行排序。

范例

以下范例基于大写标签对项目进行排序。请注意，传递给函数的参数 a 和 b 指示具有 label 和 data 属性的项目：

myList.sortItems(upperCaseFunc);
function upperCaseFunc(a,b){
    return a.label.toUpperCase() > b.label.toUpperCase();
}

另请参见

List.sortItemsBy()


List.sortItemsBy()

可用性

Flash Player 6.0.79。

版本

Flash MX 2004。

用法

listInstance.sortItemsBy(fieldName, order)

参数

fieldName 指定用于排序的属性名称的字符串。通常情况下，该值为 "label" 或 "data"。

order 一个字符串，指定是以升序 ("ASC") 还是以降序 ("DESC") 对项目进行排序。

返回

无。

描述

方法；按字母或数值次序、以指定的顺序、根据指定的 fieldName 对列表中的项目进行排序。如果 fieldName 项目既包括文本字符串项也包括整数项，则首先列出整数项。通常情况下，fieldName 参数为 "label" 或 "data"，但您可以指定任何原始数据值。

范例

下列代码根据列表项的标签、以升序对列表 surnameMenu 中的项目进行排序：

surnameMenu.sortItemsBy("label", "ASC");

另请参见

List.sortItems()


List.vPosition

可用性

Flash Player 6.0.79。

版本

Flash MX 2004。

用法

listInstance.vPosition

描述

属性；滚动列表以便索引成为可以最先看到的项目。如果索引超出了边框，则转到离边框最近的边框内的索引。默认值为 0。

范例

以下范例将列表位置设置为第一个索引项目：

myList.vPosition = 0;


List.vScrollPolicy

可用性

Flash Player 6.0.79。

版本

Flash MX 2004。

用法

listInstance.vScrollPolicy

描述

属性；一个字符串，确定列表是否支持垂直滚动。该属性可以是下列值之一："on"、"off" 或 "auto"。值 "auto" 指定在需要时显示滚动条。

范例

以下范例将禁用滚动条：

myList.vScrollPolicy = "off";

您仍然可以通过使用 List.vPosition 创建滚动功能。

另请参见

List.vPosition


关于 Loader 组件

Loader 组件是一个容器，它可以显示 SWF 或 JPEG。您可以缩放加载器的内容，或者调整加载器自身的大小来匹配内容的大小。默认情况下，缩放内容要适合 Loader 的大小。您也可以在运行时加载内容，并监视加载进度。

Loader 组件不能接收焦点。但是，Loader 组件中加载的内容可以接受焦点，并且可以有自己的焦点交互操作。有关控制焦点的详细信息，请参阅创建自定义焦点导航或FocusManager 类。

每个 Loader 实例的实时预览反映了创作时在属性检查器或“组件检查器”面板中对参数所做的更改。

可以启用加载到 Loader 组件中的内容来使用辅助功能。如果启用了，可以使用“辅助功能”面板以使屏幕读取程序可以访问内容。有关详细信息，请参阅创建辅助内容。


使用 Loader 组件

当需要从一个远程位置获取内容并将其拖到“Flash”应用程序中时，您可以使用加载器。例如，您可以使用加载器将公司徽标（JPEG 文件）添加到表单。您也可以使用加载器来继承并利用已经完成的 Flash 作品。例如，如果您已经创建了一个 Flash 应用程序，但想扩展该应用程序，可以使用加载器将旧的应用程序拖到新应用程序中，或者将旧应用程序作为某个选项卡界面的一部分。再例如，您可以在显示相片的应用程序中使用加载器组件。使用 Loader.load()、Loader.percentLoaded 和 Loader.complete 可以在加载期间控制图像加载的计时，并为用户显示进度栏。

Loader 组件参数

以下是您可以在属性检查器中或在“组件检查器”面板中为每个 Loader 组件设置的创作参数：

autoload 指明内容是应该自动加载 (true)，还是应该等到调用 Loader.load() 方法时再进行加载 (false)。默认值为 true。

content 一个绝对或相对的 URL，指明要加载到加载器的文件。相对路径必须是相对于加载内容的 SWF 的路径。该 URL 必须与 Flash 内容当前驻留的 URL 在同一子域中。为了在独立的 Flash Player 中使用 SWF 文件，或者在影片测试模式下测试 SWF 文件，必须将所有 SWF 文件存储在同一文件夹中，并且其文件名不能包含文件夹或磁盘驱动器说明。默认值要在开始加载后才定义。

scaleContent 指明是内容缩放以适应加载器 (true)，还是加载器进行缩放以适应内容 (false)。默认值为 true。

您可以使用 Loader 实例的方法、属性和事件来编写动作脚本，以为其设置其他选项。有关详细信息，请参阅 Loader 类。

创建具有 Loader 组件的应用程序

以下过程解释了如何在创作时将 Loader 组件添加到应用程序。在本例中，加载器将从一个虚拟的 URL 中加载一个徽标 JPEG。

要创建具有 Loader 组件的应用程序，请执行以下操作：

  1. 将 Loader 组件从“组件”面板上拖到舞台上。
  2. 在舞台上选择加载器，然后使用“任意变形”工具将其调整到公司徽标的尺寸。
  3. 在属性检查器中，输入实例名称 logo。
  4. 选择舞台上的加载器，在“组件检查器”面板中执行以下操作：
    • 为 contentPath 参数输入 http://corp.com/websites/logo/corplogo.jpg。


自定义 Loader 组件

在创作时和在运行时，都可以在水平和垂直方向上改变 Loader 组件的形状。在创作时，在舞台上选择组件并使用“任意变形”工具或任何“修改”>“变形”命令。在运行时，使用 setSize() 方法（请参阅UIObject.setSize()）。

Loader 组件的调整大小的行为由 scaleContent 属性控制。当 scaleContent = true 时，内容会缩放以适合加载器的边界（当调用 UIObject.setSize() 时，重新进行缩放）。当属性为 scaleContent = false 时，组件的大小固定为内容的大小，而 UIObject.setSize() 方法将无效。

使用具有 Loader 组件的样式

Loader 组件不使用样式。

使用具有 Loader 组件的外观

Loader 组件使用 RectBorder，该 RectBorder 使用动作脚本绘制 API。可以使用 setStyle() 方法（请参阅 UIObject.setStyle()）更改下列 RectBorder 样式属性：

RectBorder 样式
borderColor
highlightColor
borderColor
shadowColor
borderCapColor
shadowCapColor
shadowCapColor
borderCapColor

这些样式属性设置边框上的下列位置：


Loader 类

继承 UIObject > UIComponent > View > Loader

动作脚本类命名空间 mx.controls.Loader

Loader 类的属性允许您设置要加载的内容并在运行时监视它的加载进程。

使用“动作脚本”设置 Loader 类的属性会覆盖在属性检查器中或在“组件检查器”面板中设置的同名参数。

有关详细信息，请参阅创建自定义焦点导航。

每个组件类都有一个 version 属性，该属性是一个类属性。类属性只能用于该类本身。version 属性会返回一个字符串，该字符串指明组件的版本。要访问 version 属性，请使用以下代码：

trace(mx.controls.Loader.version);

注意：下面的代码返回未定义的：trace(myLoaderInstance.version);。

Loader 类的方法摘要

方法 | 描述
Loader.load()> | 加载由 contentPath 属性指定的内容。

继承 UIObject 类和 UIComponent 类中的所有方法。

Loader 类的属性摘要

属性 | 描述
Loader.autoLoad | 一个布尔值，指明内容会自动加载 (true) 还是您必须调用 Loader.load()> 才进行加载 (false)。
Loader.bytesLoaded | 只读属性，指明已经加载的字节数。
Loader.bytesTotal | 指明内容中的总字节数的只读属性。
Loader.content | 引用由 Loader.contentPath> 属性指定的内容。该属性为只读。
Loader.contentPath | 一个字符串，它指明要加载的内容的 URL。
Loader.percentLoaded | 一个数字，它指明已加载内容的百分比。该属性为只读。
Loader.scaleContent | 一个布尔值，它指明是内容会进行缩放以适合加载器 ( true)，还是加载器会进行缩放以适合内容 (false)。

继承 UIObject 类和 UIComponent 类的所有属性。

Loader 类的事件摘要

事件 | 描述
Loader.complete | 当内容加载完成时触发。
Loader.progress | 在内容加载过程中触发。

继承 UIObject 类和 UIComponent 类的所有属性


Loader.autoLoad

可用性

Flash Player 6.0.79。

版本

Flash MX 2004。

用法

loaderInstance.autoLoad

描述

属性；一个布尔值，它指明是自动加载内容 (true)，还是等到调用 Loader.load() 才加载内容(false)。默认值为 true。

范例

下列代码将 loader 组件设置为等待 Loader.load() 调用：

loader.autoload = false;


Loader.bytesLoaded

可用性

Flash Player 6.0.79。

版本

Flash MX 2004。

用法

loaderInstance.bytesLoaded

描述

属性（只读）；已经加载的内容的字节数目。在开始加载内容之前，默认值为 0。

范例

以下代码创建一个 ProgressBar 和一个 Loader 组件。然后，它创建一个具有 progress 事件处理函数的侦听器对象，该事件处理函数会显示加载的进程。侦听器注册到 loader 实例，如下所示：

createClassObject(mx.controls.ProgressBar, "pBar", 0);
createClassObject(mx.controls.Loader, "loader", 1);
loadListener = new Object();
loadListener.progress = function(eventObj){
  // eventObj.target 是生成 change 事件的组件，
  // 即 Loader。
  pBar.setProgress(loader.bytesLoaded, loader.bytesTotal); // 显示进程
}
loader.addEventListener("progress", loadListener);
loader.content = "logo.swf";

用 createClassObject() 方法创建实例时，必须用 move() 和 setSize() 方法将其放置在舞台上。请参阅 UIObject.move() 和 UIObject.setSize()。

另请参见

Loader.bytesTotal , UIObject.createClassObject()


Loader.bytesTotal

可用性

Flash Player 6.0.79。

版本

Flash MX 2004。

用法

loaderInstance.bytesTotal

描述

属性（只读）；内容的大小，以字节为单位。在内容开始加载前，默认值为 0。

范例

以下代码创建一个 ProgressBar 和一个 Loader 组件。然后，它创建一个具有 progress 事件处理函数的 load 侦听器对象，该事件处理函数会显示加载的进程。侦听器与 loader 实例一起注册，如下所示：

createClassObject(mx.controls.ProgressBar, "pBar", 0);
createClassObject(mx.controls.Loader, "loader", 1);
loadListener = new Object();
loadListener.progress = function(eventObj){
  // eventObj.target 是生成 change 事件的组件，
  // 即 Loader。
  pBar.setProgress(loader.bytesLoaded, loader.bytesTotal); // 显示进程
}
loader.addEventListener("progress", loadListener);
loader.content = "logo.swf";

另请参见

Loader.bytesLoaded


Loader.complete

可用性

Flash Player 6.0.79。

版本

Flash MX 2004。

用法

用法 1：

on(complete){
  ...
}

用法 2：

listenerObject = new Object();
listenerObject.complete = function(eventObject){
  ...
}
loaderInstance.addEventListener("complete", listenerObject)

描述

事件；当加载完内容时向所有已注册的侦听器广播。

第一个用法范例使用一个 on() 处理函数，并且必须直接附加到一个 Loader 组件实例。附加到组件的 on() 处理函数内部使用的关键字 this 是指该组件实例。例如，以下代码附加到 Loader 组件实例 myLoaderComponent，它将“_level0.myLoaderComponent”发送到“输出”面板：

on(complete){
  trace(this);
}

第二个用法范例使用一个调度程序/侦听器事件模型。组件实例 (loaderInstance) 调度一个事件（在本例中为 complete），而该事件由附加到您创建的侦听器对象 (listenerObject) 的函数处理。您定义一个与侦听器对象上的事件同名的方法；当该事件被触发时，就会调用该方法。该事件被触发时，它会自动将一个事件对象 (eventObject) 传递到侦听器对象方法。每个事件对象都有一组属性，这些属性包含有关该事件的信息。您可以使用这些属性来编写处理该事件的代码。最后，对广播该事件的组件实例调用 UIEventDispatcher.addEventListener() 方法，以将侦听器注册到实例。当该实例调度该事件时，就会调用该侦听器。

有关事件对象的详细信息，请参阅事件对象。

范例

以下范例创建一个 Loader 组件，然后定义一个带有 complete 事件处理函数的侦听器对象，该事件处理函数将 loader 的 visible 属性设置为 true：

createClassObject(mx.controls.Loader, "loader", 0);
loadListener = new Object();
loadListener.complete = function(eventObj){
  loader.visible = true;
}
loader.addEventListener("complete", loadListener);S
loader.contentPath = "logo.swf";


Loader.content

可用性

Flash Player 6.0.79。

版本

Flash MX 2004。

用法

loaderInstance.content

描述

属性（只读）；对加载器内容的引用。到加载开始时才会定义该值。

另请参见

Loader.contentPath


Loader.contentPath

可用性

Flash Player 6.0.79。

版本

Flash MX 2004。

用法

loaderInstance.contentPath

描述

属性；一个字符串，指明要加载到 loader 中的文件的绝对 URL 或相对 URL。相对路径必须相对于加载内容的 SWF。该 URL 必须与作为加载 SWF 的 URL 在同一子域中。

如果您要使用独立的 Flash Player，或者在 Flash 中使用测试影片模式，必须将所有 SWF 文件存储在同一文件夹中，并且其文件名不能包含文件夹或磁盘驱动器信息。

范例

以下范例指示 loader 实例显示“logo.swf”文件的内容：

loader.contentPath = "logo.swf";


Loader.load()

可用性

Flash Player 6.0.79。

版本

Flash MX 2004。

用法

loaderInstance.load(path)

参数

path 可选参数，指定在开始加载之前 contentPath 属性的值。如果未指定值，则使用 contentPath 的当前值。

返回

无。

描述

方法；指示 loader 开始加载其内容。

范例

以下代码创建一个 Loader 实例并将 autoload 属性设置为 false，这样加载器必须等待调用 load() 方法时才能开始加载内容。然后，它调用 load() 并指明要加载的内容：

createClassObject(mx.controls.Loader, "loader", 0);
loader.autoload = false;
loader.load("logo.swf");


Loader.percentLoaded

可用性

Flash Player 6.0.79。

版本

Flash MX 2004。

用法

loaderInstance.percentLoaded

描述

属性（只读）；一个数字，指明已加载内容的百分比。通常，使用该属性是为了以一种易于阅读的形式向用户展示进程。使用以下代码将数字舍入为最接近的整数：

Math.round(bytesLoaded/bytesTotal*100))

范例

以下范例创建一个 Loader 实例，然后创建一个带有进程处理函数的侦听器对象，该处理函数跟踪加载的百分比并将其发送到“输出”面板：

createClassObject(Loader, "loader", 0);
loadListener = new Object();
loadListener.progress = function(eventObj){
  // eventObj.target 是生成 change 事件的组件，
  // 即 Loader。
  trace("logo.swf is " + loader.percentLoaded + "% loaded."); // 跟踪加载进程
}
loader.addEventListener("complete", loadListener);
loader.content = "logo.swf";


Loader.progress

可用性

Flash Player 6.0.79。

版本

Flash MX 2004。

用法

用法 1：

on(progress){
  ...
}

用法 2：

listenerObject = new Object();
listenerObject.progress = function(eventObject){
  ...
}
loaderInstance.addEventListener("progress", listenerObject)

描述

事件；在加载内容时向所有已注册的侦听器广播。当 autoload 参数或对 Loader.load() 的调用触发加载操作时，触发该事件。progress 事件并不会始终广播。complete 事件可以在没有调度任何 progress 事件的情况下广播。如果加载的内容是本地文件，尤其会出现这种情况。

第一个用法范例使用一个 on() 处理函数，并且必须直接附加到一个 Loader 组件实例。附加到组件的 on() 处理函数内部使用的关键字 this 是指该组件实例。例如，以下代码附加到 Loader 组件实例 myLoaderComponent，它将“_level0.myLoaderComponent”发送到“输出”面板：

on(progress){
  trace(this);
}

第二个用法范例使用一个调度程序/侦听器事件模型。组件实例 (loaderInstance) 调度一个事件（在本例中为 progress），而该事件由附加到您创建的侦听器对象 (listenerObject) 的函数处理。您定义一个与侦听器对象上的事件同名的方法；当该事件被触发时，就会调用该方法。该事件被触发时，它会自动将一个事件对象 (eventObject) 传递到侦听器对象方法。每个事件对象都有一组属性，这些属性包含有关该事件的信息。您可以使用这些属性来编写处理该事件的代码。最后，对广播该事件的组件实例调用 UIEventDispatcher.addEventListener() 方法，以将侦听器注册到实例。当该实例调度该事件时，就会调用该侦听器。

有关事件对象的详细信息，请参阅事件对象。

范例

以下代码创建一个 Loader 实例，然后为 progress 事件创建一个带有事件处理函数的侦听器对象，该处理函数会将一条关于已加载内容的百分比的消息发送到“输出”面板：

createClassObject(mx.controls.Loader, "loader", 0);
loadListener = new Object();
loadListener.progress = function(eventObj){
  // eventObj.target 是生成 change 事件的组件，
  // 即 Loader。
  trace("logo.swf is " + loader.percentLoaded + "% loaded."); // 跟踪加载进程
}
loader.addEventListener("progress", loadListener);
loader.contentPath = "logo.swf";


Loader.scaleContent

可用性

Flash Player 6.0.79。

版本

Flash MX 2004。

用法

loaderInstance.scaleContent

描述

属性；指明是内容进行缩放以适应加载器 (true) 还是加载器进行缩放以适应内容 (false)。默认值为 true。

范例

以下代码指示加载器调整自身的大小以匹配内容的大小：

loader.strechContent = false;


关于 NumericStepper 组件

NumericStepper 组件允许用户逐个通过一组经过排序的数字。该组件由显示在小上下箭头按钮旁边的数字组成。用户按下这些按钮时，数字将逐渐增大或减小。如果用户单击其中任一箭头按钮，数字将根据 stepSize 参数的值增大或减小，直到用户松开鼠标按钮或达到最大/最小值为止。

NumericStepper 只处理数值数据。此外，要显示两个以上的数值位置（例如，数字 5246 或 1.34），您在创作时必须调整步进器的大小。

在应用程序中，可以启用或禁用步进器。在禁用状态下，步进器不接收鼠标或键盘输入。如果您单击或按 Tab 键切换到启用的步进器，则它将接收焦点并且其内部焦点会设置为文本框。当 NumericStepper 实例有焦点时，您可以使用以下按键来控制它：

按键 | 描述
向下箭头 | 值一次变化一个单位。
向左箭头 | 在文本框中将插入点移动到左侧。
向右箭头 | 在文本框中将插入点移动到右侧。
Shift + Tab | 将焦点移到前一个对象。
Tab 键 | 将焦点移到下一个对象。
向上箭头 | 值一次变化一个单位。

有关控制焦点的详细信息，请参阅创建自定义焦点导航或FocusManager 类。

每个步进器实例的实时预览会反映创作过程中属性检查器或“组件检查器”面板指明的值参数的值。但是，在实时预览中，鼠标或键盘与步进器按钮之间不能进行交互操作。

将 NumericStepper 组件添加到应用程序时，可以使用“辅助功能”面板使其可由屏幕读取器访问。首先，您必须添加以下代码行来启用辅助功能：

mx.accessibility.NumericStepperAccImpl.enableAccessibility();

不管一个组件有多少实例，都只对其启用一次辅助功能。有关详细信息，请参阅创建辅助内容。


使用 NumericStepper 组件

NumericStepper 可用于任何您想让用户选择数值的场合。例如，您可以在表格中使用 NumericStepper 组件来允许用户设置信用卡到期时间。另一个范例是可以使用 NumericStepper 组件来允许用户改变字体大小。

NumericStepper 参数

以下是您可以在属性检查器中或在“组件检查器”面板中为每个 NumericStepper 组件设置的创作参数：

value 设置当前步进的值。默认值为 0。

minimum 设置步进的最小值。默认值为 0。

maximum 设置步进的最大值。默认值为 10。

stepSize 设置步进的变化单位。默认值为 1。

您可以编写动作脚本，通过利用 NumericStepper 的属性、方法和事件来控制它的这些选项以及其他选项。有关详细信息，请参阅 NumericStepper 类。

创建具有 NumericStepper 组件的应用程序

以下过程解释了如何在创作时将 NumericStepper 组件添加到应用程序。在该范例中，步进器允许用户从 0-5 星级的影片中选择一个影片，增量为半个星。

要创建具有 Button 组件的应用程序，请执行以下操作：

  1. 将 NumericStepper 组件从“组件”面板拖到舞台上。
  2. 在属性检查器中，输入实例名称 starStepper。
  3. 在属性检查器中，执行以下操作：
    • 输入 0 作为最小参数。
    • 输入 5 作为最大参数。
    • 输入 .5 作为 stepSize 参数。
    • 输入 0 作为参数的值。
  4. 在时间轴中选择第一帧，打开“动作”面板，然后输入以下代码：
    movieRate = new Object();
movieRate.change = function (eventObject){
  starChart.value = eventObject.target.value;
}
starStepper.addEventListener("change", movieRate);

    最后一行代码将 change 事件处理函数添加到 starStepper 实例。该处理函数会设置 starChart 影片剪辑，以显示由 starStepper 实例指明的星级。（要查看此代码的运行效果，您必须创建一个具有 value 属性（该属性显示星级）的 starChart 影片剪辑。）


自定义 NumericStepper 组件

在创作过程中以及在运行时，您都可以在水平和垂直方向上改变 NumericStepper 组件的形状。在创作时，在舞台上选择组件并使用“任意变形”工具或任何“修改”>“变形”命令。在运行时，使用 setSize() 方法（请参阅 UIObject.setSize()）或任何适用的 NumericStepper 类的属性和方法。请参阅 NumericStepper 类。

调整 NumericStepper 组件的大小不会改变上下箭头按钮的大小。如果将步进器的大小调整为大于默认的高度，则该步进器的按钮将被固定在组件的顶部或底部。 步进器按钮会始终出现在文本框的右侧。

对 NumericStepper 组件使用样式

您可以设置样式属性以更改步进器实例的外观。如果样式属性的名称以“Color”结尾，则它是颜色样式属性，并且行为与非颜色样式属性不同。有关详细信息，请参阅使用样式自定义组件的颜色和文本。

NumericStepper 组件支持下列光晕样式：

样式 | 描述
themeColor | 组件的背景。这是唯一不继承样式值的颜色样式。可能的值包括“haloGreen”、“haloBlue”和“haloOrange”。
color | 组件标签的文本。
disabledColor | 禁用的文本颜色。
fontFamily | 文本的字体名称。
fontSize | 字体的磅值。
fontStyle | 字体样式；“常规”或“斜体”。
fontWeight | 字体粗细；“常规”或“粗体”。
textDecoration | 文本修饰；“无”或“下划线”。
textAlign | 文本对齐方式；“左”、“右”或“居中”。

对 NumericStepper 组件使用外观

NumericStepper 组件会使用外观来表现其视觉效果。要在创作时设置 NumericStepper 组件的外观，请在库中修改外观元件并将组件作为 SWC 重新导出。外观元件位于库中的 Flash UI Components 2/Themes/MMDefault/Stepper Elements/states 文件夹中。有关详细信息，请参阅关于设置组件外观。

如果启用了步进器，当指针移到向上按钮和向下按钮的上方时，这些按钮会显示其悬停状态。这些按钮在被单击后时，会显示为按下状态。当松开鼠标后，这些按钮又会返回其悬停状态。如果鼠标按下时指针移离按钮，按钮会恢复到其原始状态。

如果禁用了步进器，不论用户进行什么交互操作，它都会显示其禁用状态。

NumericStepper 组件使用以下外观属性：

属性 | 描述
upArrowUp | 向上箭头的弹起状态。默认值为 StepUpArrowUp。
upArrowDown | 向上箭头的按下状态。默认值为 StepUpArrowDown。
upArrowOver | 向上箭头的悬停状态。默认值为 StepUpArrowOver。
upArrowDisabled | 向上箭头的禁用状态。默认值为 StepUpArrowDisabled。
downArrowUp | 向下箭头的弹起状态。默认值为 StepDownArrowUp。
downArrowDown | 向下箭头的按下状态。默认值为 StepDownArrowDown。
downArrowOver | 向下箭头的悬停状态。默认值为 StepDownArrowOver。
downArrowDisabled | 向下箭头的禁用状态。默认值为 StepDownArrowDisabled。


NumericStepper 类

继承 UIObject > UIComponent > NumericStepper

动作脚本类名称 mx.controls.NumericStepper

NumericStepper 类属性允许您添加最大或最小的步长值、每一步长的单位数量以及运行时该步长的当前值。

使用“动作脚本”设置 NumericStepper 类的属性会覆盖在属性检查器或“组件检查器”面板中设置的同名参数。

NumericStepper 组件会使用 FocusManager 覆盖默认的 Flash Player 焦点矩形，并画出一个带有圆角的自定义焦点矩形。有关详细信息，请参阅创建自定义焦点导航。

每个组件类都有一个 version 属性，该属性是一个类属性。类属性只能用于该类本身。version 属性会返回一个字符串，该字符串指明组件的版本。要访问 version 属性，请使用以下代码：

trace(mx.controls.NumericStepper.version);

注意：下面的代码返回未定义的：trace(myNumericStepperInstance.version);。

NumericStepper 类的方法摘要

继承 UIObject 类和 UIComponent 类的所有属性。

NumericStepper 类的属性摘要

属性 | 描述
NumericStepper.maximum | 一个指明最大范围值的数字。
NumericStepper.minimum | 一个指明最小范围值的数字。
NumericStepper.nextValue | 一个指明下一个连续值的数字。该属性为只读。
NumericStepper.previousValue | 一个指明前一个连续值的数字。该属性为只读。
NumericStepper.stepSize | 一个显示每一步长的变化单位的数字。
NumericStepper.value | 一个显示步进器当前值的数字。

继承 UIObject 类和 UIComponent 类的所有属性。

NumericStepper 类的事件摘要

事件 | 描述
NumericStepper.change | 当步长的值更改时触发。

继承 UIObject 类和 UIComponent 类的所有属性。


NumericStepper.change

可用性

Flash Player 6.0.79。

版本

Flash MX 2004。

用法

用法 1：

on(click){
  ...
}

用法 2：

listenerObject = new Object();
listenerObject.change = function(eventObject){
  ...
}
stepperInstance.addEventListener("change", listenerObject)

描述

事件；当步进器的值更改时向所有已注册的侦听器广播。

第一个用法范例使用一个 on() 处理函数，并且必须直接附加到一个 NumericStepper 组件实例。附加到组件的 on() 处理函数内部使用的关键字 this 是指该组件实例。例如，下列代码附加到步进器 myStepper，它将“_level0.myStepper”发送到“输出”面板：

on(click){
  trace(this);
}

第二个用法范例使用一个调度程序/侦听器事件模型。组件实例 (stepperInstance) 调度一个事件（在本例中为 change），而该事件由附加到您创建的侦听器对象 (listenerObject) 的函数处理。您定义一个与侦听器对象上的事件同名的方法；当该事件被触发时，就会调用该方法。该事件被触发时，它会自动将一个事件对象 (eventObject) 传递到侦听器对象方法。每个事件对象都有一组属性，这些属性包含有关该事件的信息。您可以使用这些属性来编写处理该事件的代码。最后，对广播该事件的组件实例调用 UIEventDispatcher.addEventListener() 方法，以将侦听器注册到实例。当该实例调度该事件时，就会调用该侦听器。

有关事件对象的详细信息，请参阅事件对象。

范例

此范例是在时间轴上的某一帧上编写的，它会在一个名为 myNumericStepper 的步进器发生更改时向“输出”面板发送一条消息。代码的第一行创建一个名为 form 的侦听器对象。第二行代码为侦听器对象的 change 事件定义一个函数。该函数内部有一个 trace 动作，它使用自动传递到该函数的事件对象（在本例中是 eventObj）来生成消息。事件对象的 target 属性是生成该事件的组件，在这个范例中是 myNumericStepper。从事件对象的 target 属性中可以访问 NumericStepper.value 属性。最后一行从 myNumericStepper 调用 UIEventDispatcher.addEventListener() 方法，并把 change 事件和 form 侦听器对象作为参数传递给该方法，如下所示：

form = new Object();
form.change = function(eventObj){
  // eventObj.target 是生成 change 事件的组件，
  // 即，“数字步进器”。
  trace("Value changed to " + eventObj.target.value);
}
myNumericStepper.addEventListener("change", form);


NumericStepper.maximum

可用性

Flash Player 6.0.79。

版本

Flash MX 2004。

用法

stepperInstance.maximum

描述

属性；步进器的最大范围值。此属性可能包含一个最多可达三位的十进制数字。默认值为 10。

范例

下面的范例设置步进器范围的最大值为 20：

myStepper.maximum = 20;

另请参见

NumericStepper.minimum


NumericStepper.minimum

可用性

Flash Player 6.0.79。

版本

Flash MX 2004。

用法

stepperInstance.minimum

描述

属性；步进器的最小范围值。此属性可能包含一个最多可达三位的十进制数字。默认值为 0。

范例

下面的范例设置步进器范围的最小值为 100：

myStepper.minimum = 100;

另请参见

NumericStepper.maximum


NumericStepper.nextValue

可用性

Flash Player 6.0.79。

版本

Flash MX 2004。

用法

stepperInstance.nextValue

描述

属性（只读），下一个连续的值。此属性可能包含一个最多可达三位的十进制数字。

范例

以下范例将 stepSize 属性设置为 1、初始值设置为 4，这样就会使 previousValue 的值为 5：

myStepper.stepSize = 1;
myStepper.value = 4;
trace(myStepper.nextValue);

另请参见

NumericStepper.previousValue


NumericStepper.previousValue

可用性

Flash Player 6.0.79。

版本

Flash MX 2004。

用法

stepperInstance.previousValue

描述

属性（只读），前一个连续的值。此属性可能包含一个最多可达三位的十进制数字。

范例

以下范例将 stepSize 属性设置为 1、初始值设置为 4，这样就会使 previousValue 的值为 3：

myStepper.stepSize = 1;
myStepper.value = 4;
trace(myStepper.previousValue);

另请参见

NumericStepper.nextValue


NumericStepper.stepSize

可用性

Flash Player 6.0.79。

版本

Flash MX 2004。

用法

stepperInstance.stepSize

描述

属性；要从当前值改变的单位数量。默认值为 1，该值不能为 0。该属性可以包含一个带最多三位十进制的数字。

范例

下面的范例将当前的 value 设置为 2，stepSize 单位设置为 2，则 nextValue 的值为 4：

myStepper.value = 2;
myStepper.stepSize = 2;
trace(myStepper.nextValue);


NumericStepper.value

可用性

Flash Player 6.0.79。

版本

Flash MX 2004。

用法

stepperInstance.value

描述

属性；步进器的文本区域显示的当前值。如果该值与 stepSize 属性中定义的步进器的范围和步进增量不符，将不被赋值。此属性可能包含一个最多可达三位的十进制数字。

范例

下面的范例将步进器的当前 value 设置为 10，并将该值发送到“输出”面板：

myStepper.value = 10;
trace(myStepper.value);


关于 PopUp 管理器类

动作脚本类命名空间 mx.managers.PopUpManager

PopUpManager 类允许您创建模式的或非模式的重叠窗口。（模式窗口在处于活动状态时不允许与其他窗口进行交互操作。）您可以调用 PopUpManager.createPopUp() 来创建重叠窗口，也可以对窗口实例调用 PopUpManager.deletePopUp() 来破坏弹出窗口。

PopUpManager 类的方法摘要

事件 | 描述
PopUpManager.createPopUp()> | 创建弹出窗口。
PopUpManager.deletePopUp()> | 删除由对 PopUpManager.createPopUp()> 的调用创建的弹出窗口。


PopUpManager.createPopUp()

可用性

Flash Player 6.0.79。

版本

Flash MX 2004 和 Flash MX Professional 2004。

用法

PopUpManager.createPopUp(parent, class, modal [, initobj, outsideEvents])

参数

parent 一个引用，引用弹出窗口所在的窗口。

class 一个引用，引用要创建的对象的类。

modal 一个布尔值，它表明该窗口是 (true) 否 (false) 是模式的。

initobj 一个包含初始化属性的对象。此参数是可选的。

outsideEvents 一个布尔值，指明在用户单击窗口以外的区域时是 (true) 否 (false) 触发事件。此参数是可选的。

返回

一个引用，引用所创建的窗口。

说明

方法；如果为模式窗口，对 createPopUp() 的调用会找到以父级开始的最顶层的父窗口，然后创建一个类的实例。如果是非模式的，对 createPopUp() 的调用会创建一个类的实例作为父窗口的子窗口。

示例

下面的代码在单击按钮时创建一个模式窗口：

lo = new Object();
lo.click = function(){
  mx.managers.PopUpManager.createPopUp(_root, mx.containers.Window, true);
}
button.addEventListener("click", lo);


PopUpManager.deletePopUp()

可用性

Flash Player 6.0.79。

版本

Flash MX 2004 和 Flash MX Professional 2004。

用法

windowInstance.deletePopUp();

参数

无。

返回

无。

说明

方法；删除一个弹出窗口并移除模式状态。当窗口被破坏时，被重叠的窗口负责调用 PopUpManager.deletePopUp()。

示例

下面的代码创建一个名为 win 的模式窗口，该窗口具有一个关闭按钮，当单击该关闭按钮时删除该窗口：

import mx.managers.PopUpManager
import mx.containers.Window
win = PopUpManager.createPopUp(_root, Window, true, {closeButton:true});
lo = new Object();
lo.click = function(){
  win.deletePopUp();
}
win.addEventListener("click", lo);


关于 ProgressBar 组件

ProgressBar 组件在用户等待加载内容时，会显示加载进程。加载进程可以是确定的也可以是不确定的。确定的进程栏是一段时间内任务进程的线性表示，当要载入的内容量已知时使用。不确定的进程栏在不知道要加载的内容量时使用。您可以添加标签来显示加载内容的进程。

默认情况下，组件被设置为在第一帧导出。这意味着这些组件在第一帧呈现前被加载到应用程序中。如果要为应用程序创建预加载器，则需要在每个组件的“链接属性”对话框（该对话框的访问路径为：“库”面板选项 >“链接”）中取消选中“在第一帧导出”。但是对于 ProgressBar 应设置为“在第一帧导出”，因为 ProgressBar 必须在其他内容流进入 Flash Player 之前首先显示。

每个 ProgressBar 实例的实时预览都会反映在创作过程中对属性检查器或“组件检查器”面板中的参数所做的更改。实时预览中会反映以下参数：conversion、direction、label、labelPlacement、mode 和 source。


使用 ProgressBar 组件

进程栏允许您在内容加载过程中显示内容的进程。当用户与应用程序交互操作时，这是必需的反馈信息。

使用 ProgressBar 组件有几种模式；您可以使用模式参数来设置模式。最常用的模式是“事件”和“轮询”。这些模式使用 source 参数来指定一个加载进程，该进程发出 progress 和 complete 事件（事件模式）或公开 getBytesLoaded 和 getsBytesTotal 方法（轮询模式）。您也可以在手动模式下使用 ProgressBar 组件，方法是：手动设置 maximum、minimum 和 indeterminate 属性，并调用 ProgressBar.setProgress() 方法。

ProgressBar 参数

以下是您可以在属性检查器中或在“组件检查器”面板中为每个 ProgressBar 组件实例设置的创作参数：

mode 进度栏运行的模式此值可以是下列之一：事件、轮询或手动。默认值为事件。

source 一个要转换为对象的字符串，它表示源的实例名。

direction 进度栏填充的方向。该值可以在右侧或左侧，默认值为右侧。

label 指明加载进度的文本。该参数是一个字符串，其格式是“已加载 %2 的 %1 (%3%%)”；%1 是当前已加载字节数的占位符，%2 是加载的总字节数，%3 是当前加载的百分比的占位符。字符“%%”是字符“%”的占位符。如果某个 %2 的值未知，它将被替换为“??”。如果某个值未定义，则不显示标签。

labelPlacement 与进程栏相关的标签位置。此参数可以是下列值之一：顶部、底部、左侧、右侧、中间。默认值为底部。

conversion 一个数字，在显示标签字符串中的 %1 和 %2 的值之前，用这些值除以该数字。默认值为 1。

您可以编写“动作脚本”，通过利用其属性、方法和事件来控制 ProgressBar 组件的这些选项以及其他选项。有关详细信息，请参阅 ProgressBar 类。

创建具有 ProgressBar 组件的应用程序

以下过程解释了如何在创作时将 ProgressBar 组件添加到应用程序。在该范例中，进程栏用于事件模式。在事件模式中，加载内容必须发出 progress 事件和 complete 事件，进度栏使用这些事件来显示进度。Loader 组件会发出这些事件。有关详细信息，请参阅Loader 组件。

要创建带有事件模式 ProgressBar 组件的应用程序，请执行以下操作：

  1. 将 ProgressBar 组件从“组件”面板拖到舞台上。
  2. 在属性检查器中，执行以下操作：
    • 输入实例名称 pBar。
    • 对于 mode 参数，选择事件。
  3. 将 Loader 组件从“组件”面板拖到舞台上。
  4. 在属性检查器中，输入实例名称 loader。
  5. 在舞台上选择进度栏，并在属性检查器中为 source 参数输入 loader。
  6. 在时间轴上选择第一帧，打开“动作”面板，输入以下代码，该代码会将一个 JPEG 文件加载到 Loader 组件中：
    loader.autoLoad = false;
loader.content = "http://imagecache2.allposters.com/images/86/017_PP0240.jpg";
pBar.source = loader;
// 直到调用加载方法，才开始加载。
loader.load();

在下面的范例中，在轮询模式下使用进度栏。在轮询模式中，ProgressBar 使用源对象的 getBytesLoaded 和 getBytesTotal 方法来显示其进度。

要在轮询模式中创建具有 ProgressBar 组件的应用程序，请执行以下操作：

  1. 将 ProgressBar 组件从“组件”面板拖到舞台上。
  2. 在属性检查器中，执行以下操作：
    • 输入实例名称 pBar。
    • 对于 mode 参数，选择轮询。
    • 为 source 参数输入 loader。
  3. 在时间轴上选择第一帧，打开“动作”面板，然后输入以下代码，该代码会创建一个名为 loader 的 Sound 对象，并调用 loadSound() 方法，以便将一个声音加载到 Sound 对象中：
    var loader:Object = new Sound();
loader.loadSound("http://soundamerica.com/sounds/sound_fx/A-E/air.wav", true);

在下面的范例中，在手动模式下使用进度栏。在手动模式中，您必须设置 maximum、minimum 和 indeterminate 属性，并使用 setProgress() 方法来显示进度。在手动模式中不需设置 source 属性。

要创建具有手动模式 ProgressBar 组件的应用程序，请执行以下操作：

  1. 将 ProgressBar 组件从“组件”面板拖到舞台上。
  2. 在属性检查器中，执行以下操作：
    • 输入实例名称 pBar。
    • 对于 mode 参数，选择手动。
  3. 在时间轴中选择帧 1，打开“动作”面板，然后输入以下代码，该代码会通过调用 setProgress() 方法，对每个文件下载过程手动更新进度栏：
    for(var:Number i=1; i <= total; i++){
  // 插入代码以加载文件
  // 插入代码以加载文件
pBar.setProgress(i, total);
}


自定义 ProgressBar 组件

在创作过程中和运行时，您都可以在水平方向上改变 ProgressBar 组件的形状。在创作时，在舞台上选择组件并使用“任意变形”工具或任何“修改”>“变形”命令。在运行时，使用 UIObject.setSize()。

进程栏的左右两端以及跟踪图形是固定大小的。当您重新调整进程栏的大小时，进程栏的中间部分会重新调整大小，以便能在它们之间放下。如果进程栏太小，则可能会无法正确呈现。

对 ProgressBar 组件使用样式

您可以设置样式属性来改变进程栏实例的外观。如果样式属性的名称以“Color”结尾，则它是颜色样式属性，并且行为与非颜色样式属性不同。有关详细信息，请参阅使用样式自定义组件的颜色和文本。

ProgressBar 组件支持下列光晕样式：

样式 | 描述
themeColor | 组件的背景。这是唯一不继承样式值的颜色样式。可能的值包括“haloGreen”、“haloBlue”和“haloOrange”。
color | 组件标签的文本。
disabledColor | 禁用的文本颜色。
fontFamily | 文本的字体名称。
fontSize | 字体的磅值。
fontStyle | 字体样式；“常规”或“斜体”。
fontWeight | 字体粗细；“常规”或“粗体”。
textDecoration | 文本修饰；“无”或“下划线”。

对 ProgressBar 组件使用外观

进程栏组件使用以下影片剪辑元件来显示其状态：TrackMiddle、TrackLeftCap、TrackRightCap 和 BarMiddle、BarLeftCap、BarRightCap 和 IndBar。IndBar 元件用于不确定的进程栏。要在创作过程中设计 ProgressBar 组件的外观，请在库中修改元件并将组件作为 SWC 重新导出。这些元件位于 HaloTheme.fla 文件或 SampleTheme.fla 文件中，这些文件位于库中的 Flash UI Components 2/Themes/MMDefault/ProgressBar Elements 文件夹下。有关详细信息，请参阅关于设置组件外观。

如果您使用 UIObject.createClassObject() 方法动态（在运行时）创建 ProgressBar 组件实例，则也可以动态设计其外观。要在运行时设计组件的外观，请设置传递给 createClassObject() 方法的 initObject 参数的外观属性。这些外观属性设置用作进度栏状态的元件的名称。

ProgressBar 组件使用以下外观属性：

属性 | 描述
progTrackMiddleName | 轨道的可扩展的中部。默认值为 ProgTrackMiddle。
progTrackLeftName | 固定大小的左端。默认值为 ProgTrackLeft。
progTrackRightName | 固定大小的右端。默认值为 ProgTrackRight。
progBarMiddleName | 可扩展的中间栏图形。默认值为 ProgBarMiddle。
progBarLeftName | 固定大小的左栏端。默认值为 ProgBarLeft。
progBarRightName | 固定大小的右栏端。默认值为 ProgBarRight。
progIndBarName | 不确定的栏图形。默认值为 ProgIndBar。


ProgressBar 类

继承 UIObject > ProgressBar

动作脚本类命名空间 mx.controls.ProgressBar

使用“动作脚本”设置 ProgressBar 类的属性会覆盖在属性检查器或“组件检查器”面板中设置的同名参数。

每个组件类都有一个 version 属性，该属性是一个类属性。类属性只能用于该类本身。version 属性会返回一个字符串，该字符串指明组件的版本。要访问 version 属性，请使用以下代码：

trace(mx.controls.ProgressBar.version);

注意：下面的代码返回未定义的：trace(myProgressBarInstance.version);。

ProgressBar 类的方法摘要

方法 | 描述
ProgressBar.setProgress()> | 在手动模式中设置栏的进程。

继承 UIObject 类的所有方法。

ProgressBar 类的属性摘要

属性 | 描述
ProgressBar.conversion> | 一个数字，用于转换当前所加载字节的值和所加载字节总值。
ProgressBar.direction> | 进程栏填充的方向。
ProgressBar.indeterminate> | 指明源的总字节数为未知。
ProgressBar.label> | 进程栏随附的文本。
ProgressBar.labelPlacement> | 与进程栏相关的标签位置。
ProgressBar.maximum> | 手动模式中进程的最大值。
ProgressBar.minimum> | 手动模式中进程的最小值。
ProgressBar.mode> | 进程栏加载内容的模式。
ProgressBar.percentComplete> | 指明加载百分比的数字。
ProgressBar.source> | 要加载的内容，其进程由进程栏监视。
ProgressBar.value> | 指明已建立的进程的数量。该属性为只读。

继承 UIObject 类的所有属性。

ProgressBar 类的事件摘要

事件 | 描述
ProgressBar.complete> | 加载完成时触发。
ProgressBar.progress> | 在事件模式或轮询模式中加载内容时触发。

继承 UIObject 类的所有事件。


ProgressBar.complete

可用性

Flash Player 6.0.79。

版本

Flash MX 2004。

用法

用法 1：

on(complete){
  ...
}

用法 2：

listenerObject = new Object();
listenerObject.complete = function(eventObject){
  ...
}
pBar.addEventListener("complete", listenerObject)

事件对象

除了标准的事件对象属性之外，还为 ProgressBar.complete 事件定义了另外两个属性：current（加载的值等于总计）和 total（总值）。

描述

事件；内容加载结束时，向所有已注册的侦听器广播。

第一个用法范例使用一个 on() 处理函数，并且必须直接附加到一个 ProgressBar 组件实例。附加到组件的 on() 处理函数内部使用的关键字 this 是指该组件实例。例如，下列代码附加到实例 pBar，它将“_level0.pBar”发送到“输出”面板：

on(complete){
  trace(this);
}

第二个用法范例使用一个调度程序/侦听器事件模型。组件实例 (pBar) 调度一个事件（在本例中为 complete），而该事件由附加到您创建的侦听器对象 (listenerObject) 的函数处理。您定义一个与侦听器对象上的事件同名的方法；当该事件被触发时，就会调用该方法。该事件被触发时，它会自动将一个事件对象 (eventObject) 传递到侦听器对象方法。每个事件对象都有一组属性，这些属性包含有关该事件的信息。您可以使用这些属性来编写处理该事件的代码。最后，对广播该事件的组件实例调用 UIEventDispatcher.addEventListener() 方法，以将侦听器注册到实例。当该实例调度该事件时，就会调用该侦听器。

有关事件对象的详细信息，请参阅事件对象。

范例

本范例创建一个带有 complete 回调函数的 form 侦听器对象，该回调函数将一条消息发送到“输出”面板，其中有 pBar 实例的值，如下所示：

form.complete = function(eventObj){
  // eventObj.target 是生成 change 事件的组件，
  // 即 Progress Bar。
  trace("Value changed to " + eventObj.target.value);
}
pBar.addEventListener("complete", form);

另请参见

UIEventDispatcher.addEventListener()


ProgressBar.conversion

可用性

Flash Player 6.0.79。

版本

Flash MX 2004。

用法

pBarInstance.conversion

描述

属性；一个数字，设置进入值的转换值。它除当前值和总值，将它们向下取整，然后在 label 属性中显示转换后的值。 默认值为 1。

范例

以下代码显示加载进程的值（字节）：

pBar.conversion = 1024;


ProgressBar.direction

可用性

Flash Player 6.0.79。

版本

Flash MX 2004。

用法

pBarInstance.direction

描述

属性；指明进程栏的填充方向。默认值为 "right"。

范例

以下代码使进程栏从右向左填充：

pBar.direction = "left";


ProgressBar.indeterminate

可用性

Flash Player 6.0.79。

版本

Flash MX 2004。

用法

pBarInstance.indeterminate

描述

属性；一个布尔值，指明进度栏是填充条纹图案并且加载源的大小未知 (true)，还是实心填充且加载源大小已知 (false)。

范例

以下代码创建一个确定的进度栏，该进度栏为实心填充、从左向右移动：

pBar.direction = "right";
pBar.indeterminate = false;


ProgressBar.label

可用性

Flash Player 6.0.79。

版本

Flash MX 2004。

用法

pBarInstance.label

描述

属性；指明加载进程的文本。该属性是一个字符串，其格式为“已加载 %2 中的 %1（%3%%）”；%1 是当前所加载字节数的占位符，%2 是总加载字节数的占位符，%3 是当前加载内容百分比的占位符。字符“%%”是字符“%”的占位符。如果某个 %2 的值未知，它将被替换为“??”。如果某个值未定义，则不显示标签。默认值为 "LOADING %3%%"

范例

以下代码将进程栏旁边显示的文字设置为“已加载 4 个文件”格式：

pBar.label = "已加载 %1 个文件";

另请参见

ProgressBar.labelPlacement


ProgressBar.labelPlacement

可用性

Flash Player 6.0.79。

版本

Flash MX 2004。

用法

pBarInstance.labelPlacement

描述

属性；设置标签相对于进程栏的位置。可能的值有 "left"、"right"、"top"、"bottom" 和 "center"。

范例

以下代码设置标签在进程栏上方显示：

pBar.label = "%1 out of %2 loaded (%3%%)";
pBar.labelPlacement = "top";

另请参见

ProgressBar.label


ProgressBar.maximum

可用性

Flash Player 6.0.79。

版本

Flash MX 2004。

用法

pBarInstance.maximum

描述

属性；ProgressBar.mode 属性设置为 "manual" 时进度栏的最大值。

范例

以下代码将最大值属性设置为要加载的 Flash 应用程序的总帧数：

pBar.maximum = _totalframes;

另请参见

ProgressBar.minimum , ProgressBar.mode


ProgressBar.minimum

可用性

Flash Player 6.0.79。

版本

Flash MX 2004。

用法

pBarInstance.minimum

描述

属性；ProgressBar.mode 属性设置为 "manual" 时进度栏的最小进度值。

范例

以下代码设置进程栏的最小值：

pBar.minimum = 0;

另请参见

ProgressBar.maximum , ProgressBar.mode


ProgressBar.mode

可用性

Flash Player 6.0.79。

版本

Flash MX 2004。

用法

pBarInstance.mode

描述

属性；进程栏加载内容的模式。此值可以是下列之一："event"、"polled" 或 "manual"。最常用的模式为 "event" 和 "polled"。这些模式使用 source 参数指定加载进程是发出 progress 和 complete 事件，像 Loader 组件（事件模式），还是公开 getBytesLoaded 和 getsBytesTotal 方法，像 MovieClip 对象（轮询模式）。您也可以在手动模式下使用 ProgressBar 组件，方法是：手动设置 maximum、minimum 和 indeterminate 属性，并调用 ProgressBar.setProgress() 方法。

在事件模式中，Loader 对象应该用作源。在轮询模式中，任何公开 getBytesLoaded() 和 getBytesTotal() 方法的对象都可用作源。（包括自定义对象或 _root 对象）

范例

以下代码将进度栏设置为事件模式：

pBar.mode = "event";


ProgressBar.percentComplete

可用性

Flash Player 6.0.79。

版本

Flash MX 2004。

用法

pBarInstance.percentComplete

描述

属性（只读）；返回进程完成的百分比。该值已向下取整。以下是用于计算百分比的公式：

100*（值-最小值）/（最大值-最小值）

范例

以下代码将 percentComplete 属性的值发送到“输出”面板：

trace("percent complete = " + pBar.percentComplete);


ProgressBar.progress

可用性

Flash Player 6.0.79。

版本

Flash MX 2004。

用法

用法 1：

on(progress){
  ...
}

用法 2：

listenerObject = new Object();
listenerObject.progress = function(eventObject){
  ...
}
pBarInstance.addEventListener("progress", listenerObject)

事件对象

除了标准的事件对象属性外，还为 ProgressBar.progress 事件定义了另外两个属性：current（加载的值等于总计）和 total（总值）。

描述

事件；当进程栏的值更改时向所有已注册的侦听器广播。事件仅在 ProgressBar.mode 设置为 "manual" 或 "polled" 时广播。

第一个用法范例使用一个 on() 处理函数，并且必须直接附加到一个 ProgressBar 组件实例。附加到组件的 on() 处理函数内部使用的关键字 this 是指该组件实例。例如，下列代码附加到实例 myPBar，它将“_level0.myPBar”发送到“输出”面板：

on(progress){
  trace(this);
}

第二个用法范例使用一个调度程序/侦听器事件模型。组件实例 (pBarInstance) 调度一个事件（在本例中为 progress），而该事件由附加到您创建的侦听器对象 (listenerObject) 的函数处理。您定义一个与侦听器对象上的事件同名的方法；当该事件被触发时，就会调用该方法。该事件被触发时，它会自动将一个事件对象 (eventObject) 传递到侦听器对象方法。每个事件对象都有一组属性，这些属性包含有关该事件的信息。您可以使用这些属性来编写处理该事件的代码。最后，对广播该事件的组件实例调用 UIEventDispatcher.addEventListener() 方法，以将侦听器注册到实例。当该实例调度该事件时，就会调用该侦听器。

有关事件对象的详细信息，请参阅事件对象。

范例

本范例创建一个侦听器对象 form，并且在其上定义一个 progress 事件处理函数。在最后一行代码中，form 侦听器注册到 pBar 实例。progress 事件触发时，pBar 向 form 侦听器广播该事件，该侦听器调用 progress 回调函数，如下所示：

var form:Object = new Object();
form.progress = function(eventObj){
  // eventObj.target 是生成 change 事件的组件，
  // 即 Progress Bar。
  trace("Value changed to " + eventObj.target.value);
}
pBar.addEventListener("progress", form);

另请参见

UIEventDispatcher.addEventListener()


ProgressBar.setProgress()

可用性

Flash Player 6.0.79。

版本

Flash MX 2004。

用法

pBarInstance.setProgress(completed, total)

参数

completed 一个数字，指明已完成的进度量。您可以使用 ProgressBar.label 和 ProgressBar.conversion 属性以百分比形式或所选择的任何单位来显示该数字，这具体取决于进度栏的源。

total 一个数字，指明要达到百分之百必须完成的总进度。

返回

一个数字，指明已完成的进度。

描述

方法；ProgressBar.mode 属性设置为 "manual" 时，设置栏的状态以反映完成的进度量。您可以调用该方法，使栏除了反映加载的状态外还反映进度的状态。参数 completed 被分配给 value 值属性，参数 total 被分配给 maximum 属性。minimum 属性不变。

范例

以下代码基于 Flash 应用程序时间轴的进度调用 setProgress() 方法：

pBar.setProgress(_currentFrame, _totalFrames);


ProgressBar.source

可用性

Flash Player 6.0.79。

版本

Flash MX 2004。

用法

pBarInstance.source

描述

属性；对要加载的实例的引用，该实例的加载进程将会显示。加载内容应该发出一个 progress 事件，从其中可以检索当前值和总值。只是在 ProgressBar.mode 设置为 "event" 或 "polled" 时才使用该属性。默认值未定义。

ProgressBar 可与应用程序（包括 _root）内的内容一起使用。

范例

本范例设置 pBar 实例，以显示实例名为 loader 的加载器组件的加载进度。

pBar.source = loader;

另请参见

ProgressBar.mode


ProgressBar.value

可用性

Flash Player 6.0.79。

版本

Flash MX 2004。

用法

pBarInstance.value

描述

属性（只读）；指明已完成的进度。该属性为介于 ProgressBar.minimum 和 ProgressBar.maximum 之间的一个数字。默认值为 0。


关于 RadioButton 组件

使用 RadioButton 组件可以强制用户只能选择一组选项中的一项。RadioButton 组件必须用于至少有两个 RadioButton 实例的组。在任何给定的时刻，都只有一个组成员被选中。选择组中的一个单选按钮将取消选择组内当前选定的单选按钮。您可以设置 groupName 参数，以指明单选按钮属于哪个组。

可以启用或禁用单选按钮。用户按 Tab 键切换到单选按钮组时，只有选中的单选按钮会接收焦点。用户可以通过按箭头键来改变组内的焦点。在禁用状态下，单选按钮不接收鼠标或键盘输入。

如果您单击或按 Tab 键切换到 RadioButton 组件组，它就会接收焦点。当 RadioButton 组有焦点时，您可以使用下列按键来控制它：

按键 | 描述
向上箭头键/向右箭头键 | 所选项会移至单选按钮组内的前一个单选按钮。
向下箭头键/向左箭头键 | 选择将移到单选按钮组的下一个单选按钮。
Tab 键 | 将焦点从单选按钮组移动到下一个组件。

有关控制焦点的详细信息，请参阅创建自定义焦点导航或FocusManager 类。

每个 RadioButton 实例在舞台上的实时预览会反映在创作过程中对属性检查器或“组件检查器”面板中的参数所做的更改。但是，实时预览中不会显示互斥的所选项。如果将同组的两个单选按钮的 selected 参数设置为 true，它们都会显示为选中状态，尽管在运行时将只显示最后创建的实例。有关详细信息，请参阅RadioButton 参数。

将 RadioButton 组件添加到应用程序时，您可以使用“辅助功能”面板，以便让屏幕读取器能够访问到该组件。 首先，您必须添加以下代码行来启用辅助功能：

mx.accessibility.RadioButtonAccImpl.enableAccessibility();

不管一个组件有多少实例，都只对其启用一次辅助功能。有关详细信息，请参阅创建辅助内容。


使用 RadioButton 组件

单选按钮是任何表单或 Web 应用程序中的一个基础部分。如果您需要让用户从一组选项中做出一个选择，可以使用单选按钮。例如，在表单上询问客户要使用哪种信用卡付款时，您就可以使用单选按钮。

RadioButton 参数

以下是您可以在属性检查器中或在“组件检查器”面板中为每个 RadioButton 组件设置的创作参数：

label 设置按钮上的文本值，默认值是“单选按钮”。

data 是与单选按钮相关的值。没有默认值。

groupName 是单选按钮的组名称。默认值为 radioGroup。

selected 将单选按钮的初始值设置为被选中 (true) 或取消选中 (false)。被选中的单选按钮中会显示一个圆点。一个组内只有一个单选按钮可以有被选中的值 true。如果组内有多个单选按钮被设置为 true，则会选中最后实例化的单选按钮。默认值为 false。

labelPlacement 确定按钮上标签文本的方向。该参数可以是下列四个值之一：left、right、top 或 bottom，默认值是 right。有关详细信息，请参阅 RadioButton.labelPlacement。

您可以编写“动作脚本”，通过利用 RadioButton 类的方法、属性和事件来设置 RadioButton 实例的其他选项。有关详细信息，请参阅 RadioButton 类。

创建具有 RadioButton 组件的应用程序

以下过程解释了如何在创作时将 RadioButton 组件添加到应用程序。在该范例中，单选按钮用于显示是非问题，如“您是一个 Flashist 吗？”单选按钮组的数据和实例名称 Verdict 一起显示在 TextArea 组件中。

要创建具有 RadioButton 组件的应用程序，请执行以下操作：

  1. 将两个 RadioButton 组件从“组件”面板拖到舞台上。
  2. 选择一个单选按钮，然后在“组件检查器”中执行以下操作：
    • 为 label 参数输入 Yes。
    • 为 data 参数输入 Flashist。
  3. 选择另一个单选按钮，然后在“组件检查器”中执行以下操作：
    • 为 label 参数输入 No。
    • 为 data 参数输入 Anti-Flashist。
  4. 在时间轴中选择第一帧，打开“动作”面板，然后输入以下代码：
    flashistListener = new Object();
flashistListener.click = function (evt){
    theVerdict.text = evt.target.selection.data
}
radioGroup.addEventListener("click", flashistListener);

    代码最后一行将一个 click 事件处理函数添加到 radioGroup 单选按钮组。处理函数会将 TextArea 组件实例 theVerdict 的 text 属性设置为 radioGroup 单选按钮组中被选定的单选按钮的 data 属性的值。有关详细信息，请参阅 RadioButton.click。


自定义 RadioButton 组件

在创作过程中和运行时，您都可以在水平和垂直方向上改变 RadioButton 组件的形状。在创作时，在舞台上选择组件并使用“任意变形”工具或任何“修改”>“变形”命令。在运行时，使用 setSize() 方法（请参阅UIObject.setSize()）。

RadioButton 组件的边框是不可见的，它同时也指定了组件的点击区。 如果您增加组件的大小，也就增加了点击区的大小。

如果组件边框太小而无法容纳组件标签，标签将被裁剪以适合边框。

对 RadioButton 组件使用样式

您可以设置样式属性以更改 RadioButton 的外观。如果样式属性的名称以“Color”结尾，则它是颜色样式属性，并且行为与非颜色样式属性不同。有关详细信息，请参阅使用样式自定义组件的颜色和文本。

RadioButton 组件使用下列“光晕”样式：

样式 | 描述
themeColor | 组件的背景。这是唯一不继承样式值的颜色样式。可能的值包括“haloGreen”、“haloBlue”和“haloOrange”。
color | 组件标签的文本。
disabledColor | 禁用的文本颜色。
fontFamily | 文本的字体名称。
fontSize | 字体的磅值。
fontStyle | 字体样式；“常规”或“斜体”。
fontWeight | 字体粗细；“常规”或“粗体”。

对 RadioButton 组件使用外观

通过修改库中的组件元件，可以在创作时设置 RadioButton 组件的外观。RadioButton 组件的外观位于 HaloTheme.fla 或 SampleTheme.fla 中，这些文件位于库中的下列文件夹中：Flash UI Components 2/Themes/MMDefault/RadioButton Assets/States。请参阅关于设置组件外观。

如果单选按钮已启用但未被选中，当用户将指针移到它上方时，它会显示其滑过状态。当用户单击未被选中的单选按钮时，该单选按钮将接收输入焦点并显示其“false”按下状态。当用户松开鼠标时，单选按钮显示其“true”状态，组内先前被选中的单选按钮显示其“false”状态。如果用户在按下鼠标时将指针移离单选按钮，单选按钮的外观会恢复到其“false”状态并保留输入焦点。

如果单选按钮或单选按钮组被禁用，则不论用户进行什么交互操作，它都会显示禁用状态。

如果您使用 UIObject.createClassObject() 方法动态创建 RadioButton 组件实例，那么，您也可以动态设置组件外观。要动态设置 RadioButton 组件的外观，请将外观属性传递给 UIObject.createClassObject() 方法。有关详细信息，请参阅关于设置组件外观。外观属性指明使用哪个元件显示组件。

RadioButton 组件使用以下外观属性：

名称 | 描述
falseUpIcon | 未选中状态。默认值为 radioButtonFalseUp。
falseDownIcon | 按下且未选中的状态。默认值为 radioButtonFalseDown。
falseOverIcon | 悬停而未选中的状态。默认值为 radioButtonFalseOver。
falseDisabledIcon | 禁用而未选中的状态。默认值为 radioButtonFalseDisabled。
trueUpIcon | 选中状态。默认值为 radioButtonTrueUp。
trueDisabledIcon | 禁用的选中状态。默认值为 radioButtonTrueDisabled。


RadioButton 类

继承 UIObject > UIComponent > SimpleButton > Button > RadioButton

动作脚本包名称 mx.controls.RadioButton

RadioButton 类的属性允许您在运行时创建文字标签并确定它相对于单选按钮的位置。您还可以为单选按钮指定数据值，将单选按钮分组，并根据数据值或实例名称进行选择。

使用“动作脚本”设置 RadioButton 类的属性将覆盖在属性检查器或“组件检查器”面板中设置的同名参数。

RadioButton 组件使用 FocusManager 来覆盖默认的 Flash Player 焦点矩形并绘制一个带圆角的自定义焦点矩形。有关创建焦点导航的信息，请参阅创建自定义焦点导航。

每个组件类都有一个 version 属性，该属性是一个类属性。类属性只能用于该类本身。version 属性会返回一个字符串，该字符串指明组件的版本。要访问 version 属性，请使用以下代码：

trace(mx.controls.RadioButton.version);

注意：下面的代码返回未定义的：trace(myRadioButtonInstance.version);。

RadioButton 类的方法摘要

继承 UIObject 类、UIComponent 类、SimpleButton 和 Button 类的所有方法。

RadioButton 类的属性摘要

属性 | 描述
RadioButton.data | 与单选按钮实例相关的值。
RadioButton.groupName | 单选按钮组的组名或单选按钮实例。
RadioButton.label | 单选按钮旁边显示的文本。
RadioButton.labelPlacement | 标签文本相对于单选按钮的方向。
RadioButton.selected | 将单选按钮实例的状态设置为选中，并取消选中先前选中的单选按钮。
RadioButton.selectedData | 选择具有指定数据值的单选按钮组中的单选按钮。
RadioButton.selection | 对单选按钮组中当前选中的单选按钮的引用。

继承 UIObject 类、UIComponent 类、SimpleButton 和 Button 类的所有属性。

RadioButton 类的事件摘要

事件 | 描述
RadioButton.click | 在按钮实例上按下鼠标时触发。

继承 UIObject 类、UIComponent 类、SimpleButton 和 Button 类 的所有事件。


RadioButton.click

可用性

Flash Player 6.0.79。

版本

Flash MX 2004。

用法

用法 1：

on(click){
  ...
}

用法 2：

listenerObject = new Object();
listenerObject.click = function(eventObject){
  ...
}
radioButtonGroup.addEventListener("click", listenerObject)

描述

事件；在单选按钮上单击鼠标（按下然后松开）或使用箭头键选中单选按钮时，向所有已注册的侦听器广播。当单选按钮组具有焦点，但组内没有单选按钮被选中时，如果按空格键或箭头键，该事件也会广播。

第一个用法范例使用 on() 处理函数，必须直接附加到 RadioButton 组件实例。附加到组件的 on() 处理函数内部使用的关键字 this 是指该组件实例。例如，附加到单选按钮 myRadioButton 的以下代码将“_level0.myRadioButton”发送到“输出”面板：

on(click){
  trace(this);
}

第二个用法范例使用一个调度程序/侦听器事件模型。组件实例 (radioButtonInstance) 调度一个事件（在本例中为 click），而该事件由附加到您创建的侦听器对象 (listenerObject) 的函数处理。您定义一个与侦听器对象上的事件同名的方法；当该事件被触发时，就会调用该方法。该事件被触发时，它会自动将一个事件对象 (eventObject) 传递到侦听器对象方法。该事件对象有一组属性，这些属性包含有关事件的信息。您可以使用这些属性来编写处理该事件的代码。最后，对广播该事件的组件实例调用 UIEventDispatcher.addEventListener() 方法，以将侦听器注册到实例。当该实例调度该事件时，就会调用该侦听器。

有关事件对象的详细信息，请参阅事件对象。

范例

本范例是在时间轴的某帧上编写的，当 radioGroup 中的某个单选按钮被单击时向“输出”面板发送一条消息。代码的第一行创建一个名为 form 的侦听器对象。第二行代码为侦听器对象上的 click 事件定义一个函数。该函数内部有一个 trace 动作，它使用自动传递到该函数的事件对象（在本例中是 eventObj）来生成消息。事件对象的 target 属性是生成该事件的组件。您可以从 target 属性访问实例属性（本例中访问 RadioButton.selection 属性）。最后一行从 radioGroup 调用 UIEventDispatcher.addEventListener() 方法并将 click 事件和 form 侦听器对象作为参数传递给它，如下所示：

form = new Object();
form.click = function(eventObj){
  trace("The selected radio instance is " + eventObj.target.selection);
}
radioGroup.addEventListener("click", form);

下列代码还会在单击 radioButtonInstance 时向“输出”面板发送一条消息。on() 处理函数必须直接附加到 radioButtonInstance，如下所示：

on(click){
  trace("radio button component was clicked");
}


RadioButton.data

可用性

Flash Player 6.0.79。

版本

Flash MX 2004。

用法

radioButtonInstance.data

描述

方法；指定与单选按钮实例关联的数据。设置该属性覆盖创作过程中在属性检查器或“组件检查器”面板中设置的数据参数值。data 属性可以为任何数据类型。

范例

以下范例将数据值 "#FF00FF" 指定给 radioOne 单选按钮实例：

radioOne.data = "#FF00FF";


RadioButton.groupName

可用性

Flash Player 6.0.79。

版本

Flash MX 2004。

用法

radioButtonInstance.groupName
radioButtonGroup.groupName

描述

属性；为单选按钮实例或单选按钮组设置组名。您可以使用该属性来获取或设置单选按钮实例的或单选按钮组的组名。调用此方法会覆盖在创作过程中设置的组件名参数值。默认值为 "radioGroup"。

范例

以下范例将单选按钮实例的组名设置为“colorChoice”，然后将组名更改为“sizeChoice”。要测试此范例，请将单选按钮放在舞台上，实例名为 myRadioButton，然后在帧 1 中输入下列代码：

myRadioButton.groupName = "colorChoice";
trace(myRadioButton.groupName);
colorChoice.groupName = "sizeChoice";
trace(colorChoice.groupName);


RadioButton.label

可用性

Flash Player 6.0.79。

版本

Flash MX 2004。

用法

radioButtonInstance.label

描述

属性；为单选按钮指定文字标签。默认情况下，标签出现在单选按钮的右侧。调用此方法会覆盖在创作中指定的 label 参数。如果标签文字太长无法匹配组件的边界框，则缩短文字。

范例

下面的范例设置实例 radioButton 的标签属性：

radioButton.label = "Remove from list";


RadioButton.labelPlacement

可用性

Flash Player 6.0.79。

版本

Flash MX 2004。

用法

radioButtonInstance.labelPlacement
radioButtonGroup.labelPlacement

描述

属性；一个字符串，它指明该标签相对于某个单选按钮的位置。您可以为某个单独的实例或为某个单选按钮组设置此属性。如果您为一个组设置该属性，标签就会放置在组中各个单选按钮的相应的位置。

以下是四个可能的值：

  • "right" 单选按钮固定于边界区域的左上角。标签设置在单选按钮的右边。
  • "left" 单选按钮固定于边界区域的右上角。标签设置在单选按钮的左边。
  • "bottom" 标签放置在单选按钮的下方。单选按钮和标签组合在水平和垂直方向上居中。如果单选按钮的边界框不够大，标签就会被裁剪。
  • "top" 标签放置在单选按钮的上方。单选按钮和标签组合在水平和垂直方向上居中。如果单选按钮的边界框不够大，标签就会被裁剪。

范例

以下代码将标签放置在 radioGroup 中的每个单选按钮的左边：

radioGroup.labelPlacement = "left";


RadioButton.selected

可用性

Flash Player 6.0.79。

版本

Flash MX 2004。

用法

radioButtonInstance.selected
radioButtonGroup.selected

描述

属性；一个布尔值，它将单选按钮的状态设置为被选中 (true)，并取消选中先前被选中的单选按钮，或者，它将单选按钮的状态设置为取消选中 (false)。

范例

代码的第一行将 mcButton 实例的状态设置为 true。代码的第二行返回所选属性的值，如下
所示：

mcButton.selected = true;
trace(mcButton.selected);


RadioButton.selectedData

可用性

Flash Player 6.0.79。

版本

Flash MX 2004。

用法

radioButtonGroup.selectedData

描述

属性；选中具有指定数据值的单选按钮，并取消选中先前被选中的单选按钮。如果选中的实例没有指定 data 属性，则会选择并返回所选实例的标签值。 selectedData 属性可以是任何数据类型。

范例

以下范例从单选按钮组 colorGroup 中选择具有 "#FF00FF" 值的单选按钮，并把该值发送到“输出”面板：

colorGroup.selectedData = "#FF00FF";
trace(colorGroup.selectedData);


RadioButton.selection

可用性

Flash Player 6.0.79。

版本

Flash MX 2004。

用法

radioButtonInstance.selection
radioButtonGroup.selection

描述

属性；在您获取或设置该属性时行为会有所不同。如果您获取该属性，它会返回单选按钮组中当前被选单选按钮的对象引用。如果您设置该属性，它会选择单选按钮组中指定的单选按钮（传递为对象引用），并取消选中先前被选中的单选按钮。

范例

以下范例选择实例名为 color1 的单选按钮，并将其实例名发送到“输出”面板：

colorGroup.selection = color1;
trace(colorGroup.selection._name)


关于 ScrollPane 组件

“滚动窗格”组件在一个可滚动区域中显示影片剪辑、JPEG 文件和 SWF 文件。您可以让滚动条能够在一个有限的区域中显示图像。您可以显示从本地位置或 Internet 加载的内容。在创作过程中以及在运行时，您都可以使用“动作脚本”来设置滚动窗格的内容。

一旦滚动窗格具有焦点，如果滚动窗格的内容具有有效的制表位，那些标记将接收焦点。在内容中的最后一个制表位之后，焦点将切换到下一个组件。滚动窗格中的垂直和水平滚动条从不接收焦点。

如果用户单击或切换到 ScrollPane 实例，该实例将接收焦点。当 ScrollPane 实例具有焦点时，您可以使用下列按键来控制它：

按键 | 描述
向下箭头 | 内容向上移动一垂直滚动行。
End 键 | 内容移动到滚动窗格的底部。
向左箭头 | 内容向右移动一水平滚动行。
Home 键 | 内容移动到滚动窗格的顶部。
Page Down 键 | 内容向上移动一垂直滚动页。
Page Up 键 | 内容向下移动一垂直滚动页。
向右箭头 | 内容向左移动一水平滚动行。
向上箭头 | 内容向下移动一垂直滚动行。

有关控制焦点的详细信息，请参阅创建自定义焦点导航或FocusManager 类。

每个 ScrollPane 实例的实时预览反映了创作时在属性检查器或“组件检查器”面板中对参数所做的更改。


使用 ScrollPane 组件

如果某些内容对于它们要加载到其中的区域而言过大，您可以使用滚动窗格来显示这些内容。例如，如果您有一幅大图像，而在应用程序中只有很小的空间来显示它，则可以将其加载到滚动窗格中。

您可以通过将 scrollDrag 参数设为 true 来允许用户在窗格中拖动内容；一个手形光标会出现在内容上。与其他大多数组件不同的是，当按下鼠标按键时，事件开始广播，一直到松开按键才结束。如果滚动窗格的内容具有有效的 Tab 键停靠位，您必须将 scrollDrag 设为 false，否则每次鼠标与内容进行的交互操作都将会调用滚动拖动。

ScrollPane 参数

下面是您可以在属性检查器或“组件检查器”面板中为每个 ScrollPane 组件实例设置的创作
参数：

contentPath 指明要加载到滚动窗格中的内容。该值可以是本地 SWF 或 JPEG 文件的相对路径，或 Internet 上的文件的相对或绝对路径。它也可以是设置为“为动作脚本导出”的库中的影片剪辑元件的链接标识符。

hLineScrollSize 指明每次按下箭头按钮时水平滚动条移动多少个单位。默认值为 5。

hPageScrollSize 指明每次按下轨道时水平滚动条移动多少个单位。默认值为 20。

hScrollPolicy 显示水平滚动条。该值可以为“on”、“off”或“auto”。默认值为“auto”。

scrollDrag 是一个布尔值，它允许 (true) 或不允许 (false) 用户在滚动窗格中滚动内容。默认值为 false。

vLineScrollSize 指明每次按下箭头按钮时垂直滚动条移动多少个单位。默认值为 5。

vPageScrollSize 指明每次按下轨道时垂直滚动条移动多少个单位。默认值为 20。

vScrollPolicy 显示垂直滚动条。该值可以为“on”、“off”或“auto”。默认值为“auto”。

您可以编写“动作脚本”，通过利用其属性、方法和事件来控制 ScrollPane 组件的这些选项以及其他选项。有关详细信息，请参阅 ScrollPane 类。

创建具有 ScrollPane 组件的应用程序

以下过程解释了如何在创作时将 ScrollPane 组件添加到应用程序。在此范例中，滚动窗格加载一个包含徽标的 SWF 文件。

要创建具有 ScrollPane 组件的应用程序，请执行以下操作：

  1. 将 ScrollPane 组件从“组件”面板拖到舞台上。
  2. 在属性检查器中，输入实例名称 myScrollPane。
  3. 在属性检查器中，为 contentPath 参数输入 logo.swf。
  4. 在时间轴中选择第一帧，打开“动作”面板，然后输入以下代码：
    scrollListener = new Object();
scrollListener.scroll = function (evt){
  txtPosition.text = myScrollPane.vPosition;
}
myScrollPane.addEventListener("scroll", scrollListener);

completeListener = new Object;
completeListener.complete = function() {
  trace("logo.swf has completed loading.");
}
myScrollPane.addEventListener("complete", completeListener);

    第一块代码是 myScrollPane 实例上的一个 scroll 事件处理函数，它显示一个名为 txtPosition 的 TextField 实例（该实例已经置于舞台上）中的 vPosition 属性的值。第二块代码为 complete 事件创建一个事件处理函数，它向“输出”面板发送一条消息。


自定义 ScrollPane 组件

在创作过程中和运行时，您都可以在水平和垂直方向上改变 ScrollPane 组件的形状。在创作时，在舞台上选择组件并使用“任意变形”工具或任何“修改”>“变形”命令。在运行时，使用 setSize() 方法（请参阅 UIObject.setSize()）或任何适用的 ScrollPane 类的属性和方法。请参阅ScrollPane 类。如果 ScrollPane 太小，则内容可能无法正确显示。

ScrollPane 将其内容的注册点设置在窗格的左上角。

当关闭水平滚动条时，垂直滚动条沿滚动窗格右侧从上到下显示。当关闭垂直滚动条时，水平滚动条沿滚动窗格底部从左到右显示。也可以同时关闭两个滚动条。

当重新调整滚动窗格的大小时，按钮会保持相同的大小，而滚动轨道和滑块会扩展或收缩，其点击区也会重新调整大小。

对 ScrollPane 组件使用样式

ScrollPane 不支持样式，但它使用的滚动条支持样式。有关详细信息，请参阅对 ScrollPane 组件使用样式。

对 ScrollPane 组件使用外观

ScrollPane 组件本身没有任何外观，但它使用的滚动条有外观。有关详细信息，请参阅对 ScrollPane 组件使用外观。


ScrollPane 类

继承 UIObject > UIComponent > View > ScrollView > ScrollPane

动作脚本类命名空间 mx.containers.ScrollPane

ScrollPane 类的属性允许您设置内容、监视加载进程以及在运行时调整滚动量。

使用“动作脚本”设置 ScrollPane 类的属性会覆盖在属性检查器或“组件检查器”面板中设置的同名参数。

您可以通过将 scrollDrag 属性设为 true 来允许用户在窗格中拖动内容；一个手形光标会出现在内容上。与其他大多数组件不同的是，当按下鼠标按键时，事件开始广播，一直到松开按键才结束。如果滚动窗格的内容具有有效的 Tab 键停靠位，您必须将 scrollDrag 设为 false，否则每次鼠标与内容进行的交互操作都将会调用滚动拖动。

每个组件类都有一个 version 属性，该属性是一个类属性。类属性只能用于该类本身。version 属性会返回一个字符串，该字符串指明组件的版本。要访问 version 属性，请使用以下代码：

trace(mx.containers.ScrollPane.version);

注意：下面的代码返回未定义的：trace(myScrollPaneInstance.version);.

ScrollPane 类的方法摘要

方法 | 描述
ScrollPane.getBytesLoaded()> | 返回已加载的内容的字节数。
ScrollPane.getBytesTotal()> | 返回要加载的内容的总字节数。
ScrollPane.refreshPane()> | 重新加载滚动窗格的内容。

继承 UIObject 类和 UIComponent 类中的所有方法。

ScrollPane 类的属性摘要

方法 | 描述
ScrollPane.content> | 对加载到滚动窗格中的内容的引用。
ScrollPane.contentPath> | 加载到滚动窗格中的 SWF 或 JPEG 文件的绝对 URL 或相对 URL。
ScrollPane.hLineScrollSize> | 箭头按钮被按下时要水平滚动的内容数量。
ScrollPane.hPageScrollSize> | 轨道被按下时要水平滚动的内容数量。
ScrollPane.hPosition> | 滚动窗格的水平像素位置。
ScrollPane.hScrollPolicy> | 水平滚动条的状态。它可以为始终打开 ("on")、始终关闭 ("off")，或者只是在需要时才打开 ("auto")。默认值为 "auto"。
ScrollPane.scrollDrag> | 指明当用户在 ScrollPane 中按下并拖动内容时，是否会出现滚动。为 true，则滚动，为 false，则不滚动。默认值为 false。
ScrollPane.vLineScrollSize> | 箭头按钮被按下时要垂直滚动的内容数量。
ScrollPane.vPageScrollSize> | 轨道被按下时要垂直滚动的内容数量。
ScrollPane.vPosition> | 滚动窗格的垂直像素位置。
ScrollPane.vScrollPolicy> | 垂直滚动条的状态。它可以为始终打开 ("on")、始终关闭 ("off")，或者只是在需要时才打开 ("auto")。默认值为 "auto"。

继承 UIObject 类和 UIComponent 类的所有属性。

ScrollPane 类的事件摘要

方法 | 描述
ScrollPane.complete> | 加载了滚动窗格内容时广播。
ScrollPane.progress> | 在加载滚动条内容时广播。
ScrollPane.scroll> | 滚动条被按下时广播。

继承 UIObject 类和 UIComponent 类的所有事件。


ScrollPane.complete

可用性

Flash Player 6.0.79。

版本

Flash MX 2004。

用法

用法 1：

on(complete){
  ...
}

用法 2：

listenerObject = new Object();
listenerObject.complete = function(eventObject){
  ...
}
scrollPaneInstance.addEventListener("complete", listenerObject)

描述

事件；当加载完内容时向所有已注册的侦听器广播。

第一个用法范例使用一个 on() 处理函数，并且必须直接附加到 ScrollPane 组件实例。附加到组件的 on() 处理函数内部使用的关键字 this 是指该组件实例。例如，下列代码附加到 ScrollPane 组件实例 myScrollPaneComponent，它将“_level0.myScrollPaneComponent”发送到“输出”面板：

on(complete){
  trace(this);
}

第二个用法范例使用一个调度程序/侦听器事件模型。组件实例 (scrollPaneInstance) 调度一个事件（在本例中为 complete），而该事件由附加到您创建的侦听器对象 (listenerObject) 的函数处理。您定义一个与侦听器对象上的事件同名的方法；当该事件被触发时，就会调用该方法。该事件被触发时，它会自动将一个事件对象 (eventObject) 传递到侦听器对象方法。每个事件对象都有一组属性，这些属性包含有关该事件的信息。您可以使用这些属性来编写处理该事件的代码。最后，对广播该事件的组件实例调用 UIEventDispatcher.addEventListener() 方法，以将侦听器注册到实例。当该实例调度该事件时，就会调用该侦听器。

有关事件对象的详细信息，请参阅事件对象。

范例

下面的范例为 scrollPane 实例创建一个具有 complete 事件处理函数的侦听器对象：

form.complete = function(eventObj){
  // 插入代码以便处理事件
}
scrollPane.addEventListener("complete",form);


ScrollPane.content

可用性

Flash Player 6.0.79。

版本

Flash MX 2004。

用法

scrollPaneInstance.content

描述

属性（只读）；对滚动窗格内容的引用。到加载开始时才会定义该值。

范例

该范例将 mcLoaded 变量设为 content 属性的值：

var mcLoaded = scrollPane.content;

另请参见

ScrollPane.contentPath


ScrollPane.contentPath

可用性

Flash Player 6.0.79。

版本

Flash MX 2004。

用法

scrollPaneInstance.contentPath

描述

属性；一个字符串，它指明加载到滚动窗格中的 SWF 或 JPEG 文件的绝对 URL 或相对 URL。相对路径必须相对于加载内容的 SWF。

如果使用相对 URL 加载内容，加载的内容必须相对于包含滚动窗格的 SWF 文件的位置。例如，使用位于 /scrollpane/nav/example.swf 目录中的 ScrollPane 组件的应用程序可从具有以下 contentPath 属性的目录 /scrollpane/content/flash/logo.swf 加载内容："../content/flash/logo.swf"

范例

下面的范例是让滚动窗格显示来自 Internet 的图像的内容：

scrollPane.contentPath ="http://imagecache2.allposters.com/images/43/033_302.jpg";

下面的范例通知滚动窗格显示来自库的元件的内容：

scrollPane.contentPath ="movieClip_Name";

下面的范例是让滚动窗格显示本地文件“logo.swf”的内容：

scrollPane.contentPath = "logo.swf";

另请参见

ScrollPane.content


ScrollPane.getBytesLoaded()

可用性

Flash Player 6.0.79。

版本

Flash MX 2004。

用法

scrollPaneInstance.getBytesLoaded()

参数

无。

返回

滚动窗格中已加载的字节数。

描述

方法；返回 ScrollPane 实例中已加载的字节数。加载内容时可按固定时间间隔调用该方法以查看其进度。

范例

该范例创建名为 scrollPane 的 ScrollPane 类实例。然后定义一个名为 loadListener 的侦听器对象，该对象带有一个 progress 事件处理函数，它调用 getBytesLoaded() 方法以帮助确定加载进度：

createClassObject(mx.containers.ScrollPane, "scrollPane", 0);
loadListener = new Object();
loadListener.progress = function(eventObj){
  // eventObj.target 为生成更改事件的组件
  var bytesLoaded = scrollPane.getBytesLoaded();
  var bytesTotal = scrollPane.getBytesTotal();
  var percentComplete = Math.floor(bytesLoaded/bytesTotal);

  if (percentComplete < 5 )  // 加载开始
  {
    trace(“开始从 Internet 加载内容”);
  }
  else if(percentComplete = 50) //50% complete
  {
    trace(“已下载 50% 的内容”);
  }
}
scrollPane.addEventListener("progress", loadListener);
scrollPane.contentPath = "http://www.geocities.com/hcls_matrix/Images/homeview5.jpg";


ScrollPane.getBytesTotal()

可用性

Flash Player 6.0.79。

版本

Flash MX 2004。

用法

scrollPaneInstance.getBytesTotal()

参数

无。

返回

一个数字。

描述

方法；返回要加载到 ScrollPane 实例中的总字节数。

另请参见

ScrollPane.getBytesLoaded()


ScrollPane.hLineScrollSize

可用性

Flash Player 6.0.79。

版本

Flash MX 2004。

用法

scrollPaneInstance.hLineScrollSize

描述

属性；水平滚动条中的向左箭头或向右箭头被按下时内容要移动的像素数。默认值为 5。

范例

该范例将水平滚动单位增加到 10：

scrollPane.hLineScrollSize = 10;


ScrollPane.hPageScrollSize

可用性

Flash Player 6.0.79。

版本

Flash MX 2004。

用法

scrollPaneInstance.hPageScrollSize

描述

属性；水平滚动条中的轨道被按下时内容要移动的像素数。默认值为 20。

范例

该范例将水平页滚动单位增加到 30：

scrollPane.hPageScrollSize = 30;


ScrollPane.hPosition

可用性

Flash Player 6.0.79。

版本

Flash MX 2004。

用法

scrollPaneInstance.hPosition

描述

属性；水平滚动条的像素位置。位置 0 表示滚动条的左端。

范例

该范例将滚动条的位置设为 20：

scrollPane.hPosition = 20;


ScrollPane.hScrollPolicy

可用性

Flash Player 6.0.79。

版本

Flash MX 2004。

用法

scrollPaneInstance.hScrollPolicy

描述

属性；确定水平滚动条是始终存在 ("on")、从不存在 ("off")，还是根据图像大小自动出现 ("auto")。默认值为 "auto"。

范例

下列代码将滚动条设置为一直启用：

scrollPane.hScrollPolicy = "on";


ScrollPane.progress

可用性

Flash Player 6.0.79。

版本

Flash MX 2004。

用法

用法 1：

on(progress){
  ...
}

用法 2：

listenerObject = new Object();
listenerObject.progress = function(eventObject){
  ...
}
scrollPaneInstance.addEventListener("progress", listenerObject)

描述

事件；在加载内容时向所有已注册的侦听器广播。progress 事件并不会始终广播；complete 事件可能在未调度任何 progress 事件的情况下广播。如果加载的内容是本地文件，尤其会出现这种情况。当通过设置 contentPath 属性的值开始加载内容时会触发此事件。

第一个用法范例使用一个 on() 处理函数，并且必须直接附加到 ScrollPane 组件实例。附加到组件的 on() 处理函数内部使用的关键字 this 是指该组件实例。例如，以下附加到 ScrollPane 组件实例 mySPComponent 的代码将“_level0.mySPComponent”发送到“输出”面板：

on(progress){
  trace(this);
}

第二个用法范例使用一个调度程序/侦听器事件模型。组件实例 (scrollPaneInstance) 会调度一个事件（在本例中为 progress），而该事件由附加到您创建的侦听器对象 (listenerObject) 的函数处理。您定义一个与侦听器对象上的事件同名的方法；当该事件被触发时，就会调用该方法。该事件被触发时，它会自动将一个事件对象 (eventObject) 传递到侦听器对象方法。每个事件对象都有一组属性，这些属性包含有关该事件的信息。您可以使用这些属性来编写处理该事件的代码。最后，对广播该事件的组件实例调用 UIEventDispatcher.addEventListener() 方法，以将侦听器注册到实例。当该实例调度该事件时，就会调用该侦听器。

有关事件对象的详细信息，请参阅事件对象。

范例

下面的代码创建一个名为 scrollPane 的 ScrollPane 实例，然后创建一个侦听器对象，该对象具有一个用于 progress 事件的事件处理函数，它将一条有关已加载内容的字节数的消息发送到“输出”面板：

createClassObject(mx.containers.ScrollPane, "scrollPane", 0);
loadListener = new Object();
loadListener.progress = function(eventObj){
  // eventObj.target 为生成进程事件的组件
  // 在本例中为 scrollPane
  trace("logo.swf has loaded " + scrollPane.getBytesLoaded() + " Bytes.");
  // 跟踪加载进程
}
scrollPane.addEventListener("complete", loadListener);
scrollPane.contentPath = "logo.swf";


ScrollPane.refreshPane()

可用性

Flash Player 6.0.79。

版本

Flash MX 2004。

用法

scrollPaneInstance.refreshPane()

参数

无。

返回

无。

描述

方法；加载内容以后刷新滚动窗格。该方法会重新加载内容。例如，如果您已经将一个表单加载到 ScrollPane 中，并且已经使用“动作脚本”更改了一个输入属性（例如，在一个文本字段中），那么，您就可以使用该方法。调用 refreshPane() 来重新加载具有这些输入属性的新值的同一个表单。

范例

下面的范例会刷新滚动窗格实例 sp：

sp.refreshPane();


ScrollPane.scroll

可用性

Flash Player 6.0.79。

版本

Flash MX 2004。

用法

用法 1：

on(scroll){
  ...
}

用法 2：

listenerObject = new Object();
listenerObject.scroll = function(eventObject){
  ...
}
scrollPaneInstance.addEventListener("scroll", listenerObject)

事件对象

除了标准的事件对象属性之外，还有一个为 scroll 事件定义的 type 属性，其值为 "scroll"。另外还有一个 direction 属性，其可能值为 "vertical" 和 "horizontal"。

描述

事件；当用户按下滚动条按钮、滑块或轨道时，向所有已注册的侦听器广播。与其他事件不同的是，当用户按下滚动条时，scroll 事件开始持续广播，直到用户松开滚动条。

第一个用法范例使用一个 on() 处理函数，并且必须直接附加到 ScrollPane 组件实例。附加到组件的 on() 处理函数内部使用的关键字 this 是指该组件实例。例如，下面附加到实例 sp 的代码将“_level0.sp”发送到“输出”面板：

on(scroll){
  trace(this);
}

第二个用法范例使用一个调度程序/侦听器事件模型。组件实例 (scrollPaneInstance) 调度一个事件（在本例中为 scroll），而该事件由附加到您创建的侦听器对象 (listenerObject) 的函数处理。您定义一个与侦听器对象上的事件同名的方法；当该事件被触发时，就会调用该方法。该事件被触发时，它会自动将一个事件对象 (eventObject) 传递到侦听器对象方法。每个事件对象都有一组属性，这些属性包含有关该事件的信息。您可以使用这些属性来编写处理该事件的代码。最后，对广播该事件的组件实例调用 UIEventDispatcher.addEventListener() 方法，以将侦听器注册到实例。当该实例调度该事件时，就会调用该侦听器。

有关事件对象的详细信息，请参阅事件对象。

范例

该范例创建一个具有 scroll 回调函数的 form 侦听器对象，该侦听器对象注册到 spInstance 实例：您必须为 spInstance 填写内容，如下所示：

spInstance.contentPath = "mouse3.jpg";
form = new Object();
form.scroll = function(eventObj){
  trace("ScrollPane scrolled");
}
spInstance.addEventListener("scroll", form);

另请参见

UIEventDispatcher.addEventListener()


ScrollPane.scrollDrag

可用性

Flash Player 6.0.79。

版本

Flash MX 2004。

用法

scrollPaneInstance.scrollDrag

描述

属性；一个布尔值，指明当用户在 ScrollPane 中按下并拖动内容时，是否会滚动内容，为 true 则滚动，为 false 则不滚动。默认值为 false。

范例

该范例在滚动窗格内启用鼠标滚动：

scrollPane.scrollDrag = true;


ScrollPane.vLineScrollSize

可用性

Flash Player 6.0.79。

版本

Flash MX 2004。

用法

scrollPaneInstance.vLineScrollSize

描述

属性；当按下垂直滚动条中的向上或向下箭头按钮时，显示区域移动的像素数。默认值为 5。

范例

该代码会将显示区域在垂直滚动条箭头按钮被按下时的移动量增加到 10：

scrollPane.vLineScrollSize = 10;


ScrollPane.vPageScrollSize

可用性

Flash Player 6.0.79。

版本

Flash MX 2004。

scrollPaneInstance.vPageScrollSize

描述

属性；当按下垂直滚动条中的轨道时显示区域移动的像素数。默认值为 20。

范例

该代码会将显示区域在垂直滚动条箭头按钮被按下时的移动量增加到 30：

scrollPane.vPageScrollSize = 30;


ScrollPane.vPosition

可用性

Flash Player 6.0.79。

版本

Flash MX 2004。

用法

scrollPaneInstance.vPosition

描述

属性；垂直滚动条的像素位置。默认值为 0。


ScrollPane.vScrollPolicy

可用性

Flash Player 6.0.79。

版本

Flash MX 2004。

用法

scrollPaneInstance.vScrollPolicy

描述

属性；确定垂直滚动条是始终显示 ("on")、从不显示 ("off") 还是根据图像尺寸自动出现 ("auto")。默认值为 "auto"。

范例

下列代码将垂直滚动条设为始终打开：

scrollPane.vScrollPolicy = "on";


关于 StyleManager 类

动作脚本类命名空间 mx.styles.StyleManager

StyleManager 类会跟踪已知的继承样式和颜色。只有在您要创建组件并希望添加新的继承样式或颜色时，才需要使用该类。

要确定哪些样式是继承样式，请参考 W3C Web 站点。

StyleManager 类的方法摘要

方法 | 描述
StyleManager.registerColorName()> | 使用 StyleManager 注册新的颜色名称。
StyleManager.registerColorStyle()> | 使用 StyleManager 注册新的颜色样式。
StyleManager.registerInheritingSyle()> | 使用 StyleManager 注册新的继承样式。


StyleManager.registerColorName()

可用性

Flash Player 6.0.79。

版本

Flash MX 2004。

用法

StyleManager.registerColorName(colorName, value)

参数

colorName 指明颜色名称的字符串（例如，"gray"、"darkGrey" 等等）。

value 指明颜色的十六进制数（例如，0x808080、0x404040 等等）。

返回

无。

描述

方法；将颜色名称与十六进制数值相关联并使用 StyleManager 注册颜色名称。

范例

下面的范例将“gray”注册为颜色的名称，该颜色是以十六进制数值 0x808080 表示的颜色：

StyleManager.registerColorName("gray", 0x808080 );


StyleManager.registerColorStyle()

可用性

Flash Player 6.0.79。

版本

Flash MX 2004。

用法

StyleManager.registerColorStyle(colorStyle)

参数

colorStyle 指明颜色名称的字符串（例如，"highlightColor"、"shadowColor"、"disabledColor" 等等）。

返回

无。

描述

方法；将新的颜色样式添加到 StyleManager。

范例

下面的范例将“highlightColor”注册为颜色样式：

StyleManager.registerColorStyle("highlightColor");


StyleManager.registerInheritingSyle()

可用性

Flash Player 6.0.79。

版本

Flash MX 2004。

用法

StyleManager.registerInheritingStyle(propertyName)

参数

propertyName 指明样式属性名称的字符串（例如，"newProp1"、"newProp2" 等等）。

返回

无。

描述

方法；将此样式属性标记为继承。使用该方法注册未在 CSS 规范中列出的样式属性。请不要使用该方法将非继承样式属性更改为继承。

范例

下面的范例将 newProp1 注册为继承样式：

StyleManager.registerInheritingStyle("newProp1");


关于 TextArea 组件

TextArea 组件环绕着本机“动作脚本”TextField 对象。您可以使用样式自定义 TextArea 组件；当实例被禁用时，其内容以“disabledColor”样式所代表的颜色显示。TextArea 组件也可以采用 HTML 格式，或者作为掩饰文本的密码字段。

在应用程序中可以启用或禁用 TextArea 组件。在禁用状态下，它不接收鼠标或键盘输入。当启用时，它遵循与“动作脚本”TextField 对象相同的焦点、选择和导航规则。当 TextArea 实例具有焦点时，您可以使用下列按键对其进行控制：

按键 | 描述
箭头键 | 将插入点向上、向下、向左或向右移动一行。
Page Down 键 | 向下移动一屏。
Page Up 键 | 向上移动一屏。
Shift + Tab | 将焦点移到前一个对象。
Tab 键 | 将焦点移到下一个对象。

有关控制焦点的详细信息，请参阅创建自定义焦点导航或FocusManager 类。

每个 TextArea 实例的实时预览都会反映创作时在属性检查器或“组件检查器”面板中对参数所做的更改。如果需要滚动条，它会出现在实时预览中，但并不起作用。在实时预览中，文本是不可选定的，并且无法在舞台上的组件实例中输入文本。

在将 TextArea 组件添加到应用程序中时，您可以使用“辅助功能”面板使其可由屏幕读取器访问。使用 TextArea 组件

在需要多行文本字段的任何地方都可使用 TextArea 组件。如果需要单行文本字段，请使用TextInput 组件。例如，您可以在表单中使用 TextArea 组件作为注释字段。您可以设置侦听器来检查当用户切换到字段外时，字段是否为空。侦听器可能会显示错误信息，以指明必须在该字段中输入注释。

TextArea 组件参数

下列是您可以在属性检查器中或在“组件检查器”面板中为每个 TextArea 组件设置的创作参数：

text 指明 TextArea 的内容。您无法在属性检查器或“组件检查器”面板中输入回车。默认值为 ""（空字符串）。

html 指明文本是 (true) 否 (false) 采用 HTML 格式。默认值为 false。

editable 指明 TextArea 组件是 (true) 否 (false) 可编辑。默认值为 true。

wordWrap 指明文本是 (true) 否 (false) 自动换行。默认值为 true。

您可以编写“动作脚本”，通过利用其属性、方法和事件来控制 TextArea 组件这些选项及其他选项。有关详细信息，请参阅 TextArea 类。

创建具有 TextArea 组件的应用程序

以下过程解释了如何在创作时将TextArea 组件添加到应用程序。在该范例中，组件为一个具有事件侦听器的“注释”字段，该侦听器确定用户是否输入了文本。

要创建具有 TextArea 组件的应用程序，请执行以下步骤：

  1. 将 TextArea 组件从“组件”面板拖到舞台上。
  2. 在属性检查器中，输入实例名称 comment。
  3. 在属性检查器中，按照需要设置参数。但是，请将文本参数保留为空，将可编辑参数设为 true，将密码参数设为 false。
  4. 在时间轴中选择第一帧，打开“动作”面板，然后输入以下代码：
    textListener = new Object();
textListener.handleEvent = function (evt){
  if (comment.length < 1)  {
  Alert(_root, "错误", "您必须在此字段中至少输入一个注释", mxModal | mxOK);
  }
}
comment.addEventListener("focusOut", textListener);

    该代码在 TextArea 实例 comment上设置了一个 FocusOut 事件处理函数，该事件处理函数用来验证用户是否在文本字段中键入了内容。

  5. 在注释实例中输入文本之后，您可以获取文本的值，如下所示：
    var login = comment.text;


自定义 TextArea 组件

您可以在创作时或在运行时，在水平和垂直方向上改变 TextArea 组件的形状。在创作时，在舞台上选择组件并使用“任意变形”工具或任何“修改”>“变形”命令。在运行时，使用 UIObject.setSize() 或 TextArea 类中任何适用的属性和方法。

调整了 TextArea 组件的大小后，边框大小就会调整到新的边框。如果需要滚动条，它们会被放置在下边缘和右边缘。然后，文本字段的大小会在其余区域内调整；TextArea 组件中没有大小固定的元素。如果 TextArea 组件太小不能显示文本，文本就会被裁剪。

对 TextArea 组件使用样式

对于字段中的所有文本来说，TextArea 组件支持一组组件样式。但是，您也可以显示与 Flash Player 的 HTML 呈现兼容的 HTML。要显示 HTML 文本，请将 TextArea.html 设为 true。

TextArea 组件在类样式声明中定义了它的 backgroundColor 和 borderStyle 样式属性。类样式覆盖 _global 样式，因此，如果要设置 backgroundColor 和 borderStyle 样式属性，必须在实例上创建一个不同的自定义样式声明。

如果样式属性的名称以“Color”结尾，则它是颜色样式属性，并且行为与非颜色样式属性不同。有关详细信息，请参阅使用样式自定义组件的颜色和文本。

TextArea 组件支持下列样式：

样式 | 描述
color | 文本的默认颜色。
embedFonts | 文档中嵌入的字体。
fontFamily | 文本的字体名称。
fontSize | 字体的磅值。
fontStyle | 字体样式，“常规”或“斜体”。
fontWeight | 字体粗细，“常规”或“粗体”。
textAlign | 文本对齐方式：“左”、“右”或“居中”。
textDecoration | 文本修饰，“无”或“下划线”。

对 TextArea 组件使用外观

TextArea 组件使用 RectBorder 类来绘制其边框。您可以使用 setStyle() 方法（请参阅 UIObject.setStyle()）来更改下列 RectBorder 样式属性：

RectBorder 样式
borderColor
highlightColor
borderColor
shadowColor
borderCapColor
shadowCapColor
shadowCapColor
borderCapColor

这些样式属性设置边框上的下列位置：


TextArea 类

继承 UIObject > UIComponent > View > ScrollView > TextArea

动作脚本类命名空间 mx.controls.TextArea

TextArea 类的属性允许您在运行时设置文本内容、格式以及水平和垂直位置。您也可以指明该字段是否可编辑，以及该字段是否为“密码”字段。您还可以限制用户可以输入的字符。

使用“动作脚本”设置 TextArea 类的属性会覆盖在属性检查器或“组件检查器”面板中设置的同名参数。

TextArea 组件会覆盖默认的 Flash Player 焦点矩形，并绘制一个带圆角的自定义焦点矩形。

TextArea 组件支持 CSS 样式和 Flash Player 所支持的任何其他 HTML 样式。

每个组件类都有一个 version 属性，该属性是一个类属性。类属性只能用于该类本身。version 属性会返回一个字符串，该字符串指明组件的版本。要访问 version 属性，请使用以下代码：

trace(mx.controls.TextArea.version);

注意：下面的代码返回未定义的：trace(myTextAreaInstance.version);。

TextArea 类的属性摘要

属性 | 描述
TextArea.editable> | 一个布尔值，指明该字段是 (true) 否 (false) 可编辑。
TextArea.hPosition | 定义滚动窗格中文本的水平位置。
TextArea.hScrollPolicy> | 指明水平滚动条是始终打开 ("on")，从不打开 ("off")，还是在需要时打开 ("auto")。
TextArea.html | 一个标记，指明文本字段是否可以采用 HTML 格式。
TextArea.length | 文本字段中的字符数。该属性为只读。
TextArea.maxChars | 文本字段最多可以容纳的字符数。
TextArea.maxHPosition> | TextArea.hPosition> 的最大值。
TextArea.maxVPosition | TextArea.vPosition> 的最大值。
TextArea.password | 一个布尔值，指明字段是密码字段 (true) 还是不是密码字段 (false)。
TextArea.restrict | 用户可在文本字段中输入的字符集。
TextArea.text | TextArea 组件的文本内容。
TextArea.vPosition | 一个数字，指明垂直滚动位置
TextArea.vScrollPolicy> | 指明垂直滚动条是始终打开 ("on")，从不打开 ("off")，还是在需要时打开 ("auto")。
TextArea.wordWrap> | 一个布尔值，指明文本是 (true) 否 (false) 自动换行。

TextArea 类的事件摘要

事件 | 描述
TextArea.change | 通知侦听器文本已更改。


TextArea.change

可用性

Flash Player 6.0.79。

版本

Flash MX 2004。

用法

用法 1：

on(change){
  ...
}

用法 2：

listenerObject = new Object();
listenerObject.change = function(eventObject){
  ...
}
textAreaInstance.addEventListener("change", listenerObject)

描述

事件；通知侦听器文本已更改。在文本更改后广播该事件。不能使用该事件防止某些字符添加到组件的文本字段，而应使用 TextArea.restrict。

第一个用法范例使用 on() 处理函数，并且必须直接附加到 TextArea 组件实例。附加到组件的 on() 处理函数内部使用的关键字 this 是指该组件实例。例如，下列代码附加到 myTextArea 实例，它将“_level0.myTextArea”发送到“输出”面板：

on(change){
  trace(this);
}

第二个用法范例使用一个调度程序/侦听器事件模型。组件实例 (textAreaInstance) 调度一个事件（在本例中为 change），而该事件由附加到您创建的侦听器对象 (listenerObject) 的函数处理。您定义一个与侦听器对象上的事件同名的方法；当该事件被触发时，就会调用该方法。该事件被触发时，它会自动将一个事件对象 (eventObject) 传递到侦听器对象方法。每个事件对象都有一组属性，这些属性包含有关该事件的信息。您可以使用这些属性来编写处理该事件的代码。最后，对广播该事件的组件实例调用 UIEventDispatcher.addEventListener() 方法，以将侦听器注册到实例。当该实例调度该事件时，就会调用该侦听器。

有关事件对象的详细信息，请参阅事件对象。

范例

该范例跟踪文本字段已更改的总次数：

myTextArea.changeHandler = function(obj) {
  this.changeCount++;
  trace(obj.target);
  trace("text has changed " + this.changeCount + " times now! it now contains " +
this.text);
}

另请参见

UIEventDispatcher.addEventListener()


TextArea.editable

可用性

Flash Player 6.0.79。

版本

Flash MX 2004。

用法

textAreaInstance.editable

描述

属性；一个布尔值，指明组件是 (true) 否 (false) 可编辑。默认值为 true。


TextArea.hPosition

可用性

Flash Player 6.0.79。

版本

Flash MX 2004。

用法

textAreaInstance.hPosition

描述

属性；定义文本在字段中的水平位置。默认值为 0。

范例

以下代码显示字段中最左边的字符：

myTextArea.hPosition = 0;


TextArea.hScrollPolicy

可用性

Flash Player 6.0.79。

版本

Flash MX 2004。

用法

textAreaInstance.hScrollPolicy

描述

属性；确定水平滚动条是始终显示 ("on")、从不显示 ("off")，还是根据字段大小自动显示 ("auto")。默认值为 "auto"。

范例

以下代码使水平滚动条始终打开：

text.hScrollPolicy = "on";


TextArea.html

可用性

Flash Player 6.0.79。

版本

Flash MX 2004。

用法

textAreaInstance.html

描述

属性；一个布尔值，指明该文本字段是 (true) 否 (false) 采用 HTML 格式。如果 html 属性为 true，则文本字段为 HTML 文本字段。如果 html 为 false，则文本字段为非 HTML 文本字段。默认值为 false。

范例

以下范例使 myTextArea 字段成为 HTML 文本字段，然后使用 HTML 标记设置文本格式：

myTextArea.html = true;
myTextArea.text = "The <b>Royal</b> Nonesuch"; // 显示“The Royal Nonesuch”


TextArea.length

可用性

Flash Player 6.0.79。

版本

Flash MX 2004。

用法

textAreaInstance.length

描述

属性（只读）；指明文本字段中的字符数。此属性与动作脚本 text.length 属性返回的值相同，但速度更快。制表符（“\t”）这样的字符会被算作一个字符。默认值为 0。

范例

以下范例获取文本字段的长度并将它复制到 length 变量中：

var length = myTextArea.length; // 查明文本字符串的长度


TextArea.maxChars

可用性

Flash Player 6.0.79。

版本

Flash MX 2004。

用法

textAreaInstance.maxChars

描述

属性；该文本字段最多可容纳的字符数。脚本插入的文本可能会比 maxChars 属性允许的字符数多；maxChars 属性只是指明用户可以输入多少文本。如果此属性的值为 null，则对用户可以输入的文本量没有限制。默认值为空。

范例

以下范例将用户可以输入的字符数限制为 255：

myTextArea.maxChars = 255;


TextArea.maxHPosition

可用性

Flash Player 6.0.79。

版本

Flash MX 2004。

用法

textAreaInstance.maxHPosition

描述

属性（只读）；TextArea.hPosition 的最大值。默认值为 0。

范例

以下代码将文本滚动到最右侧：

myTextArea.hPosition = myTextArea.maxHPosition;

另请参见

TextArea.vPosition


TextArea.maxVPosition

可用性

Flash Player 6.0.79。

版本

Flash MX 2004。

用法

textAreaInstance.maxVPosition

描述

属性（只读）；指明 TextArea.vPosition 的最大值。默认值为 0。

范例

以下代码将文本滚动到组件的底部：

myTextArea.vPosition = myTextArea.maxVPosition;

另请参见

TextArea.hPosition


TextArea.password

可用性

Flash Player 6.0.79。

版本

Flash MX 2004。

用法

textAreaInstance.password

描述

属性；一个布尔值，指明文本字段是 (true) 否 (false) 为密码字段。如果 password 的值为 true，则此文本字段为密码文本字段并且会隐藏输入字符。如果为 false，则此文本字段不是密码文本字段。默认值为 false。

范例

以下代码使文本字段为密码字段，该字段将所有字符显示为星号 (*)：

myTextArea.password = true;


TextArea.restrict

可用性

Flash Player 6.0.79。

版本

Flash MX 2004。

用法

textAreaInstance.restrict

描述

属性；指明用户可输入到文本字段中的字符集。默认值未定义。如果 restrict 属性的值为空，用户就可以输入任何字符。如果 restrict 属性的值为空字符串，则不能输入任何字符。如果 restrict 属性的值为一个字符串，则只能向文本字段中输入该字符串中的字符；系统将从左向右扫描该字符串。可以使用短划线 (-) 指定范围。

restrict 属性只限制用户交互；脚本可将任何文本放入文本字段中。此属性与属性检查器中的“嵌入字体轮廓”复选框不同步。

如果此字符串以“^”开头，则先接受所有字符，然后从已接受的字符集中排除字符串中 ^ 之后的字符。如果此字符串不以“^”开头，则最初不接受任何字符，然后将字符串中的字符包括在接受字符集中。

范例

在以下范例中，第一行代码将文本字段限定为大写字母、数字和空格。第二行代码允许除小写字母之外的所有字符。

my_txt.restrict = "A-Z 0-9"; // 将控件限定为大写字母、数字和空格。
my_txt.restrict = "^a-z"; // 允许除小写字母之外的所有字符。


TextArea.text

可用性

Flash Player 6.0.79。

版本

Flash MX 2004。

用法

textAreaInstance.text

描述

属性；TextArea 组件的文本内容。默认值为 ""（空字符串）。

范例

以下代码在 myTextArea 实例中放置一个字符串，然后用 trace 命令将该字符串发送到“输出”面板：

myTextArea.text = "The Royal Nonesuch";
trace(myTextArea.text); // 跟踪“The Royal Nonesuch”


TextArea.vPosition

可用性

Flash Player 6.0.79。

版本

Flash MX 2004。

用法

textAreaInstance.vPosition

描述

属性；定义文本在文本字段中的垂直位置。scroll 属性很有用，该属性可以帮助用户定位到长篇文章的特定段落，还可用于创建滚动文本字段。您可以获取并设置该属性。默认值为 0。

范例

以下代码会使字段中最顶端的字符显示出来：

myTextArea.vPosition = 0;


TextArea.vScrollPolicy

可用性

Flash Player 6.0.79。

版本

Flash MX 2004。

用法

textAreaInstance.vScrollPolicy

描述

属性；确定垂直滚动条是始终显示 ("on")、从不显示 ("off")，还是根据字段大小自动出现 ("auto")。默认值为 "auto"。

范例

以下代码使垂直滚动条始终关闭：

text.vScrollPolicy = "off";


TextArea.wordWrap

可用性

Flash Player 6.0.79。

版本

Flash MX 2004。

用法

textAreaInstance.wordWrap

描述

属性，一个布尔值，指明文本是 (true) 否 (false) 自动换行。默认值为 true。


关于 TextInput 组件

TextInput 是一个环绕本机“动作脚本”TextField 对象的单行组件。您可以使用样式自定义 TextInput 组件；当实例被禁用时，它的内容会显示为“disabledColor”样式表示的颜色。TextInput 组件也可以采用 HTML 格式，或作为掩饰文本的密码字段。

在应用程序中，TextInput 组件可以被启用或者禁用。在禁用状态下，它不接收鼠标或键盘输入。当启用时，它遵循与“动作脚本”TextField 对象相同的焦点、选择和导航规则。当一个 TextInput 实例有焦点时，您还可以使用以下按键来控制它：

按键 | 描述
箭头键 | 向左和向右移动一个字符的距离。
Shift + Tab | 将焦点移到前一个对象。
Tab 键 | 将焦点移到下一个对象。

有关控制焦点的详细信息，请参阅创建自定义焦点导航或FocusManager 类。

每个 TextInput 实例的实时预览都会反映在创作过程中对属性检查器或“组件检查器”面板中的参数所做的更改。在实时预览中，文本是不可选定的，并且无法在舞台上的组件实例中输入文本。

在将 TextInput 组件添加到应用程序时，您可以使用“辅助功能”面板来使其可由屏幕读取器访问。


使用 TextInput 组件

在任何需要单行文本字段的地方，都可以使用 TextInput 组件。如果您需要多行文本字段，请使用TextArea 组件。例如，您可以在表单中将 TextInput 组件用作密码字段。您可以设置一个侦听器，检查用户按 Tab 键切换到字段之外时，该字段是否有足够的字符。该侦听器可以显示一条错误信息，指明必须输入正确的字符数。

TextInput 组件参数

以下是您可以在属性检查器中或在“组件检查器”面板中为每个 TextInput 组件设置的创作参数：

text 指定 TextInput 的内容。您无法在属性检查器或“组件检查器”面板中输入回车。默认值为 ""（空字符串）。

editable 指明 TextInput 组件是 (true) 否 (false) 可编辑。默认值为 true。

password 指明字段是 (true) 否 (false) 为密码字段。默认值为 false。

您可以编写“动作脚本”，通过利用其属性、方法和事件来处理 TextInput 组件的这些和其他选项。有关详细信息，请参阅 TextInput 类。

创建具有 TextInput 组件的应用程序

以下过程解释了如何在创作时将 TextInput 组件添加到应用程序。在本范例中，组件是带有事件侦听器的密码字段，事件侦听器确定输入的字符数是否正确。

要创建具有 TextInput 组件的应用程序，请执行以下操作：

  1. 将 TextInput 组件从“组件”面板拖到舞台上。
  2. 在属性检查器中，输入实例名称 passwordField。
  3. 在属性检查器中，执行以下操作：
    • 将 text 参数保留为空。
    • 将 editable 参数设置为 true。
    • 将 password 参数设置为 true。
  4. 在时间轴中选择第一帧，打开“动作”面板，然后输入以下代码：
    textListener = new Object();
textListener.handleEvent = function (evt){
  if (evt.type == "enter"){
    trace("You must enter at least 8 characters");
  }
}
passwordField.addEventListener("enter", textListener);

    该代码在 TextInput passwordField 实例上设置了一个 enter 事件处理函数，该事件处理函数用来验证用户输入的字符数是否正确。

  5. 在 passwordField 实例中输入文本后，您可以获取它的值，如下所示：
    var login = passwordField.text;


自定义 TextInput 组件

在创作过程中和在运行时，您都可以在水平方向上改变 TextInput 组件的形状。在创作时，在舞台上选择组件并使用“任意变形”工具或任何“修改”>“变形”命令。在运行时，使用 UIObject.setSize() 或 TextInput 类中任何适用的属性和方法。

在调整 TextInput 组件大小时，边框将相应调整为新边框。TextInput 组件不使用滚动条，但当用户与文本交互操作时插入点会自动滚动。然后在剩余区域中调整文本字段大小，在 TextInput 组件中没有固定大小的元素。如果 TextInput 组件太小而无法显示文本，则该文本将会被裁剪。

对 TextInput 组件使用样式

TextInput 组件在类样式声明中定义了它的 backgroundColor 和 borderStyle 样式属性。类样式覆盖 _global 样式，因此，如果要设置 backgroundColor 和 borderStyle 样式属性，必须在实例上创建一个不同的自定义样式声明。

TextInput 组件支持以下样式：

样式 | 描述
color | 文本的默认颜色。
embedFonts | 文档中嵌入的字体。
fontFamily | 文本的字体名称。
fontSize | 字体的磅值。
fontStyle | 字体样式，“常规”或“斜体”。
fontWeight | 字体粗细，“常规”或“粗体”。
textAlign | 文本对齐方式：“左”、“右”或“居中”。
textDecoration | 文本修饰，“无”或“下划线”。

使用具有 TextInput 组件的外观

TextArea 组件使用 RectBorder 类来绘制其边框。您可以使用 setStyle() 方法（请参阅 UIObject.setStyle()）来更改下列 RectBorder 样式属性：

RectBorder 样式
borderColor
highlightColor
borderColor
shadowColor
borderCapColor
shadowCapColor
shadowCapColor
borderCapColor

这些样式属性设置边框上的下列位置：


TextInput 类

继承 UIObject > UIComponent > TextInput

动作脚本类命名空间 mx.controls.TextInput

使用 TextInput 类的属性，您可以在运行时设置文本内容、格式和水平位置。您也可以指明该字段是否可编辑，以及该字段是否为“密码”字段。您还可以限制用户可以输入的字符。

使用“动作脚本”设置 TextInput 类的属性会覆盖在属性检查器或“组件检查器”面板中设置的同名参数。

TextInput 组件使用 FocusManager 来覆盖默认的 Flash Player 焦点矩形并绘制一个带圆角的自定义焦点矩形。有关详细信息，请参阅FocusManager 类。

TextInput 组件支持 CSS 样式和 Flash Player 支持的任何其他 HTML 样式。有关 CSS 支持的信息，请参阅 W3C 规范。

您可以通过使用由文本对象返回的字符串来操作文本字符串。

每个组件类都有一个 version 属性，该属性是一个类属性。类属性只能用于该类本身。version 属性会返回一个字符串，该字符串指明组件的版本。要访问 version 属性，请使用以下代码：

trace(mx.controls.TextInput.version);

注意：下面的代码返回未定义的：trace(myTextInputInstance.version);。

TextInput 类的方法摘要

继承 UIObject 类和 UIComponent 类中的所有方法。

TextInput 类的属性摘要

属性 | 描述
TextInput.editable> | 一个布尔值，指明该字段是 (true) 否 (false) 可编辑。
TextInput.hPosition | 文本字段的水平滚动位置。
TextInput.length | TextInput 文本字段中的字符数。该属性为只读。
TextInput.maxChars | 用户可以在 TextInput 文本字段输入的最大字符数。
TextInput.maxHPosition | TextField.hPosition 的最大可能值。该属性为只读。
TextInput.password> | 一个布尔值，指明该输入文本字段是否为隐藏所输入字符的密码字段。
TextInput.restrict | 指明用户可以在文本字段输入哪些字符。
TextInput.text> | 设置 TextInput 文本字段的文本内容。

继承 UIObject 类和 UIComponent 类中的所有方法。

TextInput 类的事件摘要

事件 | 描述
TextInput.change> | 在输入字段更改时触发。
TextInput.enter> | 在按 Enter 键时触发。

继承 UIObject 类和 UIComponent 类中的所有方法。


TextInput.change

可用性

Flash Player 6.0.79。

版本

Flash MX 2004。

用法

用法 1：

on(change){
  ...
}

用法 2：

listenerObject = new Object();
listenerObject.change = function(eventObject){
  ...
}
textInputInstance.addEventListener("change", listenerObject)

描述

事件；通知侦听器文本已更改。在文本更改后广播该事件。不能使用该事件防止某些字符添加到组件的文本字段，而应使用 TextInput.restrict。该事件只能通过用户输入触发，不能通过编程方式的更改来触发。

第一个用法范例使用一个 on() 处理函数，并且必须直接附加到一个 TextInput 组件实例。附加到组件的 on() 处理函数内部使用的关键字 this 是指该组件实例。例如，下列代码附加到 myTextInput 实例，它将“_level0.myTextInput”发送到“输出”面板：

on(change){
  trace(this);
}

第二个用法范例使用一个调度程序/侦听器事件模型。组件实例 (textInputInstance) 调度一个事件（在本例中为 change），而该事件由附加到您创建的侦听器对象 (listenerObject) 的函数处理。您定义一个与侦听器对象上的事件同名的方法；当该事件被触发时，就会调用该方法。该事件被触发时，它会自动将一个事件对象 (eventObject) 传递到侦听器对象方法。每个事件对象都有一组属性，这些属性包含有关该事件的信息。您可以使用这些属性来编写处理该事件的代码。最后，对广播该事件的组件实例调用 UIEventDispatcher.addEventListener() 方法，以将侦听器注册到实例。当该实例调度该事件时，就会调用该侦听器。

有关事件对象的详细信息，请参阅事件对象。

范例

该范例在应用程序中设置一个标记，该标记指明 TextInput 字段中的内容是否已更改：

form.change = function(eventObj){
  // eventObj.target 是生成 change 事件的组件，
  // 即 Input 组件。
  myFormChanged.visible = true;  // 如果内容已更改，设置一个更改指示符；
}
myInput.addEventListener("change", form);

另请参见

UIEventDispatcher.addEventListener()


TextInput.editable

可用性

Flash Player 6.0.79。

版本

Flash MX 2004。

用法

textInputInstance.editable

描述

属性；一个布尔值，指明组件是 (true) 否 (false) 可编辑。默认值为 true。


TextInput.enter

可用性

Flash Player 6.0.79。

版本

Flash MX 2004。

用法

用法 1：

on(enter){
  ...
}

用法 2：

listenerObject = new Object();
listenerObject.enter = function(eventObject){
  ...
}
textInputInstance.addEventListener("enter", listenerObject)

描述

事件；通知侦听器 Enter 键已被按下。

第一个用法范例使用一个 on() 处理函数，并且必须直接附加到一个 TextInput 组件实例。附加到组件的 on() 处理函数内部使用的关键字 this 是指该组件实例。例如，下列代码附加到 myTextInput 实例，它将“_level0.myTextInput”发送到“输出”面板：

on(enter){
  trace(this);
}

第二个用法范例使用一个调度程序/侦听器事件模型。组件实例 (textInputInstance) 调度一个事件（在本例中为 enter），而该事件由附加到您创建的侦听器对象 (listenerObject) 的函数处理。您定义一个与侦听器对象上的事件同名的方法；当该事件被触发时，就会调用该方法。该事件被触发时，它会自动将一个事件对象 (eventObject) 传递到侦听器对象方法。每个事件对象都有一组属性，这些属性包含有关该事件的信息。您可以使用这些属性来编写处理该事件的代码。最后，对广播该事件的组件实例调用 UIEventDispatcher.addEventListener() 方法，以将侦听器注册到实例。当该实例调度该事件时，就会调用该侦听器。

有关事件对象的详细信息，请参阅事件对象。

范例

该范例在应用程序中设置一个标记，该标记指明 TextInput 字段中的内容是否已更改：

form.enter = function(eventObj){
  // eventObj.target 是生成 enter 事件的组件，
  // 即 Input 组件。
  myFormChanged.visible = true;
// 如果用户按下 Enter 键，则设置一个更改指示符；
}
myInput.addEventListener("enter", form);

另请参见

UIEventDispatcher.addEventListener()


TextInput.hPosition

可用性

Flash Player 6.0.79。

版本

Flash MX 2004。

用法

textInputInstance.hPosition

描述

属性；定义文本在字段中的水平位置。默认值为 0。

范例

以下代码显示字段中最左边的字符：

myTextInput.hPosition = 0;


TextInput.length

可用性

Flash Player 6.0.79。

版本

Flash MX 2004。

用法

inputInstance.length

描述

属性（只读）；一个数字，指明 TextInput 组件中的字符数。制表符（“\t”）这样的字符会被算作一个字符。默认值为 0。

范例

以下代码确定 myTextInput 字符串中的字符数，并将该数值复制到 length 变量中：

var length = myTextInput.length;


TextInput.maxChars

可用性

Flash Player 6.0.79。

版本

Flash MX 2004。

用法

textInputInstance.maxChars

描述

属性；该文本字段最多可容纳的字符数。脚本插入的文本可能会比 maxChars 属性允许的字符数多；maxChars 属性只是指明用户可以输入多少文本。如果此属性的值为 null，则对用户可以输入的文本量没有限制。默认值为空。

范例

以下范例将用户可以输入的字符数限制为 255：

myTextInput.maxChars = 255;


TextInput.maxHPosition

可用性

Flash Player 6.0.79。

版本

Flash MX 2004。

用法

textInputInstance.maxHPosition

描述

属性（只读）；指明 TextInput.hPosition 的最大值。默认值为 0。

范例

以下代码会滚动到最右边：

myTextInput.hPosition = myTextInput.maxHPosition;


TextInput.password

可用性

Flash Player 6.0.79。

版本

Flash MX 2004。

用法

textInputInstance.password

描述

属性；一个布尔值，指明文本字段是 (true) 否 (false) 为密码字段。如果 password 的值为 true，则此文本字段为密码文本字段并且会隐藏输入字符。如果为 false，则此文本字段不是密码文本字段。默认值为 false。

范例

以下代码使文本字段为密码字段，该字段将所有字符显示为星号 (*)：

myTextInput.password = true;


TextInput.restrict

可用性

Flash Player 6.0.79。

版本

Flash MX 2004。

用法

textInputInstance.restrict

描述

属性；指明用户可输入到文本字段中的字符集。默认值未定义。如果 restrict 属性的值为 null 或空字符串 ("")，则用户可以输入任意字符。如果 restrict 属性的值为一个字符串，则只能向文本字段中输入该字符串中的字符；系统将从左向右扫描该字符串。可以使用短划线 (-) 指定范围。

restrict 属性只限制用户交互；脚本可将任何文本放入文本字段中。此属性与属性检查器中的“嵌入字体轮廓”复选框不同步。

如果此字符串以“^”开头，则先接受所有字符，然后从已接受的字符集中排除字符串中 ^ 之后的字符。如果此字符串不以“^”开头，则最初不接受任何字符，然后将字符串中的字符包括在接受字符集中。

反斜线字符可以用于输入字符“-”、“^”和“\”，如下所示：

\^
\-
\\

在“动作”面板中，当在 ""（双引号）中输入 \ 字符时，对于“动作”面板的双引号解释器，该字符有特殊的含义。它表示 \ 之后的字符应被视为其本身的含义。例如，下列代码用于输入单个引号：

var leftQuote = "\"";

“动作”面板的 .restrict 解释器也将 \ 用作转义符。因此，您可能会认为下列代码应该起作用：

myText.restrict = "0-9\-\^\\";

但是，因为此表达式包含在双引号内，所以会将下面的值发送到 .restrict 解释器：0-9-^\，.restrict 解释器将不能识别此值。

因为必须在双引号中输入此表达式，所以不仅要为 .restrict 解释器提供表达式，而且还必须转义“动作”面板中双引号的内置解释器。若要将值 0-9\-\^\\ 发送到 .restrict 解释器，您必须输入下列代码：

myText.restrict = "0-9\\-\\^\\\\";

范例

在以下范例中，第一行代码将文本字段限定为大写字母、数字和空格。第二行代码允许除小写字母之外的所有字符。

my_txt.restrict = "A-Z 0-9";
my_txt.restrict = "^a-z";

以下代码允许用户在实例 myText 中输入字符“0 1 2 3 4 5 6 7 8 9 - ^ \”。您必须使用双反斜线使字符“-”、“^”和“\”转义。第一个“\”转义为“ ”，第二个“\”指示解释器不应将下一个字符视为特殊字符，如下所示：

myText.restrict = "0-9\\-\\^\\\\";


TextInput.text

可用性

Flash Player 6.0.79。

版本

Flash MX 2004。

用法

textInputInstance.text

描述

属性；TextInput 组件的文本内容。默认值为 ""（空字符串）。

范例

以下代码将字符串放入 myTextInput 实例中，然后用 trace 命令将该字符串发送到“输出”面板：

myTextInput.text = "The Royal Nonesuch";
trace(myTextInput.text); // 跟踪“The Royal Nonesuch”


关于 UIComponent 类

继承 UIObject > UIComponent

动作脚本类命名空间 mx.core.UIComponent

所有 v2 组件均扩展 UIComponent；它不是可视组件。UIComponent 类包含的功能和属性使 Macromedia 组件能够共享一些常规行为。UIComponent 类允许您执行以下操作：

  • 接收焦点和键盘输入
  • 启用和禁用组件
  • 按布局调整大小

要使用 UIComponent 的方法和属性，您可以直接从您正在使用的任意一个组件中调用它们。例如，要从 RadioButton 组件调用 UIComponent.setFocus() 方法，您要编写以下代码：

myRadioButton.setFocus();

如果您要使用 Macromedia 组件 V2 结构创建新组件，只需创建 UIComponent 的实例即可。即使在这种情况下，其他子类（如 Button）通常仍会隐式创建 UIComponent。如果您确实需要创建 UIComponent 的实例，请使用以下代码：

class MyComponent extends UIComponent;

UIComponent 类的方法摘要

方法 | 描述
UIComponent.getFocus()> | 返回对具有焦点的对象的引用。
UIComponent.setFocus()> | 将焦点设置到组件实例中。

继承 UIObject 类的所有方法。

UIComponent 类的属性摘要

属性 | 描述
UIComponent.enabled> | 指明组件是否可以接收焦点和输入。
UIComponent.tabIndex> | 一个数字，指明文档中组件的 Tab 键顺序。

继承 UIObject 类的所有属性。

UIComponent 类的事件摘要

事件 | 描述
UIComponent.focusIn> | 当对象收到焦点时进行广播。
UIComponent.focusOut> | 当对象失去焦点时进行广播。
UIComponent.keyDown> | 当按下按键时进行广播。
UIComponent.keyUp> | 当松开按键时进行广播。

继承 UIObject 类的所有事件。


UIComponent.focusIn

可用性

Flash Player 6.0.79。

版本

Flash MX 2004。

用法

on(focusIn){
  ...
}
listenerObject = new Object();
listenerObject.focusIn = function(eventObject){
  ...
}
componentInstance.addEventListener("focusIn", listenerObject)

描述

事件；通知侦听器对象已接收到键盘焦点。

第一个用法范例使用一个 on() 处理函数，并且必须直接附加到一个组件实例。

第二个用法范例使用一个调度程序/侦听器事件模型。组件实例 (componentInstance) 调度一个事件（在本例中为 focusIn），而该事件由附加到您创建的侦听器对象 (listenerObject) 的函数处理。您定义一个与侦听器对象上的事件同名的方法；当该事件被触发时，就会调用该方法。该事件被触发时，它会自动将一个事件对象 (eventObject) 传递到侦听器对象方法。每个事件对象都有一组属性，这些属性包含有关该事件的信息。您可以使用这些属性来编写处理该事件的代码。最后，对广播该事件的组件实例调用 UIEventDispatcher.addEventListener() 方法，以将侦听器注册到实例。当该实例调度该事件时，就会调用该侦听器。

有关事件对象的详细信息，请参阅事件对象。

范例

以下代码在用户在文本字段 txt 中键入时禁用按钮：

txtListener.handleEvent = function(eventObj) {
  form.button.enabled = false;
}
txt.addEventListener("focusIn", txtListener);

另请参见

UIEventDispatcher.addEventListener()


UIComponent.focusOut

可用性

Flash Player 6.0.79。

版本

Flash MX 2004。

用法

on(focusOut){
  ...
}
listenerObject = new Object();
listenerObject.focusOut = function(eventObject){
  ...
}
componentInstance.addEventListener("focusOut", listenerObject)

描述

事件；通知侦听器对象已丢失键盘焦点。

第一个用法范例使用一个 on() 处理函数，并且必须直接附加到一个组件实例。

第二个用法范例使用一个调度程序/侦听器事件模型。组件实例 (componentInstance) 调度一个事件（在本例中为 focusOut），而该事件由附加到您创建的侦听器对象 (listenerObject) 的函数处理。您定义一个与侦听器对象上的事件同名的方法；当该事件被触发时，就会调用该方法。该事件被触发时，它会自动将一个事件对象 (eventObject) 传递到侦听器对象方法。每个事件对象都有一组属性，这些属性包含有关该事件的信息。您可以使用这些属性来编写处理该事件的代码。最后，对广播该事件的组件实例调用 UIEventDispatcher.addEventListener() 方法，以将侦听器注册到实例。当该实例调度该事件时，就会调用该侦听器。

有关事件对象的详细信息，请参阅事件对象。

范例

以下代码在用户离开文本字段 txt 时启用按钮：

txtListener.handleEvent = function(eventObj) {
  if (eventObj.type == focusOut){
       form.button.enabled = true;
  }
}
txt.addEventListener("focusOut", txtListener);

另请参见

UIEventDispatcher.addEventListener()


UIComponent.enabled

可用性

Flash Player 6.0.79。

版本

Flash MX 2004。

用法

componentInstance.enabled

描述

属性；指明组件是否可以接受焦点和鼠标输入。如果值为 true，则组件可以接收焦点和输入；如果值为 false，则不能接收。默认值为 true。

范例

以下范例将 CheckBox 组件的 enabled 属性设置为 false：

checkBoxInstance.enabled = false;


UIComponent.getFocus()

可用性

Flash Player 6.0.79。

版本

Flash MX 2004。

用法

componentInstance.getFocus();

参数

无。

返回

对当前具有焦点的对象的引用。

描述

方法；返回对具有键盘焦点的对象的引用。

范例

下列代码返回对具有焦点的对象的引用，并将它分配给 tmp 变量：

var tmp = checkbox.getFocus();


UIComponent.keyDown

可用性

Flash Player 6.0.79。

版本

Flash MX 2004。

用法

on(keyDown){
  ...
}
listenerObject = new Object();
listenerObject.keyDown = function(eventObject){
  ...
}
componentInstance.addEventListener("keyDown", listenerObject)

描述

事件；当某个按键被按下时通知侦听器。这是一个级别很低的事件，除非必要，否则不应使用，因为它可能会影响系统性能。

第一个用法范例使用一个 on() 处理函数，并且必须直接附加到一个组件实例。

第二个用法范例使用一个调度程序/侦听器事件模型。组件实例 (componentInstance) 调度一个事件（在本例中为 keyDown），而该事件由附加到您创建的侦听器对象 (listenerObject) 的函数处理。您定义一个与侦听器对象上的事件同名的方法；当该事件被触发时，就会调用该方法。该事件被触发时，它会自动将一个事件对象 (eventObject) 传递到侦听器对象方法。每个事件对象都有一组属性，这些属性包含有关该事件的信息。您可以使用这些属性来编写处理该事件的代码。最后，对广播该事件的组件实例调用 UIEventDispatcher.addEventListener() 方法，以将侦听器注册到实例。当该实例调度该事件时，就会调用该侦听器。

有关事件对象的详细信息，请参阅事件对象。

范例

以下代码会在某个按键被按下时使图标闪烁：

formListener.handleEvent = function(eventObj)
{
  form.icon.visible = !form.icon.visible;
}
form.addEventListener("keyDown", formListener);


UIComponent.keyUp

可用性

Flash Player 6.0.79。

版本

Flash MX 2004。

用法

on(keyUp){
  ...
}
listenerObject = new Object();
listenerObject.keyUp = function(eventObject){
  ...
}
componentInstance.addEventListener("keyUp", listenerObject)

描述

事件；当某个按键被松开时通知侦听器。这是一个级别很低的事件，除非必要，否则不应使用，因为它可能会影响系统性能。

第一个用法范例使用一个 on() 处理函数，并且必须直接附加到一个组件实例。

第二个用法范例使用一个调度程序/侦听器事件模型。组件实例 (componentInstance) 调度一个事件（在本例中为 keyUp），而该事件由附加到您创建的侦听器对象 (listenerObject) 的函数处理。您定义一个与侦听器对象上的事件同名的方法；当该事件被触发时，就会调用该方法。该事件被触发时，它会自动将一个事件对象 (eventObject) 传递到侦听器对象方法。每个事件对象都有一组属性，这些属性包含有关该事件的信息。您可以使用这些属性来编写处理该事件的代码。最后，对广播该事件的组件实例调用 UIEventDispatcher.addEventListener() 方法，以将侦听器注册到实例。当该实例调度该事件时，就会调用该侦听器。

有关事件对象的详细信息，请参阅事件对象。

范例

以下代码在某个按键被松开时使图标闪烁：

formListener.handleEvent = function(eventObj)
{
  form.icon.visible = !form.icon.visible;
}
form.addEventListener("keyUp", formListener);


UIComponent.setFocus()

可用性

Flash Player 6.0.79。

版本

Flash MX 2004。

用法

componentInstance.setFocus();

参数

无。

返回

无。

描述

方法；设置此组件实例的焦点。具有焦点的实例接收所有的键盘输入。

范例

下列代码将 checkbox 实例设置为具有焦点：

checkbox.setFocus();


UIComponent.tabIndex

可用性

Flash Player 6.0.79。

版本

Flash MX 2004。

用法

instance.tabIndex

描述

属性；指明文档中组件的 Tab 键顺序的值。

范例

下列代码将 tmp 的值设置为 checkbox 实例的 tabIndex 属性：

var tmp = checkbox.tabIndex;


关于 UIEventDispatcher 类

动作脚本类命名空间 mx.events.EventDispatcher；mx.events.UIEventDispatcher

通过事件可以了解用户何时与组件进行了交互操作，也可以了解组件的外观或生命周期何时发生了重要的更改，例如创建或破坏组件或者组件的大小发生更改。

每个组件都会播放不同的事件，而且这些事件会列在每个组件项目中。在“动作脚本”代码中使用组件事件的方法有若干种。有关详细信息，请参阅关于组件事件。

使用 UIEventDispatcher.addEventListener() 将侦听器注册到组件实例。触发组件事件时，侦听器会被调用。


UIEventDispatcher.addEventListener()

可用性

Flash Player 6.0.79。

版本

Flash MX 2004 和 Flash MX Professional 2004。

用法

componentInstance.addEventListener(event, listener)

参数

event 表示事件名称的字符串。

listener 对侦听器对象或函数的引用。

返回

无。

描述

方法；在播放事件的组件实例上注册侦听器对象。事件触发时，将通知侦听器对象或函数。您可以从任何组件实例调用此方法。例如，下列代码将侦听器注册到组件实例 myButton：

myButton.addEventListener("click", myListener);

在调用 addEventListener() 将侦听器注册到组件实例之前，您必须先将该侦听器定义为对象或函数。如果侦听器是对象，则必须定义一个回调函数，当触发该事件时，将会调用该回调函数。通常，回调函数与注册侦听器所使用的事件同名。如果侦听器是函数，则触发事件时，将调用该函数。有关详细信息，请参阅使用组件事件侦听器。

您可以将多个侦听器注册到一个组件实例，但必须为每个侦听器单独调用 addEventListener()。而且，也可以将一个侦听器注册到多个组件实例，但必须为每个实例单独调用
addEventListener()。例如，下列代码定义一个侦听器对象，并将它分配给两个 Button 组件实例：

lo = new Object();
lo.click = function(evt){
  if (evt.target == button1){
    trace("button 1 clicked");
  } else if (evt.target == button2){
    trace("button 2 clicked");
  }
}
button1.addEventListener("click", lo);
button2.addEventListener("click", lo);

事件对象作为参数传递给侦听器。事件对象具有包含有关所发生事件的信息的属性。您可以在侦听器回调函数内使用事件对象来访问有关所发生的事件类型的信息，以及哪个实例广播该事件的信息。在上面的范例中，事件对象是 evt（您可以将任何标识符用作事件对象名称），它在 if 语句内使用，用于确定单击了哪个按钮实例。有关详细信息，请参阅事件对象。

范例

下面的范例定义了一个侦听器对象 myListener，并定义了回调函数 click。然后，它调用 addEventListener() 将 myListener 侦听器对象注册到组件实例 myButton。要测试该代码，请将实例名为 myButton 的按钮组件放在舞台上，并将下列代码置于第一帧中：

myListener = new Object();
myListener.click = function(evt){
  trace(evt.type + " triggered");
}
myButton.addEventListener("click", myListener);


事件对象

事件对象作为参数传递到侦听器。事件对象是一种动作脚本对象，这种对象具有的属性中包含有关所发生的事件的信息。您可以在侦听器回调函数内使用事件对象来访问所广播的事件的名称，或者访问广播该事件的组件的实例名称。例如，下列代码使用 evtObj 事件对象的 target 属性来访问 myButton 实例的 label 属性，并将该属性的值发送到“输出”面板：

listener = new Object();
listener.click = function(evtObj){
  trace("The " + evtObj.target.label + " button was clicked");
}
myButton.addEventListener("click", listener);

一些事件对象的属性在 W3C 规范 中进行了定义，但在 Macromedia Component Architecture 第 2 版 (v2) 中没有实现。下表中列出每个 v2 事件对象所具有的属性。一些事件还定义有其他属性，如果是这样的话，这些属性将在该事件的条目中列出。

事件对象的属性

属性 | 描述
type | 指明事件名称的字符串。
target | 对广播事件的组件实例的引用。


关于 UIObject 类

继承 MovieClip > UIObject

动作脚本类命名空间 mx.core.UIObject

UIObject 是所有第 2 版组件的基类；它是不可视组件。UIObject 类环绕“动作脚本”MovieClip 对象，并包含允许 Macromedia v2 组件共享某些常用行为的函数和属性。UIObject 类实现了以下内容：

  • 样式
  • 事件
  • 按缩放比例调整大小

要使用 UIObject 的方法和属性，请直接从正在使用的任何组件中调用它们。例如，要从 RadioButton 组件调用 UIObject.setSize() 方法，您要编写以下代码：

myRadioButton.setSize(30, 30);

如果您使用 Macromedia Component V2 Architecture 创建新组件，则只需创建一个 UIObject 实例。即使在这种情况下，UIObject 也经常由其他子类（例如 Button）隐式创建。如果您确实需要创建一个 UIObject 实例，请使用下列代码：

class MyComponent extends UIObject;

UIObject 类的方法摘要

方法 | 描述
UIObject.createObject()> | 创建对象的子对象。
UIObject.createClassObject()> | 创建指定类的对象。
UIObject.destroyObject()> | 破坏组件实例。
UIObject.invalidate()> | 标记对象以便在到达下一个帧间隔时进行重绘。
UIObject.move()> | 将对象移动到要求的位置。
UIObject.redraw()> | 迫使对象有效以便能在当前帧中绘制。
UIObject.setSize()> | 将对象调整为所要求的大小。
UIObject.setSkin()> | 设置对象的外观。

UIObject 类的属性摘要

属性 | 描述
UIObject.bottom> | 返回对象底边位置（相对于其父对象的底边）。
UIObject.height> | 对象的高度（以像素为单位）。
UIObject.left> | 对象的左侧位置（以像素为单位）。
UIObject.right> | 对象的右侧位置（相对于其父对象的右边）。
UIObject.scaleX> | 一个数字，指明对象相对于其父对象在 x 方向上的缩放系数。
UIObject.scaleY> | 一个数字，指明对象相对于其父对象在 y 方向上的缩放系数。
UIObject.top> | 对象上边缘的位置（相对于其父对象）。
UIObject.visible> | 一个布尔值，指明对象是可见的 (true) 还是不可见的 (false)。
UIObject.width> | 对象的宽度（以像素为单位）。
UIObject.x> | 对象的左侧位置（以像素为单位）。
UIObject.y> | 返回对象上边缘的位置（相对于其父对象）。

UIObject 类的事件摘要

事件 | 描述
UIObject.draw> | 当对象将要绘制它的图形时进行广播。
UIObject.load> | 创建子对象时广播。
UIObject.move> | 移动了对象时广播。
UIObject.resize> | 卸载子对象时广播。
UIObject.unload> | 卸载子对象时广播。


UIObject.bottom

可用性

Flash Player 6.0.79。

版本

Flash MX 2004。

用法

componentInstance.bottom

描述

属性（只读）；一个数字，指明对象底边相对于其父对象底边的位置（以像素为单位）。

范例

将 tmp 的值设置为复选框的底边位置：

var tmp = checkbox.bottom;


UIObject.createObject()

可用性

Flash Player 6.0.79。

版本

Flash MX 2004。

用法

componentInstance.createObject(linkageName, instanceName, depth, initObject)

参数

linkageName 一个字符串，指明“库”面板中元件的链接标识符。

instanceName 一个字符串，指明新实例的实例名称。

depth 一个数字，指明新实例的深度。

initObject 一个对象，它包含了新实例的初始化属性。

返回

UIObject，是一个元件的实例。

描述

方法；创建对象的子对象。通常只由组件或高级开发人员使用。

范例

下面的范例在 form 对象上创建了一个 CheckBox 实例：

form.createObject("CheckBox", "sym1", 0);


UIObject.createClassObject()

可用性

Flash Player 6.0.79。

版本

Flash MX 2004。

用法

componentInstance.createClassObject(className, instanceName, depth, initObject)

参数

className 一个对象，指明新实例的类。

instanceName 一个字符串，指明新实例的实例名称。

depth 一个数字，指明新实例的深度。

initObject 一个对象，它包含了新实例的初始化属性。

返回

一个 UIObject，它是所指定类的一个实例。

描述

方法；创建对象的子对象。通常只由组件或高级开发人员使用。使用该方法，您可以在运行时创建组件。

您需要指定类包名称。请执行以下操作之一：

import mx.controls.Button;
createClassObject(Button,"button2",5,{label:"Test Button"});

或者

createClassObject(mx.controls.Button,"button2",5,{label:"Test Button"});

范例

下面的范例创建了一个 CheckBox 对象：

form.createClassObject(CheckBox, "cb", 0, {label:"Check this"});


UIObject.destroyObject()

可用性

Flash Player 6.0.79。

版本

Flash MX 2004。

用法

componentInstance.destroyObject(instanceName)

参数

instanceName 一个字符串，指明要破坏的对象的实例名称。

返回

无。

描述

方法；破坏组件实例。


UIObject.draw

可用性

Flash Player 6.0.79。

版本

Flash MX 2004。

用法

on(draw){
  ...
}
listenerObject = new Object();
listenerObject.draw = function(eventObject){
  ...
}
componentInstance.addEventListener("draw", listenerObject)

描述

事件；通知侦听器对象将要绘制它的图形。这是一个级别很低的事件，除非必要，否则不应使用，因为它可能会影响系统性能。

第一个用法范例使用一个 on() 处理函数，并且必须直接附加到一个组件实例。

第二个用法范例使用一个调度程序/侦听器事件模型。组件实例 (componentInstance) 调度一个事件（本例中为 draw），而该事件由附加到您创建的侦听器对象 (listenerObject) 的函数处理。您定义一个与侦听器对象上的事件同名的方法；当该事件被触发时，就会调用该方法。该事件被触发时，它会自动将一个事件对象 (eventObject) 传递到侦听器对象方法。每个事件对象都有一组属性，这些属性包含有关该事件的信息。您可以使用这些属性来编写处理该事件的代码。最后，对广播该事件的组件实例调用 UIEventDispatcher.addEventListener() 方法，以将侦听器注册到实例。当该实例调度该事件时，就会调用该侦听器。

有关事件对象的详细信息，请参阅事件对象。

范例

以下代码在 form 对象被绘制时，重绘对象 form2：

formListener.draw = function(eventObj){
  form2.redraw(true);
}
form.addEventListener("draw", formListener);

另请参见

UIEventDispatcher.addEventListener()


UIObject.height

可用性

Flash Player 6.0.79。

版本

Flash MX 2004。

用法

componentInstance.height

描述

属性（只读）；指明对象高度的数字（以像素为单位）。

范例

下面的范例将 tmp 的值设为 checkbox 实例的高度：

var tmp = checkbox.height;


UIObject.getStyle()

可用性

Flash Player 6.0.79。

版本

Flash MX 2004。

用法

componentInstance.getStyle(propertyName)

参数

propertyName 一个字符串，它指明样式属性的名称（例如，"fontWeight"、"borderStyle"，等等）。

返回

样式属性的值。这些值可以是任何数据类型：

描述

方法；从 styleDeclaration 或对象中获取样式属性。如果样式属性是继承性样式，那么该对象的父级就可能会是样式值的源。

有关各组件所支持的样式的列表，请参阅其各自所属的条目。

范例

如果 cb 实例的 fontWeight 样式属性是粗体，下面的代码会将 ib 实例的 fontWeight 样式属性设置为粗体：

if (cb.getStyle("fontWeight") == "bold")
{
   ib.setStyle("fontWeight", "bold");
};


UIObject.invalidate()

可用性

Flash Player 6.0.79。

版本

Flash MX 2004。

用法

componentInstance.invalidate()

参数

无。

返回

无。

描述

方法；标记对象以便在下一帧时间间隔时进行重绘。

范例

下面的范例将标记 ProgressBar 实例 pBar 以便进行重绘：

pBar.invalidate();


UIObject.left

可用性

Flash Player 6.0.79。

版本

Flash MX 2004。

用法

componentInstance.left

描述

属性（只读）；一个数字，它指明对象的左边缘（以像素为单位）。

范例

下面的范例将 tmp 的值设为 checkbox 实例的左侧位置：

var tmp = checkbox.left; // 将 tmp 的值设为复选框的左侧位置；


UIObject.load

可用性

Flash Player 6.0.79。

版本

Flash MX 2004。

用法

用法 1：

on(load){
  ...
}

用法 2：

listenerObject = new Object();
listenerObject.load = function(eventObject){
  ...
}
componentInstance.addEventListener("load", listenerObject)

描述

事件；通知侦听器正在创建该对象的子对象。

第一个用法范例使用一个 on() 处理函数，并且必须直接附加到一个组件实例。

第二个用法范例使用一个调度程序/侦听器事件模型。组件实例 (componentInstance) 调度一个事件（在本例中为 load），而该事件由附加到您创建的侦听器对象 (listenerObject) 的函数处理。您定义一个与侦听器对象上的事件同名的方法；当该事件被触发时，就会调用该方法。该事件被触发时，它会自动将一个事件对象 (eventObject) 传递到侦听器对象方法。每个事件对象都有一组属性，这些属性包含有关该事件的信息。您可以使用这些属性来编写处理该事件的代码。最后，对广播该事件的组件实例调用 UIEventDispatcher.addEventListener() 方法，以将侦听器注册到实例。当该实例调度该事件时，就会调用该侦听器。

有关事件对象的详细信息，请参阅事件对象。

范例

下面的范例将在加载 form 实例后创建一个 MySymbol 实例。

formListener.handleEvent = function(eventObj)
{
  form.createObject("MySymbol", "sym1", 0);
}
form.addEventListener("load", formListener);


UIObject.move

可用性

Flash Player 6.0.79。

版本

Flash MX 2004。

用法

用法 1：

on(move){
  ...
}

用法 2：

listenerObject = new Object();
listenerObject.move = function(eventObject){
  ...
}
componentInstance.addEventListener("move", listenerObject)

描述

事件；通知侦听器对象已移动。

第一个用法范例使用一个 on() 处理函数，并且必须直接附加到一个组件实例。

第二个用法范例使用一个调度程序/侦听器事件模型。组件实例 (componentInstance) 调度一个事件（在本例中为 move），而该事件由附加到您创建的侦听器对象 (listenerObject) 的函数处理。您定义一个与侦听器对象上的事件同名的方法；当该事件被触发时，就会调用该方法。该事件被触发时，它会自动将一个事件对象 (eventObject) 传递到侦听器对象方法。每个事件对象都有一组属性，这些属性包含有关该事件的信息。您可以使用这些属性来编写处理该事件的代码。最后，对广播该事件的组件实例调用 UIEventDispatcher.addEventListener() 方法，以将侦听器注册到实例。当该实例调度该事件时，就会调用该侦听器。

有关事件对象的详细信息，请参阅事件对象。

范例

下面的范例调用 move() 方法，以使 form2 相对于 form1 向下和向右移动 100 个像素：

formListener.handleEvent = function(eventObj)
{
  // eventObj.target 是生成更改事件的组件
  form2.move(form1.x + 100, form1.y + 100);
}
form1.addEventListener("move", formListener);


UIObject.move()

可用性

Flash Player 6.0.79。

版本

Flash MX 2004。

用法

componentInstance.move(x, y)

参数

x 一个数字，指明对象的左上角相对于其父对象的位置。

y 一个数字，指明对象的左上角相对于其父对象的位置。

返回

无。

描述

方法；将对象移动到要求的位置。您应该只将整数值传递给 UIObject.move()，否则，组件可能会模糊不清。

如果不遵循这些规则，很可能会导致控件的外观十分模糊。

范例

此范例将 ProgressBar 实例 pBar 移动到左上角的 (100, 100) 位置：

pBar.move(100, 100);


UIObject.redraw()

可用性

Flash Player 6.0.79。

版本

Flash MX 2004。

用法

componentInstance.redraw()

参数

always 一个布尔值；true 表示总是重绘，false 表示只在失效时才重绘。

返回

无。

描述

方法；迫使对象有效以便在当前帧中绘制。

范例

此范例迫使 pBar 实例立即重绘：

pBar.validate(true);


UIObject.resize

可用性

Flash Player 6.0.79。

版本

Flash MX 2004。

用法

用法 1：

on(resize){
  ...
}

用法 2：

listenerObject = new Object();
listenerObject.resize = function(eventObject){
  ...
}
componentInstance.addEventListener("resize", listenerObject)

描述

事件；通知侦听器正在卸载该对象的子对象。

第一个用法范例使用一个 on() 处理函数，并且必须直接附加到一个组件实例。

第二个用法范例使用一个调度程序/侦听器事件模型。组件实例 (componentInstance) 调度一个事件（在本例中为 resize），而该事件由附加到您创建的侦听器对象 (listenerObject) 的函数处理。您定义一个与侦听器对象上的事件同名的方法；当该事件被触发时，就会调用该方法。该事件被触发时，它会自动将一个事件对象 (eventObject) 传递到侦听器对象方法。每个事件对象都有一组属性，这些属性包含有关该事件的信息。您可以使用这些属性来编写处理该事件的代码。最后，对广播该事件的组件实例调用 UIEventDispatcher.addEventListener() 方法，以将侦听器注册到实例。当该实例调度该事件时，就会调用该侦听器。

有关事件对象的详细信息，请参阅事件对象。

范例

在以下范例中，当移动 form 时，将调用 setSize() 方法，以使 sym1 的宽度变为原来的二分之一，高度变为原来的四分之一：

formListener.handleEvent = function(eventObj) {
  form.sym1.setSize(sym1.width / 2, sym1.height / 4);
}
form.addEventListener("resize", formListener);


UIObject.right

可用性

Flash Player 6.0.79。

版本

Flash MX 2004。

用法

componentInstance.right

描述

属性（只读）；一个数字，指明对象的右侧相对于其父对象右侧的位置（以像素为单位）。

范例

以下范例将 tmp 的值设置为 checkbox 实例的右侧位置：

var tmp = checkbox.right;


UIObject.scaleX

可用性

Flash Player 6.0.79。

版本

Flash MX 2004。

用法

componentInstance.scaleX

描述

属性；一个数字，指明对象相对于其父对象在 x 方向上的缩放系数。

范例

以下范例将复选框的宽度放大两倍并将 tmp 变量设置为水平缩放系数：

checkbox.scaleX = 200;
var tmp = checkbox.scaleX;


UIObject.scaleY

可用性

Flash Player 6.0.79。

版本

Flash MX 2004。

用法

componentInstance.scaleY

描述

属性；一个数字，指明对象相对于其父对象在 y 方向上的缩放系数。

范例

以下范例将复选框的高度放大两倍并将 tmp 变量设置为垂直缩放系数：

checkbox.scaleY = 200;
var tmp = checkbox.scaleY;


UIObject.setSize()

可用性

Flash Player 6.0.79。

版本

Flash MX 2004。

用法

componentInstance.setSize(width, height)

参数

width 一个数字，指明对象的宽度（以像素为单位）。

height 一个数字，指明对象的高度（以像素为单位）。

返回

无。

描述

方法；将对象调整到要求的大小。您应该只将整数值传递给 UIObject.setSize()，否则，组件可能会模糊不清。该方法（以及 UIObject 的所有方法和属性）可以从任何组件实例中使用。

对 ComboBox 的实例调用此方法时，将会调整组合框的大小，而且所包含列表的 rowHeight 属性也会更改。

范例

此范例将 pBar 组件实例的大小调整为宽 100 个像素，高 100 个像素：

pBar.setSize(100, 100);


UIObject.setSkin()

可用性

Flash Player 6.0.79。

版本

Flash MX 2004。

用法

componentInstance.setSkin(id, linkageName)

参数

id 一个数字，指明变量。该值通常为在类定义中定义的一个常数。

linkageName 一个字符串，指明库中的一个资源。

返回

无。

描述

方法；设置组件实例中的外观。在开发组件时可以使用此方法。在运行时不能使用此方法来设置组件的外观。

范例

本范例设置 checkbox 实例中的一个外观：

checkbox.setSkin(CheckBox.skinIDCheckMark, "MyCustomCheckMark");


UIObject.setStyle()

可用性

Flash Player 6.0.79。

版本

Flash MX 2004。

用法

componentInstance.setStyle(propertyName, value)

参数

propertyName 一个字符串，它指明样式属性的名称（例如，"fontWeight"、"borderStyle"，等等）。

value 属性的值。

返回

一个 UIObject，它是所指定类的一个实例。

描述

方法；设置样式声明或对象的样式属性。如果样式属性是继承的样式，则会将新值通知给该对象的子对象。

有关各组件所支持的样式的列表，请参阅其各自所属的条目。

范例

下面的代码将复选框实例 cb 的样式属性 fontWeight 设置为粗体：

cb.setStyle("fontWeight", "bold");


UIObject.top

可用性

Flash Player 6.0.79。

版本

Flash MX 2004。

用法

componentInstance.top

描述

属性（只读）；一个数字，指明对象的上边缘（以像素为单位）。

范例

以下范例将 tmp 变量设置为 checkbox 实例的顶部位置：

var tmp = checkbox.top; // 将 tmp 的值设置为复选框的顶部位置；


UIObject.unload

可用性

Flash Player 6.0.79。

版本

Flash MX 2004。

用法

用法 1：

on(unload){
  ...
}

用法 2：

listenerObject = new Object();
listenerObject.unload = function(eventObject){
  ...
}
componentInstance.addEventListener("unload", listenerObject)

描述

事件；通知侦听器正在卸载该对象的子对象。

第一个用法范例使用一个 on() 处理函数，并且必须直接附加到一个组件实例。

第二个用法范例使用一个调度程序/侦听器事件模型。组件实例 (componentInstance) 调度一个事件（在本例中为 unload），而该事件由附加到您创建的侦听器对象 (listenerObject) 的函数处理。您定义一个与侦听器对象上的事件同名的方法；当该事件被触发时，就会调用该方法。该事件被触发时，它会自动将一个事件对象 (eventObject) 传递到侦听器对象方法。每个事件对象都有一组属性，这些属性包含有关该事件的信息。您可以使用这些属性来编写处理该事件的代码。最后，对广播该事件的组件实例调用 UIEventDispatcher.addEventListener() 方法，以将侦听器注册到实例。当该实例调度该事件时，就会调用该侦听器。

有关事件对象的详细信息，请参阅事件对象。

范例

以下范例会在 unload 事件被触发时删除 sym1：

formListener.handleEvent = function(eventObj) {
  // eventObj.target 是生成 change 事件的组件，
  form.destroyObject(sym1);
}
form.addEventListener("unload", formListener);


UIObject.visible

可用性

Flash Player 6.0.79。

版本

Flash MX 2004。

用法

componentInstance.visible

描述

属性；一个布尔值，指明对象是可见的 (true) 还是不可见的 (false)。

范例

下面的范例使 myLoader 加载器实例可见：

myLoader.visible = true;


UIObject.width

可用性

Flash Player 6.0.79。

版本

Flash MX 2004。

用法

componentInstance.width

描述

属性（只读）；一个数字，指明对象的宽度（以像素为单位）。

范例

下面的范例将 TextArea 组件的宽度设置为 450 个像素：

mytextarea.width = 450;


UIObject.x

可用性

Flash Player 6.0.79。

版本

Flash MX 2004。

用法

componentInstance.x

描述

属性（只读）；一个数字，它指明对象的左边缘（以像素为单位）。

范例

下面的范例将复选框的左边缘设置为 150 个像素：

checkbox.x = 150;


UIObject.y

可用性

Flash Player 6.0.79。

版本

Flash MX 2004。

用法

componentInstance.y

描述

属性（只读）；一个数字，指明对象的上边缘（以像素为单位）。

范例

下面的范例将复选框的上边缘设置为 200 个像素：

checkbox.y = 200;


关于 Window 组件

Window 组件在一个具有标题栏、边框和关闭按钮（可选）的窗口内显示电影剪辑的内容。

Window 组件可以是模式的，也可以是非模式的。模式窗口会防止鼠标和键盘输入转至该窗口之外的其他组件。Window 组件还支持拖动操作；用户可以单击标题栏并将窗口及其内容拖动到另一个位置。拖动边框不会更改窗口的大小。

如果使用 PopUpManager 向文档添加 Window 组件，则该 Window 实例将具有它自己的 FocusManager，与文档其他对象所具有的 FocusManager 不同。如果不使用 PopUpManager，窗口的内容会参与焦点排序。有关控制焦点的详细信息，请参阅创建自定义焦点导航或FocusManager 类。

每个 Window 实例的实时预览反映在创作过程中对属性检查器或“组件检查器”面板中的所有参数所做的更改，但 contentPath 除外。

在将 Window 组件添加到应用程序时，您可以使用“辅助功能”面板，以使其可由屏幕读取器访问。首先，您必须添加以下代码行来启用辅助功能：

mx.accessibility.WindowAccImpl.enableAccessibility();

不管一个组件有多少实例，都只对其启用一次辅助功能。有关详细信息，请参阅创建辅助内容。


使用 Window 组件

无论何时您需要向用户提供信息或最优先的选择时，您都可以在应用程序中使用一个窗口。例如，您可能会需要用户填写登录窗口或者发生了更改并需要确认新密码的窗口。

将窗口添加到应用程序有几种方式。您可以将窗口从“组件”面板拖动到舞台。您也可以通过调用 createClassObject()（请参阅 UIObject.createClassObject()）将窗口添加到应用程序。将窗口添加到应用程序的第三种方法是使用 PopUpManager 类。使用 PopUpManager 可以创建与舞台上其他对象重叠的模式窗口。有关详细信息，请参阅 Window 类。

Window 组件参数

以下是您可以在属性检查器中或在“组件检查器”面板中为每个 Window 组件设置的创作参数：

contentPath 指定窗口的内容。这可以是电影剪辑的链接标识符，或者是屏幕、表单或包含窗口内容的幻灯片的元件的名称。它也可以是要加载到窗口的 SWF 或 JPG 文件的绝对或相对 URL。默认值为 ""。加载的内容会被裁剪，以适合窗口大小。

title 指明窗口的标题。

closeButton 指明是 (true) 否 (false) 显示关闭按钮。单击关闭按钮会广播一个 click 事件，但不关闭窗口。您必须编写调用 Window.deletePopUp() 的处理函数，以显式关闭窗口。有关 click 事件的详细信息，请参阅 Window.click。

您可以编写“动作脚本”，使用其属性、方法和事件来控制 Window 组件的这些和其他选项。有关详细信息，请参阅 Window 类。

创建具有 Window 组件的应用程序

以下过程解释了如何将 Window 组件添加到应用程序。在本范例中，窗口会要求用户更改其密码并确认新密码。

要创建具有 Button 组件的应用程序，请执行以下操作：

  1. 新建一个影片剪辑，其中包含密码和密码确认字段，以及“确定”和“取消”按钮。将该影片剪辑命名为 PasswordForm。
  2. 在库中，选择 PasswordForm 影片剪辑并从“选项”菜单中选择“链接”。
  3. 选中“为动作脚本导出”并在“标识符”框中输入 PasswordForm。
  4. 在类字段中输入 mx.core.View。
  5. 将一个 Window 组件从“组件”面板中拖动到舞台上，然后从舞台上删除该组件。这会将该组件添加到库中。
  6. 在库中，选择 Window SWC 并从“选项”菜单中选择“链接”。
  7. 选中“为动作脚本导出”。
  8. 打开“动作”面板，然后在第一帧上输入下列 click 处理函数：
    buttonListener = new Object();
buttonListener.click = function(){
  mx.managers.PopUpManager.createPopUp(_root, mx.containers.Window, true, { title:"Change Password", contentPath:"PasswordForm" })
}
button.addEventListener("click", buttonListener);

    该处理函数调用 PopUpManager.createPopUp() 以实例化标题栏为“更改密码”的 Window 组件，该组件显示 PasswordForm 影片剪辑的内容。


自定义 Window 组件

在创作过程中和在运行时，您都可以在水平和垂直方向上改变 Window 组件的形状。在创作时，在舞台上选择组件并使用“任意变形”工具或任何“修改”>“变形”命令。在运行时，请使用 UIObject.setSize() 或 Window 类中任何适用的属性和方法。有关详细信息，请参阅 Window 类。

调整窗口大小不会更改关闭按钮或标题题注的大小。标题题注为左对齐，关闭栏为右对齐。

对 Window 组件使用样式

Window 组件标题栏的样式声明由 Window.titleStyleDeclaration 属性指明。

Window 组件支持下列光晕样式：

样式 | 描述
borderStyle | 组件边框；其值为“none”、“inset”、“outset”或“solid”。此样式不继承其值。

对 Window 组件使用外观

Window 组件使用 RectBorder 类，该类使用“动作脚本”绘图 API 来绘制其边框。您可以使用 setStyle() 方法（请参阅 UIObject.setStyle()）来更改下列 RectBorder 样式属性：

RectBorder 样式
borderColor
highlightColor
borderColor
shadowColor
borderCapColor
shadowCapColor
shadowCapColor
borderCapColor

这些样式属性设置边框上的下列位置：

如果使用 UIObject.createClassObject() 或 PopUpManager.createPopUp() 动态（在运行时）创建 Window 实例，则也可以动态设计其外观。要在运行时设计组件的外观，请设置传递给 createClassObject() 方法的 initObject 参数的外观属性。这些外观属性设置用作按钮状态的元件的名称，元件可以带有图标，也可以没有图标。有关详细信息，请参阅 UIObject.createClassObject() 和 PopUpManager.createPopUp()。

Window 组件使用下列外观属性：

属性 | 描述
skinTitleBackgroud | 标题栏。默认值为 TitleBackground。
skinCloseUp | 关闭按钮。默认值为 CloseButtonUp。
skinCloseDown | 处于按下状态的关闭按钮。默认值为 CloseButtonDown。
skinCloseDisabled | 处于禁用状态的关闭按钮。默认值为 CloseButtonDisabled。
skinCloseOver | 处于悬停状态的关闭按钮。默认值为 CloseButtonOver。


Window 类

继承 UIObject > UIComponent > View > ScrollView > Window

动作脚本类命名空间 mx.containers.Window

Window 类的属性允许您在运行时设置标题题注、添加关闭按钮以及设置显示内容。 使用动作脚本设置 Window 类的属性会覆盖在属性检查器或“组件检查器”面板中设置的同名参数。

实例化窗口的最佳方法是调用 PopUpManager.createPopUp()。此方法既可创建模式窗口（重叠并禁用应用程序中的现有对象），也可创建非模式窗口。例如，下面的代码创建模式 Window 实例（最后一个参数指明是模式窗口）：

var newWindow = PopUpManager.createPopUp(this, Window, true);

形态是通过在 Window 组件下方创建一个大的透明窗口模拟的。由于透明窗口的呈现方式，您可能会注意到透明窗口下的对象略显暗淡。有效透明度可以进行设置，方法是：更改 _global.style.modalTransparency 值，范围为从 0（完全透明）到 100（不透明）。如果使窗口部分透明，还可以设置窗口的颜色，方法是：在默认主题中更改“模式”外观。

如果使用 PopUpManager.createPopUp() 创建模式窗口，则在删除时，必须调用 Window.deletePopUp()，以便也可以删除透明窗口。例如，如果在窗口上使用 closeButton，则要编写下列代码：

obj.click = function(evt){
   this.deletePopUp();
}
window.addEventListener("click", obj);

注意：代码不会在创建模式窗口时停止执行。在其他环境（例如 Microsoft Windows）中，如果创建一个模式窗口，则创建窗口之后的代码行在窗口关闭之前不会运行。在 Flash 中，这些代码行在创建窗口之后、关闭窗口之前运行。

每个组件类都有一个 version 属性，该属性是一个类属性。类属性只能用于该类本身。version 属性会返回一个字符串，该字符串指明组件的版本。要访问 version 属性，请使用以下代码：

trace(mx.containers.Window.version);

注意：下面的代码返回未定义的：trace(myWindowInstance.version);。

Window 类的方法摘要

方法 | 描述
Window.deletePopUp()> | 删除由 PopUpManager.createPopUp() 创建的窗口实例。

继承 UIObject 类、UIComponent 类和 View 的所有方法。

Window 类的属性摘要

属性 | 描述
Window.closeButton | 指明标题栏上是 (true) 否 (false) 包含关闭按钮。
Window.content | 对在 contentPath 属性中指定的内容的引用。
Window.contentPath | 在窗口中所显示内容的路径。
Window.title | 标题栏中显示的文本。
Window.titleStyleDeclaration | 设置标题栏中文本格式的样式声明。

继承 UIObject 类、UIComponent 类和 ScrollView 的所有属性。

Window 类的事件摘要

事件 | 描述
Window.click> | 松开关闭按钮时触发。
Window.mouseDownOutside> | 在模式窗口外按下鼠标时触发。

继承 UIObject 类、UIComponent 类、View 和 ScrollView 的所有事件。


Window.click

可用性

Flash Player 6.0.79。

版本

Flash MX 2004。

用法

用法 1：

on(click){
  ...
}

用法 2：

listenerObject = new Object();
listenerObject.click = function(eventObject){
  ...
}
windowInstance.addEventListener("click", listenerObject)

描述

事件；在关闭按钮上单击（松开）鼠标时向所有已注册的侦听器广播。

第一个用法范例使用一个 on() 处理函数，并且必须直接附加到一个 Window 组件实例。附加到组件的 on() 处理函数内部使用的关键字 this 是指该组件实例。例如，下列代码附加到 Window 组件实例 myWindow，它将“_level0.myWindow”发送到“输出”面板：

on(click){
  trace(this);
}

第二个用法范例使用一个调度程序/侦听器事件模型。组件实例 (windowInstance) 调度一个事件（在本例中为 click），而该事件由附加到您创建的侦听器对象 (listenerObject) 的函数处理。您定义一个与侦听器对象上的事件同名的方法；当该事件被触发时，就会调用该方法。该事件被触发时，它会自动将一个事件对象 (eventObject) 传递到侦听器对象方法。该事件对象有一组属性，这些属性包含有关事件的信息。您可以使用这些属性来编写处理该事件的代码。最后，对广播该事件的组件实例调用 UIEventDispatcher.addEventListener() 方法，以将侦听器注册到实例。当该实例调度该事件时，就会调用该侦听器。

有关事件对象的详细信息，请参阅事件对象。

范例

以下范例创建一个模式窗口，然后定义一个删除此窗口的 click 处理函数：您必须向舞台添加一个 Window 组件，然后删除它以将其添加到文档库中，随后将下列代码添加到第 1 帧：

import mx.managers.PopUpManager
import mx.containers.Window
var myTW = PopUpManager.createPopUp(_root, Window, true, {closeButton:true, title:"My Window"});
windowListener = new Object();
windowListener.click = function(evt){
  _root.myTW.deletePopUp();
}
myTW.addEventListener("click", windowListener);

另请参见

UIEventDispatcher.addEventListener(), Window.closeButton


Window.closeButton

可用性

Flash Player 6.0.79。

版本

Flash MX 2004。

用法

windowInstance.closeButton

描述

属性；一个布尔值，指明标题栏是 (true) 否 (false) 应包含一个关闭铵钮。此属性必须在 PopUpManager.createPopUp() 方法的 initObject 参数中设置。默认值为 false。

范例

下列代码创建一个窗口，该窗口显示影片剪辑“LoginForm”中的内容，其标题栏上有一个关闭按钮：

var myTW = PopUpManager.createPopUp(_root, Window, true,
  {contentPath:"LoginForm", closeButton:true});

另请参见

Window.click, PopUpManager.createPopUp()


Window.content

可用性

Flash Player 6.0.79。

版本

Flash MX 2004。

用法

windowInstance.content

描述

属性；对窗口的内容（根影片剪辑）的引用。此属性返回一个 MovieClip 对象。从库中附加一个元件时，默认值为所附加元件的一个实例。从 URL 加载内容时，直到开始加载操作，才会定义默认值。

范例

设置窗口组件内部的内容中的文本属性值：

loginForm.content.password.text = "secret";


Window.contentPath

可用性

Flash Player 6.0.79。

版本

Flash MX 2004。

用法

windowInstance.contentPath

描述

属性；设置要在窗口中显示的内容的名称。该值可以是库中的一个影片剪辑的链接标识符，也可以是要加载的 SWF 或 JPG 文件的绝对或相对 URL。默认值为 ""（空字符串）。

范例

下列代码创建一个 Window 实例，该实例显示链接标识符为“loginForm”的影片剪辑：

var myTW = PopUpManager.createPopUp(_root, Window, true, {contentPath:"LoginForm"});


Window.deletePopUp()

可用性

Flash Player 6.0.79。

版本

Flash MX 2004。

用法

windowInstance.deletePopUp();

参数

无。

返回

无。

描述

方法；删除窗口实例和移除模式状态。只能对由 PopUpManager.createPopUp() 创建的窗口实例调用此方法。

范例

以下代码创建一个模式窗口，然后创建一个侦听器（单击关闭按钮时该侦听器将删除此窗口）：

var myTW = PopUpManager.createPopUp(_root, Window, true);
twListener = new Object();
twListener.click = function(){
  myTW.deletePopUp();
}
myTW.addEventListener("click", twListener);


Window.mouseDownOutside

可用性

Flash Player 6.0.79。

版本

Flash MX 2004。

用法

用法 1：

on(mouseDownOutside){
  ...
}

用法 2：

listenerObject = new Object();
listenerObject.mouseDownOutside = function(eventObject){
  ...
}
windowInstance.addEventListener("mouseDownOutside", listenerObject)

描述

事件；在模式窗口外部单击（松开）鼠标时向所有已注册的侦听器广播。此事件很少使用，但如果用户尝试与窗口之外的内容进行交互时，您可以用它退出窗口。

第一个用法范例使用一个 on() 处理函数，并且必须直接附加到一个 Window 组件实例。附加到组件的 on() 处理函数内部使用的关键字 this 是指该组件实例。例如，下列代码附加到 Window 组件实例 myWindowComponent，它将“_level0.myWindowComponent”发送到“输出”面板：

on(click){
  trace(this);
}

第二个用法范例使用一个调度程序/侦听器事件模型。组件实例 (windowInstance) 调度一个事件（在本例中为 mouseDownOutside），而该事件由附加到您创建的侦听器对象 (listenerObject) 的函数处理。您定义一个与侦听器对象上的事件同名的方法；当该事件被触发时，就会调用该方法。该事件被触发时，它会自动将一个事件对象 (eventObject) 传递到侦听器对象方法。该事件对象有一组属性，这些属性包含有关事件的信息。您可以使用这些属性来编写处理该事件的代码。最后，对广播该事件的组件实例调用 UIEventDispatcher.addEventListener() 方法，以将侦听器注册到实例。当该实例调度该事件时，就会调用该侦听器。

有关事件对象的详细信息，请参阅事件对象。

范例

以下范例创建一个窗口实例并定义一个 mouseDownOutside 处理函数，当用户单击窗口外部时，该处理函数调用一个 beep() 方法：

var myTW = PopUpManager.createPopUp(_root, Window, true, undefined, true);
// 创建一个侦听器
twListener = new Object();
twListener.mouseDownOutside = function()
{
    beep(); // 当用户单击外部时发出噪音
}
myTW.addEventListener("mouseDownOutside", twListener);

另请参见

UIEventDispatcher.addEventListener()


Window.title

可用性

Flash Player 6.0.79。

版本

Flash MX 2004。

用法

windowInstance.title

描述

属性；一个字符串，指明标题栏的题注。默认值为 ""（空字符串）。

范例

下列代码将窗口的标题设置为“Hello World”：

myTW.title = "Hello World";


Window.titleStyleDeclaration

可用性

Flash Player 6.0.79。

版本

Flash MX 2004。

用法

windowInstance.titleStyleDeclaration

描述

属性；一个字符串，指明设置窗口标题栏格式的样式声明。默认值未定义，指明粗体、白色文本。

范例

下列代码创建一个窗口，此窗口显示链接标识符为“changePassword”的影片剪辑的内容并使用 CSSStyleDeclaration“MyTWStyles”：

var myTW = PopUpManager.createPopUp(_root, Window, true, {contentPath:"LoginForm",
                                   titleStyleDeclaration:"MyTWStyles"});

有关样式的详细信息，请参阅使用样式自定义组件的颜色和文本。


About

100% ActionScript Dictionary (for Flash MX 2004 Chinese Version)

//Welcome to Danger's Flash Blog
getURL("http://www.dengjie.com");

//2004-01-26
//V1.0.1