適用於 Adobe® Flash® Platform 的 ActionScript® 3.0 參考
首頁  |  隱藏套件和類別清單 |  套件  |  類別  |  新增內容  |  索引  |  附錄  |  為什麼顯示英文?
篩選: AIR 30.0 和更早版本, Flash Player 30.0 和更早版本, Flash Lite 4
Flex 4.6 和更早版本, Flash Pro CS6 和更早版本
隱藏篩選
flash.display 

DisplayObject  - AS3

套件x

最上層
adobe.utils
air.desktop
air.net
air.update
air.update.events
coldfusion.air
coldfusion.air.errors
coldfusion.air.events
coldfusion.service
coldfusion.service.events
coldfusion.service.mxml
com.adobe.acm.solutions.authoring.domain.extensions
com.adobe.acm.solutions.ccr.domain.extensions
com.adobe.consulting.pst.vo
com.adobe.dct.component
com.adobe.dct.component.datadictionary
com.adobe.dct.component.datadictionaryElement
com.adobe.dct.component.dataElementsPanel
com.adobe.dct.component.toolbars
com.adobe.dct.event
com.adobe.dct.exp
com.adobe.dct.model
com.adobe.dct.service
com.adobe.dct.service.provider
com.adobe.dct.transfer
com.adobe.dct.util
com.adobe.dct.view
com.adobe.ep.taskmanagement.domain
com.adobe.ep.taskmanagement.event
com.adobe.ep.taskmanagement.filter
com.adobe.ep.taskmanagement.services
com.adobe.ep.taskmanagement.util
com.adobe.ep.ux.attachmentlist.component
com.adobe.ep.ux.attachmentlist.domain
com.adobe.ep.ux.attachmentlist.domain.events
com.adobe.ep.ux.attachmentlist.domain.renderers
com.adobe.ep.ux.attachmentlist.skin
com.adobe.ep.ux.attachmentlist.skin.renderers
com.adobe.ep.ux.content.event
com.adobe.ep.ux.content.factory
com.adobe.ep.ux.content.handlers
com.adobe.ep.ux.content.managers
com.adobe.ep.ux.content.model.asset
com.adobe.ep.ux.content.model.preview
com.adobe.ep.ux.content.model.relation
com.adobe.ep.ux.content.model.search
com.adobe.ep.ux.content.model.toolbar
com.adobe.ep.ux.content.search
com.adobe.ep.ux.content.services
com.adobe.ep.ux.content.services.load
com.adobe.ep.ux.content.services.permissions
com.adobe.ep.ux.content.services.preview
com.adobe.ep.ux.content.services.providers
com.adobe.ep.ux.content.services.query
com.adobe.ep.ux.content.services.relationships
com.adobe.ep.ux.content.services.search.lccontent
com.adobe.ep.ux.content.services.version
com.adobe.ep.ux.content.view
com.adobe.ep.ux.content.view.components.activate
com.adobe.ep.ux.content.view.components.grid
com.adobe.ep.ux.content.view.components.grid.hover
com.adobe.ep.ux.content.view.components.grid.hover.component
com.adobe.ep.ux.content.view.components.grid.renderers
com.adobe.ep.ux.content.view.components.relationships
com.adobe.ep.ux.content.view.components.review
com.adobe.ep.ux.content.view.components.search.renderers
com.adobe.ep.ux.content.view.components.searchpod
com.adobe.ep.ux.content.view.components.toolbar
com.adobe.ep.ux.content.view.components.toolbar.controlRenderers
com.adobe.ep.ux.content.view.components.version
com.adobe.ep.ux.documentsubmit.component
com.adobe.ep.ux.documentsubmit.domain
com.adobe.ep.ux.documentsubmit.skin
com.adobe.ep.ux.taskaction.component
com.adobe.ep.ux.taskaction.domain
com.adobe.ep.ux.taskaction.domain.events
com.adobe.ep.ux.taskaction.skin
com.adobe.ep.ux.taskdetails.component
com.adobe.ep.ux.taskdetails.domain
com.adobe.ep.ux.taskdetails.skin
com.adobe.ep.ux.tasklist.component
com.adobe.ep.ux.tasklist.domain
com.adobe.ep.ux.tasklist.skin
com.adobe.ep.ux.webdocumentviewer.domain
com.adobe.exm.expression
com.adobe.exm.expression.error
com.adobe.exm.expression.event
com.adobe.exm.expression.impl
com.adobe.fiber.runtime.lib
com.adobe.fiber.services
com.adobe.fiber.services.wrapper
com.adobe.fiber.styles
com.adobe.fiber.util
com.adobe.fiber.valueobjects
com.adobe.gravity.binding
com.adobe.gravity.context
com.adobe.gravity.flex.bundleloader
com.adobe.gravity.flex.progress
com.adobe.gravity.flex.serviceloader
com.adobe.gravity.framework
com.adobe.gravity.init
com.adobe.gravity.service.bundleloader
com.adobe.gravity.service.logging
com.adobe.gravity.service.manifest
com.adobe.gravity.service.progress
com.adobe.gravity.tracker
com.adobe.gravity.ui
com.adobe.gravity.utility
com.adobe.gravity.utility.async
com.adobe.gravity.utility.error
com.adobe.gravity.utility.events
com.adobe.gravity.utility.factory
com.adobe.gravity.utility.flex.async
com.adobe.gravity.utility.logging
com.adobe.gravity.utility.message
com.adobe.gravity.utility.sequence
com.adobe.gravity.utility.url
com.adobe.guides.control
com.adobe.guides.domain
com.adobe.guides.i18n
com.adobe.guides.spark.components.skins
com.adobe.guides.spark.components.skins.mx
com.adobe.guides.spark.headers.components
com.adobe.guides.spark.headers.skins
com.adobe.guides.spark.layouts.components
com.adobe.guides.spark.layouts.skins
com.adobe.guides.spark.navigators.components
com.adobe.guides.spark.navigators.renderers
com.adobe.guides.spark.navigators.skins
com.adobe.guides.spark.util
com.adobe.guides.spark.wrappers.components
com.adobe.guides.spark.wrappers.skins
com.adobe.guides.submit
com.adobe.icc.dc.domain
com.adobe.icc.dc.domain.factory
com.adobe.icc.editors.events
com.adobe.icc.editors.handlers
com.adobe.icc.editors.managers
com.adobe.icc.editors.model
com.adobe.icc.editors.model.config
com.adobe.icc.editors.model.el
com.adobe.icc.editors.model.el.operands
com.adobe.icc.editors.model.el.operators
com.adobe.icc.enum
com.adobe.icc.external.dc
com.adobe.icc.obj
com.adobe.icc.services
com.adobe.icc.services.category
com.adobe.icc.services.config
com.adobe.icc.services.download
com.adobe.icc.services.export
com.adobe.icc.services.external
com.adobe.icc.services.formbridge
com.adobe.icc.services.fragmentlayout
com.adobe.icc.services.layout
com.adobe.icc.services.letter
com.adobe.icc.services.locator
com.adobe.icc.services.module
com.adobe.icc.services.render
com.adobe.icc.services.submit
com.adobe.icc.services.user
com.adobe.icc.token
com.adobe.icc.vo
com.adobe.icc.vo.render
com.adobe.icomm.assetplacement.controller
com.adobe.icomm.assetplacement.controller.utils
com.adobe.icomm.assetplacement.data
com.adobe.icomm.assetplacement.model
com.adobe.livecycle.assetmanager.client
com.adobe.livecycle.assetmanager.client.event
com.adobe.livecycle.assetmanager.client.handler
com.adobe.livecycle.assetmanager.client.managers
com.adobe.livecycle.assetmanager.client.model
com.adobe.livecycle.assetmanager.client.model.cms
com.adobe.livecycle.assetmanager.client.service
com.adobe.livecycle.assetmanager.client.service.search
com.adobe.livecycle.assetmanager.client.service.search.cms
com.adobe.livecycle.assetmanager.client.utils
com.adobe.livecycle.content
com.adobe.livecycle.rca.model
com.adobe.livecycle.rca.model.constant
com.adobe.livecycle.rca.model.document
com.adobe.livecycle.rca.model.participant
com.adobe.livecycle.rca.model.reminder
com.adobe.livecycle.rca.model.stage
com.adobe.livecycle.rca.service
com.adobe.livecycle.rca.service.core
com.adobe.livecycle.rca.service.core.delegate
com.adobe.livecycle.rca.service.process
com.adobe.livecycle.rca.service.process.delegate
com.adobe.livecycle.rca.token
com.adobe.livecycle.ria.security.api
com.adobe.livecycle.ria.security.service
com.adobe.mosaic.layouts
com.adobe.mosaic.layouts.dragAndDrop
com.adobe.mosaic.layouts.interfaces
com.adobe.mosaic.mxml
com.adobe.mosaic.om.constants
com.adobe.mosaic.om.events
com.adobe.mosaic.om.impl
com.adobe.mosaic.om.interfaces
com.adobe.mosaic.skinning
com.adobe.mosaic.sparklib.editors
com.adobe.mosaic.sparklib.optionMenu
com.adobe.mosaic.sparklib.scrollableMenu
com.adobe.mosaic.sparklib.scrollableMenu.skins
com.adobe.mosaic.sparklib.tabLayout
com.adobe.mosaic.sparklib.tabLayout.events
com.adobe.mosaic.sparklib.tabLayout.layouts
com.adobe.mosaic.sparklib.tabLayout.skins
com.adobe.mosaic.sparklib.text
com.adobe.mosaic.sparklib.util
com.adobe.solutions.acm.authoring.presentation
com.adobe.solutions.acm.authoring.presentation.actionbar
com.adobe.solutions.acm.authoring.presentation.common
com.adobe.solutions.acm.authoring.presentation.events
com.adobe.solutions.acm.authoring.presentation.fragment
com.adobe.solutions.acm.authoring.presentation.letter
com.adobe.solutions.acm.authoring.presentation.letter.data
com.adobe.solutions.acm.authoring.presentation.preview
com.adobe.solutions.acm.authoring.presentation.rte
com.adobe.solutions.acm.ccr.presentation
com.adobe.solutions.acm.ccr.presentation.contentcapture
com.adobe.solutions.acm.ccr.presentation.contentcapture.events
com.adobe.solutions.acm.ccr.presentation.contentcapture.preview
com.adobe.solutions.acm.ccr.presentation.datacapture
com.adobe.solutions.acm.ccr.presentation.datacapture.renderers
com.adobe.solutions.acm.ccr.presentation.pdf
com.adobe.solutions.exm
com.adobe.solutions.exm.authoring
com.adobe.solutions.exm.authoring.components.controls
com.adobe.solutions.exm.authoring.components.toolbars
com.adobe.solutions.exm.authoring.domain
com.adobe.solutions.exm.authoring.domain.expression
com.adobe.solutions.exm.authoring.domain.impl
com.adobe.solutions.exm.authoring.domain.method
com.adobe.solutions.exm.authoring.domain.variable
com.adobe.solutions.exm.authoring.enum
com.adobe.solutions.exm.authoring.events
com.adobe.solutions.exm.authoring.model
com.adobe.solutions.exm.authoring.renderer
com.adobe.solutions.exm.authoring.view
com.adobe.solutions.exm.expression
com.adobe.solutions.exm.impl
com.adobe.solutions.exm.impl.method
com.adobe.solutions.exm.method
com.adobe.solutions.exm.mock
com.adobe.solutions.exm.mock.method
com.adobe.solutions.exm.runtime
com.adobe.solutions.exm.runtime.impl
com.adobe.solutions.exm.variable
com.adobe.solutions.prm.constant
com.adobe.solutions.prm.domain
com.adobe.solutions.prm.domain.factory
com.adobe.solutions.prm.domain.impl
com.adobe.solutions.prm.domain.manager
com.adobe.solutions.prm.presentation.asset
com.adobe.solutions.prm.presentation.constant
com.adobe.solutions.prm.presentation.document
com.adobe.solutions.prm.presentation.event
com.adobe.solutions.prm.presentation.file
com.adobe.solutions.prm.presentation.project
com.adobe.solutions.prm.presentation.team
com.adobe.solutions.prm.presentation.util
com.adobe.solutions.prm.service
com.adobe.solutions.prm.services.impl
com.adobe.solutions.prm.vo
com.adobe.solutions.rca.constant
com.adobe.solutions.rca.domain
com.adobe.solutions.rca.domain.common
com.adobe.solutions.rca.domain.factory
com.adobe.solutions.rca.domain.impl
com.adobe.solutions.rca.domain.impl.manager
com.adobe.solutions.rca.domain.manager
com.adobe.solutions.rca.presentation
com.adobe.solutions.rca.presentation.comment
com.adobe.solutions.rca.presentation.constant
com.adobe.solutions.rca.presentation.event
com.adobe.solutions.rca.presentation.gantt
com.adobe.solutions.rca.presentation.gantt.ruler
com.adobe.solutions.rca.presentation.template
com.adobe.solutions.rca.presentation.template.audit
com.adobe.solutions.rca.presentation.template.definition
com.adobe.solutions.rca.presentation.template.documents
com.adobe.solutions.rca.presentation.template.stages
com.adobe.solutions.rca.presentation.util
com.adobe.solutions.rca.service
com.adobe.solutions.rca.services.impl
com.adobe.solutions.rca.vo
com.adobe.solutions.rca.vo.um
com.adobe.viewsource
fl.accessibility
fl.containers
fl.controls
fl.controls.dataGridClasses
fl.controls.listClasses
fl.controls.progressBarClasses
fl.core
fl.data
fl.display
fl.events
fl.ik
fl.lang
fl.livepreview
fl.managers
fl.motion
fl.motion.easing
fl.rsl
fl.text
fl.transitions
fl.transitions.easing
fl.video
flash.accessibility
flash.concurrent
flash.crypto
flash.data
flash.desktop
flash.display
flash.display3D
flash.display3D.textures
flash.errors
flash.events
flash.external
flash.filesystem
flash.filters
flash.geom
flash.globalization
flash.html
flash.media
flash.net
flash.net.dns
flash.net.drm
flash.notifications
flash.permissions
flash.printing
flash.profiler
flash.sampler
flash.security
flash.sensors
flash.system
flash.text
flash.text.engine
flash.text.ime
flash.ui
flash.utils
flash.xml
flashx.textLayout
flashx.textLayout.compose
flashx.textLayout.container
flashx.textLayout.conversion
flashx.textLayout.edit
flashx.textLayout.elements
flashx.textLayout.events
flashx.textLayout.factory
flashx.textLayout.formats
flashx.textLayout.operations
flashx.textLayout.utils
flashx.undo
ga.controls
ga.layouts
ga.model
ga.uiComponents
ga.util
ga.views
ga.wrappers
lc.foundation
lc.foundation.domain
lc.foundation.events
lc.foundation.ui
lc.foundation.util
lc.preloader
lc.procmgmt
lc.procmgmt.commands
lc.procmgmt.domain
lc.procmgmt.events
lc.procmgmt.formbridge
lc.procmgmt.impl
lc.procmgmt.ui.attachments
lc.procmgmt.ui.controls
lc.procmgmt.ui.controls.card
lc.procmgmt.ui.controls.renderer
lc.procmgmt.ui.help
lc.procmgmt.ui.layout
lc.procmgmt.ui.presentationmodel
lc.procmgmt.ui.process
lc.procmgmt.ui.search
lc.procmgmt.ui.startpoint
lc.procmgmt.ui.task
lc.procmgmt.ui.task.form
lc.procmgmt.ui.task.form.commands
lc.procmgmt.ui.tracking
mx.accessibility
mx.automation
mx.automation.air
mx.automation.delegates
mx.automation.delegates.advancedDataGrid
mx.automation.delegates.charts
mx.automation.delegates.containers
mx.automation.delegates.controls
mx.automation.delegates.controls.dataGridClasses
mx.automation.delegates.controls.fileSystemClasses
mx.automation.delegates.core
mx.automation.delegates.flashflexkit
mx.automation.events
mx.binding
mx.binding.utils
mx.charts
mx.charts.chartClasses
mx.charts.effects
mx.charts.effects.effectClasses
mx.charts.events
mx.charts.renderers
mx.charts.series
mx.charts.series.items
mx.charts.series.renderData
mx.charts.styles
mx.collections
mx.collections.errors
mx.containers
mx.containers.accordionClasses
mx.containers.dividedBoxClasses
mx.containers.errors
mx.containers.utilityClasses
mx.controls
mx.controls.advancedDataGridClasses
mx.controls.dataGridClasses
mx.controls.listClasses
mx.controls.menuClasses
mx.controls.olapDataGridClasses
mx.controls.scrollClasses
mx.controls.sliderClasses
mx.controls.textClasses
mx.controls.treeClasses
mx.controls.videoClasses
mx.core
mx.core.windowClasses
mx.data
mx.data.crypto
mx.data.errors
mx.data.events
mx.data.messages
mx.data.mxml
mx.data.offline.errors
mx.data.utils
mx.effects
mx.effects.easing
mx.effects.effectClasses
mx.events
mx.filters
mx.flash
mx.formatters
mx.geom
mx.graphics
mx.graphics.codec
mx.graphics.shaderClasses
mx.logging
mx.logging.errors
mx.logging.targets
mx.managers
mx.messaging
mx.messaging.channels
mx.messaging.config
mx.messaging.errors
mx.messaging.events
mx.messaging.management
mx.messaging.messages
mx.modules
mx.netmon
mx.olap
mx.olap.aggregators
mx.preloaders
mx.printing
mx.resources
mx.rpc
mx.rpc.events
mx.rpc.http
mx.rpc.http.mxml
mx.rpc.livecycle
mx.rpc.mxml
mx.rpc.remoting
mx.rpc.remoting.mxml
mx.rpc.soap
mx.rpc.soap.mxml
mx.rpc.wsdl
mx.rpc.xml
mx.skins
mx.skins.halo
mx.skins.spark
mx.skins.wireframe
mx.skins.wireframe.windowChrome
mx.states
mx.styles
mx.utils
mx.validators
org.osmf.containers
org.osmf.display
org.osmf.elements
org.osmf.events
org.osmf.layout
org.osmf.logging
org.osmf.media
org.osmf.metadata
org.osmf.net
org.osmf.net.dvr
org.osmf.net.httpstreaming
org.osmf.net.metrics
org.osmf.net.qos
org.osmf.net.rtmpstreaming
org.osmf.net.rules
org.osmf.traits
org.osmf.utils
spark.accessibility
spark.automation.delegates
spark.automation.delegates.components
spark.automation.delegates.components.gridClasses
spark.automation.delegates.components.mediaClasses
spark.automation.delegates.components.supportClasses
spark.automation.delegates.skins.spark
spark.automation.events
spark.collections
spark.components
spark.components.calendarClasses
spark.components.gridClasses
spark.components.mediaClasses
spark.components.supportClasses
spark.components.windowClasses
spark.core
spark.effects
spark.effects.animation
spark.effects.easing
spark.effects.interpolation
spark.effects.supportClasses
spark.events
spark.filters
spark.formatters
spark.formatters.supportClasses
spark.globalization
spark.globalization.supportClasses
spark.layouts
spark.layouts.supportClasses
spark.managers
spark.modules
spark.preloaders
spark.primitives
spark.primitives.supportClasses
spark.skins
spark.skins.mobile
spark.skins.mobile.supportClasses
spark.skins.spark
spark.skins.spark.mediaClasses.fullScreen
spark.skins.spark.mediaClasses.normal
spark.skins.spark.windowChrome
spark.skins.wireframe
spark.skins.wireframe.mediaClasses
spark.skins.wireframe.mediaClasses.fullScreen
spark.transitions
spark.utils
spark.validators
spark.validators.supportClasses
xd.core.axm.enterprise.view.components
xd.core.axm.enterprise.view.skins
xd.core.axm.view.components
xd.core.axm.view.components.support

語言元素

全域常數
全域函數
運算子
陳述式、關鍵字和指令
特殊類型

附錄

新增內容
編譯器錯誤
編譯器警告
執行階段錯誤
移轉至 ActionScript 3
支援的字元集
僅限 MXML 標籤
移動 XML 元素
Timed Text 標籤
不建議元素清單
AccessibilityImplementation 常數
如何使用 ActionScript 範例
法律聲明
套件flash.display
類別public class DisplayObject
繼承DisplayObject Inheritance EventDispatcher Inheritance Object
實作 IBitmapDrawable
子類別 AVM1Movie, Bitmap, InteractiveObject, MorphShape, Shape, StaticText, Video

語言版本: ActionScript 3.0
執行階段版本: AIR 1.0, Flash Player 9, Flash Lite 4

DisplayObject 類別是所有可以放置在顯示清單上的物件的基底類別。 顯示清單會管理 Flash 執行階段中顯示的所有物件。您可以使用 DisplayObjectContainer 類別來排列顯示清單中的顯示物件。 DisplayObjectContainer 物件可以擁有子顯示物件,而其它顯示物件 (例如 Shape 與 TextField 物件) 則是只能有父節點與同級節點但不能有子節點的「分頁」節點。

DisplayObject 類別支援像是物件 xy 座標的基本功能,以及如物件變形矩陣的進階物件屬性。

DisplayObject 是抽象的基底類別,因此,您無法直接呼叫 DisplayObject。 叫用 new DisplayObject() 會擲出 ArgumentError 例外。

所有顯示物件都繼承自 DisplayObject 類別。

DisplayObject 類別本身並不包含任何用來在螢幕上呈現內容的 API。 基於此原因,如果您要建立 DisplayObject 類別的自訂子類別,就必須從具有能在螢幕上呈現內容之 API 的其中一個子類別加以擴充,例如 Shape、Sprite、Bitmap、SimpleButton、TextField 或 MovieClip 類別。

DisplayObject 類別包含數個廣播事件。任何特定事件的目標通常是特定的 DisplayObject 實體。例如,added 事件的目標就是已加入至顯示清單的特定 DisplayObject 實體。只有單一目標會將事件偵聽程式的置放方式限制在該目標 (在有些情況下為顯示清單上該目標的祖系)。不過,對於廣播事件,目標不是特定的 DisplayObject 實體,而是所有 DisplayObject 實體,包括不在顯示清單上的那些 DisplayObject 實體。這表示,您可以將偵聽程式加入至任何 DisplayObject 實體,以偵聽廣播事件。除了已列在 DisplayObject 類別的「事件」表格中的廣播事件之外,DisplayObject 類別還從 EventDispatcher 類別繼承兩個廣播事件:activatedeactivate

某些先前在 ActionScript 1.0 與 2.0 MovieClip、TextField 與 Button 類別 (例如 _alpha_height_name_width_x_y 和其它類別) 中使用的屬性,在 ActionScript 3.0 DisplayObject 類別中都有相等的類別,這些類別已經重新命名,不再以底線 (_) 字元開頭。

如需詳細資訊,請參閱「ActionScript 3.0 開發人員指南」中的「顯示程式設計」一章。

檢視範例

相關 API 元素



公用屬性
 屬性定義自
  accessibilityProperties : AccessibilityProperties
此顯示物件的目前輔助功能選項。
DisplayObject
  alpha : Number
指出所指定物件的 Alpha 透明度值。
DisplayObject
  blendMode : String
來自 BlendMode 類別的值,會指定要使用何種混合模式。
DisplayObject
  blendShader : Shader
[唯寫] 設定用來混合前景和背景的著色器。
DisplayObject
  cacheAsBitmap : Boolean
如果設定為 true,Flash 執行階段會快取顯示物件的內部點陣圖表示法。
DisplayObject
      cacheAsBitmapMatrix : Matrix
如果為非 null,當 cacheAsBitmap 設定為 true 時,這個 Matrix 物件會定義顯示物件的顯示方法。
DisplayObject
 Inheritedconstructor : Object
類別物件的參照或是特定物件實體的建構函數。
Object
  filters : Array
索引的陣列,其中包含目前和顯示物件相關的每個濾鏡物件。
DisplayObject
  height : Number
會指出顯示物件的高度,以像素為單位。
DisplayObject
  loaderInfo : LoaderInfo
[唯讀] 會傳回 LoaderInfo 物件,其中包含關於載入此顯示物件所屬之檔案的資訊。
DisplayObject
  mask : DisplayObject
呼叫之顯示物件會以指定的 mask 物件遮蓋。
DisplayObject
  metaData : Object
如果中繼資料是透過 PlaceObject4 標籤與 SWF 檔案中的這個 DisplayObject 實體一同儲存,則會取得 DisplayObject 實體的中繼資料物件。
DisplayObject
  mouseX : Number
[唯讀] 指出滑鼠或使用者輸入裝置位置的 x 座標,以像素為單位。
DisplayObject
  mouseY : Number
[唯讀] 指出滑鼠或使用者輸入裝置位置的 y 座標,以像素為單位。
DisplayObject
  name : String
指出 DisplayObject 的實體名稱。
DisplayObject
  opaqueBackground : Object
會指定顯示物件是否不透明,並具有特定背景顏色。
DisplayObject
  parent : DisplayObjectContainer
[唯讀] 指出包含此顯示物件的 DisplayObjectContainer 物件。
DisplayObject
  root : DisplayObject
[唯讀] 對載入之 SWF 檔案的顯示物件而言,root 屬性就是該 SWF 檔案所呈現之顯示清單樹狀結構部分的最上層顯示物件。
DisplayObject
  rotation : Number
指出 DisplayObject 實體的旋轉度數 (從該物件原本方向算起)。
DisplayObject
  rotationX : Number
表示 DisplayObject 實體相對於 3D 父輩容器從原始方向旋轉的 x 軸旋轉 (以度數為單位)。
DisplayObject
  rotationY : Number
表示 DisplayObject 實體相對於 3D 父輩容器從原始方向旋轉的 y 軸旋轉 (以度數為單位)。
DisplayObject
  rotationZ : Number
表示 DisplayObject 實體相對於 3D 父輩容器從原始方向旋轉的 z 軸旋轉 (以度數為單位)。
DisplayObject
  scale9Grid : Rectangle
目前產生效用的縮放格線。
DisplayObject
  scaleX : Number
指出從註冊點套用的物件水平縮放 (百分比)。
DisplayObject
  scaleY : Number
指出從物件註冊點套用的物件垂直縮放 (百分比)。
DisplayObject
  scaleZ : Number
指出從物件註冊點套用的物件深度縮放 (百分比)。
DisplayObject
  scrollRect : Rectangle
顯示物件的捲動矩形範圍。
DisplayObject
  stage : Stage
[唯讀] 顯示物件的「舞台」。
DisplayObject
  transform : flash.geom:Transform
這是一個物件,具有和顯示物件的矩陣、顏色轉換和像素邊界有關的屬性。
DisplayObject
  visible : Boolean
不管是否看得見顯示物件。
DisplayObject
  width : Number
會指出顯示物件的寬度,以像素為單位。
DisplayObject
  x : Number
指出 DisplayObject 實體相對於父輩 DisplayObjectContainer 之區域座標的 x 座標。
DisplayObject
  y : Number
指出 DisplayObject 實體相對於父輩 DisplayObjectContainer 之區域座標的 y 座標。
DisplayObject
  z : Number
表示 DisplayObject 實體相對於 3D 父輩容器的 z 座標位置 (沿著 z 軸)。
DisplayObject
公用方法
 方法定義自
 Inherited
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
會在 EventDispatcher 物件註冊事件偵聽程式,以便讓偵聽程式收到事件的通知。
EventDispatcher
 Inherited
會將事件傳送到事件流程。
EventDispatcher
  
getBounds(targetCoordinateSpace:DisplayObject):Rectangle
傳回可定義顯示物件區域 (相對於 targetCoordinateSpace 物件的座標系統) 的矩形。
DisplayObject
  
getRect(targetCoordinateSpace:DisplayObject):Rectangle
根據 targetCoordinateSpace 參數所定義的座標系統,並排除形狀上的任何筆畫,傳回可定義顯示物件邊界的矩形。
DisplayObject
  
將 point 物件從「舞台」(全域) 座標轉換成顯示物件的 (區域) 座標。
DisplayObject
  
將二維點從「舞台」(全域) 座標轉換為三維顯示物件的 (區域) 座標。
DisplayObject
 Inherited
會檢查 EventDispatcher 物件是否有對特定的事件類型註冊偵聽程式。
EventDispatcher
 Inherited
指出物件是否有已定義的指定屬性。
Object
  
評估顯示物件的範圍框,看它是否與 obj 顯示物件的範圍框重疊或相交。
DisplayObject
  
hitTestPoint(x:Number, y:Number, shapeFlag:Boolean = false):Boolean
評估顯示物件,看它是否與 x 和 y 參數所指定的點重疊或相交。
DisplayObject
 Inherited
指出 Object 類別的實體是否位於指定為參數的物件原型鏈中。
Object
  
將三維顯示物件的 (區域) 座標的三維點轉換為「舞台」(全域) 座標中的二維點。
DisplayObject
  
將 point 物件從顯示物件的 (區域) 座標轉換成「舞台」(全域) 座標。
DisplayObject
 Inherited
指出指定的屬性是否存在,以及是否可列舉。
Object
 Inherited
removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void
會從 EventDispatcher 物件移除偵聽程式。
EventDispatcher
 Inherited
為迴圈作業設定動態屬性的可用性。
Object
 Inherited
傳回代表此物件的字串,根據地區特定慣例進行格式化。
Object
 Inherited
會傳回指定之物件的字串形式。
Object
 Inherited
會傳回指定之物件的基本值。
Object
 Inherited
檢查此 EventDispatcher 物件是否已註冊事件偵聽程式,或者此物件的任何祖系已為特定事件類型註冊事件偵聽程式。
EventDispatcher
事件
 事件 摘要 定義自
 Inherited[廣播事件] 當 Flash Player 或 AIR 應用程式取得作業系統焦點並成為作用中時傳送。EventDispatcher
  當顯示物件加入顯示清單中時傳送。DisplayObject
  會在顯示物件加入舞台上的顯示清單時,以直接或是透過加入包含該顯示物件之子樹狀結構的方式傳送。DisplayObject
 Inherited[廣播事件] 當 Flash Player 或 AIR 應用程式失去作業系統焦點並成為非作用中時傳送。EventDispatcher
  [廣播事件] 當播放磁頭進入新影格時傳送。DisplayObject
  [廣播事件] 當播放磁頭結束目前影格時傳送。DisplayObject
  [廣播事件] 在影格顯示物件的建構函式執行之後,且影格指令碼執行之前傳送。DisplayObject
  會當顯示物件將要從顯示清單移除時傳送。DisplayObject
  會在顯示物件即將從顯示清單移除時,以直接或是透過移除包含該顯示物件之子樹狀結構的方式傳送。DisplayObject
  [廣播事件] 當顯示清單將要更新和顯示時傳送。DisplayObject
屬性詳細資訊

accessibilityProperties

屬性
accessibilityProperties:AccessibilityProperties

語言版本: ActionScript 3.0
執行階段版本: AIR 1.0, Flash Player 9

此顯示物件的目前輔助功能選項。 如果您要修改 accessibilityProperties 屬性或 accessibilityProperties 中的任何欄位,必須呼叫 Accessibility.updateProperties() 方法,才能使變更生效。

注意:對於在 Flash 編寫環境中建立的物件而言,accessibilityProperties 的值會預先填入您在「輔助功能」面板中輸入與該物件相關的任何資訊。



實作
    public function get accessibilityProperties():AccessibilityProperties
    public function set accessibilityProperties(value:AccessibilityProperties):void

相關 API 元素


範例  ( 如何使用本範例 )
下列範例將說明如何將簡單的 AccessibilityProperties 物件附加到 TextField 實體:
import flash.text.TextField;
import flash.accessibility.AccessibilityProperties;
import flash.accessibility.Accessibility;
import flash.system.Capabilities;

var tf:TextField = new TextField();
tf.text = "hello";

var accessProps:AccessibilityProperties = new AccessibilityProperties();
accessProps.name = "Greeting";

tf.accessibilityProperties = accessProps;

if (Capabilities.hasAccessibility) {
    Accessibility.updateProperties();
}

trace(tf.accessibilityProperties.name); // Greeting

alpha

屬性 
alpha:Number

語言版本: ActionScript 3.0
執行階段版本: AIR 1.0, Flash Player 9, Flash Lite 4

指出所指定物件的 Alpha 透明度值。 有效值是 0 (完全透明) 到 1 (完全不透明)。 預設值為 1。alpha 設為 0 的顯示物件「都是」作用中的狀態,即使看不見它們亦然。



實作
    public function get alpha():Number
    public function set alpha(value:Number):void

範例  ( 如何使用本範例 )
下列程式碼會在滑鼠滑至 Sprite 時將 Sprite 的 alpha 屬性設定為 50% :
import flash.display.Sprite;
import flash.events.MouseEvent;

var circle:Sprite = new Sprite();
circle.graphics.beginFill(0xFF0000);
circle.graphics.drawCircle(40, 40, 40);
addChild(circle);

circle.addEventListener(MouseEvent.MOUSE_OVER, dimObject);
circle.addEventListener(MouseEvent.MOUSE_OUT, restoreObject);

function dimObject(event:MouseEvent):void {
    event.target.alpha = 0.5;
}

function restoreObject(event:MouseEvent):void {
    event.target.alpha = 1.0;
}

blendMode

屬性 
blendMode:String

語言版本: ActionScript 3.0
執行階段版本: AIR 1.0, Flash Player 9

來自 BlendMode 類別的值,會指定要使用何種混合模式。 您可以使用兩種方式從內部繪製點陣圖。 如果您啟用了混合模式或外部剪裁遮色片,則將填滿點陣圖的方形加入至向量顯示即會繪製出點陣圖。 如果您嘗試將此屬性設為無效值,Flash 執行階段將此值設成 BlendMode.NORMAL

blendMode 屬性會影響顯示物件的每個像素。每一個像素都是由三原色 (紅、綠、藍) 所構成,而每一個原色都具有介於 0x00 和 0xFF 之間的值。 Flash Player 或 Adobe AIR 會將影片片段中像素的每一個原色拿來和背景中像素的相對應顏色做比較。例如,當 blendMode 設定為 BlendMode.LIGHTEN 時,Flash Player 或 Adobe AIR 會比較顯示物件的紅色值與背景的紅色值,然後使用兩個值中較明亮者做為顏色顯示的紅色組件值。

下表將說明 blendMode 設定。 BlendMode 類別會定義您可以使用的字串值。 下表中的圖例說明了套用到圓形顯示物件 (2) 的 blendMode 值,此圓形顯示物件疊在另一個顯示物件 (1) 上。

編號 1 方形 編號 2 圓形

BlendMode Constant圖例說明
BlendMode.NORMALNORMAL 混合模式顯示物件出現在背景前面。 顯示物件的像素值會覆寫背景的像素值。 只要顯示物件是透明的,就可以看見背景。
BlendMode.LAYERLAYER 混合模式強制建立顯示物件的透明度群組。 這表示顯示物件在進行後續處理前,已預先於暫存緩衝區中組成。 如果顯示物件使用點陣圖快取來預先快取處理,或者如果顯示物件是顯示物件容器 (其中包含帶有 blendMode 設定,而不是 BlendMode.NORMAL 設定的子物件),這項作業就會自動完成。在 GPU 顯示下不支援。
BlendMode.MULTIPLYMULTIPLY 混合模式將顯示物件基本顏色的值乘以背景顏色的值,然後除以 0xFF 以進行一般化,得到比較暗的顏色。 這個設定通常用於陰影和深度效果。

例如,如果顯示物件中某個像素的某個基本顏色 (例如紅色) 以及背景像素的對應顏色都具有 0x88 的值,相乘的結果就是 0x4840。 除以 0xFF 則會得到該基本顏色 0x48 的值,這是比顯示物件或背景的顏色都還要暗的顏色。

BlendMode.SCREENSCREEN 混合模式將顯示物件的互補色 (反色) 乘以背景的互補色,便會產生漂白特效。 這個設定通常用於反白效果,或用於移除顯示物件的黑暗區域。
BlendMode.LIGHTENLIGHTEN 混合模式在顯示物件基本顏色和背景顏色中選取比較淡的顏色 (其值較大的顏色)。 此設定常用於疊加類型。

例如,如果顯示物件有一個 RGB 值是 0xFFCC33 的像素,且背景像素的 RGB 值為 0xDDF800,那麼顯示的像素的 RGB 值就是 0xFFF833 (因為 0xFF > 0xDD,0xCC < 0xF8,而 0x33 > 0x00 = 33)。在 GPU 顯示下不支援。

BlendMode.DARKENDARKEN 混合模式在顯示物件基本顏色和背景顏色中選取比較暗的顏色 (其值較小的顏色)。 此設定常用於疊加類型。

例如,如果顯示物件有一個 RGB 值是 0xFFCC33 的像素,且背景像素的 RGB 值為 0xDDF800,那麼顯示的像素的 RGB 值就是 0xDDCC00 (因為 0xFF > 0xDD,0xCC < 0xF8,而 0x33 > 0x00 = 33)。在 GPU 顯示下不支援。

BlendMode.DIFFERENCEDIFFERENCE 混合模式比較顯示物件基本顏色和背景顏色,然後將兩者中比較淡的顏色值減去比較暗的顏色值。 此設定常用於較鮮明的顏色。

例如,如果顯示物件有一個 RGB 值是 0xFFCC33 的像素,且背景像素的 RGB 值為 0xDDF800,那麼顯示的像素的 RGB 值就是 0x222C33 (因為 0xFF - 0xDD = 0x22,0xF8 - 0xCC = 0x2C,而 0x33 - 0x00 = 0x33)。

BlendMode.ADDADD 混合模式將顯示物件基本顏色的值加上背景顏色的值,最大只能套用 0xFF。 這個設定通常用於讓兩個物件之間變亮的溶解效果更加鮮活。

例如,如果顯示物件有一個 RGB 值是 0xAAA633 的像素,且背景像素的 RGB 值為 0xDD2200,那麼顯示的像素的 RGB 值就是 0xFFC833 (因為 0xAA + 0xDD > 0xFF,0xA6 + 0x22 = 0xC8,而 0x33 + 0x00 = 0x33)。

BlendMode.SUBTRACTSUBTRACT 混合模式從背景顏色的值減去顯示物件基本顏色的值,最小只能套用 0。 這個設定通常用於讓兩個物件之間變暗的溶解效果更加鮮活。

例如,如果顯示物件有一個 RGB 值是 0xAA2233 的像素,且背景像素的 RGB 值為 0xDDA600,那麼顯示的像素的 RGB 值就是 0x338400 (因為 0xDD - 0xAA = 0x33,0xA6 - 0x22 = 0x84,而 0x00 - 0x33 < 0x00)。

BlendMode.INVERTINVERT 混合模式反轉背景。
BlendMode.ALPHAALPHA 混合模式將顯示物件中每個像素的 Alpha 值套用到背景。 您需要將父輩顯示物件的 blendMode 設定設為 BlendMode.LAYER。 例如,在圖例中,父輩顯示物件是白色的背景,其設定為 blendMode = BlendMode.LAYER。在 GPU 顯示下不支援。
BlendMode.ERASEERASE 混合模式根據顯示物件的 Alpha 值擦除背景。 您需要將父輩顯示物件的 blendMode 設為 BlendMode.LAYER。 例如,在圖例中,父輩顯示物件是白色的背景,其設定為 blendMode = BlendMode.LAYER。在 GPU 顯示下不支援。
BlendMode.OVERLAYOVERLAY 混合模式根據背景的暗度調整每個像素的顏色。 如果背景比 50% 灰階還要亮,顯示物件和背景顏色會被遮蔽,結果產生較明亮的顏色。 如果背景比 50% 灰階還要暗,顏色會相乘,得到比較暗的顏色。 此設定常用於陰影效果。在 GPU 顯示下不支援。
BlendMode.HARDLIGHTHARDLIGHT 混合模式根據顯示物件的暗度調整每個像素的顏色。 如果顯示物件比 50% 灰階還要亮,顯示物件和背景顏色會被遮蔽,結果產生較明亮的顏色。 如果顯示物件比 50% 灰階還要暗,顏色會相乘,結果產生比較暗的顏色。 此設定常用於陰影效果。在 GPU 顯示下不支援。
BlendMode.SHADER不適用使用自訂著色器程序來調整色彩。 使用的著色器會指定為指派給 blendShader 屬性的 Shader 實體。 將顯示物件的 blendShader 屬性設定為 Shader 實體會自動將顯示物件的 blendMode 屬性設為 BlendMode.SHADER。在沒有先設定 blendShader 屬性的情況下,如果將 blendMode 屬性設為 BlendMode.SHADER,則 blendMode 屬性會設為 BlendMode.NORMAL。在 GPU 顯示下不支援。



實作
    public function get blendMode():String
    public function set blendMode(value:String):void

相關 API 元素


範例  ( 如何使用本範例 )
下列程式碼會建立兩個 Sprite 物件 (正方形和圓形),並且當指標滑入圓形上方時,將前景中圓形的混合模式設定為 BlendMode.SUBTRACT
import flash.display.Sprite;
import flash.display.BlendMode;
import flash.events.MouseEvent;

var square:Sprite = new Sprite();
square.graphics.beginFill(0xFF88CC);
square.graphics.drawRect(0, 0, 80, 80);
addChild(square);

var circle:Sprite = new Sprite();
circle.graphics.beginFill(0xAA0022);
circle.graphics.drawCircle(40, 40, 40);
addChild(circle);

circle.addEventListener(MouseEvent.MOUSE_OVER, dimObject);
circle.addEventListener(MouseEvent.MOUSE_OUT, restoreObject);

function dimObject(event:MouseEvent):void {
    event.target.blendMode = BlendMode.SUBTRACT;
}

function restoreObject(event:MouseEvent):void {
    event.target.blendMode = BlendMode.NORMAL;
}

blendShader

屬性 
blendShader:Shader  [唯寫]

語言版本: ActionScript 3.0
執行階段版本: Flash Player 10, AIR 1.5

設定用來混合前景和背景的著色器。當 blendMode 屬性設為 BlendMode.SHADER,指定的 Shader 可用來建立顯示物件的混合模式輸出。

將顯示物件的 blendShader 屬性設定為 Shader 實體會自動將顯示物件的 blendMode 屬性設為 BlendMode.SHADER。如果設定了 blendShader 屬性 (此屬性會將 blendMode 屬性設為 BlendMode.SHADER),則 blendMode 屬性的值會變更,而您只需將 blendMode 屬性設為 BlendMode.SHADER,就能輕鬆地重設混合模式以便使用混合著色器。blendShader 屬性不需要再次重設,除非您需要變更用於混合模式的著色器。

指派給 blendShader 屬性的 Shader 至少必須指定 2 個 image4 輸入。此輸入「不」一定得使用關聯的 ShaderInput 物件之 input 屬性於程式碼中指定。背景顯示物件會自動用來當作第一個輸入 (包含 index 0 的輸入)。 前景顯示物件會用來當作第二個輸入 (包含 index 1 的輸入)。做為混合著色器使用的著色器可以指定 2 個以上的輸入。在此情況下,必須透過設定其 ShaderInput 實體的 input 屬性來指定任何其他輸入。

當您將 Shader 實體指派給此屬性時,著色器就會在內部複製。混合作業會使用該內部副本,而不是原始著色器的參考。任何對著色器的變更,例如變更參數值、輸入,或是位元組碼,都不會套用到用於混合模式上的著色器副本。



實作
    public function set blendShader(value:Shader):void

擲回值
ArgumentError — 當著色器輸出類型與此作業不相容時 (著色器必須指定 pixel4 輸出)。
 
ArgumentError — 當著色器指定少於兩個的影像輸入,或前兩個輸入不是 image4 輸入。
 
ArgumentError — 當著色器已經指定尚未提供的影像輸入。
 
ArgumentError — 當 ByteArray 或 Vector.<Number> 實體被當作輸入來使用,而且 ShaderInput 沒有指定 widthheight 屬性,或指定的值與輸入物件中的資料量不符時。如需詳細資訊,請參閱 ShaderInput.input 屬性。

相關 API 元素

cacheAsBitmap

屬性 
cacheAsBitmap:Boolean

語言版本: ActionScript 3.0
執行階段版本: AIR 1.0, Flash Player 9, Flash Lite 4

如果設定為 true,Flash 執行階段會快取顯示物件的內部點陣圖表示法。這種快取可以增加含有複雜向量內容之顯示物件的執行效能。

已進行點陣圖快取之顯示物件中的所有向量資料都將繪製成點陣圖,而非主要顯示。 如果 cacheAsBitmapMatrix 為 null 或者不受支援,則點陣圖會複製到主要顯示畫面中變成未延伸、不旋轉的像素並貼齊最近的像素邊緣。像素和父物件是 1 比 1 對應。 如果變更點陣圖的邊界,會重新建立點陣圖而非延伸點陣圖。

如果 cacheAsBitmapMatrix 為非 null 並且受支援,則會使用該矩陣將物件繪製到螢幕範圍以外的點陣圖,而且會使用該顯示的延伸和/或旋轉的結果,以繪製物件至主要顯示畫面。

您必須先將 cacheAsBitmap 屬性設為 true,才能建立內部點陣圖。

將顯示物件的 cacheAsBitmap 屬性設為 true 後,呈現方式並沒有改變,但顯示物件會自動執行像素貼齊。 在不同複雜程度的向量內容上,動畫速度都可以獲得明顯的提升。

只要將濾鏡套用到顯示物件 (若其 filter 陣列不是空的),cacheAsBitmap 屬性就會自動設為 true;因此,如果顯示物件套用了濾鏡,則該顯示物件的 cacheAsBitmap 就會報告為 true,即使已將屬性設定為 false,亦是如此。 如果您將顯示物件的所有濾鏡清除,cacheAsBitmap 設定就會變更為上一次的設定。

在下列情況中,即使 cacheAsBitmap 屬性已設為 true,且透過向量資料來呈現,顯示物件也不會使用點陣圖:

  • 點陣圖太大。在 AIR 1.5 和 Flash Player 10 中,點陣圖影像的大小上限為 8,191 像素寬度或高度,且像素總計不得超過 16,777,215 像素 (因此,如果點陣圖影像的寬度為 8,191 像素,則其高度上限為 2,048 像素)。若為 Flash Player 9 和更早版本,高度與寬度的上限都是 2,880 像素。
  • 配置點陣圖失敗 (記憶體不足的錯誤)。

cacheAsBitmap 屬性最適合與主要為靜態內容且不會經常縮放和旋轉的影片片段搭配使用。 對於這類影片片段,cacheAsBitmap 可以提升影片片段的轉移效能 (當它的 xy 位置變更時)。



實作
    public function get cacheAsBitmap():Boolean
    public function set cacheAsBitmap(value:Boolean):void

相關 API 元素


範例  ( 如何使用本範例 )
下列範例會將投影特效套用至 Shape 實體。 接著,會追蹤 cacheAsBitmap 屬性的值,在套用了濾鏡之後,此屬性會設為 true
import flash.display.Sprite;
import flash.filters.DropShadowFilter

var circle:Sprite = new Sprite();
circle.graphics.beginFill(0xAA0022);
circle.graphics.drawCircle(40, 40, 40);

addChild(circle);

trace(circle.cacheAsBitmap); // false

var filter:DropShadowFilter = new DropShadowFilter();
circle.filters = [filter];

trace(circle.cacheAsBitmap); // true
    

cacheAsBitmapMatrix

屬性 
cacheAsBitmapMatrix:Matrix

語言版本: ActionScript 3.0
執行階段版本: AIR 2.0

如果為非 null,當 cacheAsBitmap 設定為 true 時,這個 Matrix 物件會定義顯示物件的顯示方法。在呈現顯示物件的點陣圖版本時,應用程式會使用這個矩陣,做為所套用的變形矩陣。

AIR 描述檔支援:行動裝置支援此項功能,但桌上型電腦作業系統不支援。AIR for TV 裝置也提供有限的支援。更確切地說,AIR for TV 裝置支援變形,包括縮放與轉譯,但不包括旋轉與傾斜。如需有關跨多個描述檔之 API 支援的詳細資訊,請參閱 AIR 描述檔支援

設定 cacheAsBitmapMatrix 之後,應用程式會保留各種不同 2D 變形的快取點陣圖影像,其中包括轉移、旋轉及縮放。如果應用程式使用硬體加速,此物件將儲存在視訊記憶體中做為紋理。這可讓 GPU 將支援的轉換套用至物件。GPU 執行這些變形的速度比 CPU 快。

若要使用硬體加速,請在 Flash Professional CS5 「iPhone 設定」對話方塊的「一般」索引標籤中,設定「顯示至 GPU」。或在應用程式描述器檔案中,將 renderMode 屬性設為 gpu。請注意,若有硬體加速可供使用,AIR for TV 裝置會自動使用硬體加速。

例如,下列程式碼會將顯示物件尚未變形的點陣圖形式傳送至 GPU:

matrix:Matrix = new Matrix(); // creates an identity matrix 
     mySprite.cacheAsBitmapMatrix = matrix; 
     mySprite.cacheAsBitmap = true;

通常使用單位矩陣 (new Matrix()) 就足夠了。不過,您可以使用其他矩陣 (例如縮小矩陣),來上傳不同的點陣圖至 GPU。例如,下列範例會套用 cacheAsBitmapMatrix 矩陣,這個矩陣在 x 軸與 y 軸都縮小 0.5 倍。GPU 使用的點陣圖物件較小,但 GPU 會調整它的大小,以符合顯示物件的 transform.matrix 屬性:

matrix:Matrix = new Matrix(); // creates an identity matrix 
     matrix.scale(0.5, 0.5); // scales the matrix 
     mySprite.cacheAsBitmapMatrix = matrix; 
     mySprite.cacheAsBitmap = true;

一般而言,您應該選擇使用會將顯示物件變形為其將在應用程式中顯示之大小的矩陣。例如,如果您的應用程式會以縮小一半的大小,顯示 Sprite 的點陣圖,請使用會縮小一半的矩陣。如果您的應用程式會放大 Sprite 的現有大小,請使用會放大該倍數的矩陣。

注意:cacheAsBitmapMatrix 屬性適用於 2D 變形。如果您需要套用 3D 變形,可以設定該物件的 3D 屬性,並操作其 transform.matrix3D 屬性。如果使用 GPU 模式封裝應用程式,這允許 GPU 將 3D 變形套用至物件。3D 物件會忽略 cacheAsBitmapMatrix



實作
    public function get cacheAsBitmapMatrix():Matrix
    public function set cacheAsBitmapMatrix(value:Matrix):void

相關 API 元素


範例  ( 如何使用本範例 )
下列範例將會使用 cacheAsBitmapMatrix 屬性,套用變形至影片片段 my_shape 的點陣圖版本。
import flash.geom.Matrix;
import flash.display.*;
import flash.utils.Timer;

var my_shape:MovieClip = new MovieClip();
my_shape.graphics.beginFill(0xCCFF00);
my_shape.graphics.drawRect(200, 0, 100, 100);
addChild(my_shape);

var my_timer:Timer = new Timer(250);
my_timer.start();
my_timer.addEventListener(TimerEvent.TIMER, timerHandler);

// make sure this Display Object remains cached for all 2D transforms
my_shape.cacheAsBitmap = true;
my_shape.cacheAsBitmapMatrix = new Matrix();

// rotation variables
const initAngle:Number = 0;
const pi:Number = 3.142;
const incrAngle:Number = pi/10;

// scaling variables
const initScale:Number = 0.25;
const incrScale: Number = 1.1;
var initHeight : Number = my_shape.height;
var initWidth : Number = my_shape.width;

// translation variables
var incrX : Number = root.width / 20;
var incrY : Number = root.height / 10;

// do some initial transforms
var tempMat : Matrix = my_shape.transform.matrix;
tempMat.rotate(initAngle);
tempMat.scale(initScale, initScale);

my_shape.transform.matrix = tempMat;

function timerHandler(evt:TimerEvent):void {

    tempMat = my_shape.transform.matrix;
    
    tempMat.rotate(incrAngle);
    tempMat.translate(incrX, incrY);
    tempMat.scale(incrScale, incrScale);
    
    my_shape.transform.matrix = tempMat;
    
    // ensure we are still in a reasonable state or reset 
    if(my_shape.height > stage.stageHeight/2)
    {
        my_shape.height = initHeight;
    }
    
    if(my_shape.width > stage.stageWidth/2)
    {
        my_shape.width = initWidth;
    }
                              
    if(my_shape.x > stage.stageWidth)
    {
        my_shape.x = 0;
    }
    else if (my_shape.x < 0)
    {
        my_shape.x = stage.stageWidth;
    }

    
    if(my_shape.y > stage.stageHeight)
    {
        my_shape.y = 0;
    }
    else if (my_shape.y < 0)
    {
        my_shape.y = stage.stageHeight;
    }
    
}

filters

屬性 
filters:Array

語言版本: ActionScript 3.0
執行階段版本: AIR 1.0, Flash Player 9

索引的陣列,其中包含目前和顯示物件相關的每個濾鏡物件。 在 flash.filters 套件中包含的許多類別中已經定義了您可以使用的指定濾鏡。

您可以使用 ActionScript 程式碼在設計階段或執行階段將濾鏡套用到 Flash Professional。若要使用 ActionScript 套用濾鏡,必須先為整個 filters 陣列製作一個暫存副本、修改暫存陣列,然後再將暫存陣列的值指定給 filters 陣列。 您不可以直接將新的濾鏡物件加入至 filters 陣列。

若要使用 ActionScript 加入濾鏡,請依照下列步驟執行 (假設目標顯示物件名為 myDisplayObject):

  1. 使用選定濾鏡類別的建構函式方法來建立新的濾鏡物件。
  2. myDisplayObject.filters 陣列的值指定給暫存陣列,如名為 myFilters 的陣列。
  3. 將新的濾鏡物件加入至 myFilters 暫存陣列。
  4. 將暫存陣列的值指定給 myDisplayObject.filters 陣列。

如果 filters 陣列為未定義,則不需要使用暫存陣列。 相反地,您可以直接指定陣列常值,其中包含一或多個已建立的濾鏡物件。 「範例」一節中的第一個範例會使用可以同時處理已定義與未定義之 filters 陣列的程式碼,來加入投影濾鏡。

若要修改現有的濾鏡物件,您必須使用修改 filters 陣列副本的技巧:

  1. filters 陣列的值指定給暫存陣列,如名為 myFilters 的陣列。
  2. 使用暫存陣列 myFilters 修改屬性。 例如,若要設定陣列中第一個濾鏡的 quality 屬性,可以使用下列程式碼: myFilters[0].quality = 1;
  3. 將暫存陣列的值指定給 filters 陣列。

如果顯示物件在載入階段已經有關聯的濾鏡,便會標記這個顯示物件,將它當做透明點陣圖進行快取處理。 因此,只要顯示物件包含有效的濾鏡清單,播放程式就會快取顯示物件當做點陣圖。 這個來源點陣圖會當做濾鏡效果的來源影像。 每個顯示物件通常擁有兩個點陣圖: 其中一個是原始、未經濾鏡處理的來源顯示物件,另一個是經過濾鏡處理後的最終影像。 顯示影像時是使用最終影像。 只要不變更顯示物件,就不需要更新最終影像。

flash.filters 套件包含濾鏡可用的類別。 例如,若要建立 DropShadow 濾鏡,您可以撰寫:

     import flash.filters.DropShadowFilter
     var myFilter:DropShadowFilter = new DropShadowFilter (distance, angle, color, alpha, blurX, blurY, quality, inner, knockout)
     

您可以使用 is 運算子,判斷指定給位於 filter 陣列中每個索引位置的濾鏡類型。 例如,下列程式碼說明如何判斷 filters 陣列中第一個濾鏡為 DropShadowFilter 的位置:

     import flash.text.TextField;
     import flash.filters.*;
     var tf:TextField = new TextField();
     var filter1:DropShadowFilter = new DropShadowFilter();
     var filter2:GradientGlowFilter = new GradientGlowFilter();
     tf.filters = [filter1, filter2];
     
     tf.text = "DropShadow index: " + filterPosition(tf, DropShadowFilter).toString(); // 0
     addChild(tf)
     
     function filterPosition(displayObject:DisplayObject, filterClass:Class):int {
         for (var i:uint = 0; i < displayObject.filters.length; i++) {
             if (displayObject.filters[i] is filterClass) {
                 return i;
             }
         }
         return -1;
     }
     

注意:因為您無法直接將新的濾鏡物件加入至 DisplayObject.filters 陣列,所以下列程式碼對目標顯示物件 (名為 myDisplayObject) 沒有任何作用:

     myDisplayObject.filters.push(myDropShadow);
     



實作
    public function get filters():Array
    public function set filters(value:Array):void

擲回值
ArgumentError — 當 filters 包含 ShaderFilter,而著色器輸出類型與此作業不相容時 (著色器必須指定 pixel4 輸出)。
 
ArgumentError — 當 filters 包含 ShaderFilter,而著色器未指定任何影像輸入,或第一個輸入不是 image4 輸入。
 
ArgumentError — 當 filters 包含 ShaderFilter,而著色器已經指定尚未提供的影像輸入時。
 
ArgumentError — 當 filters 包含 ShaderFilter、ByteArray 或是 Vector 時。<Number> 實體會被當做著色器輸入來使用,而且未替 ShaderInput 物件設定 widthheight 屬性,或者指定的值不符合輸入資料中的資料總數。如需詳細資訊,請參閱 ShaderInput.input 屬性。

相關 API 元素

height

屬性 
height:Number

語言版本: ActionScript 3.0
執行階段版本: AIR 1.0, Flash Player 9, Flash Lite 4

會指出顯示物件的高度,以像素為單位。此高度是根據顯示物件內容的範圍計算而得。 當您設定 height 屬性時,scaleY 屬性也會相應調整,如下列程式碼所示:

    var rect:Shape = new Shape();
    rect.graphics.beginFill(0xFF0000);
    rect.graphics.drawRect(0, 0, 100, 100);
    trace(rect.scaleY) // 1;
    rect.height = 200;
    trace(rect.scaleY) // 2;

除了 TextField 和 Video 物件,無內容的顯示物件 (例如,空的 Sprite) 的高度為 0,即使您嘗試將 height 設定為其它值也是如此。



實作
    public function get height():Number
    public function set height(value:Number):void

範例  ( 如何使用本範例 )
下列程式碼會建立兩個 TextField 物件,並調整每個物件的 height 屬性 (根據每個物件的 textHeight 屬性來調整);而且也會藉由設定第二個文字欄位的 y 屬性來放置該文字欄位。
import flash.text.TextField;

var tf1:TextField = new TextField();
tf1.text = "Text Field 1";
tf1.border = true;
tf1.wordWrap = true;
tf1.width = 40;
tf1.height = tf1.textHeight + 5;
addChild(tf1);

var tf2:TextField = new TextField();
tf2.text = "Text Field 2";
tf2.border = true;
tf2.wordWrap = true;
tf2.width = 40;
tf2.height = tf2.textHeight + 5;
tf2.y = tf1.y + tf1.height + 5;
addChild(tf2);

loaderInfo

屬性 
loaderInfo:LoaderInfo  [唯讀]

語言版本: ActionScript 3.0
執行階段版本: AIR 1.0, Flash Player 9, Flash Lite 4

會傳回 LoaderInfo 物件,其中包含關於載入此顯示物件所屬之檔案的資訊。 只有 SWF 檔案的根顯示物件,或載入的 Bitmap (並非使用 ActionScript 繪製的 Bitmap) 會定義 loaderInfo 屬性。 若要尋找與 SWF 檔案關聯,且包含名為 myDisplayObject 的顯示物件的 loaderInfo 物件,請使用 myDisplayObject.root.loaderInfo

大型的 SWF 檔案可以呼叫 this.root.loaderInfo.addEventListener(Event.COMPLETE, func) 來監視自己的下載。



實作
    public function get loaderInfo():LoaderInfo

相關 API 元素


範例  ( 如何使用本範例 )
下列程式碼會假設 this 參照顯示物件。 此程式碼會輸出顯示物件之根 SWF 檔案的 URL:
 trace (this.loaderInfo.url);
 

mask

屬性 
mask:DisplayObject

語言版本: ActionScript 3.0
執行階段版本: AIR 1.0, Flash Player 9, Flash Lite 4

指定的 mask 物件會遮蓋呼叫的顯示物件。 為了確保縮放舞台時也能呈現出遮蓋效果,顯示清單中的 mask 顯示物件必須為作用中。 尚未繪製 mask 物件本身。 請將 mask 設定為 null 以移除遮色片。

若要縮放遮色片物件,此物件必須位於顯示清單中。 若要拖曳遮色片 Sprite 物件 (藉由呼叫它的 startDrag() 方法),此物件必須位於顯示清單中。 若要根據 Sprite 所傳送的 mouseDown 事件來呼叫 Sprite 遮色片的 startDrag() 方法,請將 Sprite 的 buttonMode 屬性設為 true

藉由將 cacheAsBitmap 屬性設定為 true,以及將 cacheAsBitmapMatrix 屬性設定為 Matrix 物件來快取顯示物件時,遮色片和被遮色的顯示物件都必須是相同快取點陣圖的一部份。因此,如果快取顯示物件,遮色片就必須是顯示物件的子系。如果快取顯示清單上顯示物件的祖系,遮色片就必須是該祖系的子系,或該祖系的後代之一。如果快取一個以上被遮色物件的祖系,遮色片則必須是最接近顯示清單中被遮色物件之快取容器的後代。

注意:您無法使用單一 mask 物件來遮色處理多個呼叫的顯示物件。當此 mask 指定給第二個顯示物件時,它就會遭移除,不再成為第一個物件的遮色片,而且該物件的 mask 屬性會成為 null



實作
    public function get mask():DisplayObject
    public function set mask(value:DisplayObject):void

範例  ( 如何使用本範例 )
下列程式碼會建立 TextField 物件以及 Sprite 物件 (會設定為該 TextField 物件的遮色片)。 當使用者按下文字欄位時,drag() 事件偵聽程式函數會呼叫遮色片 Sprite 物件的 startDrag() 方法:
import flash.text.TextField;
import flash.display.Sprite;
import flash.events.MouseEvent;

var tf:TextField = new TextField();
tf.text = "Lorem ipsum dolor sit amet, consectetur adipisicing elit, " 
            + "sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. "
tf.selectable = false;
tf.wordWrap = true;
tf.width = 150;
addChild(tf);

var square:Sprite = new Sprite();
square.graphics.beginFill(0xFF0000);
square.graphics.drawRect(0, 0, 40, 40);
addChild(square);

tf.mask = square;

tf.addEventListener(MouseEvent.MOUSE_DOWN, drag);
tf.addEventListener(MouseEvent.MOUSE_UP, noDrag);

function drag(event:MouseEvent):void {
    square.startDrag();
}
function noDrag(event:MouseEvent):void {
    square.stopDrag();
}

metaData

屬性 
metaData:Object

如果中繼資料是透過 PlaceObject4 標籤與 SWF 檔案中的這個 DisplayObject 實體一同儲存,則會取得 DisplayObject 實體的中繼資料物件。



實作
    public function get metaData():Object
    public function set metaData(value:Object):void

mouseX

屬性 
mouseX:Number  [唯讀]

語言版本: ActionScript 3.0
執行階段版本: AIR 1.0, Flash Player 9, Flash Lite 4

指出滑鼠或使用者輸入裝置位置的 x 座標,以像素為單位。

注意:對於旋轉過的 DisplayObject,傳回的 x 座標會反映未旋轉的物件。



實作
    public function get mouseX():Number

範例  ( 如何使用本範例 )
下列程式碼會在使用者按一下 sprite 時,建立 Sprite 物件並追蹤 mouseXmouseY 位置:
import flash.display.Sprite;
import flash.events.MouseEvent;

var square:Sprite = new Sprite();
square.graphics.beginFill(0xFF0000);
square.graphics.drawRect(0, 0, 200, 200);
addChild(square);

square.addEventListener(MouseEvent.CLICK, traceCoordinates);

function traceCoordinates(event:MouseEvent):void {
    trace(square.mouseX, square.mouseY);
}

mouseY

屬性 
mouseY:Number  [唯讀]

語言版本: ActionScript 3.0
執行階段版本: AIR 1.0, Flash Player 9, Flash Lite 4

指出滑鼠或使用者輸入裝置位置的 y 座標,以像素為單位。

注意:對於旋轉過的 DisplayObject,傳回的 y 座標會反映未旋轉的物件。



實作
    public function get mouseY():Number

範例  ( 如何使用本範例 )
下列程式碼會在使用者按一下 sprite 時,建立 Sprite 物件並追蹤 mouseXmouseY 位置:
import flash.display.Sprite;
import flash.events.MouseEvent;

var square:Sprite = new Sprite();
square.graphics.beginFill(0xFF0000);
square.graphics.drawRect(0, 0, 200, 200);
addChild(square);

square.addEventListener(MouseEvent.CLICK, traceCoordinates);

function traceCoordinates(event:MouseEvent):void {
    trace(square.mouseX, square.mouseY);
}

name

屬性 
name:String

語言版本: ActionScript 3.0
執行階段版本: AIR 1.0, Flash Player 9, Flash Lite 4

指出 DisplayObject 的實體名稱。 您可以呼叫顯示物件容器的 getChildByName() 方法,在父輩顯示物件容器的子清單中識別出此物件。



實作
    public function get name():String
    public function set name(value:String):void

擲回值
IllegalOperationError — 前提是,您嘗試使用 Flash 編寫工具為時間軸上的物件設定這個屬性。

範例  ( 如何使用本範例 )
下列程式碼會建立兩個 Sprite 物件,並在使用者按下其中一個物件時,追蹤相關的 name 屬性:
import flash.display.Sprite;
import flash.events.MouseEvent;

var circle1:Sprite = new Sprite();
circle1.graphics.beginFill(0xFF0000);
circle1.graphics.drawCircle(40, 40, 40);
circle1.name = "circle1";
addChild(circle1);
circle1.addEventListener(MouseEvent.CLICK, traceName);

var circle2:Sprite = new Sprite();
circle2.graphics.beginFill(0x0000FF);
circle2.graphics.drawCircle(140, 40, 40);
circle2.name = "circle2";
addChild(circle2);
circle2.addEventListener(MouseEvent.CLICK, traceName);

function traceName(event:MouseEvent):void {
    trace(event.target.name);
}

opaqueBackground

屬性 
opaqueBackground:Object

語言版本: ActionScript 3.0
執行階段版本: AIR 1.0, Flash Player 9, Flash Lite 4

會指定顯示物件是否不透明,並具有特定背景顏色。 透明的點陣圖包含 Alpha 色版資料,且會繪製成透明狀。 不透明的點陣圖沒有 Alpha 色版 (呈現的速度比透明點陣圖還快)。 如果點陣圖是不透明的,您就可以指定要使用的自身背景顏色。

如果設為數值,則表面會使用數值所指定的 RGB 背景顏色來呈現不透明狀。 如果設為 null (預設值),則顯示物件會具有透明的背景。

opaqueBackground 屬性主要用途即為與 cacheAsBitmap 屬性搭配使用,以呈現最佳化效果。 在 cacheAsBitmap 屬性已設為 true 的顯示物件上,設定 opaqueBackground 可以增進顯示效能。

呼叫 hitTestPoint() 方法時,如果 shapeFlag 參數設為 true,則「無法」配合不透明背景區域使用。

不透明背景區域不會回應滑鼠事件。



實作
    public function get opaqueBackground():Object
    public function set opaqueBackground(value:Object):void

相關 API 元素


範例  ( 如何使用本範例 )
下列程式碼會建立具有藍色圓形的 Shape 物件,並將它的 opaqueBackground 屬性設定為紅 (0xFF0000):
import flash.display.Shape;

var circle:Shape = new Shape();
circle.graphics.beginFill(0x0000FF);
circle.graphics.drawCircle(40, 40, 40);
circle.opaqueBackground = 0xFF0000;
addChild(circle);

parent

屬性 
parent:DisplayObjectContainer  [唯讀]

語言版本: ActionScript 3.0
執行階段版本: AIR 1.0, Flash Player 9, Flash Lite 4

指出包含此顯示物件的 DisplayObjectContainer 物件。 請使用 parent 屬性來指定相對路徑,以便顯示位於顯示清單階層中目前顯示物件之上的物件。

您可以使用 parent 在顯示清單中向上移動多個階層,如下列所示:

     this.parent.parent.alpha = 20;
     



實作
    public function get parent():DisplayObjectContainer

擲回值
SecurityError — 父輩顯示物件屬於您無法存取的安全執行程序。 您可以讓父影片呼叫 Security.allowDomain() 方法來避免發生這個情形。

範例  ( 如何使用本範例 )
下列程式碼會建立三個 Sprite 物件,並說明 parent 屬性如何反映顯示清單階層:
import flash.display.Sprite;

var sprite1:Sprite = new Sprite();
sprite1.name = "sprite1";
var sprite2:Sprite = new Sprite();
sprite2.name = "sprite2";
var sprite3:Sprite = new Sprite();
sprite3.name = "sprite3";

sprite1.addChild(sprite2);
sprite2.addChild(sprite3);

trace(sprite2.parent.name); // sprite1
trace(sprite3.parent.name); // sprite2
trace(sprite3.parent.parent.name); // sprite1

root

屬性 
root:DisplayObject  [唯讀]

語言版本: ActionScript 3.0
執行階段版本: AIR 1.0, Flash Player 9, Flash Lite 4

對載入之 SWF 檔案的顯示物件而言,root 屬性就是該 SWF 檔案所呈現之顯示清單樹狀結構部分的最上層顯示物件。 以呈現出載入之影像檔的 Bitmap 物件而言,root 屬性是 Bitmap 物件本身。 以第一個載入的 SWF 檔案的主要類別實體而言,root 屬性就是顯示物件本身。 Stage 物件的 root 屬性即為 Stage 物件本身。 對於任何尚未加入顯示清單的顯示物件,root 屬性都是設為 null,除非加入的顯示物件容器已經從顯示清單中移除,但仍是載入的 SWF 檔案中最上層顯示物件的子物件。

例如,如果您藉由呼叫 Sprite() 建構函式方法來建立新的 Sprite 物件,在您將它加入顯示清單 (或者加入已從顯示清單中移除,但仍是 SWF 檔案最上層顯示物件之子物件的顯示物件容器中) 之前,它的 root 屬性一直都是 null

對於載入的 SWF 檔案而言,儘管用來載入檔案的 Loader 物件可能已不在顯示清單上,SWF 檔案中的最上層顯示物件還是為將它的 root 屬性設為自己。 除非將 Loader 物件加入做為已設定 root 屬性之顯示物件的子物件,否則 Loader 無法設定它的 root 屬性。



實作
    public function get root():DisplayObject

範例  ( 如何使用本範例 )
下列程式碼將說明 root 屬性對於 Stage 物件、尚未載入 (加入至顯示清單之前及之後) 的顯示物件 (Loader 物件),以及已載入的物件 (已載入的 Bitmap 物件) 之間的差異:
import flash.display.Loader;
import flash.net.URLRequest;
import flash.events.Event;

trace(stage.root); // [object Stage]

var ldr:Loader = new Loader();
trace (ldr.root); // null

addChild(ldr); 
trace (ldr.root); // [object ...]

var urlReq:URLRequest = new URLRequest("example.jpg");
ldr.load(urlReq);

ldr.contentLoaderInfo.addEventListener(Event.COMPLETE, loaded);

function loaded(event:Event):void {
    trace(ldr.content.root); // [object Bitmap]
}

rotation

屬性 
rotation:Number

語言版本: ActionScript 3.0
執行階段版本: AIR 1.0, Flash Player 9, Flash Lite 4

指出 DisplayObject 實體的旋轉度數 (從該物件原本方向算起)。 0 至 180 之間的數值代表順時針方向旋轉;0 至 -180 之間的數值代表逆時針方向旋轉。超過此範圍的數值會被加上或減去 360 的倍數,以獲得該範圍之內的數值。 例如,my_video.rotation = 450 陳述式會與 my_video.rotation = 90 相同。



實作
    public function get rotation():Number
    public function set rotation(value:Number):void

範例  ( 如何使用本範例 )
下列程式碼會建立 Sprite 物件,並在使用者按一下此物件時旋轉此物件:
import flash.display.Sprite;
import flash.events.MouseEvent;

var square:Sprite = new Sprite();
square.graphics.beginFill(0xFFCC00);
square.graphics.drawRect(-50, -50, 100, 100);
square.x = 150;
square.y = 150;
addChild(square);

square.addEventListener(MouseEvent.CLICK, rotate);

function rotate(event:MouseEvent):void {
        square.rotation += 15;
}

rotationX

屬性 
rotationX:Number

語言版本: ActionScript 3.0
執行階段版本: Flash Player 10, AIR 1.5, Flash Lite 4

表示 DisplayObject 實體相對於 3D 父輩容器從原始方向旋轉的 x 軸旋轉 (以度數為單位)。0 至 180 之間的數值代表順時針方向旋轉;0 至 -180 之間的數值代表逆時針方向旋轉。超過此範圍的數值會被加上或減去 360 的倍數,以獲得該範圍之內的數值。



實作
    public function get rotationX():Number
    public function set rotationX(value:Number):void

範例  ( 如何使用本範例 )
在這個範例中,兩個橢圓形會使用其 rotationXrotationY 屬性來旋轉。第一個橢圓形的註冊點設定為其中心。它會自轉。第二個橢圓形會繞著外部的點旋轉。
package {
    import flash.display.MovieClip;
    import flash.display.Shape;
    import flash.geom.*;
    import flash.display.Graphics;
    import flash.events.TimerEvent;
    import flash.utils.Timer;

    public class RotationExample1 extends MovieClip {
        private var ellipse:Shape = new Shape();
        private var speed:int = 10;
        private var ellipse1:Shape;
        private var ellipse2:Shape;
        
        public function RotationExample1():void {

            ellipse1 = drawEllipse(-50, -40, (this.stage.stageWidth / 2), 
                                    (this.stage.stageHeight / 2));
            
            ellipse2 = drawEllipse(30, 40, (this.stage.stageWidth / 2), 
                                          (this.stage.stageHeight / 2));

            this.addChild(ellipse1);
            this.addChild(ellipse2);

            var t:Timer = new Timer(50);
            t.addEventListener(TimerEvent.TIMER, timerHandler);
            t.start();
        }

        private function drawEllipse(x1, y1, x2, y2):Shape {
        
            var e:Shape = new Shape();
            e.graphics.beginFill(0xFF0000);
            e.graphics.lineStyle(2);
            e.graphics.drawEllipse(x1, y1, 100, 80);
            e.graphics.endFill();

            e.x  = x2;  
            e.y  = y2;
            e.z = 1;
            return e;
        }

        private function timerHandler(event:TimerEvent):void {
            ellipse1.rotationY += speed;    
            ellipse1.rotationX -= speed;

            ellipse2.rotationY += speed;    
            ellipse2.rotationX -= speed;
        }
    }
}
以下範例顯示如何使用 Flash Professional、ActionScript 3.0 以及 Flash Player 10 設定物件的 rotationX 屬性,讓 Sprite 物件沿著它的 x 軸做 3 D 旋轉。範例由 ActionScriptExamples.com 提供。
//Requires:
//  - Slider control UI component in Flash library.
//  - Publish for Flash Player 10.
//
 
[SWF(width="400", height="300")]
 
import fl.controls.Slider;
import fl.controls.SliderDirection;
import fl.events.SliderEvent;
 
var slider:Slider = new Slider();
slider.direction = SliderDirection.HORIZONTAL;
slider.minimum = 0;
slider.maximum = 360;
slider.value = 45;
slider.tickInterval = 45;
slider.snapInterval = 1;
slider.liveDragging = true;
slider.addEventListener(SliderEvent.CHANGE, slider_change);
slider.move(10, 10);
addChild(slider);
 
var spr:Sprite = new Sprite();
spr.graphics.lineStyle(2, 0xFF0000);
spr.graphics.drawRect(0, 0, 100, 80);
spr.x = Math.round((stage.stageWidth - spr.width)/2);
spr.y = Math.round((stage.stageHeight - spr.height)/2);
spr.rotationX = 45;
addChild(spr);
 
function slider_change(evt:SliderEvent):void {
    spr.rotationX = evt.value;
}

rotationY

屬性 
rotationY:Number

語言版本: ActionScript 3.0
執行階段版本: Flash Player 10, AIR 1.5, Flash Lite 4

表示 DisplayObject 實體相對於 3D 父輩容器從原始方向旋轉的 y 軸旋轉 (以度數為單位)。0 至 180 之間的數值代表順時針方向旋轉;0 至 -180 之間的數值代表逆時針方向旋轉。超過此範圍的數值會被加上或減去 360 的倍數,以獲得該範圍之內的數值。



實作
    public function get rotationY():Number
    public function set rotationY(value:Number):void

範例  ( 如何使用本範例 )
在這個範例中,兩個橢圓形會使用其 rotationXrotationY 屬性來旋轉。第一個橢圓形的註冊點設定為其中心。它會自轉。第二個橢圓形會繞著外部的點旋轉。
package {
    import flash.display.MovieClip;
    import flash.display.Shape;
    import flash.geom.*;
    import flash.display.Graphics;
    import flash.events.TimerEvent;
    import flash.utils.Timer;

    public class RotationExample1 extends MovieClip {
        private var ellipse:Shape = new Shape();
        private var speed:int = 10;
        private var ellipse1:Shape;
        private var ellipse2:Shape;
        
        public function RotationExample1():void {

            ellipse1 = drawEllipse(-50, -40, (this.stage.stageWidth / 2), 
                                    (this.stage.stageHeight / 2));
            
            ellipse2 = drawEllipse(30, 40, (this.stage.stageWidth / 2), 
                                          (this.stage.stageHeight / 2));

            this.addChild(ellipse1);
            this.addChild(ellipse2);

            var t:Timer = new Timer(50);
            t.addEventListener(TimerEvent.TIMER, timerHandler);
            t.start();
        }

        private function drawEllipse(x1, y1, x2, y2):Shape {
        
            var e:Shape = new Shape();
            e.graphics.beginFill(0xFF0000);
            e.graphics.lineStyle(2);
            e.graphics.drawEllipse(x1, y1, 100, 80);
            e.graphics.endFill();

            e.x  = x2;  
            e.y  = y2;
            e.z = 1;
            return e;
        }

        private function timerHandler(event:TimerEvent):void {
            ellipse1.rotationY += speed;    
            ellipse1.rotationX -= speed;

            ellipse2.rotationY += speed;    
            ellipse2.rotationX -= speed;
        }
    }
}

rotationZ

屬性 
rotationZ:Number

語言版本: ActionScript 3.0
執行階段版本: Flash Player 10, AIR 1.5, Flash Lite 4

表示 DisplayObject 實體相對於 3D 父輩容器從原始方向旋轉的 z 軸旋轉 (以度數為單位)。0 至 180 之間的數值代表順時針方向旋轉;0 至 -180 之間的數值代表逆時針方向旋轉。超過此範圍的數值會被加上或減去 360 的倍數,以獲得該範圍之內的數值。



實作
    public function get rotationZ():Number
    public function set rotationZ(value:Number):void

scale9Grid

屬性 
scale9Grid:Rectangle

語言版本: ActionScript 3.0
執行階段版本: AIR 1.0, Flash Player 9, Flash Lite 4

目前產生效用的縮放格線。 如果設定為 null,套用任何縮放變形時,整個顯示物件將會正常縮放。

當您定義 scale9Grid 屬性時,顯示物件會根據定義的格線中心區域的 scale9Grid 矩形,分割成含有九個區域的格線。 其它八個格線區域則分佈在下列區域:

  • 矩形外左上角的區域
  • 矩形上方的區域
  • 矩形外右上角的區域
  • 矩形左方的區域
  • 矩形右方的區域
  • 矩形外左下角的區域
  • 矩形下方的區域
  • 矩形外右下角的區域

您可以將中央區域 (由矩形定義) 以外的八個區域當做顯示物件縮放時套用特殊規則的圖片頁框。

scale9Grid 屬性已設定且顯示物件已縮放,所有文字和漸層都會正常縮放;然而,其它類型的物件適用下列規則:

  • 中心區域的內容會正常縮放。
  • 不會縮放角落的內容。
  • 上下區域的內容只會水平縮放。 左右區域的內容只會垂直縮放。
  • 所有填色 (包括點陣圖、視訊和漸層) 都將延伸以符合區域的形狀。

如果顯示物件已經旋轉,所有的後續縮放都會正常 (且忽略 scale9Grid 屬性)。

例如,假設有下列的顯示物件以及一個已套用顯示物件之 scale9Grid 的矩形:

顯示物件影像

顯示物件。

以 9 宮格顯示物件

紅色矩形會顯示 scale9Grid

當縮放或延伸顯示物件後,矩形內的物件可以正常地縮放,但矩形外的物件則依據 scale9Grid 規則進行縮放:

縮放為 75%:以 75% 的比例顯示物件
縮放為 50%:以 50% 的比例顯示物件
縮放為 25%:以 25% 的比例顯示物件
水平延伸 150%: 顯示延伸 150%

設定 scale9Grid 一般是用於設定當作組件使用的顯示物件,其中邊緣區域在縮放組件後仍會保留相同的寬度。



實作
    public function get scale9Grid():Rectangle
    public function set scale9Grid(value:Rectangle):void

擲回值
ArgumentError — 前提是,您將無效的引數傳遞至方法。

相關 API 元素


範例  ( 如何使用本範例 )
下列程式碼會建立 Shape 物件,並使用其 graphics 屬性繪製矩形。 此矩形的邊框為 20 像素寬的線條,並使用漸層加以填色。 計時器事件會呼叫 scale() 函數,藉由調整 scaleXscaleY 屬性來縮放 Shape 物件。 套用到 Shape 物件的 scale9Grid 會避免縮放此矩形的邊框線條,而且只會縮放漸層填色:
import flash.display.Shape;
import flash.display.GradientType;
import flash.display.SpreadMethod;
import flash.display.InterpolationMethod;
import flash.geom.Matrix;
import flash.geom.Rectangle;
import flash.utils.Timer;
import flash.events.TimerEvent;

var square:Shape = new Shape();
square.graphics.lineStyle(20, 0xFFCC00);
var gradientMatrix:Matrix = new Matrix();
gradientMatrix.createGradientBox(15, 15, Math.PI, 10, 10);
square.graphics.beginGradientFill(GradientType.RADIAL, 
            [0xffff00, 0x0000ff], 
            [100, 100], 
            [0, 0xFF], 
            gradientMatrix, 
            SpreadMethod.REFLECT, 
            InterpolationMethod.RGB, 
            0.9);
square.graphics.drawRect(0, 0, 100, 100);

var grid:Rectangle = new Rectangle(20, 20, 60, 60);
square.scale9Grid = grid ;

addChild(square);

var tim:Timer = new Timer(100);
tim.start();
tim.addEventListener(TimerEvent.TIMER, scale);

var scaleFactor:Number = 1.01;

function scale(event:TimerEvent):void {
    square.scaleX *= scaleFactor;
    square.scaleY *= scaleFactor;
    
    if (square.scaleX > 2.0) {
        scaleFactor = 0.99;
    }
    if (square.scaleX < 1.0) {
        scaleFactor = 1.01;
    }
}

scaleX

屬性 
scaleX:Number

語言版本: ActionScript 3.0
執行階段版本: AIR 1.0, Flash Player 9, Flash Lite 4

指出從註冊點套用的物件水平縮放 (百分比)。預設的註冊點是 (0,0)。 1.0 等於 100% 縮放。

縮放區域座標系統會變更以完整像素為單位所定義的 xy 屬性值。



實作
    public function get scaleX():Number
    public function set scaleX(value:Number):void

範例  ( 如何使用本範例 )
下列程式碼會建立 Sprite 物件,並使用其 graphics 屬性繪製矩形。 當使用者按下 sprite,會依 10% 的比例縮放:
import flash.display.Sprite;
import flash.events.MouseEvent;

var square:Sprite = new Sprite();
square.graphics.beginFill(0xFFCC00);
square.graphics.drawRect(0, 0, 100, 100);
addChild(square);

square.addEventListener(MouseEvent.CLICK, scale);

function scale(event:MouseEvent):void {
    square.scaleX *= 1.10;
    square.scaleY *= 1.10;
}

scaleY

屬性 
scaleY:Number

語言版本: ActionScript 3.0
執行階段版本: AIR 1.0, Flash Player 9, Flash Lite 4

指出從物件註冊點套用的物件垂直縮放 (百分比)。預設的註冊點是 (0,0)。 1.0 等於 100% 縮放。

縮放區域座標系統會變更以完整像素為單位所定義的 xy 屬性值。



實作
    public function get scaleY():Number
    public function set scaleY(value:Number):void

範例  ( 如何使用本範例 )
下列程式碼會建立 Sprite 物件,並使用其 graphics 屬性繪製矩形。 當使用者按下 sprite,會依 10% 的比例縮放:
import flash.display.Sprite;
import flash.events.MouseEvent;

var square:Sprite = new Sprite();
square.graphics.beginFill(0xFFCC00);
square.graphics.drawRect(0, 0, 100, 100);
addChild(square);

square.addEventListener(MouseEvent.CLICK, scale);

function scale(event:MouseEvent):void {
    square.scaleX *= 1.10;
    square.scaleY *= 1.10;
}

scaleZ

屬性 
scaleZ:Number

語言版本: ActionScript 3.0
執行階段版本: Flash Player 10, AIR 1.5

指出從物件註冊點套用的物件深度縮放 (百分比)。預設的註冊點是 (0,0)。 1.0 等於 100% 縮放。

縮放區域座標系統會變更以完整像素為單位所定義的 xyz 屬性值。



實作
    public function get scaleZ():Number
    public function set scaleZ(value:Number):void

相關 API 元素

scrollRect

屬性 
scrollRect:Rectangle

語言版本: ActionScript 3.0
執行階段版本: AIR 1.0, Flash Player 9

顯示物件的捲動矩形範圍。 顯示物件會裁剪至矩形所定義的尺寸,並在您變更 scrollRect 物件的 xy 屬性時,於矩形內捲動。

scrollRect Rectangle 物件的屬性採用顯示物件的座標空間,縮放的方式和整體顯示物件一樣。 在捲動中顯示物件之裁切視窗的角落邊界是位於顯示物件的原點 (0,0),以及矩形寬度與高度所定義的點。 這些點並不以原點為中心,但會使用原點來定義區域的左上角。 捲動顯示物件的方式永遠是以完整的像素遞增捲動。

設定 scrollRect Rectangle 物件的 x 屬性,可以將物件向左或向右捲動。 設定 scrollRect Rectangle 物件的 y 屬性,可以將物件向上或向下捲動。 如果顯示物件旋轉了 90° 而您向左和向右捲動它,則顯示物件實際上會向上與向下捲動。

請注意,只有在顯示物件時,才會處理 scrollRect 屬性的變更。因此,如果在修改 scrollRect 之後呼叫諸如 localToGlobal 等方法,可能不會產生預期的結果。

注意:從 Flash Player 11.4/AIR 3.4 開始,矩形寬度或高度的負值已變更為 0。



實作
    public function get scrollRect():Rectangle
    public function set scrollRect(value:Rectangle):void

相關 API 元素


範例  ( 如何使用本範例 )
下列範例將說明 scrollRect 屬性如何定義顯示物件的捲動區域,此顯示物件名為 circle。 當您按下 circle 物件時,clicked() 事件處理常式方法會調整 y 屬性 (circle 物件的 scrollRect 屬性),使物件可以向下捲動:
import flash.display.Sprite;
import flash.geom.Rectangle;
import flash.events.MouseEvent;

var circle:Sprite = new Sprite();
circle.graphics.beginFill(0xFFCC00);
circle.graphics.drawCircle(200, 200, 200);
circle.scrollRect = new Rectangle(0, 0, 200, 200);
addChild(circle);

circle.addEventListener(MouseEvent.CLICK, clicked);

function clicked(event:MouseEvent):void {
    var rect:Rectangle = event.target.scrollRect;
    rect.y -= 5;
    event.target.scrollRect = rect;
}

stage

屬性 
stage:Stage  [唯讀]

語言版本: ActionScript 3.0
執行階段版本: AIR 1.0, Flash Player 9, Flash Lite 4

顯示物件的「舞台」。 Flash 執行階段應用程式只有一個 Stage 物件。例如,您可以建立多個顯示物件並將之載入顯示清單中,如此,每個顯示物件的 stage 屬性都會參照到相同的 Stage 物件 (即使顯示物件屬於載入的 SWF 檔案亦然)。

如果顯示物件未加入顯示清單,它的 stage 屬性便會設為 null



實作
    public function get stage():Stage

範例  ( 如何使用本範例 )
下列程式碼會建立兩個 TextField 物件,並使用 Stage 物件的 width 屬性來放置文字欄位:
import flash.text.TextField;

var tf1:TextField = new TextField();
tf1.text = "Text Field 1";
tf1.border = true;
tf1.x = 10;
addChild(tf1);
tf1.width = tf1.stage.stageWidth / 2 - 10;

var tf2:TextField = new TextField();
tf2.text = "Text Field 2";
tf2.border = true;
tf2.x = tf1.x + tf1.width + 5;
addChild(tf2);
tf2.width = tf2.stage.stageWidth / 2 - 10;

trace(stage.stageWidth);

transform

屬性 
transform:flash.geom:Transform

語言版本: ActionScript 3.0
執行階段版本: AIR 1.0, Flash Player 9, Flash Lite 4

這是一個物件,具有和顯示物件的矩陣、顏色轉換和像素邊界有關的屬性。 特定屬性,包括 matrix、colorTransform 以及三個唯讀屬性 (concatenatedMatrixconcatenatedColorTransformpixelBounds),將在 Transform 類別項目中說明。

每個變形物件的屬性其本身就是一個物件。 這一點很重要,因為要設定矩陣或 colorTransform 物件的新值,唯一的方式就是建立新物件並將該物件複製到 transform.matrix 或 transform.colorTransform 屬性。

例如,若要增加顯示物件矩陣的 tx 值,必須為整個矩陣物件建立副本,然後將此新物件複製到變形物件的矩陣屬性:


    var myMatrix:Matrix = myDisplayObject.transform.matrix;  
    myMatrix.tx += 10; 
    myDisplayObject.transform.matrix = myMatrix;  
    

您不能直接設定 tx 屬性。 下列程式碼不會影響 myDisplayObject


    myDisplayObject.transform.matrix.tx += 10;
    

您也可以複製整個變形物件,再將它指定給另一個顯示物件的變形屬性。 例如,下列程式碼會將整個變形物件從 myOldDisplayObj 複製到 myNewDisplayObj

myNewDisplayObj.transform = myOldDisplayObj.transform;

產生的顯示物件 myNewDisplayObj 現在和原有的顯示物件 myOldDisplayObj,都具有相同的矩陣、顏色轉換和像素邊界值。

請注意,若有硬體加速可供使用,AIR for TV 裝置會自動為顏色變化使用硬體加速。



實作
    public function get transform():flash.geom:Transform
    public function set transform(value:flash.geom:Transform):void

相關 API 元素


範例  ( 如何使用本範例 )
下列程式碼會設定 square Sprite 物件。 當使用者按下 Sprite,transformer() 方法會調整 colorTransformmatrix 屬性 (Sprite 的 transform 屬性):
import flash.display.Sprite;
import flash.geom.ColorTransform;
import flash.geom.Matrix;
import flash.geom.Transform;
import flash.events.MouseEvent;

var square:Sprite = new Sprite();
square.graphics.lineStyle(20, 0xFF2200);
square.graphics.beginFill(0x0000DD);
square.graphics.drawRect(0, 0, 100, 100);
addChild(square);

var resultColorTransform:ColorTransform = new ColorTransform();
resultColorTransform.alphaMultiplier = 0.5;
resultColorTransform.redOffset = 155;
resultColorTransform.greenMultiplier = 0.5;

var skewMatrix:Matrix = new Matrix(1, 1, 0, 1);

square.addEventListener(MouseEvent.CLICK, transformer);

function transformer(event:MouseEvent):void {
    var transformation:Transform = square.transform;
    var tempMatrix:Matrix = square.transform.matrix;
    tempMatrix.concat(skewMatrix);
    square.transform.colorTransform = resultColorTransform;
    
    square.transform.matrix = tempMatrix;
}

visible

屬性 
visible:Boolean

語言版本: ActionScript 3.0
執行階段版本: AIR 1.0, Flash Player 9, Flash Lite 4

不管是否看得見顯示物件。 看不見的顯示物件也會被停用。 例如,如果 InteractiveObject 實體為 visible=false,就無法按下它。



實作
    public function get visible():Boolean
    public function set visible(value:Boolean):void

範例  ( 如何使用本範例 )
下列程式碼會使用 Timer 物件呼叫函數,該函數會定時變更顯示物件的 visible 屬性,並呈現閃爍的效果:
import flash.text.TextField;
import flash.utils.Timer;
import flash.events.TimerEvent;

var tf:TextField = new TextField();
tf.text = "Hello.";
addChild(tf);

var tim:Timer = new Timer(250);
tim.start();
tim.addEventListener(TimerEvent.TIMER, blinker);

function blinker(event:TimerEvent):void {
    tf.visible = !tf.visible;
}

width

屬性 
width:Number

語言版本: ActionScript 3.0
執行階段版本: AIR 1.0, Flash Player 9, Flash Lite 4

會指出顯示物件的寬度,以像素為單位。 此寬度是根據顯示物件內容的範圍計算而得。 當您設定 width 屬性時,scaleX 屬性也會相應調整,如下列程式碼所示:

    var rect:Shape = new Shape();
    rect.graphics.beginFill(0xFF0000);
    rect.graphics.drawRect(0, 0, 100, 100);
    trace(rect.scaleX) // 1;
    rect.width = 200;
    trace(rect.scaleX) // 2;

除了 TextField 和 Video 物件,無內容的顯示物件 (例如,空的 Sprite) 的寬度為 0,即使您嘗試將 width 設定為其它值也是如此。



實作
    public function get width():Number
    public function set width(value:Number):void

範例  ( 如何使用本範例 )
下列程式碼會設定 square Sprite 物件。 當使用者按下 Sprite,widen() 方法會增加 Sprite 的 width 屬性:
import flash.display.Sprite;
import flash.events.MouseEvent;

var square:Sprite = new Sprite();
square.graphics.beginFill(0xFF0000);
square.graphics.drawRect(0, 0, 100, 100);
addChild(square);

square.addEventListener(MouseEvent.CLICK, widen);

function widen(event:MouseEvent):void {
    square.width += 10;
}

x

屬性 
x:Number

語言版本: ActionScript 3.0
執行階段版本: AIR 1.0, Flash Player 9, Flash Lite 4

指出 DisplayObject 實體相對於父輩 DisplayObjectContainer 之區域座標的 x 座標。 如果物件位於已經變形的 DisplayObjectContainer 中,就表示位於包含的 DisplayObjectContainer 的區域座標系統中。 因此,對於以逆時針旋轉 90° 的 DisplayObjectContainer 而言,DisplayObjectContainer 子物件會繼承以逆時針旋轉 90° 的座標系統。 物件的座標是指註冊點的位置。



實作
    public function get x():Number
    public function set x(value:Number):void

範例  ( 如何使用本範例 )
下列程式碼會設定 circle Sprite 物件。 每 50 毫秒,便會用 Timer 物件來變更 Sprite 的 x 屬性。
import flash.display.Sprite;
import flash.utils.Timer;
import flash.events.TimerEvent;

var circle:Sprite = new Sprite();
circle.graphics.beginFill(0xFF0000);
circle.graphics.drawCircle(100, 100, 100);
addChild(circle);

var tim:Timer = new Timer(50);
tim.start();
tim.addEventListener(TimerEvent.TIMER, bounce);

var xInc:Number = 2;

function bounce(event:TimerEvent):void {
    circle.x += xInc;
    if (circle.x > circle.width) {
        xInc = -2;
    }
    if (circle.x < 0) {
        xInc = 2;
    }
}

y

屬性 
y:Number

語言版本: ActionScript 3.0
執行階段版本: AIR 1.0, Flash Player 9, Flash Lite 4

指出 DisplayObject 實體相對於父輩 DisplayObjectContainer 之區域座標的 y 座標。 如果物件位於已經變形的 DisplayObjectContainer 中,就表示位於包含的 DisplayObjectContainer 的區域座標系統中。 因此,對於以逆時針旋轉 90° 的 DisplayObjectContainer 而言,DisplayObjectContainer 子物件會繼承以逆時針旋轉 90° 的座標系統。 物件的座標是指註冊點的位置。



實作
    public function get y():Number
    public function set y(value:Number):void

範例  ( 如何使用本範例 )
下列程式碼會建立兩個 TextField 物件,並調整每個物件的 height 屬性 (根據每個物件的 textHeight 屬性來調整);而且也會藉由設定第二個文字欄位的 y 屬性來放置該文字欄位。
import flash.text.TextField;

var tf1:TextField = new TextField();
tf1.text = "Text Field 1";
tf1.border = true;
tf1.wordWrap = true;
tf1.width = 40;
tf1.height = tf1.textHeight + 5;
addChild(tf1);

var tf2:TextField = new TextField();
tf2.text = "Text Field 2";
tf2.border = true;
tf2.wordWrap = true;
tf2.width = 40;
tf2.height = tf2.textHeight + 5;
tf2.y = tf1.y + tf1.height + 5;
addChild(tf2);

z

屬性 
z:Number

語言版本: ActionScript 3.0
執行階段版本: Flash Player 10, AIR 1.5

表示 DisplayObject 實體相對於 3D 父輩容器的 z 座標位置 (沿著 z 軸)。此 z 屬性是用於處理 3D 座標,而非螢幕或像素座標。

當顯示物件的 z 屬性不是設定為預設值 0 時,則會自動建立對應的 Matrix3D 物件,以便在三維空間中調整顯示物件的位置和方向。使用 z 軸時,x 和 y 屬性的現有行為指令就會從螢幕或像素座標變更為相對於 3D 父輩容器的位置。

例如,位於 x = 100, y = 100, z = 200 之 _root 的子系不會在像素位置 (100,100) 繪製。此子系會在 3D 投影計算估計的位置繪製。其計算方式如下:

(x*cameraFocalLength/cameraRelativeZPosition, y*cameraFocalLength/cameraRelativeZPosition)



實作
    public function get z():Number
    public function set z(value:Number):void

相關 API 元素


範例  ( 如何使用本範例 )
這個範例會繪製兩個橢圓形,並且讓它們朝向消失點來回移動 (在 z 軸向下和向上移動)。其中一個橢圓形設定為比另一個橢圓形更快速移動。
package {
    import flash.display.MovieClip;
    import flash.display.Shape;
    import flash.display.Graphics;
    import flash.events.Event;
    import flash.geom.*;

    public class ZAxisExample1 extends MovieClip {
        private var ellipse1Back:int = 1;
        private var ellipse2Back:int = 1;
        private var depth:int = 1000;
        
        public function ZAxisExample1():void {
            
            var ellipse1 = drawEllipse((this.stage.stageWidth / 2) - 100, 
                                      (this.stage.stageHeight / 2), 100, 80, 10);
            var ellipse2 = drawEllipse((this.stage.stageWidth / 2) + 100, 
                                      (this.stage.stageHeight / 2), 100, 80, 300);

            this.addChild(ellipse1);
            this.addChild(ellipse2);
            
            ellipse1.addEventListener(Event.ENTER_FRAME, ellipse1FrameHandler);
            ellipse2.addEventListener(Event.ENTER_FRAME, ellipse2FrameHandler);
        }

        private function drawEllipse(x:Number, y:Number, w:Number, h:Number, z:Number):Shape {
            var s:Shape = new Shape();                            
            s.z = z;
            s.graphics.beginFill(0xFF0000);
            s.graphics.lineStyle(2);
            s.graphics.drawEllipse(x, y, w, h);
            s.graphics.endFill();
            return s;
        }

        private function ellipse1FrameHandler(e:Event):void {
            ellipse1Back = setDepth(e, ellipse1Back);
            e.currentTarget.z += ellipse1Back * 10;
        }

        private function ellipse2FrameHandler(e:Event):void {
            ellipse2Back = setDepth(e, ellipse2Back);
            e.currentTarget.z += ellipse2Back * 20;
        }

        private function setDepth(e:Event, d:int):int {
            if(e.currentTarget.z > depth) {
                e.currentTarget.z = depth; 
                d = -1;
            }else if (e.currentTarget.z <  0) {
                e.currentTarget.z = 0;
                d = 1;
            }
            return d;
        }
    }
}
方法詳細資訊

getBounds

()方法
public function getBounds(targetCoordinateSpace:DisplayObject):Rectangle

語言版本: ActionScript 3.0
執行階段版本: AIR 1.0, Flash Player 9, Flash Lite 4

傳回可定義顯示物件區域 (相對於 targetCoordinateSpace 物件的座標系統) 的矩形。 以下列程式碼為例,矩形的傳回方式會根據您傳遞至方法的 targetCoordinateSpace 參數而有所不同:

     var container:Sprite = new Sprite();
     container.x = 100;
     container.y = 100;
     this.addChild(container);
     var contents:Shape = new Shape();
     contents.graphics.drawCircle(0,0,100);
     container.addChild(contents);
     trace(contents.getBounds(container));
      // (x=-100, y=-100, w=200, h=200)
     trace(contents.getBounds(this));
      // (x=0, y=0, w=200, h=200)
     

注意:使用 localToGlobal()globalToLocal() 方法,分別將顯示物件的區域座標轉換成顯示座標,或是將顯示座標轉換成區域座標。

getBounds() 方法與 getRect() 方法類似;然而,getBounds() 方法所傳回的「矩形」包含形狀上的任何筆畫,而 getRect() 方法所傳回的「矩形」則不然。 如需範例,請參閱 getRect() 方法的說明。

參數

targetCoordinateSpace:DisplayObject — 定義要使用之座標系統的顯示物件。

傳回值
Rectangle — 可定義顯示物件區域 (相對於 targetCoordinateSpace 物件的座標系統) 的矩形。

相關 API 元素

getRect

()方法 
public function getRect(targetCoordinateSpace:DisplayObject):Rectangle

語言版本: ActionScript 3.0
執行階段版本: AIR 1.0, Flash Player 9, Flash Lite 4

根據 targetCoordinateSpace 參數所定義的座標系統,並排除形狀上的任何筆畫,傳回可定義顯示物件邊界的矩形。 getRect() 方法所傳回的值等於或小於 getBounds() 方法所傳回的值。

注意:使用 localToGlobal()globalToLocal() 方法,分別將顯示物件的區域座標轉換成舞台座標,或是將舞台座標轉換成區域座標。

參數

targetCoordinateSpace:DisplayObject — 定義要使用之座標系統的顯示物件。

傳回值
Rectangle — 可定義顯示物件區域 (相對於 targetCoordinateSpace 物件的座標系統) 的矩形。

相關 API 元素


範例  ( 如何使用本範例 )

下列範例將說明由於筆畫佔用了額外的區域,因此 getBounds() 方法如何能傳回大於 getRect() 方法所傳回的矩形。 在這種情況下,因為這些值是當做 lineStyle() 方法的 widthjointStyle 參數傳遞,所以 triangle Sprite 會包含額外的筆畫。trace() 輸出 (最後兩行) 說明 getRect()getBounds() 矩形之間的差異:
import flash.display.CapsStyle;
import flash.display.JointStyle;
import flash.display.LineScaleMode;
import flash.display.Sprite;
import flash.geom.Rectangle;

var triangle:Sprite = new Sprite();
var color:uint = 0xFF0044;
var width:Number = 20;
var alpha:Number = 1.0;
var pixelHinting:Boolean = true;
var scaleMode:String = LineScaleMode.NORMAL;
var caps:String = CapsStyle.SQUARE;
var joints:String = JointStyle.MITER;
triangle.graphics.lineStyle(width, color, alpha, pixelHinting, scaleMode, caps, joints);

var triangleSide:Number = 100;
triangle.graphics.moveTo(0, 0);
triangle.graphics.lineTo(0, triangleSide);
triangle.graphics.lineTo(triangleSide, triangleSide);
triangle.graphics.lineTo(0, 0);

addChild(triangle);

trace(triangle.getBounds(this)); // (x=-10, y=-24.1, w=134.10000000000002, h=134.1)
trace(triangle.getRect(this));     // (x=0, y=0, w=100, h=100)

globalToLocal

()方法 
public function globalToLocal(point:Point):Point

語言版本: ActionScript 3.0
執行階段版本: AIR 1.0, Flash Player 9, Flash Lite 4

point 物件從「舞台」(全域) 座標轉換成顯示物件的 (區域) 座標。

若要使用此方法,請先建立 Point 類別的實體。 您指定的 xy 值與主要顯示區域的原點 (0,0) 相關,所以代表全域座標。 接著,將 Point 實體當作參數傳送至 globalToLocal() 方法。 此方法會傳回含有 xy 值,且與顯示物件原點相關 (而不是與舞台原點相關) 的新 Point 物件。

參數

point:Point — 使用 Point 類別建立的物件。 Point 物件會將 xy 座標指定為屬性。

傳回值
Point — 具有相對於顯示物件之座標的 Point 物件。

相關 API 元素


範例  ( 如何使用本範例 )

下列程式碼會建立 Shape 物件,並使用不同的點做為參數,說明呼叫 hitTestPoint() 方法的結果。 globalToLocal() 方法會將「舞台」座標的點轉換成該形狀的座標空間:
import flash.display.Shape;
import flash.geom.Point;

var circle:Shape = new Shape();
circle.graphics.beginFill(0x0000FF);
circle.graphics.drawCircle(40, 40, 40);
circle.x = 10;
addChild(circle);

var point1:Point = new Point(0, 0);
trace(circle.hitTestPoint(point1.x, point1.y, true)); // false
trace(circle.hitTestPoint(point1.x, point1.y, false)); // false
trace(circle.globalToLocal(point1)); // [x=-10, y=0]

var point2:Point = new Point(10, 1);
trace(circle.hitTestPoint(point2.x, point2.y, true)); // false
trace(circle.hitTestPoint(point2.x, point2.y, false)); // true
trace(circle.globalToLocal(point2)); // [x=0, y=1]

var point3:Point = new Point(30, 20);
trace(circle.hitTestPoint(point3.x, point3.y, true)); // true
trace(circle.hitTestPoint(point3.x, point3.y, false)); // true
trace(circle.globalToLocal(point3)); // [x=20, y=20]

globalToLocal3D

()方法 
public function globalToLocal3D(point:Point):Vector3D

語言版本: ActionScript 3.0
執行階段版本: Flash Player 10, AIR 1.5, Flash Lite 4

將二維點從「舞台」(全域) 座標轉換為三維顯示物件的 (區域) 座標。

若要使用此方法,請先建立 Point 類別的實體。 您指定給 Point 物件的 x 與 y 值是相對於主要顯示區域的原點 (0,0),所以代表全域座標。接著,將 Point 物件當做 point 參數傳遞至 globalToLocal3D() 方法。此方法會傳回三維座標,做為包含相對於三維顯示物件原點之 xyz 值的 Vector3D 物件。

參數

point:Point — 代表全域 x 和 y 座標的二維 Point 物件。

傳回值
Vector3D — 具有相對於三維顯示物件之座標的 Vector3D 物件。

hitTestObject

()方法 
public function hitTestObject(obj:DisplayObject):Boolean

語言版本: ActionScript 3.0
執行階段版本: AIR 1.0, Flash Player 9, Flash Lite 4

評估顯示物件的範圍框,看它是否與 obj 顯示物件的範圍框重疊或相交。

參數

obj:DisplayObject — 要測試的顯示物件。

傳回值
Boolean — 如果與顯示物件的範圍框相交,則為 true,否則為 false

範例  ( 如何使用本範例 )

下列程式碼會建立三個 Shape 物件,並說明呼叫 hitTestObject() 方法的結果。請注意,雖然 circle2 與 circle3 沒有重疊,但是其範圍框卻重疊。因此,circle2 與 circle3 的碰撞測試會傳回 true
import flash.display.Shape;

var circle1:Shape = new Shape();
circle1.graphics.beginFill(0x0000FF);
circle1.graphics.drawCircle(40, 40, 40);
addChild(circle1);

var circle2:Shape = new Shape();
circle2.graphics.beginFill(0x00FF00);
circle2.graphics.drawCircle(40, 40, 40);
circle2.x = 50;
addChild(circle2);

var circle3:Shape = new Shape();
circle3.graphics.beginFill(0xFF0000);
circle3.graphics.drawCircle(40, 40, 40);
circle3.x = 100;
circle3.y = 67;
addChild(circle3);

trace(circle1.hitTestObject(circle2)); // true
trace(circle1.hitTestObject(circle3)); // false
trace(circle2.hitTestObject(circle3)); // true

hitTestPoint

()方法 
public function hitTestPoint(x:Number, y:Number, shapeFlag:Boolean = false):Boolean

語言版本: ActionScript 3.0
執行階段版本: AIR 1.0, Flash Player 9, Flash Lite 4

評估顯示物件,看它是否與 xy 參數所指定的點重疊或相交。 xy 參數會指定舞台座標空間的點,而不是包含顯示物件的顯示物件容器 (除非該顯示物件容器就是舞台)。

參數

x:Number — 測試此物件與 x 座標。
 
y:Number — 測試此物件與 y 座標。
 
shapeFlag:Boolean (default = false) — 要檢查物件 (true) 或範圍框 (false) 的實際像素。

傳回值
Boolean — 如果顯示物件與指定的點重疊或相交,則為 true,否則為 false

相關 API 元素


範例  ( 如何使用本範例 )

下列程式碼會建立 Shape 物件,並使用不同的點做為參數,說明呼叫 hitTestPoint() 方法的結果。 globalToLocal() 方法會將「舞台」座標的點轉換成該形狀的座標空間:
import flash.display.Shape;
import flash.geom.Point;

var circle:Shape = new Shape();
circle.graphics.beginFill(0x0000FF);
circle.graphics.drawCircle(40, 40, 40);
circle.x = 10;
addChild(circle);

var point1:Point = new Point(0, 0);
trace(circle.hitTestPoint(point1.x, point1.y, true)); // false
trace(circle.hitTestPoint(point1.x, point1.y, false)); // false
trace(circle.globalToLocal(point1)); // [x=-10, y=0]

var point2:Point = new Point(10, 1);
trace(circle.hitTestPoint(point2.x, point2.y, true)); // false
trace(circle.hitTestPoint(point2.x, point2.y, false)); // true
trace(circle.globalToLocal(point2)); // [x=0, y=1]

var point3:Point = new Point(30, 20);
trace(circle.hitTestPoint(point3.x, point3.y, true)); // true
trace(circle.hitTestPoint(point3.x, point3.y, false)); // true
trace(circle.globalToLocal(point3)); // [x=20, y=20]

local3DToGlobal

()方法 
public function local3DToGlobal(point3d:Vector3D):Point

語言版本: ActionScript 3.0
執行階段版本: Flash Player 10, AIR 1.5, Flash Lite 4

將三維顯示物件的 (區域) 座標的三維點轉換為「舞台」(全域) 座標中的二維點。

例如,只能使用二維座標 (x,y) 來搭配 display.Graphics 方法繪圖。若要繪製三維物件,您必須將顯示物件的三維座標對應至二維座標。首先,建立 Vector3D 類別的實體,以保存三維顯示物件的 x、y 和 z 座標。接著,將 Vector3D 物件當做 point3d 參數傳遞至 local3DToGlobal() 方法。此方法會傳回可搭配 Graphics API 使用的二維 Point 物件,以繪製三維物件。

參數

point3d:Vector3D — Vector3D 物件,包含三維點或三維顯示物件的座標。

傳回值
Point — 二維點,代表二維空間中的三維點。

範例  ( 如何使用本範例 )

這個範例會使用 display.Graphics 方法,在二維空間中繪製簡單的三維立方體。this 顯示物件的位置已偏移,因此立方體的註冊點位於其中心。Vector3D 物件的向量會保存此立方體的三維座標。首先會繪製立方體頂端,其次繪製底端,接著連接上下各四個角落。在繪製立方體之前,您必須先將立方體加入至顯示物件容器,才能使用 local3DToGlobal() 方法。
package {
    import flash.display.MovieClip;
    import flash.display.Sprite;
    import flash.display.Graphics;
    import flash.geom.*;

    public class Local3DToGlobalExample extends MovieClip {
        private var myCube:Sprite = new Sprite();
        private var v8:Vector.<Vector3D> = new Vector.<Vector3D>(8);

        public function Local3DToGlobalExample():void {
            this.x = -(this.stage.stageWidth / 2);
            this.y = -(this.stage.stageWidth / 2);

            v8[0] = new Vector3D(-40,-40,-40);
            v8[1] = new Vector3D(40,-40,-40);
            v8[2] = new Vector3D(40,-40,40);
            v8[3] = new Vector3D(-40,-40,40);
            v8[4] = new Vector3D(-40,100,-40);
            v8[5] = new Vector3D(40,100,-40);
            v8[6] = new Vector3D(40,100,40);
            v8[7] = new Vector3D(-40,100,40);

            myCube.x = (this.stage.stageWidth / 2);
            myCube.y = (this.stage.stageWidth / 2);
            myCube.z = 1;
            addChild(myCube);

            Cube();         
        }

        private function Cube():void {
            var ps:Point = new Point(0,0);

            myCube.graphics.lineStyle(2,0xFF0000);

            ps = myCube.local3DToGlobal(v8[0]);
            myCube.graphics.moveTo(ps.x, ps.y);
            ps = myCube.local3DToGlobal(v8[1]);
            myCube.graphics.lineTo(ps.x, ps.y);
            ps = myCube.local3DToGlobal(v8[2]);
            myCube.graphics.lineTo(ps.x, ps.y);
            ps = myCube.local3DToGlobal(v8[3]);
            myCube.graphics.lineTo(ps.x, ps.y);
            ps = myCube.local3DToGlobal(v8[0]);
            myCube.graphics.lineTo(ps.x, ps.y);

            ps = myCube.local3DToGlobal(v8[4]);
            myCube.graphics.moveTo(ps.x, ps.y);
            ps = myCube.local3DToGlobal(v8[5]);
            myCube.graphics.lineTo(ps.x, ps.y);
            ps = myCube.local3DToGlobal(v8[6]);
            myCube.graphics.lineTo(ps.x, ps.y);
            ps = myCube.local3DToGlobal(v8[7]);
            myCube.graphics.lineTo(ps.x, ps.y);
            ps = myCube.local3DToGlobal(v8[4]);
            myCube.graphics.lineTo(ps.x, ps.y);

            ps = myCube.local3DToGlobal(v8[0]);
            myCube.graphics.moveTo(ps.x, ps.y);
            ps = myCube.local3DToGlobal(v8[4]);
            myCube.graphics.lineTo(ps.x, ps.y);
            ps = myCube.local3DToGlobal(v8[1]);
            myCube.graphics.moveTo(ps.x, ps.y);
            ps = myCube.local3DToGlobal(v8[5]);
            myCube.graphics.lineTo(ps.x, ps.y);
            ps = myCube.local3DToGlobal(v8[2]);
            myCube.graphics.moveTo(ps.x, ps.y);
            ps = myCube.local3DToGlobal(v8[6]);
            myCube.graphics.lineTo(ps.x, ps.y);
            ps = myCube.local3DToGlobal(v8[3]);
            myCube.graphics.moveTo(ps.x, ps.y);
            ps = myCube.local3DToGlobal(v8[7]);
            myCube.graphics.lineTo(ps.x, ps.y);
        }
    }
}

localToGlobal

()方法 
public function localToGlobal(point:Point):Point

語言版本: ActionScript 3.0
執行階段版本: AIR 1.0, Flash Player 9, Flash Lite 4

point 物件從顯示物件的 (區域) 座標轉換成「舞台」(全域) 座標。

這個方法可以讓您將任何指定的 xy 座標值,從相對於特定顯示物件 (區域座標) 的原點 (0,0) 轉換成相對於舞台 (全域座標) 的原點。

若要使用此方法,請先建立 Point 類別的實體。 您指定的 xy 值與顯示物件的原點相關,所以代表區域座標。

接著,將您建立做為參數的 Point 實體傳送至 localToGlobal() 方法。 此方法會傳回含有 xy 值,且與舞台原點相關 (而不是與顯示物件原點相關) 的新 Point 物件。

參數

point:Point — 用 Point 類別建立之點的名稱或識別名稱,它會將 xy 座標指定為屬性。

傳回值
Point — 具有相對於舞台之座標的 Point 物件。

相關 API 元素


範例  ( 如何使用本範例 )

下列程式碼會建立 Sprite 物件。 Sprite 的 mouseXmouseY 屬性都位於顯示物件的座標空間中。 此程式碼使用 localToGlobal() 方法,將這些屬性轉移為全域 (「舞台」) 座標:
import flash.display.Sprite;
import flash.events.MouseEvent;
import flash.geom.Point;

var square:Sprite = new Sprite();
square.graphics.beginFill(0xFFCC00);
square.graphics.drawRect(0, 0, 100, 100);
square.x = 100;
square.y = 200;

addChild(square);

square.addEventListener(MouseEvent.CLICK, traceCoordinates)

function traceCoordinates(event:MouseEvent):void {
    var clickPoint:Point = new Point(square.mouseX, square.mouseY);
    trace("display object coordinates:", clickPoint);
    trace("stage coordinates:", square.localToGlobal(clickPoint));
}
事件詳細資訊

added

事件
事件物件類型: flash.events.Event
屬性 Event.type = flash.events.Event.ADDED

語言版本: ActionScript 3.0
執行階段版本: AIR 1.0, Flash Player 9, Flash Lite 4

當顯示物件加入顯示清單中時傳送。 下列方法會觸發此事件:DisplayObjectContainer.addChild() , DisplayObjectContainer.addChildAt()

Event.ADDED 常數會定義 added 事件物件的 type 屬性值。

這個事件具有下列屬性:

屬性
bubblestrue
cancelablefalse;沒有要取消的預設行為指令。
currentTarget正主動使用事件偵聽程式處理 Event 物件的物件。
target正要加入顯示清單中的 DisplayObject 實體。 target 不會永遠都是顯示清單中註冊事件偵聽程式的物件。 請使用 currentTarget 屬性,存取目前正在處理該事件之顯示清單中的物件。

相關 API 元素

addedToStage

事件  
事件物件類型: flash.events.Event
屬性 Event.type = flash.events.Event.ADDED_TO_STAGE

語言版本: ActionScript 3.0
執行階段版本: AIR 1.0, Flash Player 9.0.28.0, Flash Lite 4

會在顯示物件加入舞台上的顯示清單時,以直接或是透過加入包含該顯示物件之子樹狀結構的方式傳送。 下列方法會觸發此事件:DisplayObjectContainer.addChild() , DisplayObjectContainer.addChildAt()

Event.ADDED_TO_STAGE 常數會定義 addedToStage 事件物件的 type 屬性值。

這個事件具有下列屬性:

屬性
bubblesfalse
cancelablefalse;沒有要取消的預設行為指令。
currentTarget正主動使用事件偵聽程式處理 Event 物件的物件。
target加入至舞台上顯示清單的 DisplayObject 實體,方式為直接加入或透過加入包含 DisplayObject 實體的子樹狀結構來加入。 如果直接加入 DisplayObject 實體,便會在此事件之前發生 added 事件。

相關 API 元素

enterFrame

事件  
事件物件類型: flash.events.Event
屬性 Event.type = flash.events.Event.ENTER_FRAME

語言版本: ActionScript 3.0
執行階段版本: AIR 1.0, Flash Player 9, Flash Lite 4

[廣播事件] 當播放磁頭進入新影格時傳送。如果播放磁頭沒有移動,或者只有一個影格,此事件會以影格速率不斷地傳送。 這是廣播事件,表示所有具有針對此事件註冊之偵聽程式的顯示物件都會加以傳送。

Event.ENTER_FRAME 常數會定義 enterFrame 事件物件的 type 屬性值。

注意:這個事件沒有「捕捉階段」也沒有「反昇階段」,這表示事件偵聽程式必須直接加入至任何可能的目標,不論目標是否在顯示清單上。

這個事件具有下列屬性:

屬性
bubblesfalse
cancelablefalse;沒有要取消的預設行為指令。
currentTarget正主動使用事件偵聽程式處理 Event 物件的物件。
target具有為 enterFrame 事件註冊之偵聽程式的任何 DisplayObject 實體。

exitFrame

事件  
事件物件類型: flash.events.Event
屬性 Event.type = flash.events.Event.EXIT_FRAME

語言版本: ActionScript 3.0
執行階段版本: Flash Player 10, AIR 2, Flash Lite 4

[廣播事件] 當播放磁頭結束目前影格時傳送。所有的影格指令碼已經執行。如果播放磁頭沒有移動,或者只有一個影格,此事件會以影格速率不斷地傳送。 這是廣播事件,表示所有具有針對此事件註冊之偵聽程式的顯示物件都會加以傳送。

Event.EXIT_FRAME 常數會定義 exitFrame 事件物件的 type 屬性值。

注意:這個事件沒有「捕捉階段」也沒有「反昇階段」,這表示事件偵聽程式必須直接加入至任何可能的目標,不論目標是否在顯示清單上。

這個事件具有下列屬性:

屬性
bubblesfalse
cancelablefalse;沒有要取消的預設行為指令。
currentTarget正主動使用事件偵聽程式處理 Event 物件的物件。
target具有為 enterFrame 事件註冊之偵聽程式的任何 DisplayObject 實體。

frameConstructed

事件  
事件物件類型: flash.events.Event
屬性 Event.type = flash.events.Event.FRAME_CONSTRUCTED

語言版本: ActionScript 3.0
執行階段版本: Flash Player 10, AIR 2, Flash Lite 4

[廣播事件] 在影格顯示物件的建構函式執行之後,且影格指令碼執行之前傳送。如果播放磁頭沒有移動,或者只有一個影格,此事件會以影格速率不斷地傳送。 這是廣播事件,表示所有具有針對此事件註冊之偵聽程式的顯示物件都會加以傳送。

Event.FRAME_CONSTRUCTED 常數會定義 frameConstructed 事件物件的 type 屬性值。

注意:這個事件沒有「捕捉階段」也沒有「反昇階段」,這表示事件偵聽程式必須直接加入至任何可能的目標,不論目標是否在顯示清單上。

這個事件具有下列屬性:

屬性
bubblesfalse
cancelablefalse;沒有要取消的預設行為指令。
currentTarget正主動使用事件偵聽程式處理 Event 物件的物件。
target具有為 frameConstructed 事件註冊之偵聽程式的任何 DisplayObject 實體。

removed

事件  
事件物件類型: flash.events.Event
屬性 Event.type = flash.events.Event.REMOVED

語言版本: ActionScript 3.0
執行階段版本: AIR 1.0, Flash Player 9, Flash Lite 4

會當顯示物件將要從顯示清單移除時傳送。 DisplayObjectContainer 類別的兩個方法都會產生此事件:removeChild()removeChildAt()

如果必須移除某個物件以挪出空間給新物件,則 DisplayObjectContainer 物件的下列方法也會產生此事件:addChild()addChildAt()setChildIndex()

Event.REMOVED 常數會定義 removed 事件物件的 type 屬性值。

這個事件具有下列屬性:

屬性
bubblestrue
cancelablefalse;沒有要取消的預設行為指令。
currentTarget正主動使用事件偵聽程式處理 Event 物件的物件。
target要從顯示清單中移除的 DisplayObject 實體。 target 不會永遠都是顯示清單中註冊事件偵聽程式的物件。 請使用 currentTarget 屬性,存取目前正在處理該事件之顯示清單中的物件。

removedFromStage

事件  
事件物件類型: flash.events.Event
屬性 Event.type = flash.events.Event.REMOVED_FROM_STAGE

語言版本: ActionScript 3.0
執行階段版本: AIR 1.0, Flash Player 9.0.28.0, Flash Lite 4

會在顯示物件即將從舞台上的顯示清單移除時,以直接或是透過移除包含該顯示物件之子樹狀結構的方式傳送。 DisplayObjectContainer 類別的兩個方法都會產生此事件:removeChild()removeChildAt()

如果必須移除某個物件以挪出空間給新物件,則 DisplayObjectContainer 物件的下列方法也會產生此事件:addChild()addChildAt()setChildIndex()

Event.REMOVED_FROM_STAGE 常數會定義 removedFromStage 事件物件的 type 屬性值。

這個事件具有下列屬性:

屬性
bubblesfalse
cancelablefalse;沒有要取消的預設行為指令。
currentTarget正主動使用事件偵聽程式處理 Event 物件的物件。
target從舞台上顯示清單中移除的 DisplayObject 實體,方式為直接移除或透過移除包含 DisplayObject 實體的子樹狀結構來移除。 如果直接移除 DisplayObject 實體,便會在此事件之前發生 removed 事件。

render

事件  
事件物件類型: flash.events.Event
屬性 Event.type = flash.events.Event.RENDER

語言版本: ActionScript 3.0
執行階段版本: AIR 1.0, Flash Player 9, Flash Lite 4

[廣播事件] 當顯示清單將要更新和顯示時傳送。此事件會在呈現顯示清單之前,為偵聽此事件的物件提供最後一次變更的機會。 每次當您要傳送 render 事件時,就必須呼叫 Stage 物件的 invalidate() 方法。只有在某個物件與呼叫 Stage.invalidate() 的物件之間存在相互信任時,Render 事件才會傳送至該物件。這是廣播事件,表示所有具有針對此事件註冊之偵聽程式的顯示物件都會加以傳送。

注意:如果顯示內容沒有出現,就不會傳送此事件。例如,內容最小化或被遮住的時候。

Event.RENDER 常數會定義 render 事件物件的 type 屬性值。

注意:這個事件沒有「捕捉階段」也沒有「反昇階段」,這表示事件偵聽程式必須直接加入至任何可能的目標,不論目標是否在顯示清單上。

這個事件具有下列屬性:

屬性
bubblesfalse
cancelablefalse;無法取消預設的行為指令。
currentTarget正主動使用事件偵聽程式處理 Event 物件的物件。
target具有為 render 事件註冊之偵聽程式的任何 DisplayObject 實體。
DisplayObjectExample.as

下列範例使用 DisplayObjectExample 類別,在「舞台」的角落繪製橘色正方形,然後會顯示每一個事件的文字資訊,以回應這些事件。 您可以執行下列步驟來完成這項工作:
  1. 宣告方形的顏色與大小所需的類別屬性。
  2. 此建構函式會呼叫 draw() 方法,在「舞台」上的預設座標 x = 0, y = 0 處繪製橘色正方形。
  3. 下列事件偵聽程式方法會附加到此正方形:
    • addedHandler() 會偵聽 added 事件,在正方形加入至顯示清單時傳送。
    • enterFrameHandler() 會偵聽 enterFrame 事件,在本範例中此方法並無實質意義。
    • removedHandler() 會偵聽 removed 事件,會在正方形從顯示清單中移除 (按下正方形即會移除) 時傳送。
    • clickHandler() 會偵聽 click 事件,會在按一下橘色正方形時傳送。
    • 在更新顯示清單後,renderHandler() 會偵聽 render 事件。
package {
    import flash.display.Sprite;

    public class DisplayObjectExample extends Sprite {
        public function DisplayObjectExample() {
            var child:CustomDisplayObject = new CustomDisplayObject();
            addChild(child);
        }
    }
}

import flash.display.DisplayObject;
import flash.display.Sprite;
import flash.display.Stage;
import flash.display.StageAlign;
import flash.display.StageScaleMode;
import flash.events.*;

class CustomDisplayObject extends Sprite {
    private var bgColor:uint = 0xFFCC00;
    private var size:uint    = 80;

    public function CustomDisplayObject() {
        draw();
        addEventListener(Event.ADDED, addedHandler);
        addEventListener(Event.ENTER_FRAME, enterFrameHandler);
        addEventListener(Event.REMOVED, removedHandler);
        addEventListener(MouseEvent.CLICK, clickHandler);
        addEventListener(Event.RENDER, renderHandler);
    }

    private function draw():void {
        graphics.beginFill(bgColor);
        graphics.drawRect(0, 0, size, size);
        graphics.endFill();
    }

    private function clickHandler(event:MouseEvent):void {
        trace("clickHandler: " + event);
        parent.removeChild(this);
    }

    private function addedHandler(event:Event):void {
        trace("addedHandler: " + event);
        stage.scaleMode = StageScaleMode.NO_SCALE;
        stage.align = StageAlign.TOP_LEFT;
        stage.addEventListener("resize", resizeHandler);
    }

    private function enterFrameHandler(event:Event):void {
        trace("enterFrameHandler: " + event);
        removeEventListener("enterFrame", enterFrameHandler);
    }

    private function removedHandler(event:Event):void {
        trace("removedHandler: " + event);
        stage.removeEventListener("resize", resizeHandler);
    }

    private function renderHandler(event:Event):void {
        trace("renderHandler: " + event);
    }

    private function resizeHandler(event:Event):void {
        trace("resizeHandler: " + event);
    }
}




[ X ]為什麼顯示英文?
「ActionScript 3.0 參考」的內容是以英文顯示

並非所有「ActionScript 3.0 參考」的內容都翻譯為所有語言。當語言元素未翻譯時,就會以英文顯示。例如,ga.controls.HelpBox 類別並沒有翻譯為任何語言。因此在參考的繁體中文版本中,ga.controls.HelpBox 類別就會以英文顯示。