Guida di riferimento di ActionScript® 3.0 per la piattaforma Adobe® Flash®
Home  |  Nascondi elenco pacchetti e classi |  Pacchetti  |  Classi  |  Novità  |  Indice  |  Appendici  |  Perché in inglese?
Filtri: AIR 30.0 e versioni precedenti, Flash Player 30.0 e versioni precedenti, Flash Lite 4
Flex 4.6 e versioni precedenti, Flash Pro CS6 e versioni precedenti
Nascondi filtri
 

Istruzioni, parole chiave e direttive 

Pacchettix

Primo livello
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

Elementi del linguaggio

Costanti globali
Funzioni globali
Operatori
Istruzioni, parole chiave e direttive
Tipi speciali

Appendici

Novità
Errori del compilatore
Avvisi del compilatore
Errori runtime
Migrazione a ActionScript 3
Set di caratteri supportati
Tag solo di MXML
Elementi XML di Motion
Tag Timed Text
Elenco degli elementi obsoleti
Costanti di implementazione dell’accessibilità
Utilizzare gli esempi ActionScript
Note legali

Classi x

AAAARecord    
AbandonCommand
ABRUtils
AbstractConsumer
AbstractEntityMetadata
AbstractEvent
AbstractInvoker
AbstractMessage
AbstractOperation
AbstractOperation
AbstractParticipant
AbstractProducer
AbstractSearchFilterVO
AbstractService
AbstractServiceWrapper
AbstractStage
AbstractTarget
AbstractWebService
AccConst
Accelerometer
AccelerometerEvent
Accessibility
AccessibilityImplementation
AccessibilityProperties
AccessibleButton
AccessibleText
AccessPrivileges
AccImpl
AccImpl
Accordion
AccordionAutomationImpl
AccordionHeader
AccordionHeaderAccImpl
AccordionHeaderSkin
AccordionHeaderSkin
AccordionHeaderSkin
AccordionNav
AccordionSkin
AcknowledgeMessage
ACMRelationshipManager
ActionBar
ActionBar    
ActionBarButtonSkinBase
ActionBarDefaultButtonAppearance    
ActionBarSkin    
ActionEffectInstance
ActionRenderer
ActionScriptVersion
ActionSelectedEvent
ActivationBrowser
ActivatorSkin
ActiveContentEvent
ActiveDataEvent
ActivityEvent
ActualBitrateMetric
AddAction
AddActionInstance
AddApprovalStageParticipant
AddAssetPopUp
AddChild
AddChildAction
AddChildActionInstance
AddCreatorDialog
AddItemAction
AddItemActionInstance
AddItems
AddPanelButton
AddPanelEvent
AddRemoveEffectTargetFilter
AddReviewStageParticipant
AddServiceEvent
AddStageParticipant
AddTileEvent
AddViewEvent
AddViewManagerEvent
AdjustColor
AdvanceDataElementsPanel
AdvancedChannelSet
AdvancedDataGrid
AdvancedDataGridAccImpl
AdvancedDataGridAutomationImpl
AdvancedDataGridBase
AdvancedDataGridBaseEx
AdvancedDataGridBaseExAutomationImpl
AdvancedDataGridBaseSelectionData
AdvancedDataGridColumn
AdvancedDataGridColumnGroup
AdvancedDataGridDragProxy
AdvancedDataGridEvent
AdvancedDataGridEventReason
AdvancedDataGridGroupItemRenderer
AdvancedDataGridGroupItemRendererAutomationImpl
AdvancedDataGridHeaderHorizontalSeparator
AdvancedDataGridHeaderInfo
AdvancedDataGridHeaderRenderer
AdvancedDataGridHeaderShiftEvent
AdvancedDataGridItemRenderer
AdvancedDataGridItemRendererAutomationImpl
AdvancedDataGridItemSelectEvent
AdvancedDataGridListData
AdvancedDataGridRendererDescription
AdvancedDataGridRendererProvider
AdvancedDataGridSortItemRenderer
AdvancedListBase
AdvancedListBaseAutomationImpl
AdvancedListBaseContentHolderAutomationImpl
AdvancedSearchPod
AdvancedStyleClient
AfterUpSwitchBufferBandwidthRule
AggregatingToken
AggregatingTokenError
AirDragManagerAutomationHandler
AIREvent    
AirFunctionsHelper
Alert
AlertAccImpl
AlertAutomationImpl
AlertFormatter
AlertFormAutomationImpl
AlignmentArea
AllRuntimeSparkControls
AlternativeAudioEvent
AlternativeAudioTrait
AMFChannel
AndOperator
Animate
AnimateColor
AnimateColorInstance
AnimateFilter
AnimateFilterInstance
AnimateInstance
AnimateProperty
AnimatePropertyInstance
AnimateTransform
AnimateTransform3D
AnimateTransformInstance
AnimateTransitionShader
AnimateTransitionShaderInstance
Animation
Animator
Animator3D
AnimatorBase
AnimatorFactory
AnimatorFactory3D
AnimatorFactoryBase
AnimatorFactoryUniversal
AnimatorUniversal
AnnotationParseEvent
AntiAliasType
Application
Application
Application
ApplicationAutomationImpl
ApplicationBackground
ApplicationConstants
ApplicationControlBar
ApplicationDomain
ApplicationDomainTarget
ApplicationListItem
ApplicationSkin
ApplicationSkin
ApplicationSpecifier
ApplicationTitleBarBackgroundSkin    
ApplicationUpdater    
ApplicationUpdaterUI    
ApplyElementIDOperation
ApplyElementStyleNameOperation
ApplyElementTypeNameOperation
ApplyElementUserStyleOperation
ApplyFormatOperation
ApplyFormatToElementOperation
ApplyLinkOperation
ApplyTCYOperation
ApprovalStage
ApprovalStage
Approver
Approver
ApproverCollection
ApproverStatus
ApproverStatus
ApproverVO
AreaChart
AreaRenderer
AreaSeries
AreaSeriesAutomationImpl
AreaSeriesItem
AreaSeriesRenderData
AreaSet
ARecord    
ArgumentError
arguments
Array
ArrayCollection
ArrayList
ArrayUtil
ArrowDirection    
Asset
AssetAction
AssetAction
AssetActionCompleteEvent
AssetActionCompleteEvent
AssetActionEvent
AssetActionEvent
AssetActionsChangeEvent
AssetDetailsPod
AssetEvent
AssetExplorerServiceDelegate
AssetFocusEvent
AssetHandlerRegistry
AssetHandlerRegistry
AssetManager
AssetManager
AssetManagerView
AssetModel
AssetPod
AssetPropertiesEditor
AssetPropertyDescriptor
AssetPropertyDescriptor
AssetQueryServiceDelegate
AssetReviewPod
AssetTypeDescriptor
AssetTypeDescriptor
AssetValidationEvent
AssetValidationFaultType
AssetVersionPod
AssetVO
Assignment
AssignmentConstants
AsyncErrorEvent
AsyncListView
AsyncMessage
AsyncRequest
AsyncResponder
AsyncToken
AsyncTokenResponder
AsyncTokenWrapper
Attachment
AttachmentCommand
AttachmentEvent
AttachmentHeader
AttachmentHeaderBase
AttachmentHeaderModel
AttachmentIconRenderer
AttachmentIconRendererSkin
AttachmentInfo
AttachmentList
AttachmentList
AttachmentListComponent
AttachmentListModel
AttachmentListSkin
AttachmentLoader
AttachmentPermissions
Attachments
AttachmentsModel
Attribute
AudioDecoder
AudioDeviceManager
AudioElement
AudioEvent
AudioOutputChangeEvent
AudioOutputChangeReason
AudioPlaybackMode    
AudioTrait
AuditActionVO
AuditAttributeVO
AuditLevel
AuditLevel
AuditLevelVO
AuditManager
AuditMetaInfoVO
AuditModuleVO
Auditor
AugmentedError
AugmentedErrorEvent
AuthenticatingApplication
AuthenticationEvent
AuthenticationMethod
AuthFailureCode
AuthOptions
Author
AuthorStatus
AuthorVO
AuthResult
AuthStatus
AutoCapitalize    
AutoLayoutEvent
Automation
AutomationAirEvent
AutomationClass
AutomationDragEvent
AutomationDragEventWithPositionInfo
AutomationError
AutomationEvent
AutomationEventDescriptor
AutomationFlexNativeMenuEvent
AutomationHelper
AutomationID
AutomationIDPart
AutomationManager
AutomationMethodDescriptor
AutomationPropertyDescriptor
AutomationRecordEvent
AutomationReplayEvent
AvailablePropertyIterator
AvailableQualityLevelsMetric
AVDictionaryDataEvent
AverageAggregator
AVHTTPStatusEvent
AVLoader
AVM1Movie
AVNetworkingParams
AVPauseAtPeriodEndEvent
AVTagData
AVURLLoader
AVURLStream
AxisBase
AxisLabel
AxisLabelSet
AxisRenderer
AxisRendererAutomationImpl
AXMAccordion
AXMAccordionItemVO
AXMAccordionSegment
AXMBreadCrumb
AXMButton
AXMButtonBar
AXMButtonBarButton
AXMCheckBox
AXMComboBox
AXMDropDownList
AXMDropDownListBase
AXMEnterpriseAccordionSegmentSkin
AXMEnterpriseAccordionSkin
AXMEnterpriseAssetTabBar
AXMEnterpriseAssetTabBarButtonSkin
AXMEnterpriseAssetTabBarSkin
AXMEnterpriseAssetViewTabBar
AXMEnterpriseAssetViewTabBarButtonSkin
AXMEnterpriseAssetViewTabBarSkin
AXMEnterpriseBreadCrumbButtonSkin
AXMEnterpriseBreadCrumbFocusSkin
AXMEnterpriseBreadCrumbSkin
AXMEnterpriseButtonBarFirstButtonSkin
AXMEnterpriseButtonBarLastButtonSkin
AXMEnterpriseButtonBarMiddleButtonSkin
AXMEnterpriseButtonBarSkin
AXMEnterpriseButtonSkin
AXMEnterpriseCheckboxSkin
AXMEnterpriseCheckboxSmallSkin
AXMEnterpriseClosableTabBarButtonSkin
AXMEnterpriseClosableTabBarSkin
AXMEnterpriseCloseButtonSkin
AXMEnterpriseComboBoxButtonSkin
AXMEnterpriseComboBoxSkin
AXMEnterpriseComboBoxTextInputSkin
AXMEnterpriseDropDownListButtonSkin
AXMEnterpriseDropDownListItemRenderer
AXMEnterpriseDropDownListSkin
AXMEnterpriseFocusSkin
AXMEnterpriseFooterSkin
AXMEnterpriseGridHeaderRenderer
AXMEnterpriseGridSkin
AXMEnterpriseHeaderBarSkin
AXMEnterpriseHeaderButtonBar
AXMEnterpriseHScrollBarLargeSkin
AXMEnterpriseHScrollbarNoControlsSkin
AXMEnterpriseHScrollbarSkin
AXMEnterpriseHScrollbarThumbSkin
AXMEnterpriseHScrollbarTrackNoControlsSkin
AXMEnterpriseHScrollbarTrackSkin
AXMEnterpriseIconButtonSkin
AXMEnterpriseLargeButtonSkin
AXMEnterpriseLargeToggleButtonSkin
AXMEnterpriseNavigationButtonBarSkin
AXMEnterpriseNumericStepperDecrementButtonSkin
AXMEnterpriseNumericStepperIncrementButtonSkin
AXMEnterpriseNumericStepperSkin
AXMEnterpriseNumericStepperTextInputSkin
AXMEnterprisePanelSkin
AXMEnterpriseProgressSpinnerSkin
AXMEnterpriseQuietButtonSkin
AXMEnterpriseQuietHeaderBarButton
AXMEnterpriseQuietLargeButtonSkin
AXMEnterpriseQuietLargeDropDownListButtonSkin
AXMEnterpriseRadioButtonSkin
AXMEnterpriseResizeHandleSkin
AXMEnterpriseScrollDownArrowSkin
AXMEnterpriseScrollLeftArrowSkin
AXMEnterpriseScrollRightArrowSkin
AXMEnterpriseScrollUpArrowSkin
AXMEnterpriseSlideToggleButton
AXMEnterpriseSplitActionButtonSkin
AXMEnterpriseSplitActionPopUpButtonSkin
AXMEnterpriseSplitActionSkin
AXMEnterpriseTabBarButtonSkin
AXMEnterpriseTabBarSkin
AXMEnterpriseTextAreaSkin
AXMEnterpriseTextInputSkin
AXMEnterpriseTitleWindowSkin
AXMEnterpriseToggleButtonSkin
AXMEnterpriseToolBarBottomSkin
AXMEnterpriseToolBarButtonBarFirstButtonSkin
AXMEnterpriseToolBarButtonBarLastButtonSkin
AXMEnterpriseToolBarButtonBarMiddleButtonSkin
AXMEnterpriseToolbarButtonBarSkin
AXMEnterpriseToolBarTopSkin
AXMEnterpriseViewModeButtonBarButtonSkin
AXMEnterpriseViewModeButtonBarSkin
AXMEnterpriseVScrollbarNoControlsSkin
AXMEnterpriseVScrollbarSkin
AXMEnterpriseVScrollbarThumbSkin
AXMEnterpriseVScrollbarTrackNoControlsSkin
AXMEnterpriseVScrollbarTrackSkin
AXMHeaderBar
AXMHScrollBar
AXMLightItemRenderer
AXMList
AXMPopUp
AXMProgressBar
AXMProgressSpinner
AXMResizableContainer
AXMRichTextEditor
AXMRichTextEditorControlBar
AXMScroller
AXMSplitActionButton
AXMSwitch
AXMTabBar
AXMTabBarButton
AXMTitleWindow
AXMToggleButton
AXMToolPopUp
AXMToolPopUpDropDownController
AXMVerticalDivider
AXMVScrollBar

Le istruzioni sono elementi del linguaggio che eseguono o specificano un’azione in fase di runtime. L’istruzione return, ad esempio, restituisce un risultato sotto forma di valore della funzione in cui viene eseguita. L’istruzione if valuta una condizione per determinare l’azione successiva da eseguire. L’istruzione switch crea una struttura ad albero per le istruzioni ActionScript.

Le parole chiave degli attributi modificano il significato delle definizioni; possono essere applicate alle definizioni di classi, variabili, funzioni e spazi dei nomi. Le parole chiave delle definizioni consentono di definire entità come variabili, funzioni, classi e interfacce. Le parole chiave delle espressioni primarie rappresentano dei valori letterali. Per un elenco delle parole riservate, vedete Apprendimento di ActionScript 3.0.

Le direttive possono essere istruzioni e definizioni che possono avere effetto in fase di compilazione o di runtime. Le direttive che non sono né istruzioni né definizioni sono indicate come direttive nella tabella seguente.


 parola chiave di espressione primaria
 falseUn valore booleano che rappresenta false.
 nullValore speciale che può essere assegnato a variabili o restituito da una funzione quando non vengono forniti dati.
 thisUn riferimento all’oggetto che contiene un metodo.
 trueUn valore booleano che rappresenta true.
 direttiva
 default xml namespace La direttiva default xml namespace imposta lo spazio dei nomi predefinito da utilizzare per gli oggetti XML.
 importRende disponibili al codice le classi e i pacchetti definiti esternamente.
 includeComprende il contenuto del file specificato, come se i comandi del file facessero parte dello script di chiamata.
 use namespaceDetermina l’aggiunta degli spazi dei nomi specificati alla serie di spazi dei nomi aperti.
 istruzione
 breakViene visualizzata all’interno di un ciclo (for, for..in, for each..in, do..while o while) oppure in un blocco di istruzioni associate a un caso particolare all’interno di un’istruzione switch.
 caseDefinisce una destinazione per l’istruzione switch.
 continueSalta tutte le istruzioni rimanenti nel ciclo più interno e avvia l’iterazione successiva del ciclo come se il controllo fosse passato normalmente alla fine del ciclo.
 defaultDefinisce l’istruzione case predefinita di un’istruzione switch.
 do..whileSimile a un ciclo while, a eccezione del fatto che le istruzioni vengono eseguite una volta prima della valutazione iniziale della condizione.
 elseSpecifica le istruzioni da eseguire se la condizione nell’istruzione if restituisce false.
 forValuta l’espressione init (inizializza) una volta, quindi avvia una sequenza di ripetizione ciclica.
 for..inEsegue un’iterazione sulle proprietà dinamiche di un oggetto o sugli elementi di un array ed esegue statement per ogni proprietà o elemento.
 for each..inEsegue un’iterazione sulle voci di una raccolta ed esegue statement per ciascuna voce.
 ifValuta una condizione per determinare l’istruzione successiva da eseguire.
 labelAssocia un’istruzione a un identificatore al quale è possibile fare riferimento con break o continue.
 returnFa in modo che l’esecuzione torni immediatamente alla funzione di chiamata.
 superRichiama la versione superclasse o principale di un metodo o di una funzione di costruzione.
 switchDetermina il passaggio del controllo a un’istruzione di una serie, a seconda del valore di un’espressione.
 throwCrea (genera) un errore che può essere gestito, o rilevato, mediante un blocco di codice catch.
 try..catch..finallyRacchiude un blocco di codice nel quale può verificarsi un errore, quindi risponde all’errore.
 whileValuta una condizione e, se questa restituisce true, esegue una o più istruzioni prima di tornare a valutare la condizione.
 withDefinisce un oggetto predefinito da utilizzare per l’esecuzione di una o più istruzioni, con il possibile risultato di ridurre la quantità di codice da scrivere.
  Spazi dei nomi
 AS3Definisce metodi e proprietà delle classi ActionScript principali che sono proprietà fisse anziché proprietà prototipo.
 flash_proxyDefinisce i metodi della classe Proxy.
 object_proxyDefinisce i metodi della classe ObjectProxy.
 Parola chiave attributo
 dynamicSpecifica che le istanze di una classe accettano l’aggiunta di proprietà dinamiche in fase di runtime.
 finalSpecifica che un metodo non può essere sostituito o che una classe non può essere estesa.
 internalSpecifica che una classe, una variabile, una costante o una funzione è disponibile a qualsiasi chiamante nello stesso pacchetto.
 nativeSpecifica che una funzione o un metodo è implementato da Flash Player nel codice nativo.
 overrideSpecifica che un metodo sostituisce un metodo ereditato.
 privateSpecifica che una variabile, una costante, un metodo o uno spazio dei nomi è disponibile solo per la classe che ne contiene la definizione.
 protectedSpecifica che una variabile, una costante, un metodo o uno spazio dei nomi è disponibile solo per la classe che ne contiene la definizione e per le eventuali sottoclassi.
 publicSpecifica che una classe, una variabile, una costante o un metodo è disponibile a qualsiasi chiamante.
 staticSpecifica che una variabile, una costante o un metodo appartiene alla classe e non alle sue istanze.
 parola chiave di definizione
 ... (rest) parameterSpecifica che una funzione accetta qualunque numero di argomenti separati da virgole.
 classDefinisce una classe che consente di creare le istanze degli oggetti che condividono i metodi e le proprietà definite dall’utente.
 constSpecifica una costante, ovvero una variabile alla quale è possibile assegnare un valore una sola volta.
 extendsDefinisce una classe che è una sottoclasse di un’altra classe.
 functionComprende un set di istruzioni definite dall’utente per eseguire una determinata attività.
 getDefinisce un getter, ovvero un metodo che può essere letto come una proprietà.
 implementsSpecifica che una classe implementa una o più interfacce.
 interfaceDefinisce un’interfaccia.
 namespaceConsente di controllare la visibilità delle definizioni.
 packageConsente di organizzare il codice in gruppi distinti che possono essere importati da altri script.
 setDefinisce un setter, ovvero un metodo che appare nell’interfaccia pubblica come proprietà.
 varSpecifica una variabile.
Descrizione delle istruzioni, parole chiave e direttive
... (rest) parameterparola chiave di definizione
Uso

function functionName(parameter0, parameter1, ...rest){ 
	// statement(s) 
} 

Specifica che una funzione accetta qualunque numero di argomenti separati da virgole. L’elenco di argomenti diventa un array disponibile in tutto il corpo della funzione. Il nome dell’array è specificato dopo i caratteri ... nella dichiarazione del parametro. Il parametro può avere qualsiasi nome che non corrisponda a una parola riservata

Se utilizzato con altri parametri, il parametro ... (rest) deve essere dichiarato per ultimo. L’array con parametro ... (rest) viene compilato solo se il numero degli argomenti passati alla funzione supera il numero degli altri parametri.

Ogni argomento dell’elenco di argomenti separati da virgole viene inserito in un elemento dell’array. Se passate un’istanza della classe Array, l’intero array viene inserito in un singolo elemento dell’array con parametro ... (rest).

L’uso di questo parametro rende indisponibile l’oggetto arguments. Anche se il parametro ... (rest) offre la stessa funzionalità dell’array arguments e della proprietà arguments.length, non fornisce invece una funzionalità simile a quella di arguments.callee. Assicuratevi che non sia necessario utilizzare arguments.callee prima di usare il parametro ... (rest).

Parametri
rest:* — Un identificatore che rappresenta il nome dell’array di argomenti passati alla funzione. Non è necessario chiamare il parametro rest; può avere qualunque nome che non corrisponda a una parola chiave. Potete specificare il tipo di dati Array per il parametro... (rest), ma ciò creerebbe confusione perché il parametro accetta un elenco di valori separati da virgole, che non è identico a un’istanza della classe Array.

Esempio
Come utilizzare questo esempio
Il seguente esempio utilizza il parametro ...(rest) in due diverse funzioni. La prima funzione, traceParams, chiama semplicemente la funzione trace() su ciascuno degli argomenti dell’array rest. La seconda funzione, average(), legge l’elenco di argomenti e restituisce la media. La seconda funzione utilizza anche un nome diverso, args, per il parametro.
package {
	import flash.display.MovieClip;
	
	public class RestParamExample extends MovieClip {
		public function RestParamExample() {
			traceParams(100, 130, "two"); // 100,130,two
			trace(average(4, 7, 13));     // 8
		}
	}
}


function traceParams(... rest) {
 	trace(rest);
 }
 
function average(... args) : Number{
	var sum:Number = 0;
	for (var i:uint = 0; i < args.length; i++) {
		sum += args[i];
	}
	return (sum / args.length);
}

Elementi API correlati

AS3 Spazi dei nomi  

Definisce metodi e proprietà delle classi ActionScript principali che sono proprietà fisse anziché proprietà prototipo. Quando impostate l’opzione del compilatore "-as3" su true (impostazione predefinita in Flex Builder 2), lo spazio dei nomi AS3 viene aperto automaticamente per tutte le classi principali. Ciò significa che un’istanza di una classe principale utilizza proprietà e metodi fissi anziché le versioni delle stesse proprietà e degli stessi metodi che sono associate all’oggetto prototipo della classe. L’uso di proprietà fisse solitamente garantisce prestazioni migliori, ma non può assicurare la compatibilità retroattiva con la specifica dell’edizione 3 del linguaggio ECMAScript (ECMA-262).

Parametri

Elementi API correlati

breakistruzione 
Uso

break [label]

Viene visualizzata all’interno di un ciclo (for, for..in, for each..in, do..while o while) oppure in un blocco di istruzioni associate a un case particolare in un’istruzione switch. Quando viene utilizzata in un ciclo, l’istruzione break indica a Flash di ignorare il resto del corpo del ciclo, arrestare la ripetizione ciclica ed eseguire l’istruzione che segue l’istruzione ciclica. Quando viene utilizzata in un’istruzione switch, l’istruzione break indica a Flash di ignorare il resto delle istruzioni in quel blocco case e passare alla prima istruzione che segue l’istruzione switch che le racchiude.

Nei cicli nidificati, break ignora solo il resto del ciclo immediato e non esce dall’intera serie di cicli nidificati. Per uscire da una serie completa di cicli nidificati, utilizzate label o try..catch..finally.

L’istruzione break può avere un’etichetta opzionale che deve corrispondere all’etichetta di un’istruzione esterna. L’uso di un’etichetta che non corrisponde all’etichetta di un’istruzione esterna genera un errore di sintassi. Le istruzioni break con etichetta possono essere utilizzate per uscire da più livelli di istruzioni di ciclo nidificate, da istruzioni switch oppure da istruzioni block. Per un esempio, vedete la voce dell’istruzione label.

Parametri
label:* — Il nome di un’etichetta associata a un’istruzione.

Esempio
Come utilizzare questo esempio
Nell’esempio seguente viene utilizzata break per uscire da un ciclo altrimenti infinito:
var i:int = 0;
while (true) { 
	trace(i); 
	if (i >= 10) { 
		break; // this will terminate/exit the loop 
	} 
	i++; 
} 
/*
0 
1 
2 
3 
4 
5 
6 
7 
8 
9 
10*/

Elementi API correlati

caseistruzione 
Uso

case jumpTarget: statements

Definisce una destinazione per l’istruzione switch. Se il parametro jumpTarget è uguale al parametro expression dell’istruzione switch utilizzando l’uguaglianza rigorosa (===), Flash Player esegue le istruzioni del parametro statements finché non incontra un’istruzione break o la fine dell’istruzione switch.

Se si utilizza l’istruzione case al di fuori di un’istruzione switch, si verifica un errore e lo script non viene compilato.

Parametri
jumpTarget:* — Qualsiasi espressione.
statements:* — Le istruzioni da eseguire se jumpTarget corrisponde all’espressione condizionale dell’istruzione switch.

Esempio
Come utilizzare questo esempio
Nell’’esempio seguente vengono definite le condizioni per l’istruzione switch thisMonth. Se thisMonth è uguale all’espressione nell’istruzione case, l’istruzione viene eseguita.
var thisMonth:int = new Date().getMonth(); 
switch (thisMonth) { 
	case 0 : 
		trace("January"); 
		break; 
	case 1 : 
		trace("February"); 
		break; 
	case 5 : 
	case 6 : 
	case 7 : 
		trace("Some summer month"); 
		break; 
	case 8 : 
		trace("September"); 
		break; 
	default : 
		trace("some other month"); 
}

Elementi API correlati

classparola chiave di definizione 
Uso

[dynamic] [public | internal] [final] class className [ extends superClass ] [ implements interfaceName[, interfaceName... ] ] { 
	// class definition here
}

Definisce una classe che consente di creare le istanze degli oggetti che condividono i metodi e le proprietà definite dall’utente. Ad esempio, se state sviluppando un sistema di registrazione delle fatture, potete creare una classe Invoice che definisca tutti i metodi e le proprietà richiesti per le fatture. Utilizzerete quindi il comando new Invoice() per creare i relativi oggetti Invoice.

Ogni file ActionScript di origine può contenere una sola classe che è visibile ad altri file di origine o script. La classe visibile esternamente può essere pubblica o interna e deve essere definita all’interno di un’istruzione package. Se includete altre classi nello stesso file, queste devono essere collocate all’esterno dell’istruzione package e alla fine del file.

Il nome della classe visibile esternamente deve corrispondere al nome del file di origine ActionScript che la contiene. Il nome del file di origine esterno deve essere uguale a quello della classe, con l’aggiunta dell’estensione .as. Ad esempio, se la classe viene denominata Studente, il file che la definisce dovrà chiamarsi Studente.as.

Le definizioni di classe non possono essere nidificate, vale a dire non è possibile definire altre classi all’interno di una definizione di classe.

Potete definire un metodo di funzione di costruzione, ovvero un metodo che viene eseguito ogni volta che viene creata una nuova istanza della classe. Il nome del metodo della funzione di costruzione deve corrispondere al nome della classe. Se non definite un metodo di questo tipo, viene creata automaticamente una funzione di costruzione predefinita.

Per indicare che gli oggetti possono aggiungere le proprietà dinamiche e accedervi in fase di runtime, specificare la parola chiave dynamic prima dell’istruzione di classe. Per dichiarare che la classe implementa un’interfaccia, utilizzate la parola chiave implements. Per creare sottoclassi di una classe, utilizzate la parola chiave extends. (Una classe può estendere solo una classe, ma può implementare diverse interfacce.) Potete utilizzare implements e extends in un’unica istruzione. Negli esempi seguenti vengono illustrati gli usi più comuni delle parole chiave implements ed extends:

class C implements Interface_i, Interface_j // OK 
class C extends Class_d implements Interface_i, Interface_j // OK 
class C extends Class_d, Class_e // not OK 

Parametri
className:Class — Il nome completo della classe.

Esempio
Come utilizzare questo esempio
Nell’esempio seguente viene creata una classe di nome Plant. La funzione di costruzione Plant richiede due parametri.
// Filename Plant.as 
package {
  public class Plant { 
	// Define property names and types 
	private var _leafType:String; 
	private var _bloomSeason:String; 
	// Following line is constructor 
	// because it has the same name as the class 
	public function Plant(param_leafType:String, param_bloomSeason:String) { 
		// Assign passed values to properties when new Plant object is created 
		_leafType = param_leafType; 
		_bloomSeason = param_bloomSeason; 
	} 
	// Create methods to return property values, because best practice 
	// recommends against directly referencing a property of a class 
	public function get leafType():String { 
		return _leafType; 
	} 
	public function get bloomSeason():String { 
		return _bloomSeason; 
	} 
  }
}
Nello script, utilizzate l’operatore new per creare un oggetto Plant.
var pineTree:Plant = new Plant("Evergreen", "N/A"); 
// Confirm parameters were passed correctly 
trace(pineTree.leafType); 
trace(pineTree.bloomSeason); 

Elementi API correlati

constparola chiave di definizione 
Uso

const identifier = value 

Specifica una costante, ovvero una variabile alla quale è possibile assegnare un valore una sola volta.

La costante può essere definita mediante la tipizzazione forte aggiungendo un carattere di due punti (:) seguito dal tipo di dati.

Parametri
identifier:* — Un identificatore per la costante.

Esempio
Come utilizzare questo esempio
L’esempio seguente mostra che si verifica un errore se tentate di assegnare un valore a una costante più di una volta.
const MIN_AGE:int = 21;
MIN_AGE = 18; // error
Nell’esempio seguente viene illustrato che se la costante è un array, è comunque possibile chiamare i metodi della classe Array, compreso Array.push(). Tuttavia, non è possibile assegnare un nuovo valore letterale array.
const product_array:Array = new Array("Studio", "Dreamweaver", "Flash", "ColdFusion", "Contribute", "Breeze"); 
product_array.push("Flex"); // array operations are allowed
product_array = ["Other"];  // assignment is an error
trace(product_array); 

Elementi API correlati

continueistruzione 
Uso

continue [label]

Salta tutte le istruzioni rimanenti nel ciclo più interno e avvia l’iterazione successiva del ciclo come se il controllo fosse passato normalmente alla fine del ciclo. L’istruzione continue non ha alcun effetto al fuori di un ciclo. Nei cicli nidificati, utilizzate il parametro opzionale label per saltare più cicli anziché solo quello più interno.

L’istruzione continue può avere un’etichetta opzionale che deve corrispondere all’etichetta di un’istruzione esterna. L’uso di un’etichetta che non corrisponde all’etichetta di un’istruzione esterna genera un errore di sintassi. Le istruzioni continue con etichetta possono essere utilizzate per saltare più livelli di istruzioni di ciclo nidificate.

Parametri

Esempio
Come utilizzare questo esempio
Nel ciclo while seguente, l’istruzione continue viene utilizzata per ignorare il resto del corpo del ciclo ogni volta che viene trovato un multiplo di 3, e per andare all’inizio del ciclo, dove viene provata la condizione:
var i:int = 0; 
while (i < 10) { 
	if (i % 3 == 0) { 
		i++; 
		continue; 
	} 
	trace(i); 
	i++; 
}
In un ciclo for, l’istruzione continue può anche essere utilizzata per ignorare il resto del corpo del ciclo. Nell’esempio seguente, se i % 3 è uguale a 0, l’istruzione trace(i) viene ignorata:
 
for (var i:int = 0; i < 10; i++) { 
	if (i % 3 == 0) { 
		continue; 
	} 
	trace(i); 
}

Elementi API correlati

defaultistruzione 
Uso

default: statements 

Definisce l’istruzione case predefinita di un’istruzione switch. Le istruzioni vengono eseguite se il parametro expression dell’istruzione switch non è uguale (in base all’operazione di uguaglianza rigorosa [===]) ad alcuno dei parametri expression che seguono le parole chiave case per una data istruzione switch.

Un’istruzione switch non richiede un’istruzione case default. Un’istruzione case default non deve necessariamente essere l’ultima dell’elenco. Se utilizzate un’istruzione default al di fuori di un’istruzione switch, si verifica un errore e lo script non viene compilato.

Parametri
statements:* — Qualsiasi istruzione.

Esempio
Come utilizzare questo esempio
Nell’esempio seguente, se il giorno della settimana è Saturday o Sunday, nessuna delle istruzioni case viene applicata e pertanto l’esecuzione passa all’istruzione default.
var dayOfWeek:int = new Date().getDay(); 
switch (dayOfWeek) { 
	case 1 : 
		trace("Monday"); 
		break; 
	case 2 : 
		trace("Tuesday"); 
		break; 
	case 3 : 
		trace("Wednesday"); 
		break; 
	case 4 : 
		trace("Thursday"); 
		break; 
	case 5 : 
		trace("Friday"); 
		break; 
	default : 
		trace("Weekend"); 
}

Elementi API correlati

default xml namespacedirettiva 
Uso

default xml namespace = ns

La direttiva default xml namespace imposta lo spazio dei nomi predefinito da utilizzare per gli oggetti XML.

Se non si specifica default xml namespace, lo spazio dei nomi predefinito è quello "senza nome" (ovvero con l’URI impostato su una stringa vuota). L’area di validità di una dichiarazione default xml namespace è all’interno di un blocco di funzione, come per una variabile.

Parametri

Esempio
Come utilizzare questo esempio
Nell’esempio seguente viene illustrato che l’area di validità di default xml namespace è un blocco di funzione:
var nsDefault1:Namespace = new Namespace("http://www.example.com/namespaces/");
default xml namespace = nsDefault1;
	    
var x1:XML = ;
trace("x1 ns: " + x1.namespace());
			
scopeCheck();	

var x2:XML = ;
trace("x2 ns: " + x2.namespace());
		
function scopeCheck(): void {
	
	var x3:XML = ;
	trace("x3 ns: " + x3.namespace());
				
	var nsDefault2:Namespace = new Namespace("http://schemas.xmlsoap.org/soap/envelope/");
	default xml namespace = nsDefault2;
		    
	var x4:XML = ;
	trace("x4 ns: " + x4.namespace());

}
L’output trace() di questo esempio è il seguente: x1 ns: http://www.example.com/namespaces/ x3 ns: x4 ns: http://schemas.xmlsoap.org/soap/envelope/ x2 ns: http://www.example.com/namespaces/ Nell’’esempio seguente viene utilizzato default xml namespace per assegnare lo spazio dei nomi predefinito. Il secondo oggetto XML (x2) non utilizza questa impostazione perché x2 definisce il proprio spazio dei nomi predefinito:
var nsDefault:Namespace = new Namespace("http://www.example.com/namespaces/");
default xml namespace = nsDefault;
            
var x1:XML = ;

trace(x1.namespace());
	// http://www.example.com/namespaces/

var x2:XML = ;
trace(x2.namespace());
	// http://www.w3.org/1999/XSL/Transform/

var x3:XML = ;
trace(x3.namespace());
	// http://www.example.com/namespaces/

Elementi API correlati

do..whileistruzione 
Uso

do { statement(s) } while (condition)

Simile a un ciclo while, a eccezione del fatto che le istruzioni vengono eseguite una volta prima della valutazione iniziale della condizione. Quindi, le istruzioni vengono eseguite solo se la condizione restituisce true.

Un ciclo do..while fa in modo che il codice all’interno del ciclo venga eseguito almeno una volta. Questa operazione può essere svolta anche mediante un ciclo while posizionando una copia delle istruzioni da eseguire prima che il ciclo while cominci, ma molti programmatori ritengono che i cicli do..while siano più semplici da leggere.

Se la condizione restituisce sempre true, il ciclo do..while è infinito. Se entrate in un ciclo infinito, si verificano dei problemi in Flash Player e viene visualizzato un messaggio di errore o il lettore si blocca. Quando possibile, se conoscete il numero di ripetizioni necessarie per il ciclo, utilizzate un ciclo for. I cicli for sono facili da leggere e sottoporre a debug, ma non sostituiscono i cicli do..while in tutte le circostanze.

Parametri
condition:Boolean — La condizione da valutare. Le istruzioni all’interno del blocco di codice vengono eseguite a condizione che il parametro condition restituisca true.

Esempio
Come utilizzare questo esempio
Nell’esempio seguente viene utilizzato un ciclo do..while per valutare se una condizione è true, e traccia myVar finché myVar è uguale o maggiore di 5. Quando myVar è uguale o maggiore di 5, il ciclo termina.
var myVar:Number = 0; 
do { 
	trace(myVar); 
	myVar++; 
} 
while (myVar < 5); 
/*
0 
1 
2 
3 
4
*/

Elementi API correlati

dynamicParola chiave attributo 
Uso

dynamic class className { // class definition here }

Specifica che le istanze di una classe accettano l’aggiunta di proprietà dinamiche in fase di runtime. Se utilizzate l’attributo dynamic su una classe, potete aggiungere proprietà alle istanze di tale classe in fase di runtime. Le classi non contrassegnate come dynamic sono considerate sealed, ovvero non è possibile aggiungere proprietà alle relative istanze.

Se una classe è chiusa (non dinamica), i tentativi di ottenere (get) o impostare (set) le proprietà delle istanze della classe generano un errore. Se il compilatore viene eseguito in modalità rigorosa e si specifica il tipo di dati quando si creano le istanze, i tentativi di aggiungere proprietà a oggetti chiusi generano un errore del compilatore; altrimenti, si verifica un errore in fase di runtime.

L’attributo dynamic non è ereditato dalle sottoclassi. Se estendete una classe dinamica, la sottoclasse è dinamica solo se viene dichiarata con l’attributo dynamic.

Parametri

Esempio
Come utilizzare questo esempio
L’esempio seguente crea due classi, una dinamica chiamata Expando e una chiusa chiamata Sealed, utilizzate negli esempi successivi.
package {

	dynamic class Expando  {
	}
	
	class Sealed {
	}
}
Il codice seguente crea un’istanza della classe Expando e mostra come aggiungere proprietà all’istanza.
var myExpando:Expando = new Expando();
myExpando.prop1 = "new";
trace(myExpando.prop1); // new
Il codice seguente crea un’istanza della classe Sealed e mostra come i tentativi di aggiungere una proprietà generino un errore.
var mySealed:Sealed = new Sealed();
mySealed.prop1 = "newer"; // error

Elementi API correlati

elseistruzione 
Uso

if (condition) { 
	// statement(s)
} 
else {
	// statement(s)
}

Specifica le istruzioni da eseguire se la condizione nell’istruzione if restituisce false. Le parentesi graffe ({}) che racchiudono le istruzioni che devono essere eseguite dall’istruzione else non sono necessarie se viene eseguita una sola istruzione.

Parametri
condition:Boolean — Espressione che restituisce true o false.

Esempio
Come utilizzare questo esempio
Nell’esempio seguente, la condizione else viene utilizzata per verificare se la variabile age_txt è maggiore o minore di 18:
if (age_txt.text>=18) { 
	trace("welcome, user"); 
} 
else { 
	trace("sorry, junior"); 
	userObject.minor = true; 
	userObject.accessAllowed = false;
}
Nell’esempio seguente, le parentesi graffe ({}) non sono necessarie poiché solo un’istruzione segue l’istruzione else:
if (age_txt.text>18) { 
	trace("welcome, user");
} 
else trace("sorry, junior");
Nell’esempio seguente viene utilizzata una combinazione di istruzioni if e else per confrontare score_txt con un valore specificato:
if (score_txt.text>90) { 
	trace("A"); 
} 
else if (score_txt.text>75) { 
	trace("B"); 
} 
else if (score_txt.text>60) { 
	trace("C"); 
} 
else { 
	trace("F"); 
}

Elementi API correlati

extendsparola chiave di definizione 
Uso

class className extends otherClassName {}
interface interfaceName extends otherInterfaceName {} 

Definisce una classe che è una sottoclasse di un’altra classe. La sottoclasse eredita tutti i metodi, le proprietà e le funzioni definiti nella superclasse. Le classi contrassegnate come final non possono essere estese.

Potete anche utilizzare la parola chiave extends per estendere un’interfaccia. Un’interfaccia che estende un’altra interfaccia include tutte le dichiarazioni di metodo dell’interfaccia originale.

Parametri
className:Class — Il nome della classe in corso di definizione.

Esempio
Come utilizzare questo esempio
Nell’esempio seguente, la classe Car estende la classe Vehicle in modo che tutti i metodi, le proprietà e le funzioni vengano ereditate. Se lo script crea un’istanza di un oggetto Car, potete utilizzare sia i metodi della classe Car che quelli della classe Vehicle. L’esempio seguente mostra il contenuto di un file di nome Vehicle.as, che definisce la classe Vehicle:
package {
	class Vehicle { 
	    var numDoors:Number; 
	    var color:String; 
	    public function Vehicle(param_numDoors:Number = 2, param_color:String = null) { 
	        numDoors = param_numDoors; 
	        color = param_color; 
	    } 
	    public function start():void { 
	        trace("[Vehicle] start"); 
	    } 
	    public function stop():void { 
	        trace("[Vehicle] stop"); 
	    } 
	    public function reverse():void { 
	        trace("[Vehicle] reverse"); 
	    } 
	}	
}
L’esempio seguente mostra un secondo file ActionScript, denominato Car.as, nella stessa directory. Questa classe estende la classe Vehicle, modificandola in tre modi. Innanzitutto, la classe Car aggiunge una variabile fullSizeSpare per verificare se l’oggetto Car ha una gomma di scorta di dimensione regolare. Quindi, aggiunge un nuovo metodo specifico delle automobili, activateCarAlarm, che attiva l’antifurto dell’auto. Infine, sostituisce la funzione stop() in modo da aggiungere l’informazione che la classe Car utilizza un sistema di frenata anti-bloccaggio.
package {

	public class Car extends Vehicle { 
	    var fullSizeSpare:Boolean; 
	    public function Car(param_numDoors:Number, param_color:String, param_fullSizeSpare:Boolean) { 
	        numDoors = param_numDoors; 
	        color = param_color; 
	        fullSizeSpare = param_fullSizeSpare; 
	    } 
	    public function activateCarAlarm():void { 
	        trace("[Car] activateCarAlarm"); 
	    } 
	    public override function stop():void { 
	        trace("[Car] stop with antilock brakes"); 
	    } 
	}
}
Nell’esempio seguente viene creata un’istanza di un oggetto Car, viene chiamato un metodo definito nella classe Vehicle (start()), quindi il metodo ignorato dalla classe Car (stop()), infine un metodo della classe Car (activateCarAlarm()):
var myNewCar:Car = new Car(2, "Red", true); 
myNewCar.start(); // [Vehicle] start 
myNewCar.stop(); // [Car] stop with anti-lock brakes 
myNewCar.activateCarAlarm(); // [Car] activateCarAlarm
Potreste anche scrivere una sottoclasse della classe Vehicle mediante l’istruzione super, che può essere utilizzata dalla sottoclasse per accedere alla funzione di costruzione della superclasse. L’esempio seguente mostra un terzo file ActionScript, denominato Truck.as, sempre nella stessa directory. La classe Truck utilizza super nella funzione di costruzione e nel metodo reverse() sostituito.
package {
	class Truck extends Vehicle {
		var numWheels:Number;
		public function Truck(param_numDoors:Number, param_color:String, param_numWheels:Number) { 
			super(param_numDoors, param_color); 
			numWheels = param_numWheels; 
		} 
		public override function reverse():void { 
			beep();
			super.reverse();
		} 
		public function beep():void { 
			trace("[Truck] make beeping sound"); 
		} 
	}
}
Nell’esempio seguente viene creata un’istanza di un oggetto Truck, viene chiamato un metodo ignorato dalla classe Truck (reverse()), quindi un metodo definito nella classe Vehicle (stop()):
var myTruck:Truck = new Truck(2, "White", 18); 
myTruck.reverse(); // [Truck] make beeping sound [Vehicle] reverse 
myTruck.stop(); // [Vehicle] stop

Elementi API correlati

falseparola chiave di espressione primaria 
Uso

false

Un valore booleano che rappresenta false. Un valore Boolean può essere true o false; il contrario difalse è true.

Quando la tipizzazione automatica dei dati converte false in un numero, questo diventa 0; quando converte false in una stringa, questa diventa "false".

Nota: la stringa"false" viene convertita nel valore Boolean true.

Parametri

Esempio
Come utilizzare questo esempio
In questo esempio viene illustrato il modo in cui la tipizzazione automatica dei dati converte il valore false in un numero o in una stringa:
var bool1:Boolean = Boolean(false);

// converts it to the number 0
trace(1 + bool1); // outputs 1

// converts it to a string
trace("String: " + bool1); // outputs String: false
Nell’esempio seguente viene illustrato che la stringa "false" viene convertita nel valore Boolean true:
trace(Boolean("false")); // true

if ("false") {
	trace("condition expression evaluated to true");
}
else {
	trace("condition expression evaluated to false");
}
// condition expression evaluated to true

Elementi API correlati

finalParola chiave attributo 
Uso

final function methodName() { 
	// your statements here 
}
final class className {}

Specifica che un metodo non può essere sostituito o che una classe non può essere estesa. Un tentativo di sostituire un metodo o di estendere una classe contrassegnata con final genera un errore.

Parametri
methodName:Function — Il nome del metodo che non può essere sostituito.
className:Class — Il nome della classe che non può essere estesa.

Elementi API correlati

flash_proxy Spazi dei nomi  

Definisce i metodi della classe Proxy. I metodi della classe Proxy hanno un proprio spazio dei nomi per evitare conflitti in situazioni in cui una sottoclasse Proxy contiene nomi di metodi di istanze che corrispondono a nomi di metodi della classe Proxy.

Parametri

Elementi API correlati

foristruzione 
Uso

for ([init]; [condition]; [next]) { 
	// statement(s)
}

Valuta l’espressione init (inizializza) una volta, quindi avvia una sequenza di ripetizione ciclica. La sequenza di ripetizione ciclica inizia dalla valutazione dell’espressione condition. Se l’espressione condition restituisce true, statement viene eseguito e viene valutato next. La sequenza di ripetizione ciclica quindi riprende dalla valutazione dell’espressione condition.

Le parentesi graffe ({}) che racchiudono le istruzioni che devono essere eseguite dall’istruzione for non sono necessarie se viene eseguita una sola istruzione.

Parametri
init — Un’espressione opzionale da valutare prima dell’inizio della sequenza di ripetizione ciclica; solitamente è un’espressione di assegnazione. Per questo parametro è consentito anche l’uso dell’istruzione var.
condition — Un’espressione opzionale da valutare prima dell’inizio della sequenza di ripetizione ciclica; solitamente si tratta di un’espressione di confronto. Se l’espressione restituisce true, vengono eseguite le istruzioni associate all’istruzione.
next — Un’espressione opzionale da valutare dopo la sequenza di ripetizione ciclica; solitamente è un’espressione di decremento.

Esempio
Come utilizzare questo esempio
Nell’esempio seguente viene utilizzato for per aggiungere gli elementi in un array:
var my_array:Array = new Array(); 
for (var i:Number = 0; i < 10; i++) { 
	my_array[i] = (i + 5) * 10;  
} 
trace(my_array); // 50,60,70,80,90,100,110,120,130,140 
Nell’esempio seguente viene utilizzato for per eseguire ripetutamente la stessa azione. Nel codice, il ciclo for aggiunge i numeri compresi tra 1 e 100.
var sum:Number = 0; 
for (var i:Number = 1; i <= 100; i++) { 
	sum += i; 
} 
trace(sum); // 5050
Nell’esempio seguente vengono illustrate che le parentesi graffe ({}) non sono necessarie se viene eseguita una sola istruzione:
var sum:Number = 0; 
for (var i:Number = 1; i <= 100; i++) 
	sum += i; 
trace(sum); // 5050

Elementi API correlati

for..inistruzione 
Uso

for (variableIterant:String in object){ 
	// statement(s)
} 

Esegue un’iterazione sulle proprietà dinamiche di un oggetto o sugli elementi di un array ed esegue statement per ogni proprietà o elemento. Le proprietà degli oggetti non vengono ordinate in base a criteri particolari, quindi possono apparire in un ordine apparentemente casuale. Le proprietà fisse, come le variabili e i metodi definiti in una classe, non vengono enumerate dall’istruzione for..in. Per ottenere un elenco di proprietà fisse, utilizzate la funzione describeType, inclusa nel pacchetto flash.utils.

Parametri
variableIterant:String — Il nome di una variabile che deve agire come elemento di iterazione, facendo riferimento a ciascuna proprietà di un oggetto o elemento di un array.

Esempio
Come utilizzare questo esempio
Nell’esempio seguente viene utilizzato for..in per eseguire un’iterazione sulle proprietà di un oggetto:
var myObject:Object = {firstName:"Tara", age:27, city:"San Francisco"}; 
for (var prop in myObject) { 
	trace("myObject."+prop+" = "+myObject[prop]); 
} 
/*
myObject.firstName = Tara 
myObject.age = 27 
myObject.city = San Francisco
*/
Nell’esempio seguente viene utilizzato l’operatore typeof con for..in per eseguire l’iterazione in un tipo particolare di elemento secondario:
var myObject:Object = {firstName:"Tara", age:27, city:"San Francisco"}; 
for (var name in myObject) { 
	if (typeof (myObject[name]) == "string") { 
		trace("I have a string property named "+name); 
	} 
}
/*
I have a string property named city
I have a string property named firstName
*/

Altri esempi

Elementi API correlati

for each..inistruzione 
Uso

for each (variableIterant in object){ 
	// statement(s)
} 

Esegue un’iterazione sulle voci di una raccolta ed esegue statement per ciascuna voce. Introdotta con le estensioni del linguaggio E4X, l’istruzione for each..in può essere utilizzata non solo per gli oggetti XML, ma anche per gli oggetti e gli array. Il ciclo for each..in esegue un’iterazione unicamente sulle proprietà dinamiche di un oggetto, non su quelle fisse. Una proprietà fissa è una proprietà definita in una definizione di classe. Per utilizzare l’istruzione for each..in con un’istanza di una classe definita dall’utente, occorre dichiarare la classe con l’attributo dynamic.

A differenza dell’istruzione for..in, l’istruzione for each..in esegue l’iterazione sui valori delle proprietà di un oggetto, invece che sui nomi delle proprietà.

Parametri
variableIterant:* — Il nome di una variabile che deve agire come elemento di iterazione, facendo riferimento alla voce di una raccolta.
object:Object — Il nome della raccolta sulla quale deve essere eseguita l’iterazione. La raccolta può essere un oggetto XML, un oggetto generico o un array.

Esempio
Come utilizzare questo esempio
Nell’esempio seguente viene utilizzato for each..in per eseguire un’iterazione sui valori delle proprietà di un oggetto:
var myObject:Object = {firstName:"Tara", age:27, city:"San Francisco"}; 
for each (var item in myObject) { 
	trace(item); 
} 
/*
Tara
27
San Francisco
*/
Nell’esempio seguente viene utilizzato for each..in per eseguire un’iterazione sugli elementi di un array:
var myArray:Array = new Array("one", "two", "three"); 
for each(var item in myArray) 
	trace(item); 
/*
one
two
three
*/
Nell’esempio seguente viene utilizzato l’operatore is con for each..in per eseguire l’iterazione in un tipo particolare di elemento secondario:
var myObject:Object = {firstName:"Tara", age:27, city:"San Francisco"}; 
for each (var item in myObject) { 
	if (item is String) {  
		trace("I have a string property with value " + item); 
	} 
}

/*
I have a string property with value Tara
I have a string property with value San Francisco
*/
Nell’esempio seguente viene illustrato l’utilizzo di for each..in per eseguire un’iterazione nelle proprietà di un oggetto XMLList (doc.p):
var doc:XML = 
		
			

Hello

Hola


Bonjour

; for each (var item in doc.p) { trace(item); } /* Hello Hola Bonjour */

Altri esempi

functionparola chiave di definizione 
Uso

function functionName([parameter0, parameter1,...parameterN]) : returnType{ 
	// statement(s) 
} 
var functionName:Function = function ([parameter0, parameter1,...parameterN]) : returnType{ 
	// statement(s) 
} 

Comprende un set di istruzioni definite dall’utente per eseguire una determinata attività. Potete definire una funzione in una posizione e chiamarla da diversi script in un file SWF. Quando si definisce una funzione, è possibile anche specificare gli eventuali parametri. vale a dire i segnaposto dei valori su cui la funzione agisce. Potete passare diversi parametri a una funzione ogni volta che la chiamate, in modo da poterla riutilizzare in situazioni diverse.

Utilizzate l’istruzione return nel blocco statement(s) di una funzione per fare in modo che la funzione generi, ovvero restituisca, un valore.

Uso 1: potete utilizzare la parola chiave function per definire una funzione con un nome, dei parametri e delle istruzioni specifici. Quando uno script chiama una funzione, vengono eseguite le istruzioni nella definizione della funzione. È consentito utilizzare riferimenti di inoltro; all’interno dello stesso script, una funzione può essere dichiarata dopo che è stata chiamata. Una definizione di funzione sostituisce l’eventuale definizione preesistente della stessa funzione. Questa sintassi può essere utilizzata in tutti i casi in cui è consentita un’istruzione.

Uso 2: potete anche utilizzare function per creare una funzione anonima e restituire un riferimento ad essa. Questa sintassi è utilizzata nelle espressioni ed è particolarmente utile per installare i metodi negli oggetti.

Per ulteriori funzionalità, potete utilizzare l’oggetto arguments nella definizione della funzione. L’oggetto arguments è comunemente utilizzato per creare funzioni che accettano un numero variabile di parametri e funzioni anonime ricorsive.

Parametri
functionName:Function — Il nome della nuova funzione.
returnType:* — Il tipo di dati del valore restituito.

Esempio
Come utilizzare questo esempio
Nell’esempio seguente viene definita la funzione sqr, che restituisce il valore di un numero elevato al quadrato:
function sqr(xNum:Number) { 
	return Math.pow(xNum, 2); 
} 
var yNum:Number = sqr(3); 
trace(yNum); // 9
Se la funzione è definita e utilizzata nello stesso script, la posizione della definizione può essere successiva a quella in cui la funzione è utilizzata:
var yNum:Number = sqr(3); 
trace(yNum); // 9 
function sqr(xNum:Number) { 
	return Math.pow(xNum, 2); 
}

Elementi API correlati

getparola chiave di definizione 
Uso

function get property() : returnType{ 
	// your statements here 
}

Definisce un getter, ovvero un metodo che può essere letto come una proprietà. Un getter è una funzione speciale che restituisce il valore di una proprietà dichiarata con la parola chiave var o const. A differenza di altri metodi, un getter viene chiamato senza parentesi (()) e assomiglia quindi a una variabile.

I getter consentono di applicare il principio denominato "information hiding", che consente di creare un’interfaccia pubblica per una proprietà privata. Il vantaggio dell’information hiding consiste nel fatto che l’interfaccia pubblica rimane inalterata anche se l’implementazione sottostante della proprietà privata cambia.

Un altro vantaggio offerto dai getter è la possibilità di essere sostituiti nelle sottoclassi, a differenza delle proprietà dichiarate con var o const.

Un getter può essere combinato con un setter per creare una proprietà di lettura-scrittura. Per creare una proprietà di sola lettura, create un getter senza un setter corrispondente. Viceversa, per creare una proprietà di sola scrittura, create un setter senza un getter corrispondente.

Parametri
property:* — L’identificatore della proprietà a cui get accede; questo valore deve essere uguale a quello utilizzato nel comando set corrispondente.
returnType:* — Il tipo di dati del valore restituito.

Esempio
Come utilizzare questo esempio
Nell’esempio seguente viene definita la classe Team. La classe Team comprende i metodi getter e setter che consentono di recuperare e impostare le proprietà all’interno della classe:
package {
	public class Team { 
		var teamName:String; 
		var teamCode:String; 
		var teamPlayers:Array = new Array(); 
		public function Team(param_name:String, param_code:String) { 
			teamName = param_name; 
			teamCode = param_code; 
		} 
		public function get name():String { 
			return teamName; 
		} 
		public function set name(param_name:String):void { 
			teamName = param_name; 
		}
	} 
}
Inserite il codice seguente nello script:
var giants:Team = new Team("San Fran", "SFO"); 
trace(giants.name); 
giants.name = "San Francisco"; 
trace(giants.name); 
/*
San Fran San Francisco */
Quando si esegue il trace di giants.name, si utilizza un metodo getter per restituire il valore della proprietà.

Elementi API correlati

ifistruzione 
Uso

if (condition) {
	// statement(s)
}

Valuta una condizione per determinare l’istruzione successiva da eseguire. Se la condizione restituisce true, Flash esegue le istruzioni che seguono la condizione all’interno delle parentesi graffe ({}). Se la condizione è false, Flash Player ignora le istruzioni all’interno delle parentesi graffe ed esegue le istruzioni dopo le parentesi. Utilizzate l’istruzione if con l’istruzione else per creare una logica ad albero negli script.

Le parentesi graffe ({}) che racchiudono le istruzioni che devono essere eseguite dall’istruzione if non sono necessarie se viene eseguita una sola istruzione.

Parametri
condition:Boolean — Espressione che restituisce true o false.

Elementi API correlati

implementsparola chiave di definizione 
Uso

myClass implements interface01 [, interface02 , ...] 

Specifica che una classe implementa una o più interfacce. Quando una classe implementa un’interfaccia, la classe deve definire tutti i metodi dichiarati nell’interfaccia. Qualsiasi istanza di una classe che implementa un’interfaccia è considerata un membro del tipo di dati definito dall’interfaccia. Di conseguenza l’operatore is restituisce true quando l’istanza della classe è il primo operando e l’interfaccia è il secondo; inoltre, le assegnazioni di tipo forzate da e verso il tipo di dati definito dall’interfaccia funzionano.

Parametri

Elementi API correlati

importdirettiva 
Uso

import packageName.className 
import packageName.*

Rende disponibili al codice le classi e i pacchetti definiti esternamente. Ad esempio, se volete utilizzare la classe flash.display.Sprite in uno script, dovete importarla. Questo requisito è diverso rispetto alle versioni precedenti di ActionScript, nelle quali la direttiva import era opzionale.

Dopo aver specificato la direttiva import, potete utilizzare il nome completo della classe, che include il nome del pacchetto, oppure solo il nome della classe.

 
import flash.display.Sprite; 

// name of class only
var mySprite:Sprite = new Sprite();

// full class name
var mySprite:flash.display.Sprite = new flash.display.Sprite();

Se il pacchetto contiene più classi alle quali desiderate accedere, potete importarle tutte in un’unica istruzione, come nell’esempio seguente:

import flash.display.*;

La direttiva import importa solo le classi, le funzioni e le variabili che si trovano al livello principale del pacchetto importato. I pacchetti nidificati devono essere importati in modo esplicito.

Se importate una classe ma non la utilizzate nello script, essa non viene esportata nel file SWF. Questo significa che potete importare pacchetti di grandi dimensioni senza dovervi preoccupare delle dimensioni del file SWF; il codice byte associato a una classe viene incluso in un file SWF solo se tale classe viene effettivamente utilizzata. Uno svantaggio dell’importazione delle classi non necessarie è costituito dalla maggiore probabilità di conflitti tra i nomi.

// On Frame 1 of a FLA: 
import adobe.example.*; 
var myFoo:foo = new foo();

Parametri
packageName:* — Il nome di un pacchetto definito in un file di classe separato.
className:Class — Il nome di una classe definita in un file di classe separato.
includedirettiva 
Uso

include "[path]filename.as"

Comprende il contenuto del file specificato, come se i comandi del file facessero parte dello script di chiamata. La direttiva include viene chiamata al momento della compilazione. Pertanto, se apportate modifiche a un file incluso, dovete salvarlo e ricompilare gli eventuali file FLA che lo utilizzano.

Parametri
interfaceparola chiave di definizione 
Uso

 interface InterfaceName [extends InterfaceName ] {}

Definisce un’interfaccia. Le interfacce sono tipi di dati che definiscono una serie di metodi, i quali devono essere definiti da ogni classe che implementa l’interfaccia.

Un’interfaccia è simile a una classe, con le eccezioni seguenti:

  • le interfacce contengono solo le dichiarazioni dei metodi, non le loro implementazioni, ovvero ogni classe che implementa un’interfaccia deve fornire un’implementazione per ciascun metodo dichiarato nell’interfaccia;
  • Le definizioni dei metodi di interfaccia non possono avere attributi quali public o private, ma i metodi implementati devono essere contrassegnati come public nella definizione della classe che implementa l’interfaccia.
  • Un’interfaccia può ereditare più interfacce mediante l’istruzione extends, oppure per mezzo di una classe tramite l’istruzione implements.

A differenza di ActionScript 2.0, ActionScript 3.0 consente l’utilizzo dei metodi getter e setter nelle definizioni delle interfacce.

Parametri

Elementi API correlati

internalParola chiave attributo 
Uso

[internal] var varName
[internal] const kName
[internal] function functionName()  { 
	// your statements here 
}
[internal] class className{
	// your statements here 
}
[internal] namespace nsName

Specifica che una classe, una variabile, una costante o una funzione è disponibile a qualsiasi chiamante nello stesso pacchetto. Le classi, le proprietà e i metodi appartengono allo spazio dei nomi internal per impostazione predefinita.

Parametri
className:Class — Il nome della classe che desiderate specificare come interna.
varName:* — Il nome della variabile che desiderate specificare come interna. Potete applicare l’attributo internal a prescindere che la variabile faccia parte o meno della classe.
kName:* — Il nome della costante che desiderate specificare come interna. Potete applicare l’attributo internal a prescindere che la costante faccia parte o meno della classe.
functionName:Function — Il nome della funzione o del metodo che desiderate specificare come interno. Potete applicare l’attributo internal a prescindere che la funzione faccia parte o meno della classe.
nsName:Namespace — Il nome dello spazio dei nomi che desiderate specificare come interno. Potete applicare l’attributo internal a prescindere che lo spazio dei nomi faccia parte o meno della classe.

Elementi API correlati

labelistruzione 
Uso

label: statement
label: {
    statements
}

Associa un’istruzione a un identificatore al quale è possibile fare riferimento con break o continue. Nei cicli nidificati, l’istruzione break o continue che non fa riferimento a un’etichetta può saltare solo il resto del ciclo immediato e non l’intera serie di cicli nidificati. Tuttavia, se l’istruzione che definisce l’intera serie di cicli è associata a un’etichetta, un’istruzione break o continue può saltare l’intera serie di cicli facendo riferimento a tale etichetta.

Le etichette consentono anche di uscire da un blocco di istruzioni. Non potete inserire in un blocco di istruzioni un’istruzione break che non fa riferimento a un’etichetta, a meno che il blocco non faccia parte di un ciclo. Se il blocco di istruzioni è associato a un’etichetta, potete inserire nel blocco un’istruzione break che fa riferimento a tale etichetta.

Parametri
label:* — Un identificatore valido da associare a un’istruzione.
statements:* — L’istruzione da associare all’etichetta.

Esempio
Come utilizzare questo esempio
L’esempio seguente mostra come utilizzare un’etichetta con un ciclo nidificato per uscire dall’intera serie di cicli. Il codice utilizza un ciclo nidificato per generare un elenco di numeri da 0 a 99. L’istruzione break viene eseguita appena prima che il conteggio raggiunga il numero 80. Se l’istruzione break non contenesse l’etichetta outerLoop, il codice ignorerebbe solo il resto del ciclo immediato e continuerebbe a generare i numeri da 90 a 99. Tuttavia, poiché viene utilizzata l’etichetta outerLoop, l’istruzione break ignora il resto dell’intera serie di cicli e l’ultimo numero generato è 79.
outerLoop: for (var i:int = 0; i < 10; i++) {
	for (var j:int = 0; j < 10; j++) {
		if ( (i == 8) && (j == 0)) {
			break outerLoop;
		}
		trace(10 * i + j);
	}
}
/*
1
2
...
79
*/
L’esempio seguente mostra come utilizzare un’etichetta con un blocco di istruzioni. Nell’esempio seguente, il blocco di istruzioni ha l’etichetta foo, che consente all’istruzione break di saltare l’ultima istruzione del blocco:
foo: {
	trace("a");
	break foo;
	trace("b");
}
// a

Elementi API correlati

namespaceparola chiave di definizione 
Uso

namespace name [= uri]

Consente di controllare la visibilità delle definizioni. Gli spazi dei nomi predefiniti includono public, private, protected e internal.

Nelle procedure seguenti viene illustrato come creare, applicare e fare riferimento a uno spazio dei nomi.

  • Innanzi tutto, definite lo spazio dei nomi personalizzato mediante la parola chiave namespace. Ad esempio, il codice namespace version1 crea uno spazio dei nomi chiamato version1.
  • Quindi, applicate lo spazio dei nomi a una proprietà o a un metodo specificandolo nella proprietà o nella dichiarazione del metodo. Ad esempio, il codice version1 myProperty:String crea una proprietà chiamata myProperty che appartiene allo spazio dei nomi version1.
  • Infine, fate riferimento allo spazio dei nomi utilizzando la parola chiave use o anteponendo un identificatore allo spazio dei nomi. Ad esempio, il codice use namespace version1; fa riferimento allo spazio dei nomi version1 per le righe di codice successive, e il codice version1::myProperty fa riferimento allo spazio dei nomi version1 per la proprietà myProperty.

Parametri
name:Namespace — Il nome dello spazio dei nomi, che può essere qualunque identificatore valido.
uri:String — L’Uniform Resource Identifier (URI) dello spazio dei nomi. Questo parametro è opzionale.

Elementi API correlati

nativeParola chiave attributo 
Uso

native function functionName();
class className { 
	native function methodName();
}

Specifica che una funzione o un metodo è implementato da Flash Player nel codice nativo. Flash Player utilizza la parola chiave native internamente per dichiarare funzioni e metodi nell’API ActionScript. Questa parola chiave non può essere utilizzata nel codice dell’utente.  

Parametri
nullparola chiave di espressione primaria 
Uso

null

Valore speciale che può essere assegnato a variabili o restituito da una funzione quando non vengono forniti dati. Potete utilizzare null per rappresentare valori mancanti o che non presentano un tipo di dati definito.

Non confondete il valore null con il valore speciale undefined. Quando null e undefined vengono confrontati mediante l’operatore di uguaglianza (==), risultano uguali. Tuttavia, quando null e undefined vengono confrontati mediante l’operatore di uguaglianza rigorosa (===), non risultano uguali.

Parametri

Esempio
Come utilizzare questo esempio
Nell’esempio seguente vengono controllati i primi sei valori di un array di tipo indice e viene visualizzato un messaggio se non è stato impostato alcun valore (se value == null):
var testArray:Array = new Array();
testArray[0] = "fee";
testArray[1] = "fi";
testArray[4] = "foo";

for (i = 0; i < 6; i++) {
    if (testArray[i] == null) {
        trace("testArray[" + i + "] == null");
    }
}

/* 
testArray[2] == null
testArray[3] == null
testArray[5] == null
*/

Elementi API correlati

object_proxy Spazi dei nomi  

Definisce i metodi della classe ObjectProxy. I metodi della classe ObjectProxy hanno un proprio spazio dei nomi per evitare conflitti in situazioni in cui una sottoclasse Proxy contiene nomi di metodi di istanze che corrispondono a nomi di metodi della classe Proxy.

Parametri
overrideParola chiave attributo 
Uso

override function name() { 
	// your statements here 
}

Specifica che un metodo sostituisce un metodo ereditato. Per sostituire un metodo ereditato, occorre utilizzare l’attributo override e verificare che il nome, l’attributo della proprietà class, il numero e il tipo di parametri e il tipo restituito corrispondano esattamente. Non è consentito tentare di sostituire un metodo senza utilizzare l’attributo override. Analogamente, viene generato un errore se si utilizza l’attributo override ma al metodo non corrisponde un metodo ereditato.

Non potete utilizzare l’attributo override sugli elementi seguenti:

  • Variabili
  • Costanti
  • Metodi statici
  • Metodi non ereditati
  • Metodi che implementano un metodo di interfaccia
  • Metodi ereditati contrassegnati come final nella superclasse

Anche se non potete sostituire una proprietà dichiarata con var o const, potete ottenere una funzionalità simile impostando come getter-setter la proprietà della classe base e sostituendo i metodi definiti con get e set.

Parametri
name:Function — Il nome del metodo da sostituire.

Elementi API correlati

packageparola chiave di definizione 
Uso

package packageName {
    class someClassName { 
    } 
}

Consente di organizzare il codice in gruppi distinti che possono essere importati da altri script. Dovete utilizzare la parola chiave package per indicare che una classe è un membro di un pacchetto.

Parametri
packageName:* — Il nome del pacchetto.

Elementi API correlati

privateParola chiave attributo 
Uso

class className{ 
	private var varName;
	private const kName;
	private function methodName() { 
		// your statements here 
	}
	private namespace nsName;
}

Specifica che una variabile, una costante o un metodo è disponibile solo per la classe che ne contiene la dichiarazione o la definizione. A differenza che in ActionScript 2.0, in ActionScript 3.0 private non fornisce più l’accesso alle sottoclassi. Inoltre, private limita l’accesso sia in fase di compilazione che in runtime. Per impostazione predefinita, una variabile o una funzione è disponibile a qualsiasi chiamante nello stesso pacchetto. Utilizzate questa parola chiave se desiderate limitare l’accesso a una variabile o funzione.

Potete utilizzare questa parola chiave solo nelle definizioni di classe, non nelle definizioni di interfaccia. Non potete applicare private a una classe o a qualunque altra definizione a livello di pacchetto.

Parametri
varName:* — Il nome della variabile che desiderate specificare come privata. Potete applicare l’attributo private solo se la variabile è all’interno di una classe.
kName:* — Il nome della costante che desiderate specificare come privata. Potete applicare l’attributo private solo se la costante è all’interno di una classe.
methodName:Function — Il nome del metodo che desiderate specificare come privato. Potete applicare l’attributo private solo se il metodo è all’interno di una classe.
nsName:Namespace — Il nome dello spazio dei nomi che desiderate specificare come privato. Potete applicare l’attributo private solo se il lo spazio dei nomi è all’interno di una classe.

Esempio
Come utilizzare questo esempio
Nell’esempio seguente viene illustrato il modo in cui potete nascondere determinate proprietà all’interno di una classe utilizzando la parola chiave private.
class A { 
  private var alpha:String = "visible only inside class A"; 
  public var beta:String = "visible everywhere"; 
}
	
class B extends A {
  function B() {
    alpha = "Access attempt from subclass"; // error
  }
}
Poiché alpha è una variabile privata, non potete accedervi dall’esterno della classe A, nemmeno dalla sottoclasse B. I tentativi di accesso alla variabile privata generano un errore.

Elementi API correlati

protectedParola chiave attributo 
Uso

class className{ 
	protected var varName;
	protected const kName;
	protected function methodName() { 
		// your statements here 
	}
	protected namespace nsName;
}

Specifica che una variabile, una costante, un metodo o uno spazio dei nomi è disponibile solo per la classe che ne contiene la definizione e per le eventuali sottoclassi. La definizione di protected in ActionScript 3.0 è simile a quella della versione ActionScript 2.0 di private, con la differenza che protected limita l’accesso sia in fase di compilazione che in runtime. Per impostazione predefinita, una variabile o una funzione è disponibile a qualsiasi chiamante nello stesso pacchetto. Utilizzate questa parola chiave se desiderate limitare l’accesso a una variabile o funzione.

Potete utilizzare questa parola chiave solo nelle definizioni di classe, non nelle definizioni di interfaccia. Non potete applicare private a una classe o a qualunque altra definizione a livello di pacchetto.

La definizione diprotected in ActionScript 3.0 è più restrittiva di quella di protected nel linguaggio di programmazione Java. In ActionScript 3.0 protected nel linguaggio di programmazione Java protected consente l’accesso anche a qualsiasi classe dello stesso pacchetto. Ad esempio, se una classe denominata Base contiene una proprietà contrassegnata come protected, in ActionScript 3.0 solo le classi che estendono Base possono accedere alla proprietà protetta. In Java, qualunque classe dello stesso pacchetto di Base ha accesso alla proprietà protetta, anche se non si tratta di una sottoclasse di Base.

Parametri
varName:* — Il nome della variabile che desiderate specificare come protetta. Potete applicare l’attributo protected solo se la variabile è all’interno di una classe.
kName:* — Il nome della costante che desiderate specificare come protetta. Potete applicare l’attributo protected solo se la costante è all’interno di una classe.
methodName:Function — Il nome del metodo che desiderate specificare come protetto. Potete applicare l’attributo protected solo se il metodo è all’interno di una classe.
nsName:Namespace — Il nome dello spazio dei nomi che desiderate specificare come protetto. Potete applicare l’attributo protected solo se lo spazio dei nomi è all’interno di una classe.

Esempio
Come utilizzare questo esempio
L’esempio seguente crea una variabile protetta nella classe A e accede correttamente a tale variabile nella classe B perché quest’ultima è una sottoclasse di A.
class A { 
  private var alpha:String = "visible only inside class A"; 
  protected var beta:String = "visible inside class A and its subclasses"; 
}
	
class B extends A {
  public function B() {
    beta = "Access attempt from subclass succeeded";
    trace(beta);  // Access attempt from subclass succeeded
  }
}

Elementi API correlati

publicParola chiave attributo 
Uso

public var varName
public const kName
public function functionName()  { 
	// your statements here 
}
public class className {
	// your statements here 
}
public namespace nsName

Specifica che una classe, una variabile, una costante o un metodo è disponibile a qualsiasi chiamante. Classi, variabili e metodi sono interni per impostazione predefinita, ovvero sono visibili solo all’interno del pacchetto corrente. Per rendere visibile ad altri chiamanti una classe, una variabile o un metodo, dovete utilizzare l’attributo public.

Parametri
className:Class — Il nome della classe che desiderate specificare come pubblica.
varName:* — Il nome della variabile che desiderate specificare come pubblica. Potete applicare l’attributo public a prescindere che la variabile faccia parte o meno della classe.
kName:* — Il nome della costante che desiderate specificare come pubblica. Potete applicare l’attributo public a prescindere che la costante faccia parte o meno della classe.
functionName:Function — Il nome della funzione o del metodo che desiderate specificare come pubblico. Potete applicare l’attributo public a prescindere che la funzione faccia parte o meno della classe.
nsName:Namespace — Il nome dello spazio dei nomi che desiderate specificare come pubblico. Potete applicare l’attributo public a prescindere che lo spazio dei nomi faccia parte o meno della classe.

Esempio
Come utilizzare questo esempio
L’esempio seguente mostra come utilizzare le variabili pubbliche in un file di classe:
class User { 
	public var age:Number; 
	public var fname:String; 
} // end of class User definition
 
var jimmy:User = new User(); 
jimmy.age = 27; 
jimmy.fname = "jimmy";
trace(jimmy.age, jimmy.fname); // 27 jimmy
Se trasformate una delle variabili pubbliche della classe User in una variabile privata, qualunque tentativo di accedere a tale variabile dall’esterno della classe User genera un errore.

Elementi API correlati

returnistruzione 
Uso

function functionName () {
	return [expression]
}

Fa in modo che l’esecuzione torni immediatamente alla funzione di chiamata. Se l’istruzione return è seguita da un’espressione, quest’ultima viene valutata e viene restituito il risultato.

Se la definizione di una funzione include un tipo restituito, l’istruzione return deve essere seguita da un’espressione. Se non viene specificato un tipo restituito e l’istruzione return è utilizzata da sola, restituisce il valore undefined.

Non è possibile eseguire return su più valori; se tentate di eseguire questa operazione, viene restituito solo l’ultimo valore. Nel seguente esempio, viene restituito c:

return a, b, c ;

Per fare in modo che vengano restituiti più valori, utilizzate un array o un oggetto.

Parametri
expression:* — Un’espressione da valutare e da restituire come valore della funzione. Questo parametro è opzionale.

Esempio
Come utilizzare questo esempio
Nell’esempio seguente viene utilizzata l’istruzione return all’interno del corpo della funzione sum() per restituire il valore aggiunto dei tre parametri. La successiva riga di codice chiama sum() e assegna il valore restituito alla variabile newValue.
function sum(a:Number, b:Number, c:Number):Number { 
	return (a + b + c); 
} 
var newValue:Number = sum(4, 32, 78); 
trace(newValue); // 114

Elementi API correlati

setparola chiave di definizione 
Uso

function set property(newValue:*) : void{ 
	// your statements here 
}

Definisce un setter, ovvero un metodo che appare nell’interfaccia pubblica come proprietà. Un setter è un metodo speciale che imposta il valore di una proprietà dichiarata con la parola chiave var. A differenza di altri metodi, un setter viene chiamato senza parentesi (()) e assomiglia quindi a una variabile.

I setter consentono di applicare il principio denominato "information hiding", che consente di creare un’interfaccia pubblica per una proprietà privata. Il vantaggio dell’information hiding consiste nel fatto che l’interfaccia pubblica rimane inalterata anche se l’implementazione sottostante della proprietà privata cambia.

Un altro vantaggio offerto dai setter è la possibilità di essere sostituiti nelle sottoclassi, a differenza delle proprietà dichiarate con var.

Il tipo restituito di un setter deve essere void o non specificato.

Un setter può essere combinato con un getter per creare una proprietà di lettura-scrittura. Per creare una proprietà di sola lettura, create un getter senza un setter corrispondente. Viceversa, per creare una proprietà di sola scrittura, create un setter senza un getter corrispondente.

Parametri
property:* — L’identificatore della proprietà modificata da set; questo valore deve essere uguale a quello utilizzato nel comando get corrispondente.
newValue:* — Il nuovo valore da assegnare.

Esempio
Come utilizzare questo esempio
Nell’esempio seguente viene creata una proprietà di lettura-scrittura denominata age definendo un getter-setter.
package {
	class User { 
	    private var userAge:Number; 
	    
	    public function get age():Number {
	    	return userAge;
	    }
	    
	    public function set age(x:Number):void {
	    	userAge = x;	
	    }
	} 
} 
Inserite il codice seguente nello script:
var myUser:User = new User();
myUser.age = 25;
trace(myUser.age); // 25

Elementi API correlati

staticParola chiave attributo 
Uso

class someClassName{ 
	static var varName; 
	static const kName;
	static function methodName() { 
		// your statements here
	} 
}

Specifica che una variabile, una costante o un metodo appartiene alla classe e non alle sue istanze.

Per accedere a un membro statico di una classe, utilizzate il nome della classe invece del nome di un’istanza. Ad esempio, la classe Date ha un metodo statico denominato parse(), che può essere chiamato solo utilizzando la sintassi seguente:

Date.parse()

Il metodo parse non può essere chiamato su un’istanza della classe Date. Ad esempio, il codice seguente genera un errore:

var myDate:Date = new Date();
            myDate.parse("Jan 01 00:00:00 2006"); // error

Potete utilizzare la parola chiave static solo nelle definizioni di classe, non nelle definizioni di interfaccia.

I membri statici delle classi non vengono ereditati. Non è possibile fare riferimento a un membro statico di una classe utilizzando il nome di una sottoclasse, come avviene in Java o C++. Tuttavia, potete fare riferimento a una variabile statica o a un metodo statico all’interno di una classe o di una sottoclasse, senza utilizzare alcun qualificatore. Vedete l’esempio riportato di seguito.

Non potete utilizzare l’istruzione super o la parola chiave this all’interno di metodi statici.

Parametri
varName:* — Il nome della variabile che desiderate specificare come statica.
kName:* — Il nome della costante che desiderate specificare come statica.
methodName:Function — Il nome del metodo che desiderate specificare come statico.

Esempio
Come utilizzare questo esempio
Nell’esempio seguente viene illustrato il modo in cui potete utilizzare la parola chiave static per creare un contatore che tenga traccia del numero di istanze che sono state create per la classe. Dal momento che la variabile numInstances è static, viene creata solo una volta per l’intera classe e non per ogni singola istanza. Create un nuovo file ActionScript denominato Users.as e inserite il codice seguente:
class Users { 
	private static var numInstances:Number = 0; 
	function Users() { 
		numInstances++; 
	} 
	static function get instances():Number { 
		return numInstances; 
	} 
}
Inserite il codice seguente nello script:
trace(Users.instances); 
var user1:Users = new Users(); 
trace(Users.instances); 
var user2:Users = new Users(); 
trace(Users.instances); 
L’esempio seguente estende la classe Users per mostrare che le variabili e i metodi statici non sono ereditati ma è possibile farvi riferimento nelle sottoclassi.
class PowerUsers extends Users{
    function PowerUsers() {
        instances++;  // unqualified reference to static property Users.instances is legal
    }
}

trace(PowerUsers.instances); // error, cannot access static property using PowerUsers class

superistruzione 
Uso

super([arg1, ..., argN])
super.method([arg1, ..., argN])

Richiama la versione superclasse o principale di un metodo o di una funzione di costruzione. Quando è utilizzata all’interno del corpo di una funzione di costruzione di classe, l’istruzione super() richiama la versione superclasse della funzione di costruzione. La chiamata alla funzione di costruzione della superclasse deve contenere il numero corretto di argomenti. Notate che la funzione di costruzione della superclasse viene chiamata in ogni caso, anche se non viene specificata esplicitamente. In mancanza di una chiamata esplicita, viene inserita automaticamente una chiamata senza argomenti prima della prima istruzione nel corpo della funzione di costruzione della superclasse. Di conseguenza, se definite una funzione di costruzione in una sottoclasse e la funzione di costruzione della superclasse accetta uno o più argomenti, dovete chiamare esplicitamente la funzione di costruzione della superclasse con il numero corretto di argomenti, altrimenti verrà generato un errore. La chiamata alla funzione di costruzione della superclasse, tuttavia, non deve essere necessariamente la prima istruzione nella funzione di costruzione della sottoclasse, come occorreva fare in ActionScript 2.0.

Quando viene utilizzata nel corpo del metodo di un’istanza, l’istruzione super può essere specificata con l’operatore punto (.) per chiamare la versione superclasse di un metodo, e può facoltativamente passare gli argomenti (arg1 ... argN) al metodo della superclasse. Questo è utile per creare metodi di sottoclasse che oltre ad aggiungere comportamenti supplementari ai metodi della superclasse, li richiamano affinché eseguano il loro comportamento originale.

Non potete utilizzare l’istruzione super all’interno di metodi statici.

Parametri
method:Function — Il metodo da chiamare nella superclasse.
argN:* — Parametri opzionali che vengono passati alla versione superclasse del metodo o alla funzione di costruzione della superclasse.

Elementi API correlati

switchistruzione 
Uso

switch (expression) {
	caseClause: 
	[defaultClause:] 
}

Determina il passaggio del controllo a un’istruzione di una serie, a seconda del valore di un’espressione. Tutte le istruzioni switch devono includere un’istruzione case predefinita che viene eseguita se nessuna delle istruzioni case corrisponde all’espressione. Ogni istruzione case deve terminare con un’istruzione break, in modo da uscire correttamente dall’istruzione. In caso di mancata uscita da un’istruzione case viene eseguito il codice dell’istruzione case successiva, anche se questa non corrisponde all’espressione da valutare.

Parametri
expression:* — Qualsiasi espressione.

Esempio
Come utilizzare questo esempio
Nell’esempio seguente viene definita un’istruzione switch che si risolve con l’istruzione case predefinita:
var switchExpression:int = 3;
		
switch (switchExpression) {
	case 0:
		trace(0);
		break;
	case 1:
		trace(1);
		break;
	case 2:
		trace(2);
		break;
	default:
		trace("Not 0, 1, or 2");
}

// Not 0, 1, or 2

Elementi API correlati

thisparola chiave di espressione primaria 
Uso

this

Un riferimento all’oggetto che contiene un metodo. Durante l’esecuzione di uno script, la parola chiave this fa riferimento all’oggetto che contiene lo script. All’interno del corpo di una funzione, la parola chiave this fa riferimento all’istanza di classe che contiene il metodo chiamato.

Parametri

Esempio
Come utilizzare questo esempio
Per chiamare un funzione definita in una classe dinamica, dovete utilizzare this per chiamare la funzione nell’area di validità appropriata:
// incorrect version of Simple.as
/*
dynamic class Simple {
    function callfunc() {
        func();
    }
}
*/
// correct version of Simple.as
dynamic class Simple {
    function callfunc() {
        this.func();
    }
}
Inserite il codice seguente nello script:
var simpleObj:Simple = new Simple();
simpleObj.func = function() {
	trace("hello there");
}
simpleObj.callfunc();
Il codice riportato sopra funziona quando utilizzate this nel metodo callfunc(). Tuttavia, si verifica un errore di sintassi se viene utilizzata la versione errata di Simple.as, che nell’esempio precedente è stata esclusa mediante un commento.

throwistruzione 
Uso

throw expression 

Crea (genera) un errore che può essere gestito, o rilevato, mediante un blocco di codice catch. Se un’eccezione non viene rilevata da un blocco catch, la rappresentazione sotto forma di stringa del valore generato viene inviata al pannello Output. Se un’eccezione non viene rilevata da un blocco catch o finally, la rappresentazione sotto forma di stringa del valore generato viene inviata al file di registro.

Tipicamente, vengono generate istanze della classe Error o delle sue sottoclassi (vedete la sezione degli esempi).

Parametri
expression:* — Un oggetto o espressione ActionScript.

Esempio
Come utilizzare questo esempio
In questo esempio, una funzione denominata checkEmail() verifica se la stringa che le viene passata è un indirizzo e-mail dal formato corretto. Se la stringa non contiene il simbolo @, viene generato un errore.
function checkEmail(email:String) { 
	if (email.indexOf("@") == -1) { 
		throw new Error("Invalid email address"); 
	} 
} 
checkEmail("someuser_theirdomain.com");
Quindi, il codice seguente chiama la funzione checkEmail() all’interno del blocco di codice try. Se la stringa e-mail non contiene un indirizzo e-mail valido, il messaggio di errore è generato dall’istruzione trace.
try { 
	checkEmail("Joe Smith"); 
} 
catch (e) { 
	trace(e); 
}
// Error: Invalid email address.
Nell’esempio seguente, viene generata una sottoclasse della classe Error. La funzione checkEmail() viene modificata in modo da generare un’istanza di tale classe.
// Define Error subclass InvalidEmailError 
class InvalidEmailAddress extends Error { 
    public function InvalidEmailAddress() {
    	message = "Invalid email address."; 
    }
}
Inserite il codice seguente nello script:
import InvalidEmailAddress; 
function checkEmail(email:String) { 
	if (email.indexOf("@") == -1) { 
		throw new InvalidEmailAddress(); 
	} 
} 
try { 
	checkEmail("Joe Smith"); 
} 
catch (e) { 
	trace(e);
}
// Error: Invalid email address.

Altri esempi

Elementi API correlati

trueparola chiave di espressione primaria 
Uso

true

Un valore booleano che rappresenta true. Un valore Boolean può essere true o false; il contrario di true è false. Quando la tipizzazione automatica dei dati converte true in un numero, questo diventa 1; quando converte true in una stringa, questa diventa "true".

Parametri

Esempio
Come utilizzare questo esempio
Nell’esempio seguente viene illustrato l’uso di true in un’istruzione if:
var shouldExecute:Boolean;
// ...
// code that sets shouldExecute to either true or false goes here
// shouldExecute is set to true for this example:

shouldExecute = true;

if (shouldExecute == true) {
    trace("your statements here");
}

// true is also implied, so the if statement could also be written:
// if (shouldExecute) {
//         trace("your statements here");
// }
Nell’esempio seguente viene illustrato il modo in cui la tipizzazione automatica dei dati converte true nel numero 1:
var myNum:Number;
myNum = 1 + true;
trace(myNum); // 2

Elementi API correlati

try..catch..finallyistruzione 
Uso

try { 
    // try block 
} finally { 
    // finally block  
} 

try { 
    // try block 
} catch(error[:ErrorType1]) {
    // catch block 
} [catch(error[:ErrorTypeN]) { 
    // catch block 
}] [finally {
    // finally block 
}]

Racchiude un blocco di codice nel quale può verificarsi un errore, quindi risponde all’errore. La gestione delle eccezioni, implementata mediante le istruzioni try..catch..finally è il meccanismo principale per la gestione delle condizioni di errore di runtime in ActionScript 3.0. Quando si verifica un errore runtime, Flash Player genera un’eccezione, ovvero sospende la normale esecuzione del codice e crea un oggetto speciale di tipo Error. Quindi, Flash Player passa (genera) l’oggetto errore al primo blocco catch disponibile. Se non è disponibile alcun blocco catch, l’eccezione viene considerata irrisolta. e determina l’interruzione dello script.

Potete utilizzare l’istruzione throw per generare esplicitamente eccezioni nel codice. Può essere specificato qualunque valore per questa istruzione, ma è consigliato l’uso di un oggetto perché garantisce flessibilità ed è conforme al comportamento di Flash Player.

Per rilevare un’eccezione, generata da Flash Player o dal codice, inserire in un blocco try il codice da cui potrebbe essere generata. Se un qualsiasi codice all’interno del blocco try genera un’eccezione, il controllo passa al blocco catch (se presente), quindi al blocco di codice finally (se presente). Il blocco finally viene sempre eseguito, a prescindere che sia stata generata un’eccezione o meno. Se il codice nel blocco try non genera un’eccezione (ovvero se il blocco try viene completato normalmente), il codice nel blocco catch viene ignorato, ma quello nel bloccofinally viene comunque eseguito. Il blocco finally viene eseguito anche se il blocco try viene chiuso mediante un’istruzione return.

Un blocco try deve essere seguito da un blocco catch, o da un blocco finally, o da entrambi. Un unico blocco try può avere più blocchi catch ma solo un blocco finally. Potete nidificare i blocchi try per il numero di livelli (profondità) desiderati.

Il parametro error specificato in un gestore catch deve essere un identificatore semplice (e o theException o x). È anche possibile assegnare un tipo al parametro. Quando sono utilizzati con più blocchi catch, i parametri con tipo consentono di rilevare più tipi di oggetti error generati da un unico blocco try.

Se l’eccezione generata è un oggetto, il tipo corrisponde se l’oggetto generato è una sottoclasse del tipo specificato. Se viene generato un errore di un tipo specifico, viene eseguito il blocco catch che gestisce l’errore corrispondente. Se viene generata un’eccezione di un tipo diverso da quello specificato, il blocco catch non viene eseguito e l’eccezione viene automaticamente eliminata dal blocco try verso un gestore catch corrispondente.

Se un errore viene generato all’interno di una funzione, e la funzione non comprende un gestore catch, ActionScript esce da quella funzione e da tutte le funzioni di chiamata, finché non viene trovato un blocco catch. Nel corso di questo processo, i gestori finally vengono chiamati a tutti i livelli.

Nota: se in un blocco try c’è un dispatcher di eventi che chiama il gestore di eventi, il blocco catch non rileva l'errore se generato nel gestore di eventi. Ogni errore generato in seguito può quindi essere rilevato intercettando LoaderInfo.uncaughtErrorEvents.

Parametri
error:* — L’espressione generata da un’istruzione throw, solitamente un’istanza della classe Errore o di una delle sue sottoclassi.

Esempio
Come utilizzare questo esempio
Nell’esempio seguente viene illustrata un’istruzione try..catch. Il codice all’interno del blocco try contiene un’operazione non consentita. Non è possibile aggiungere un oggetto Sprite come elemento secondario di se stesso. Di conseguenza, Flash Player genera un’eccezione e passa un oggetto del tipo ArgumentError al blocco catch corrispondente.
import flash.display.Sprite;

var spr:Sprite = new Sprite();
try {
	spr.addChild(spr);
}
catch (e:ArgumentError) {
	trace (e); // ArgumentError: Error #2024: An object may not be added as a child of itself.
}
Nell’esempio seguente, gli oggetti RecordSetException e MalformedRecord sono sottoclassi della classe Error.
class RecordSetException extends Error { 
	public function RecordSetException () {
		message = "Record set exception occurred."; 
	}
}

class MalformedRecord extends Error { 
	public function MalformedRecord {
		message = "Malformed record exception occurred."; 
	}
}
All’interno del metodo sortRows() della classe RecordSet, viene generato uno degli errori precedentemente definiti, a seconda del tipo di eccezione che si è verificata. L’esempio seguente mostra il possibile aspetto di tale codice:
class RecordSet { 
	public function sortRows() { 
		var returnVal:Number = randomNum(); 
		if (returnVal == 1) { 
			throw new RecordSetException(); 
		} 
		else if (returnVal == 2) { 
			throw new MalformedRecord(); 
		} 
	}
	public function randomNum():Number { 
		return Math.round(Math.random() * 10) % 3; 
	}
}
Infine, il codice seguente richiama il metodo sortRows() su un’istanza della classe RecordSet. Il metodo definisce i blocchi catch per ciascun tipo di errore che viene generato da sortRows().
import RecordSet; 
var myRecordSet:RecordSet = new RecordSet();
try { 
	myRecordSet.sortRows(); 
	trace("everything is fine"); 
} 
catch (e:RecordSetException) { 
	trace(e.toString()); 
} 
catch (e:MalformedRecord) { 
	trace(e.toString()); 
}

Altri esempi

Elementi API correlati

use namespacedirettiva 
Uso

use namespace ns1[, ns2, ...nsN]

Determina l’aggiunta degli spazi dei nomi specificati alla serie di spazi dei nomi aperti. Gli spazi dei nomi specificati vengono rimossi dalla serie di spazi dei nomi aperti dopo l’uscita dal blocco di codice corrente. La direttiva use namespace può apparire al livello principale di un programma o di una definizione di pacchetto o di classe.

Parametri
nsN:Namespace — Determina l’aggiunta di uno o più spazi dei nomi alla serie di spazi dei nomi aperti.

Elementi API correlati

varparola chiave di definizione 
Uso

var variableName [= value1][...,variableNameN[=valueN]] 

Specifica una variabile. Se dichiarate delle variabili all’interno di una funzione, tali variabili sono locali, vengono definite per la funzione e scadono al termine della chiamata della funzione.

Non è possibile dichiarare come variabile locale una variabile che si trova nell’area di validità un altro oggetto.

my_array.length = 25; // ok 
var my_array.length = 25; // syntax error 

È possibile assegnare un tipo di dati a una variabile aggiungendo un carattere di due punti seguito dal tipo di dati.

Potete dichiarare più variabili in un’istruzione separando le dichiarazioni mediante virgole (tuttavia, questa sintassi può ridurre la chiarezza del codice):

var first:String = "Bart", middle:String = "J.", last:String = "Bartleby";

Parametri
variableName:* — Un identificatore.

Esempio
Come utilizzare questo esempio
Il codice ActionScript seguente crea un nuovo array di nomi di prodotto. Array.push aggiunge un elemento alla fine dell’array.
var product_array:Array = new Array("Studio", "Dreamweaver", "Flash", "ColdFusion", "Contribute", "Breeze"); 
product_array.push("Flex"); 
trace(product_array); 
// Studio,Dreamweaver,Flash,ColdFusion,Contribute,Breeze,Flex

Elementi API correlati

whileistruzione 
Uso

while (condition) { 
	// statement(s)
}

Valuta una condizione e, se questa restituisce true, esegue una o più istruzioni prima di tornare a valutare la condizione. Dopo che la condizione ha restituito false, le istruzioni vengono ignorate e il ciclo termina.

L’istruzione while esegue le serie di operazioni seguenti. Ogni ripetizione dal punto 1 al punto 4 viene definita iterazione del ciclo. La condizione viene verificata all’inizio di ogni iterazione, come nei passaggi seguenti:

  1. L’espressione condition viene valutata.
  2. Se condition restituisce true o un valore che viene convertito nel valore booleano true (ad esempio, un numero diverso da zero), passare al punto 3. Altrimenti, l’istruzione while viene completata e l’esecuzione viene ripresa in corrispondenza della prima istruzione dopo il ciclo while.
  3. Eseguire il blocco di istruzioni statement(s). Se viene incontrata un’istruzione continue, ignorate le istruzioni rimanenti e passate al punto 1. Se viene incontrata un’istruzione break, l’istruzione while viene completata e l’esecuzione riprende dalla prima istruzione successiva al ciclo while.
  4. Andate al punto 1.

La ripetizione ciclica viene solitamente utilizzata per eseguire un’azione finché la variabile counter è inferiore al valore specificato. Alla fine di ogni ciclo, la variabile counter viene incrementata finché non viene raggiunto il valore specificato. A quel punto, la condizione non è più true e il ciclo termina.

Le parentesi graffe ({}) che racchiudono le istruzioni che devono essere eseguite dall’istruzione while non sono necessarie se viene eseguita una sola istruzione.

Parametri
condition:Boolean — Espressione che restituisce true o false.

Esempio
Come utilizzare questo esempio
Nell’esempio seguente, l’istruzione while viene utilizzata per provare un’espressione. Quando il valore di i è inferiore a 20, il valore di i viene tracciato. Quando la condizione non è più true, il ciclo viene terminato.
var i:Number = 0; 
while (i < 20) { 
	trace(i); 
	i += 3; 
}
/*
0 
3 
6 
9 
12
15 
18
*/

Elementi API correlati

withistruzione 
Uso

with (object:Object) { 
	// statement(s)
}

Definisce un oggetto predefinito da utilizzare per l’esecuzione di una o più istruzioni, con il possibile risultato di ridurre la quantità di codice da scrivere.

Il parametro object diventa il contesto in cui le proprietà, le variabili e le funzioni del parametro statement(s) vengono lette. Ad esempio, se object è my_array e due delle proprietà specificate sono length e concat, queste proprietà vengono automaticamente lette come my_array.length e my_array.concat. In un altro esempio, seobject è state.california, qualsiasi azione o istruzione interna all’istruzione with viene chiamata dall’interno dell’istanza california.

Per trovare il valore di un identificatore nel parametro statement(s), ActionScript lo cerca in tutti i livelli della catena, secondo un ordine prestabilito, partendo dall’inizio della catena delle aree di validità specificata da object.

La catena delle aree di validità utilizzata dall’istruzione with per trovare gli identificatori comincia con il primo elemento dell’elenco seguente e continua fino all’ultimo elemento:

  • L’oggetto specificato nel parametro object nell’istruzione with più interna
  • L’oggetto specificato nel parametro object nell’istruzione with più esterna
  • L’oggetto Activation (un oggetto provvisorio creato automaticamente quando lo script chiama una funzione che contiene le variabili locali chiamate nella funzione)
  • L’oggetto contenente lo script in fase di esecuzione
  • L’oggetto Global (oggetti incorporati quali Math e String)

Per impostare una variabile all’interno di un’istruzione with, è necessario aver dichiarato la variabile fuori dall’istruzione with, oppure immettere il percorso completo della linea temporale in cui la variabile dovrà risiedere. Se impostate una variabile in un’istruzione with senza dichiararla, l’istruzione with cerca il valore in base alla catena delle aree di validità. Se la variabile non esiste già, il nuovo valore viene impostato sulla linea temporale da cui l’istruzione with era stata chiamata.

Parametri
object:Object — Un’istanza di un clip filmato o oggetto ActionScript.

Esempio
Come utilizzare questo esempio
Nell’esempio seguente, vengono impostate le proprietà _x e _y dell’istanza someOther_mc, quindi viene indicato a someOther_mc di andare al fotogramma 3 e arrestarsi. with (someOther_mc) { _x = 50; _y = 100; gotoAndStop(3); } Nel frammento di codice seguente viene illustrato come scrivere il codice precedente senza ricorrere a un’istruzione with. someOther_mc._x = 50; someOther_mc._y = 100; someOther_mc.gotoAndStop(3); L’istruzione with è utile per accedere a più elementi contemporaneamente in un elenco di catene delle aree di validità. Nell’esempio seguente, l’oggetto Math incorporato viene collocato all’inizio della catena delle aree di validità. Se impostate Math come oggetto predefinito, gli identificatori cos, sin e PI vengono risolti rispettivamente in Math.cos, Math.sin e Math.PI. Gli identificatori a, x, y e r non sono metodi o proprietà dell’oggetto Math, ma poiché sono presenti nell’area di attivazione della funzione polar(), vengono risolti nelle variabili locali corrispondenti.
function polar(r:Number):void { 
	var a:Number, x:Number, y:Number; 
	with (Math) { 
		a = PI * pow(r, 2); 
		x = r * cos(PI); 
		y = r * sin(PI / 2); 
	} 
	trace("area = " + a); 
	trace("x = " + x); 
	trace("y = " + y); 
} polar(3);
/* 
area = 28.2743338823081 
x = -3 
y = 3
*/

[ X ]Perché in inglese?
Il contenuto della Guida di riferimento di ActionScript 3.0 appare in inglese

Non tutte le parti della Guida di riferimento di ActionScript 3.0 sono tradotte in tutte le lingue. Quando un elemento del linguaggio non è tradotto, viene riportato in inglese. Ad esempio, la classe ga.controls.HelpBox non è tradotta in nessuna lingua. Pertanto, nella versione italiana della guida di riferimento, la descrizione della classe ga.controls.HelpBox è riportata in inglese.