Adobe® Flash® Platform용 ActionScript® 3.0 참조 설명서
 |  패키지 및 클래스 목록 숨기기 |  패키지  |  클래스  |  새로운 내용  |  색인  |  부록  |  영어로 표시되는 이유
필터: AIR 30.0 이하, Flash Player 30.0 이하, Flash Lite 4
Flex 4.6 이하, Flash Pro CS6 이하
필터 숨기기
flash.net 

SharedObject  - AS3

패키지x

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

언어 요소

전역 상수
전역 함수
연산자
명령문, 키워드 및 지시문
특수 유형 연산자

부록

새로운 내용
컴파일러 오류
컴파일러 경고
런타임 오류
ActionScript 3으로 마이그레이션
지원되는 문자 세트
MXML 전용 태그
모션 XML 요소
Timed Text 태그
사용되지 않는 요소의 목록
액세스 가능성 구현 상수
ActionScript 예제 사용 방법
법적 고지 사항
패키지flash.net
클래스public class SharedObject
상속SharedObject Inheritance EventDispatcher Inheritance Object

언어 버전: ActionScript 3.0
런타임 버전: AIR 1.0, Flash Player 9, Flash Lite 4

SharedObject 클래스는 사용자의 컴퓨터 또는 서버에서 제한된 양의 데이터를 읽고 저장하는 데 사용됩니다. 공유 객체는 로컬 컴퓨터 또는 원격 서버에 영구적으로 저장되는 여러 클라이언트 SWF 파일과 객체 사이의 실시간 데이터 공유를 제공합니다. 로컬 공유 객체는 브라우저 쿠키와 비슷하며, 원격 공유 객체는 실시간 데이터 전송 장치와 비슷합니다. 원격 공유 객체를 사용하려면 Adobe Flash Media Server가 필요합니다.

다음과 같은 경우 공유 객체를 사용하십시오.

  • 로컬 지속성을 유지합니다. 이것은 공유 객체를 사용하는 가장 간단한 방법이며 Flash Media Server가 필요하지 않습니다. 예를 들어 SharedObject.getLocal()을 호출하여 응용 프로그램에서 공유 객체(예: 메모리 있는 계산기)를 만들 수 있습니다. 사용자가 계산기를 닫으면 Flash Player는 마지막 값을 사용자 컴퓨터의 공유 객체에 저장합니다. 다음에 계산기가 실행되면 이전의 값을 포함하고 있습니다. 또는 계산기 응용 프로그램을 닫기 전에 공유 객체의 속성을 null로 설정했다면, 다음에 이 응용 프로그램을 실행할 때 값을 지니지 않은 상태로 열립니다. 로컬 지속성을 유지하는 또 다른 예는 복잡한 웹 사이트에서 사용자 환경 설정이나 기타 데이터(예: 사용자가 뉴스 사이트에서 읽은 기사 레코드)를 추적하는 것입니다. 이 정보를 추적하면 이미 읽은 기사를 읽지 않은 새 기사와 다르게 표시할 수 있습니다. 사용자의 컴퓨터에 이 정보를 저장하면 서버 로드가 줄어듭니다.
  • Flash Media Server에 데이터를 저장 및 공유합니다. 공유 객체는 다른 클라이언트가 검색할 수 있도록 서버에 데이터를 저장할 수 있습니다. 예를 들어 SharedObject.getRemote()를 호출해서 전화번호부처럼 서버에 지속적으로 남아 있는 원격 공유 객체를 생성합니다. 클라이언트가 공유 객체를 변경할 때마다 현재 객체에 연결되어 있거나 나중에 이 객체에 연결하는 모든 클라이언트가 변경된 데이터를 사용할 수 있습니다. 객체가 로컬에서도 영구적이며 클라이언트가 서버에 연결되어 있지 않은 동안 데이터를 변경할 경우, 데이터는 클라이언트가 다음 번에 객체에 연결할 때 원격 공유 객체로 복사됩니다.
  • 실시간으로 데이터를 공유합니다. 공유 객체는 여러 클라이언트 간에 실시간으로 데이터를 공유할 수 있습니다. 예를 들어 채팅룸에 연결된 사용자 목록을 저장하고 있는 원격 공유 객체를 열 수 있으며 이 객체에 연결된 모든 클라이언트는 그 목록을 볼 수 있게 됩니다. 어떤 사용자가 채팅룸에 입장하거나 떠나면 그 객체는 업데이트되며 객체에 연결된 모든 클라이언트에 수정된 채팅룸 사용자 목록이 표시됩니다.

로컬 공유 객체를 생성하려면 SharedObject.getLocal()를 호출합니다. 원격 공유 객체를 생성하려면 SharedObject.getRemote()를 호출합니다.

응용 프로그램을 종료하면 공유 객체는 플러시, 즉 디스크에 쓰여집니다. 또한 flush() 메서드를 호출하여 데이터를 명시적으로 디스크에 쓸 수 있습니다.

로컬 디스크 공간을 고려해야 합니다. 로컬 공유 객체는 응용 프로그램을 설계할 때 중요하게 고려해야 할 몇 가지 한계가 있습니다. 간혹 SWF 파일에서 로컬 공유 객체에 쓸 수 없거나, 사용자가 모르는 상태에서 로컬 공유 객체에 저장된 데이터가 삭제될 수 있습니다. Flash Player 사용자는 개별 도메인 또는 모든 도메인에 대해 사용 가능한 디스크 공간을 관리할 수 있습니다. 사용자가 사용 가능한 디스크 공간을 줄이면 일부 로컬 공유 객체가 삭제될 수 있습니다. 또한 Flash Player 사용자에게는 제3의 도메인(현재 브라우저 주소 막대에 있는 도메인 이외의 도메인)이 로컬 공유 객체를 읽거나 쓰는 것을 방지하는 개인 정보 제어 기능이 제공됩니다. Mac OS에서는 AIR 3.3부터 로컬 공유 객체의 위치가 변경되었으므로 3.3 네임스페이스로 업그레이드할 경우 객체가 손실된 것처럼 나타날 수 있습니다.

참고: 원격 서버가 아니라 로컬 컴퓨터에 저장되어 실행되는 SWF 파일은 항상 타사 공유 객체를 디스크에 쓸 수 있습니다. 타사 공유 객체에 대한 자세한 내용은 Flash Player 도움말에서 전역 저장 설정 패널을 참조하십시오.

사용할 수 있는 디스크 공간의 양 및 사용자 개인정보보호를 위한 통제와 관련된 실패가 없는지 확인하는 것이 좋습니다. getLocal()flush()를 호출할 때 이러한 사항을 확인합니다.

  • SharedObject.getLocal() - 사용자가 타사 공유 객체를 비활성화하고 SWF 파일의 도메인이 브라우저 주소 표시줄의 도메인과 일치하지 않는 경우처럼 이 메서드 호출에 실패하면 Flash Player에서는 예외가 발생합니다.
  • SharedObject.flush() - 이 메서드 호출에 실패하면 Flash Player에서는 예외가 발생합니다. 성공하면 SharedObjectFlushStatus.FLUSHED를 반환합니다. 추가 저장 공간이 필요하면 SharedObjectFlushStatus.PENDING을 반환합니다. Flash Player는 로컬에 저장된 정보를 위한 저장 공간 증가를 허용할 것인지 사용자에게 묻습니다. 그런 다음 플러시 실패 또는 성공을 나타내는 정보 객체와 함께 netStatus 이벤트가 전달됩니다.

SWF 파일이 로컬 공유 객체를 만들거나 수정하려 할 경우, SWF 파일의 크기는 사용자의 로컬 공유 객체 저장 제한을 늘리라는 메시지가 포함된 대화 상자를 표시하는 최소 크기인 폭 215픽셀, 높이 138픽셀 이상이어야 합니다. SWF 파일이 이 크기보다 작고 저장 제한을 늘려야 하는 경우, SharedObject.flush()가 실패하며 SharedObjectFlushedStatus.PENDING을 반환하고 netStatus 이벤트를 전달합니다.

원격 공유 객체 Flash Media Server가 있으면 원격 공유 객체를 생성 및 사용할 수 있으며 이러한 객체는 응용 프로그램에 연결된 모든 클라이언트와 실시간으로 공유됩니다. 한 클라이언트가 원격 공유 객체의 속성을 변경하면 그 내역이 연결된 모든 클라이언트에 적용됩니다. 예를 들어 원격 공유 객체를 사용하면 멀티 플레이 게임의 사용자와 같은 클라이언트들을 동기화할 수 있습니다.

각 원격 공유 객체는 data 속성을 지니며, 이것은 데이터를 저장하는 속성을 지닌 Object입니다. 이 데이터 객체의 속성을 변경하려면 setProperty()를 호출합니다. 서버에서는 속성을 업데이트하고 sync 이벤트를 전달하며 다시 연결된 클라이언트에게 속성을 전송합니다.

클라이언트, 서버 또는 양쪽 모두를 선택해서 영구적인 원격 공유 객체를 만들 수도 있습니다. 기본적으로 Flash Player는 로컬에 영구적인 원격 공유 객체를 최대 100K까지 저장합니다. 더 큰 객체를 저장하고자 할 경우 Flash Player는 로컬 저장 대화 상자를 표시하고 이 대화 상자를 사용해 사용자가 공유 객체의 로컬 저장을 허용 또는 거부할 수 있습니다. 스테이지 크기가 215 x 138 픽셀 이상이 되도록 하십시오. 이것은 Flash가 대화 상자를 표시하는 데 필요한 최소 크기입니다.

사용자가 [허용]을 선택하면 서버가 해당 공유 객체를 저장해서 netStatus 이벤트를 SharedObject.Flush.Successcode 속성과 함께 전달합니다. 사용자가 [거부]를 선택하면 서버는 해당 공유 객체를 저장하지 않고 netStatus 이벤트를 SharedObject.Flush.Failedcode 속성과 함께 전달합니다.

예제 보기

관련 API 요소



공용 속성
 속성정의 주체
  client : Object
콜백 메서드가 호출되는 객체를 나타냅니다.
SharedObject
 Inheritedconstructor : Object
지정된 객체 인스턴스의 클래스 객체 또는 생성자 함수에 대한 참조입니다.
Object
  data : Object
[읽기 전용] 객체의 data 속성에 할당된 특성 모음입니다. 이러한 특성은 공유 및 저장이 가능합니다.
SharedObject
  defaultObjectEncoding : uint
[정적] SWF 파일에서 만들어진 모든 로컬 공유 객체에 대한 기본 객체 인코딩(AMF 버전)입니다.
SharedObject
  fps : Number
[쓰기 전용] 공유 객체에 대한 클라이언트의 변경이 서버로 전송되는 초당 횟수를 지정합니다.
SharedObject
  objectEncoding : uint
이 공유 객체의 객체 인코딩(AMF 버전)입니다.
SharedObject
      preventBackup : Boolean
[정적] 로컬 공유 객체를 iOS 클라우드 백업 서비스에 백업할지 여부를 지정합니다.
SharedObject
  size : uint
[읽기 전용] 공유 객체의 현재 크기(바이트)입니다.
SharedObject
공용 메서드
 메서드정의 주체
 Inherited
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
리스너에서 이벤트 알림을 받을 수 있도록 EventDispatcher 객체에 이벤트 리스너 객체를 등록합니다.
EventDispatcher
  
로컬 공유 객체의 경우, 모든 데이터를 제거하고 디스크에서 공유 객체를 삭제합니다.
SharedObject
  
원격 공유 객체와 서버 간의 연결을 종료합니다.
SharedObject
  
connect(myConnection:NetConnection, params:String = null):void
지정된 NetConnection 객체를 통해 서버의 원격 공유 객체에 연결합니다.
SharedObject
 Inherited
이벤트를 이벤트 흐름으로 전달합니다.
EventDispatcher
  
flush(minDiskSpace:int = 0):String
로컬 영구 공유 객체를 로컬 파일에 즉시 기록합니다.
SharedObject
  
getLocal(name:String, localPath:String = null, secure:Boolean = false):SharedObject
[정적] 현재 클라이언트에만 사용 가능한 로컬 영구 공유 객체에 대한 참조를 반환합니다.
SharedObject
  
getRemote(name:String, remotePath:String = null, persistence:Object = false, secure:Boolean = false):SharedObject
[정적] 다수의 클라이언트가 액세스할 수 있는 Flash Media Server의 공유 객체로 참조를 반환합니다.
SharedObject
 Inherited
EventDispatcher 객체에 특정 유형의 이벤트에 대한 리스너가 등록되어 있는지 여부를 확인합니다.
EventDispatcher
 Inherited
지정된 속성이 객체에 정의되어 있는지 여부를 나타냅니다.
Object
 Inherited
Object 클래스의 인스턴스가 매개 변수로 지정된 객체의 프로토타입 체인에 있는지 여부를 나타냅니다.
Object
 Inherited
지정된 속성이 존재하고 열거 가능한지 여부를 나타냅니다.
Object
 Inherited
removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void
EventDispatcher 객체에서 리스너를 제거합니다.
EventDispatcher
  
send(... arguments):void
메시지를 보낸 클라이언트를 포함해 원격 공유 객체에 연결된 모든 클라이언트로 메시지를 브로드캐스트합니다.
SharedObject
  
setDirty(propertyName:String):void
공유 객체의 속성 값이 변경되었음을 서버에 알립니다.
SharedObject
  
setProperty(propertyName:String, value:Object = null):void
공유 객체의 속성 값을 업데이트하고 해당 속성 값이 변경되었음을 서버에 알립니다.
SharedObject
 Inherited
루프 작업에서 동적 속성을 사용할 수 있는지 여부를 설정합니다.
Object
 Inherited
로캘별 규칙에 따라 서식이 지정된 이 객체의 문자열 표현을 반환합니다.
Object
 Inherited
지정된 객체의 문자열 표현을 반환합니다.
Object
 Inherited
지정된 객체의 프리미티브 값을 반환합니다.
Object
 Inherited
이 EventDispatcher 객체 또는 조상 객체에 지정한 이벤트 유형에 대한 이벤트 리스너가 등록되어 있는지 여부를 확인합니다.
EventDispatcher
이벤트
 이벤트 요약 정의 주체
 Inherited[브로드캐스트 이벤트] Flash Player 또는 AIR 응용 프로그램이 운영 체제 포커스를 얻어 활성화될 때 전달됩니다.EventDispatcher
  기본 비동기 코드에서 비동기적으로 예외가 발생할 때 전달됩니다.SharedObject
 Inherited[브로드캐스트 이벤트] Flash Player 또는 AIR 응용 프로그램이 운영 체제 포커스를 잃고 비활성화될 때 전달됩니다.EventDispatcher
  SharedObject 인스턴스가 상태 또는 오류 상황을 보고할 때 전달됩니다.SharedObject
  서버에서 원격 공유 객체를 업데이트하면 전달됩니다.SharedObject
속성 세부 정보

client

속성
client:Object

언어 버전: ActionScript 3.0
런타임 버전: AIR 1.0, Flash Player 9, Flash Lite 4

콜백 메서드가 호출되는 객체를 나타냅니다. 기본 객체는 this입니다. client 속성을 다른 객체로 설정하여, 이 객체에서 콜백 메서드를 호출할 수도 있습니다.



구현
    public function get client():Object
    public function set client(value:Object):void

오류
TypeError client 속성은 null이 아닌 객체로 설정해야 합니다.

data

속성 
data:Object  [읽기 전용]

언어 버전: ActionScript 3.0
런타임 버전: AIR 1.0, Flash Player 9, Flash Lite 4

객체의 data 속성에 할당된 특성 모음입니다. 이러한 특성은 공유 및 저장이 가능합니다. 각 특성은 Array, Number, Boolean, ByteArray, XML 등 어떤 ActionScript 또는 JavaScript 유형의 객체도 될 수 있습니다. 예를 들어 다음 예제는 공유 객체의 다양한 속성에 값을 지정합니다.

     var items_array:Array = new Array(101, 346, 483);
     var currentUserIsAdmin:Boolean = true;
     var currentUserName:String = "Ramona";
     
     var my_so:SharedObject = SharedObject.getLocal("superfoo");
     my_so.data.itemNumbers = items_array;
     my_so.data.adminPrivileges = currentUserIsAdmin;
     my_so.data.userName = currentUserName;
     
     for (var prop in my_so.data) {
       trace(prop+": "+my_so.data[prop]);
     }
     

공유 객체가 영구적이면 data 속성의 모든 특성이 저장되고, 이 공유 객체에는 다음 정보가 포함됩니다.

     userName: Ramona
     adminPrivileges: true
     itemNumbers: 101,346,483
     

참고: 공유 객체의 data 속성에 직접 값을 할당하지 마십시오(예: so.data = someValue). 이러한 할당은 무시됩니다.

로컬 공유 객체의 특성을 삭제하려면 delete so.data.attributeName과 같은 코드를 사용합니다. 로컬 공유 객체의 특성을 null 또는 undefined로 설정해도 특성이 삭제되지는 않습니다.

공유 객체에 대하여 전용 값, 즉 객체가 사용 중인 동안 클라이언트 인스턴스에만 사용할 수 있으며 객체가 닫힐 때 객체와 함께 저장되지 않는 값을 작성하려면 다음 예제와 같이 값을 저장할 속성을 작성할 때 data라는 이름을 붙이지 않습니다.

     var my_so:SharedObject = SharedObject.getLocal("superfoo");
     my_so.favoriteColor = "blue";
     my_so.favoriteNightClub = "The Bluenote Tavern";
     my_so.favoriteSong = "My World is Blue";
     
     for (var prop in my_so) {
       trace(prop+": "+my_so[prop]);
     }
     

공유 객체에는 다음 데이터가 포함됩니다.

     favoriteSong: My World is Blue
     favoriteNightClub: The Bluenote Tavern
     favoriteColor: blue
     data: [object Object]
     

서버와 함께 사용된 원격 공유 객체의 경우 data 속성의 모든 특성을 공유 객체에 연결된 모든 클라이언트가 사용할 수 있습니다. 객체가 영구적일 경우 모든 특성은 저장됩니다. 한 클라이언트가 특성 값을 변경하면 모든 클라이언트는 새로운 값을 보게 됩니다.



구현
    public function get data():Object

관련 API 요소

defaultObjectEncoding

속성 
defaultObjectEncoding:uint

언어 버전: ActionScript 3.0
런타임 버전: AIR 1.0, Flash Player 9, Flash Lite 4

SWF 파일에서 만들어진 모든 로컬 공유 객체에 대한 기본 객체 인코딩(AMF 버전)입니다. 로컬 공유 객체가 디스크에 기록될 때 SharedObject.defaultObjectEncoding 속성은 ActionScript 3.0 형식(AMF3) 또는 ActionScript 1.0이나 2.0 형식(AMF0) 중 어떤 Action Message Format 버전을 사용해야 할지를 나타냅니다.

로컬 및 원격 공유 객체 인코딩의 차이점을 비롯하여 객체 인코딩에 대한 자세한 내용은 objectEncoding 속성의 설명을 참조하십시오.

SharedObject.defaultObjectEncoding의 기본값은 ActionScript 3.0 형식인 AMF3을 사용하는 것으로 설정됩니다. ActionScript 2.0이나 1.0 SWF 파일에서 읽을 수 있는 로컬 공유 객체를 써야 할 경우, 로컬 공유 객체를 만들기 전에 스크립트 시작 부분에서 SharedObject.defaultObjectEncodingflash.net.ObjectEncoding.AMF0으로 설정하여 ActionScript 1.0 또는 ActionScript 2.0 형식을 사용하게 합니다. 이후로 만들어지는 모든 로컬 공유 객체는 AMF0 인코딩을 사용하며 기존의 컨텐츠와 상호 작용할 수 있습니다. 로컬 공유 객체가 만들어진 후에는 SharedObject.defaultObjectEncoding을 설정하여 기존 로컬 공유 객체의 objectEncoding 값을 변경할 수 없습니다.

SWF 파일에서 만들어진 모든 공유 객체를 대상으로 하지 않고 객체별로 객체 인코딩을 설정하려면 로컬 공유 객체의 objectEncoding 속성을 대신 설정합니다.



구현
    public static function get defaultObjectEncoding():uint
    public static function set defaultObjectEncoding(value:uint):void

관련 API 요소

fps

속성 
fps:Number  [쓰기 전용]

언어 버전: ActionScript 3.0
런타임 버전: AIR 1.0, Flash Player 9, Flash Lite 4

공유 객체에 대한 클라이언트의 변경이 서버로 전송되는 초당 횟수를 지정합니다.

클라이언트와 서버 간의 트래픽 양을 제어하고 싶을 때 이 메서드를 사용합니다. 예를 들어 클라이언트와 서버 간의 연결이 상대적으로 느리다면 fps를 상대적으로 낮은 값으로 설정할 수 있습니다. 반대로 시간이 중요한 다중 사용자 응용 프로그램에 클라이언트가 연결된 경우 fps를 상대적으로 높은 값으로 설정할 수도 있습니다.

fps를 설정하면 sync 이벤트가 트리거되고 모든 변경 사항이 서버에 업데이트됩니다. 서버를 수동으로만 업데이트하려면 fps를 0으로 설정합니다.

sync 이벤트가 전달될 때까지는 변경 사항이 서버로 전송되지 않습니다. 즉 서버의 응답 시간이 느리다면 이 속성에서 지정된 값보다 더 적은 빈도로 서버에 업데이트가 전송될 수 있습니다.



구현
    public function set fps(value:Number):void

objectEncoding

속성 
objectEncoding:uint

언어 버전: ActionScript 3.0
런타임 버전: AIR 1.0, Flash Player 9, Flash Lite 4

이 공유 객체의 객체 인코딩(AMF 버전)입니다. 로컬 공유 객체가 디스크에 기록될 때 objectEncoding 속성은 ActionScript 3.0 형식(AMF3) 또는 ActionScript 1.0이나 2.0 형식(AMF0) 중 어떤 Action Message Format 버전을 사용해야 할지를 나타냅니다.

객체 인코딩은 해당 공유 객체가 로컬 객체인지 원격 객체인지에 따라 다르게 처리됩니다.

  • 로컬 공유 객체. 로컬 공유 객체의 objectEncoding 속성 값을 가져오거나 설정할 수 있습니다. objectEncoding 값은 이 로컬 공유 객체 쓰기에서 어떤 형식이 사용되는가에 영향을 줍니다. 이 로컬 공유 객체를 ActionScript 2.0 또는 1.0 SWF 파일에서 읽을 수 있어야 한다면 objectEncodingObjectEncoding.AMF0으로 설정합니다. 객체 인코딩이 AMF3을 쓰도록 설정되었더라도 Flash Player는 AMF0 로컬 공유 객체를 읽을 수 있습니다. 즉, 이 속성의 기본값 ObjectEncoding.AMF3을 사용할 경우에도 SWF 파일은 ActionScript 2.0 또는 1.0 SWF 파일에서 만들어진 공유 객체를 읽을 수 있습니다.
  • 원격 공유 객체. 서버와 연결되었을 때, 원격 공유 객체는 연관된 NetConnection 인스턴스(원격 공유 객체 연결에 사용된 인스턴스)로부터 objectEncoding 설정을 상속합니다. 서버에 연결되지 않았으면 원격 공유 객체는 연관된 NetConnection 인스턴스로부터 defaultObjectEncoding 설정을 상속합니다. 원격 공유 객체의 objectEncoding 속성 값이 NetConnection 인스턴스에 의해 결정되므로, 이 속성은 원격 공유 객체에게 읽기 전용입니다.



구현
    public function get objectEncoding():uint
    public function set objectEncoding(value:uint):void

오류
ReferenceError — 원격 공유 객체에서 objectEncoding 속성 값을 설정하려고 시도했습니다. 원격 공유 객체에 대해 이 속성은 연관된 NetConnection 인스턴스에 의해 값이 결정되므로 읽기 전용입니다.

관련 API 요소

    

preventBackup

속성 
preventBackup:Boolean

언어 버전: ActionScript 3.0
런타임 버전: AIR 3.7

로컬 공유 객체를 iOS 클라우드 백업 서비스에 백업할지 여부를 지정합니다.

true 또는 false를 지정합니다.

  • true - 모든 로컬 공유 객체를 iOS 백업 클라우드 서비스에 백업하지 못하도록 차단합니다.
  • false(기본값) - 로컬 공유 객체를 iOS 백업 클라우드 서비스에 백업할 수 있습니다.

이 속성은 로컬 공유 객체에만 적용되며 iOS인 경우에만 적용됩니다.



구현
    public static function get preventBackup():Boolean
    public static function set preventBackup(value:Boolean):void

size

속성 
size:uint  [읽기 전용]

언어 버전: ActionScript 3.0
런타임 버전: AIR 1.0, Flash Player 9, Flash Lite 4

공유 객체의 현재 크기(바이트)입니다.

Flash는 공유 객체의 모든 데이터 속성을 조사하여 객체의 크기를 계산합니다. 객체의 데이터 속성이 많을수록 크기를 계산하는 데 시간이 더 오래 걸립니다. 객체 크기를 계산하는 데 상당한 시간이 걸릴 수 있으므로 반드시 필요한 경우가 아니면 이 메서드를 사용하지 않는 것이 좋습니다.



구현
    public function get size():uint

예제  ( 예제 사용 방법 )
다음 코드에서는 ID "thehobbit"를 사용하여 SharedObject 객체를 만듭니다. username이라는 이름의 속성이 SharedObject 객체의 데이터 속성에 추가됩니다. 그런 다음 size 속성이 추적되며, 이 속성은 표시된 값을 반환합니다.
import flash.net.SharedObject;

// if these get copied or not
var mySo:SharedObject = SharedObject.getLocal("thehobbit");
mySo.data.username = "bilbobaggins";
trace(mySo.size); // 55
메서드 세부 정보

clear

()메서드
public function clear():void

언어 버전: ActionScript 3.0
런타임 버전: AIR 1.0, Flash Player 9, Flash Lite 4

로컬 공유 객체의 경우, 모든 데이터를 제거하고 디스크에서 공유 객체를 삭제합니다. 공유 객체에 대한 참조는 여전히 활성 상태이지만, 그 데이터 속성은 삭제됩니다.

Flash Media Server와 함께 사용된 원격 공유 객체의 경우 clear()가 객체의 연결을 끊고 모든 데이터를 삭제합니다. 공유 객체가 로컬에 영구적으로 존재하는 경우, 이 메서드가 디스크에서 공유 객체도 삭제합니다. 공유 객체에 대한 참조는 여전히 활성 상태이지만, 그 데이터 속성은 삭제됩니다.


예제  ( 예제 사용 방법 )

다음 코드는 값이 hostName인 ID를 사용하는 SharedObject를 만들고 검색합니다. username이라는 이름의 속성이 SharedObject 객체의 데이터 속성에 추가됩니다. 마지막으로 clear() 메서드가 호출되어, 데이터 객체에 추가된 모든 정보를 지웁니다(여기서는 username이라는 이름의 단일 속성).
package {
    import flash.net.SharedObject;

    public class SharedObject_clear {
        private var hostName:String = "yourDomain";
        private var username:String = "yourUsername";

        public function SharedObject_clear() {
            var mySo:SharedObject = SharedObject.getLocal(hostName);
            if(mySo.data.username == null) {
                mySo.data.username = username;
                trace("set: " + mySo.data.username); // yourUsername
            }
            else {
                mySo.clear();
                trace("cleared: " + mySo.data.username); // undefined
            }
        }
    }
}

close

()메서드 
public function close():void

언어 버전: ActionScript 3.0
런타임 버전: AIR 1.0, Flash Player 9, Flash Lite 4

원격 공유 객체와 서버 간의 연결을 종료합니다. 원격 공유 객체가 로컬에 영구 저장 중이면 사용자는 이 메서드 호출 후 객체의 로컬 복사본을 변경할 수 있습니다. 다음에 사용자가 원격 공유 객체에 연결하면 로컬 객체의 변경 사항이 서버로 전송됩니다.

connect

()메서드 
public function connect(myConnection:NetConnection, params:String = null):void

언어 버전: ActionScript 3.0
런타임 버전: AIR 1.0, Flash Player 9, Flash Lite 4

지정된 NetConnection 객체를 통해 서버의 원격 공유 객체에 연결합니다. 이 메서드를 사용하기 전에 getRemote()를 호출합니다. 연결이 성공적으로 이루어지면 sync 이벤트가 전달됩니다.

원격 공유 객체와의 작업을 시도하기 전에 먼저 오류를 점검하기 위해 try..catch..finally 문을 사용합니다. 그런 다음 sync 이벤트를 확인해서 처리하고 공유 객체를 변경합니다. 로컬에서 이루어진 변경 내용— sync 이벤트가 전달되기 전 —은 사라집니다.

connect() 메서드를 호출해서 원격 공유 객체로 연결합니다. 예:

     var myRemoteSO:SharedObject = SharedObject.getRemote("mo", myNC.uri, false);
     myRemoteSO.connect(myNC);
     

매개 변수

myConnection:NetConnection — Flash Media Server와 통신하기 위해 사용된 NetConnection 객체와 같은 RTMP(Real-Time Messaging Protocol)를 사용하는 NetConnection 객체입니다.
 
params:String (default = null) — 서버의 원격 공유 객체로 전달하기 위한 메시지를 정의하는 문자열입니다. Flash Media Server와 함께 사용할 수 없습니다.


오류
Error — Flash Player가 지정된 원격 공유 객체에 연결할 수 없습니다. NetConnection 인스턴스가 올바르고 연결되었는지 그리고 원격 공유 객체가 서버에서 성공적으로 만들어졌는지 확인합니다.

관련 API 요소

flush

()메서드 
public function flush(minDiskSpace:int = 0):String

언어 버전: ActionScript 3.0
런타임 버전: AIR 1.0, Flash Player 9, Flash Lite 4

로컬 영구 공유 객체를 로컬 파일에 즉시 기록합니다. 이 메서드를 사용하지 않으면 공유 객체는 공유 객체 세션이 끝날 때 즉, SWF 파일이 닫힐 때, 공유 객체에 대한 참조가 존재하지 않아 가비지 수집 작업에 의해 메모리에서 제거될 때 또는 SharedObject.clear()SharedObject.close()를 호출할 때 파일에 기록됩니다.

이 메서드가 SharedObjectFlushStatus.PENDING을 반환하면, Flash Player는 현재 도메인에서 객체가 사용할 수 있는 디스크 공간을 늘릴 것인지 묻는 대화 상자를 표시합니다. 나중에 공유 객체를 저장할 때 공간을 늘릴 수 있도록 허용하여 PENDING 값이 반환되지 않게 하려면 minDiskSpace에 값을 전달합니다. Flash Player는 파일을 기록할 때 현재 크기에서 공유 객체를 저장하기에 충분한 공간을 찾는 대신 minDiskSpace에 전달된 바이트 수만큼의 공간을 찾습니다.

예를 들어 공유 객체의 크기가 최대 500바이트까지 늘어날 것으로 예상된다면, 훨씬 작은 크기로 시작하더라도 minDiskSpace의 값으로 500을 전달합니다. Flash는 공유 객체를 위한 디스크 공간을 할당할 것을 요구할 때 500바이트를 요구하게 됩니다. 필요한 만큼의 공간이 할당되면 나중에 객체를 저장할 때 크기가 500바이트를 넘지 않는 한 추가로 공간을 요구하지 않습니다.

사용자가 대화 상자에 응답한 다음 이 메서드가 다시 호출됩니다. netStatus 이벤트가 SharedObject.Flush.Success 또는 SharedObject.Flush.Failedcode 속성과 함께 전달됩니다.

매개 변수

minDiskSpace:int (default = 0) — 이 객체에 할당되어야 할 최소 디스크 크기(바이트)입니다.

반환값
String — 다음 값 중 하나입니다.
  • SharedObjectFlushStatus.PENDING: 사용자가 이 도메인의 객체에 대해 로컬 정보 저장을 허용했지만, 할당된 공간의 양이 객체를 저장하기에 충분하지 않습니다. Flash Player는 사용자에게 공간을 더 허용할 것인지 묻습니다. 나중에 공유 객체를 저장할 때 공간을 늘릴 수 있도록 허용하여 SharedObjectFlushStatus.PENDING 값이 반환되지 않게 하려면 minDiskSpace 값을 전달합니다.
  • SharedObjectFlushStatus.FLUSHED: 공유 객체가 로컬 디스크의 파일에 성공적으로 기록되었습니다.

오류
Error — Flash Player가 공유 객체를 디스크에 쓸 수 없습니다. 사용자가 이 도메인 객체의 로컬 정보 저장을 영구적으로 금지시킨 경우 이 오류가 발생할 수 있습니다.

참고: 로컬 컨텐츠는 타사 공유 객체를 디스크에 쓰는 것이 허용되지 않은 경우에도 항상 타사 도메인(현재 브라우저 주소 표시줄에 있는 도메인 이외의 도메인)의 공유 객체를 디스크에 쓸 수 있습니다.

관련 API 요소


예제  ( 예제 사용 방법 )

다음 코드는 값이 hostName인 ID를 사용하는 SharedObject를 만들고 검색합니다. username이라는 이름의 속성이 SharedObject 객체의 데이터 속성에 추가됩니다. 그런 다음 flush() 메서드를 호출하고, 이어서 문자열 pending 또는 부울 값인 truefalse가 반환되었는지 확인합니다. Flash Player의 현재 인스턴스가 닫힐 때마다 열려 있는 모든 SharedObject 인스턴스가 자동으로 플러시됩니다.
package {
    import flash.net.SharedObject;

    public class SharedObject_flush {
        private var hostName:String = "yourDomain";
        private var username:String = "yourUsername";

        public function SharedObject_flush() {
            var mySo:SharedObject = SharedObject.getLocal(hostName);
            mySo.data.username = username;
            var flushResult:Object = mySo.flush();
            trace("flushResult: " + flushResult);
            trace(mySo.data.username); // yourUsername
        }
    }
}

getLocal

()메서드 
public static function getLocal(name:String, localPath:String = null, secure:Boolean = false):SharedObject

언어 버전: ActionScript 3.0
런타임 버전: AIR 1.0, Flash Player 9, Flash Lite 4

현재 클라이언트에만 사용 가능한 로컬 영구 공유 객체에 대한 참조를 반환합니다. 공유 객체가 없으면 이 메서드가 만듭니다. getLocal()로 전달된 값이 잘못되었거나 호출이 실패할 경우 Flash Player에서는 예외가 발생합니다.

다음 코드는 반환된 공유 객체 참조를 변수에 할당하는 방법을 보여 줍니다.

var so:SharedObject = SharedObject.getLocal("savedData");

참고: 사용자가 이 도메인의 로컬 저장을 허용하지 않기로 선택한 경우 localPath의 값이 지정되더라도 객체는 로컬에 저장되지 않습니다. 로컬 내용에는 이 규칙이 적용되지 않습니다. 로컬 내용은 타사 공유 객체를 디스크에 쓰는 것이 허용되지 않는 경우를 포함하여 항상 타사 공유 객체(현재 브라우저 주소 막대에 있는 도메인 이외의 도메인)를 디스크에 쓸 수 있습니다.

이름 충돌을 피하기 위해 Flash는 공유 객체를 생성하는 SWF 파일의 위치를 찾습니다. 예를 들어 www.myCompany.com/apps/stockwatcher.swf에 있는 SWF 파일이 portfolio라는 공유 객체를 작성하는 경우, 이 공유 객체의 이름은 www.yourCompany.com/photoshoot.swf에 있는 SWF 파일에서 만든 portfolio라는 또 다른 객체와 이름 충돌을 일으키지 않습니다. 그 이유는 두 SWF 파일의 시작 디렉토리가 다르기 때문입니다.

localPath 매개 변수가 선택 사항이기는 하지만 특히 다른 SWF 파일에서 공유 객체에 액세스해야 할 경우에는 이 매개 변수의 사용을 고려해야 합니다. 공유 객체의 데이터가 다른 위치로 이동되지 않을 특정 SWF 파일과 관련된 경우에는 기본값을 사용하는 것이 적합합니다. 다른 SWF 파일이 공유 객체에 액세스해야 하거나 공유 객체를 만드는 SWF 파일이 나중에 이동될 경우, 이 매개 변수의 값은 공유 객체에 액세스하는 방법에 영향을 줍니다. 예를 들어 localPath가 SWF 파일 전체 경로의 기본값으로 설정된 상태에서 공유 객체를 만들 경우, 다른 어떤 SWF 파일도 해당 공유 객체에 액세스할 수 없습니다. 나중에 원래의 SWF 파일을 다른 위치로 이동하면 그 SWF 파일 역시 공유 객체에 이미 저장된 데이터에 액세스할 수 없습니다.

실수로 공유 객체 액세스를 제한하는 것을 방지하려면 localpath 매개 변수를 사용합니다. 가장 허용적인 방법은 localPath/(슬래시)로 설정하는 것입니다. 이렇게 하면 도메인의 모든 SWF 파일에서 공유 객체를 사용할 수 있지만 도메인의 다른 공유 객체와 이름이 충돌할 가능성이 커집니다. 더 제한적인 방법은 localPath에 SWF 파일 전체 경로에 있는 폴더 이름을 추가하는 것입니다. 예를 들어 www.myCompany.com/apps/stockwatcher.swf에 있는 SWF 파일이 생성한 portfolio 공유 객체의 경우 localPath 매개 변수를 /, /apps 또는 /apps/stockwatcher.swf로 설정할 수 있습니다. 해당 응용 프로그램에서 어떤 방법이 최적의 유연성을 발휘할 것인지 판단해야 합니다.

이 메서드를 사용할 경우 다음과 같은 보안 모델을 생각해 볼 수 있습니다.

  • 샌드박스 경계를 넘어 공유 객체에 액세스할 수 없습니다.
  • 사용자는 Flash Player [설정] 대화 상자 또는 설정 관리자를 사용하여 공유 객체 액세스를 제한할 수 있습니다. 기본적으로 응용 프로그램에서는 도메인당 최대 100KB의 데이터로 공유 객체를 만들 수 있습니다. 관리자 및 사용자 역시 파일 시스템 쓰기 권한을 제한할 수 있습니다.

로컬 파일로 재생할 SWF 파일 컨텐츠(로컬에 설치되는 SWF 파일 또는 EXE 파일)를 제작하고 둘 이상의 로컬 SWF 파일로부터 특정 공유 객체에 액세스해야 한다고 가정합니다. 이 경우 로컬 파일에 대해서는 서로 다른 두 위치가 공유 객체 저장에 사용될 수 있습니다. 사용되는 도메인은 공유 객체를 만든 로컬 파일에 부여된 보안 권한에 따라 달라집니다. 로컬 파일에는 다음과 같은 세 가지 수준의 권한이 있습니다.

  1. 로컬 파일 시스템에만 액세스합니다.
  2. 네트워크에만 액세스합니다.
  3. 네트워크와 로컬 파일 시스템 모두에 액세스합니다.

로컬 파일 시스템에 액세스할 수 있는(레벨 1 또는 3) 로컬 파일은 한 위치에 공유 객체를 저장합니다. 로컬 파일 시스템에 대한 액세스 권한이 없는(레벨 2) 로컬 파일은 다른 위치에 공유 객체를 저장합니다.

SWF 내용이 들어 있는 HTML 페이지에서 allowNetworking 매개 변수(objectembed 태그)를 설정하여 SWF 파일에서 이 메서드를 사용하지 않게 할 수 있습니다.

자세한 내용은 Flash Player 개발자 센터 항목(보안)을 참조하십시오.

매개 변수

name:String — 객체의 이름입니다. 이름에는 슬래시(/)를 사용할 수 있습니다. 예를 들어 work/addresses는 올바른 이름입니다. 공유 객체 이름에는 공백을 포함할 수 없으며, 다음 문자도 사용할 수 없습니다.
  ~ % & \ ; : " ' , < > ? # 
  
 
localPath:String (default = null) — 공유 객체를 만들고 공유 객체가 저장될 로컬 위치를 결정하는 SWF 파일의 전체 또는 부분 경로입니다. 이 매개 변수를 지정하지 않으면 전체 경로가 사용됩니다.
 
secure:Boolean (default = false) — HTTPS 연결을 통해 전달된 SWF 파일만이 이 공유 객체에 액세스할 수 있도록 제한할지 여부를 결정합니다. HTTPS를 통해 SWF 파일이 전달되는 경우, 이 매개 변수 값은 다음과 같은 효과를 갖습니다.
  • 이 매개 변수를 true로 설정하면 Flash Player가 보안 공유 객체를 새로 만들거나 기존 보안 공유 객체에 대한 참조를 가져옵니다. 이 보안 공유 객체는 secure 매개 변수가 true로 설정된 SharedObject.getLocal()을 호출하는 HTTPS를 통해 전달되는 SWF 파일에 의해서만 읽거나 쓸 수 있습니다.
  • 이 매개 변수가 false로 설정되면 Flash Player는 비 HTTPS 연결을 통해 전달되는 SWF 파일에서 읽거나 쓸 수 있는 새 공유 객체를 만들거나 기존 공유 객체에 대한 참조를 가져옵니다.

SWF 파일이 비 HTTPS 연결을 통해 전달되고 이 매개 변수를 true로 설정하려고 하면 새 공유 객체의 만들기(또는 이전에 만든 보안 공유 객체에 대한 액세스)가 실패하고 null이 반환됩니다. 이 매개 변수의 값에 상관없이, 만들어진 공유 객체는 도메인에 허용된 디스크 공간의 총 크기까지 세어집니다.

다음 그림은 secure 매개 변수를 사용하는 방법을 보여 줍니다.

보안 공유 객체 다이어그램

반환값
SharedObject — 로컬에 영구 저장되어 현재 클라이언트에서만 사용 가능한 공유 객체에 대한 참조입니다. Flash Player에서 공유 객체를 만들거나 찾을 수 없는 경우(예: localPath가 지정되었으나 그러한 디렉토리가 존재하지 않는 경우) 이 메서드에서는 예외가 발생합니다.

오류
Error — Flash Player가 어떤 이유에서든 공유 객체를 만들 수 없습니다. 타사 Flash 컨텐츠에 의한 영구 공유 객체 생성 및 저장이 금지된 경우(로컬 컨텐츠에는 적용되지 않음) 이 오류가 발생할 수 있습니다. 사용자는 http://www.adobe.com/support/documentation/ko/flashplayer/help/settings_manager03.html에 위치한 설정 관리자의 전역 저장 설정 패널에서 타사 영구 공유 객체를 금지할 수 있습니다.

getRemote

()메서드 
public static function getRemote(name:String, remotePath:String = null, persistence:Object = false, secure:Boolean = false):SharedObject

언어 버전: ActionScript 3.0
런타임 버전: AIR 1.0, Flash Player 9, Flash Lite 4

다수의 클라이언트가 액세스할 수 있는 Flash Media Server의 공유 객체로 참조를 반환합니다. 원격 공유 객체가 없으면 이 메서드가 만듭니다.

원격 공유 객체를 만들려면 원격 공유 객체를 서버에 연결하기 위한 getRemote()connect()를 호출합니다.

     var nc:NetConnection = new NetConnection();
     nc.connect("rtmp://somedomain.com/applicationName");
     var myRemoteSO:SharedObject = SharedObject.getRemote("mo", nc.uri, false);
     myRemoteSO.connect(nc);
     

로컬 및 원격 공유 객체 복사본이 동기화되었는지 확인하려면 sync 이벤트에 주의를 기울여 처리합니다. 이 객체를 공유하려고 하는 모든 클라이언트는 nameremotePath 매개 변수에 동일한 값을 전달해야 합니다.

현재 클라이언트에서만 사용할 수 있는 공유 객체를 만들려면 SharedObject.getLocal()을 사용합니다.

매개 변수

name:String — 원격 공유 객체의 이름입니다. 이름에는 슬래시(/)를 사용할 수 있습니다. 예를 들어 work/addresses는 올바른 이름입니다. 공유 객체 이름에는 공백을 포함할 수 없으며, 다음 문자도 사용할 수 없습니다.
    ~ % & \ ; :  " ' , > ? ? #
 
remotePath:String (default = null) — 공유 객체가 저장되는 서버의 URI입니다. 이 URI는 connect() 메서드에 전달된 NetConnection 객체의 URI와 동일해야 합니다.
 
persistence:Object (default = false) — 공유 객체의 데이터 속성이 로컬 영구 저장, 원격 영구 저장 또는 두 가지 모두인지 지정합니다. 이 매개 변수는 공유 객체가 저장되는 로컬 위치도 지정할 수 있습니다. 사용 가능한 값은 다음과 같습니다.
  • 값이 false이면 공유 객체가 클라이언트 또는 서버에 영구 저장되지 않음을 의미합니다.
  • 값이 true이면 공유 객체는 서버에서만 영구 저장됩니다.
  • 공유 객체의 전체 또는 부분 로컬 경로는 공유 객체가 클라이언트 및 서버에 영구 저장됨을 의미합니다. 클라이언트에서는 지정된 경로에, 서버에서는 응용 프로그램 디렉토리의 하위 디렉토리에 저장됩니다.

참고: 사용자가 이 도메인의 로컬 저장을 허용하지 않기로 선택한 경우, 영구 저장을 위한 로컬 경로가 지정되었더라도 객체는 로컬에 저장되지 않습니다. 자세한 내용은 클래스 설명을 참조하십시오.

 
secure:Boolean (default = false) — HTTPS 연결을 통해 전달된 SWF 파일만이 이 공유 객체에 액세스할 수 있도록 제한할지 여부를 결정합니다. 자세한 내용은 getLocal 메서드 항목의 secure 매개 변수 설명을 참조하십시오.

반환값
SharedObject — 여러 클라이언트 간에 공유할 수 있는 객체에 대한 참조입니다.

오류
Error — Flash Player에서 공유 객체를 만들거나 찾을 수 없습니다. remotePathpersistence 매개 변수에 존재하지 않는 경로가 지정된 경우 이 문제가 발생할 수 있습니다.

관련 API 요소

send

()메서드 
public function send(... arguments):void

언어 버전: ActionScript 3.0
런타임 버전: AIR 1.0, Flash Player 9, Flash Lite 4

메시지를 보낸 클라이언트를 포함해 원격 공유 객체에 연결된 모든 클라이언트로 메시지를 브로드캐스트합니다. 이 메시지를 처리하고 응답하려면 공유 객체에 첨부된 콜백 함수를 만듭니다.

매개 변수

... arguments — 하나 이상의 인수: 메시지를 식별하는 문자열, 공유 객체에 추가할 수 있는 하나 이상의 핸들러 함수 및 임의 유형의 선택적 매개 변수입니다. 핸들러 이름은 단일 레벨만 가능하며(즉 부모/자식의 형식이 될 수 없음), 공유 객체에 상대적입니다. 인수는 직렬화된 후 연결을 통해 전송되며 수신 측 핸들러는 이와 동일한 순서로 인수를 수신합니다. 매개 변수가 순환 객체(예: 순환 연결 목록)일 경우, 직렬기가 참조를 올바르게 처리합니다.

참고: 함수 이름으로 예약어를 사용하지 마십시오. 예를 들어 myRemoteSO.send("close")는 실패합니다.

setDirty

()메서드 
public function setDirty(propertyName:String):void

언어 버전: ActionScript 3.0
런타임 버전: AIR 1.0, Flash Player 9, Flash Lite 4

공유 객체의 속성 값이 변경되었음을 서버에 알립니다. 이 메서드는 속성을 dirty로 표시, 즉 변경된 것으로 표시합니다.

SharedObject.setProperty()를 호출해 공유 객체를 위한 속성을 생성합니다.

SharedObject.setProperty() 메서드는 setDirty()를 구현합니다. 속성 값이 String이나 Number 같은 프리미티브 유형일 때처럼 대부분의 경우setProperty()setDirty() 대신 호출할 수 있습니다. 그러나 속성 값이 고유의 속성을 포함하는 객체인 경우에는 해당 객체의 값이 변경되었을 때 setDirty()를 호출하여 알릴 수 있습니다.

매개 변수

propertyName:String — 변경된 속성의 이름입니다.

관련 API 요소

setProperty

()메서드 
public function setProperty(propertyName:String, value:Object = null):void

언어 버전: ActionScript 3.0
런타임 버전: AIR 1.0, Flash Player 9, Flash Lite 4

공유 객체의 속성 값을 업데이트하고 해당 속성 값이 변경되었음을 서버에 알립니다. setProperty() 메서드는 속성을 변경된 것(dirty)으로 표시합니다.

원격 공유 객체에 대한 자세한 내용은 Flash Media Server 설명서를 참조하십시오.

참고: SharedObject.setProperty() 메서드는 setDirty() 메서드를 구현합니다. 속성 값이 String, Number와 같은 프리미티브 유형일 때처럼 대부분의 경우 setDirty 대신 setProperty()를 사용합니다. 그러나 속성 값이 고유의 속성을 포함하는 객체인 경우에는 해당 객체의 값이 변경되었을 때 setDirty()를 사용하여 알릴 수 있습니다. 일반적으로 setDirty()보다는 setProperty()를 호출하는 것이 좋습니다. setProperty()는 값이 변경된 경우에만 속성 값을 업데이트하지만 setDirty()는 모든 구독 클라이언트에서 동기화를 수행하기 때문입니다.

매개 변수

propertyName:String — 공유 객체에서 속성의 이름입니다.
 
value:Object (default = null) — 속성 값(ActionScript 객체)이거나 속성을 삭제하는 경우에는 null입니다.

관련 API 요소

이벤트 세부 정보

asyncError

이벤트
이벤트 객체 유형: flash.events.AsyncErrorEvent
속성 AsyncErrorEvent.type = flash.events.AsyncErrorEvent.ASYNC_ERROR

언어 버전: ActionScript 3.0
런타임 버전: AIR 1.0, Flash Player 9, Flash Lite 4

기본 비동기 코드에서 비동기적으로 예외가 발생할 때 전달됩니다.

AsyncErrorEvent.ASYNC_ERROR 상수는 asyncError 이벤트 객체의 type 속성 값을 정의합니다.

이 이벤트에는 다음과 같은 속성이 있습니다.

속성
bubblesfalse
cancelablefalse. 취소할 기본 비헤이비어가 없습니다.
currentTarget이벤트 리스너를 통해 Event 객체를 처리하고 있는 객체입니다.
target이벤트를 전달하는 객체입니다.
error이벤트를 트리거한 오류입니다.

netStatus

이벤트  
이벤트 객체 유형: flash.events.NetStatusEvent
속성 NetStatusEvent.type = flash.events.NetStatusEvent.NET_STATUS

언어 버전: ActionScript 3.0
런타임 버전: AIR 1.0, Flash Player 9, Flash Lite 4

SharedObject 인스턴스가 상태 또는 오류 상황을 보고할 때 전달됩니다. netStatus 이벤트에는 연결 시도의 성공 여부 또는 공유 객체가 로컬 디스크에 성공적으로 쓰여졌는지 여부와 같이 이벤트에 대한 특정 정보가 포함된 정보 객체인 info 속성이 포함되어 있습니다.

netStatus 이벤트 객체의 type 속성 값을 정의합니다.

이 이벤트에는 다음과 같은 속성이 있습니다.

속성
bubblesfalse
cancelablefalse. 취소할 기본 비헤이비어가 없습니다.
currentTarget이벤트 리스너를 통해 Event 객체를 처리하고 있는 객체입니다.
info객체의 상태 또는 오류 상황을 설명하는 속성이 있는 객체입니다.
target상태를 보고하는 NetConnection 또는 NetStream 객체입니다.

관련 API 요소

sync

이벤트  
이벤트 객체 유형: flash.events.SyncEvent
속성 SyncEvent.type = flash.events.SyncEvent.SYNC

언어 버전: ActionScript 3.0
런타임 버전: AIR 1.0, Flash Player 9, Flash Lite 4

서버에서 원격 공유 객체를 업데이트하면 전달됩니다.

sync 이벤트 객체의 type 속성 값을 정의합니다.

이 이벤트에는 다음과 같은 속성이 있습니다.

속성
bubblesfalse
cancelablefalse. 취소할 기본 비헤이비어가 없습니다.
currentTarget이벤트 리스너를 통해 Event 객체를 처리하고 있는 객체입니다.
changeList배열의 상태를 설명하는 속성이 있는 배열입니다.
target서버에서 업데이트한 SharedObject 인스턴스입니다.

관련 API 요소

SharedObjectExample.as

다음 코드에서는 ID "application-name"을 사용하는 공유 객체를 만들고 검색합니다. [저장] 버튼을 클릭하면 saveValue() 메서드는 savedValue라는 이름의 속성을 SharedObject 객체의 data 속성에 저장합니다. Flash Player에서 데이터 저장 권한이 있는지 확인해야 할 때 사용자가 권한을 부여하거나 거부할 경우 onFlushStatus() 메서드가 호출됩니다. [지우기] 버튼을 클릭하면 clearValue() 메서드는 savedValue에 저장된 값을 삭제합니다. 다음에 SWF 파일이 로드될 때 검색되는 값은 undefined입니다.
package {
    import flash.display.Sprite;
    import flash.events.MouseEvent;
    import flash.events.NetStatusEvent;
    import flash.net.SharedObject;
    import flash.net.SharedObjectFlushStatus;
    import flash.text.TextField;
    import flash.text.TextFieldAutoSize;
    import flash.text.TextFieldType;
    
    public class SharedObjectExample extends Sprite {
        
        private var mySo:SharedObject;
        
        public function SharedObjectExample() {
            buildUI();
            saveBtn.addEventListener(MouseEvent.CLICK, saveValue);
            clearBtn.addEventListener(MouseEvent.CLICK, clearValue);
            
            mySo = SharedObject.getLocal("application-name");
            output.appendText("SharedObject loaded...\n");
            output.appendText("loaded value: " + mySo.data.savedValue + "\n\n");
        }

         private function saveValue(event:MouseEvent):void {
            output.appendText("saving value...\n");
            mySo.data.savedValue = input.text;
            
            var flushStatus:String = null;
            try {
                flushStatus = mySo.flush(10000);
            } catch (error:Error) {
                output.appendText("Error...Could not write SharedObject to disk\n");
            }
            if (flushStatus != null) {
                switch (flushStatus) {
                    case SharedObjectFlushStatus.PENDING:
                        output.appendText("Requesting permission to save object...\n");
                        mySo.addEventListener(NetStatusEvent.NET_STATUS, onFlushStatus);
                        break;
                    case SharedObjectFlushStatus.FLUSHED:
                        output.appendText("Value flushed to disk.\n");
                        break;
                }
            }
            output.appendText("\n");
        }
        
        private function clearValue(event:MouseEvent):void {
            output.appendText("Cleared saved value...Reload SWF and the value should be \"undefined\".\n\n");
            delete mySo.data.savedValue;
        }
        
        private function onFlushStatus(event:NetStatusEvent):void {
            output.appendText("User closed permission dialog...\n");
            switch (event.info.code) {
                case "SharedObject.Flush.Success":
                    output.appendText("User granted permission -- value saved.\n");
                    break;
                case "SharedObject.Flush.Failed":
                    output.appendText("User denied permission -- value not saved.\n");
                    break;
            }
            output.appendText("\n");

            mySo.removeEventListener(NetStatusEvent.NET_STATUS, onFlushStatus);
        }
        
        // UI elements
        private var inputLbl:TextField;
        private var input:TextField;
        private var output:TextField;
        private var saveBtn:Sprite;
        private var clearBtn:Sprite;
    
        private function buildUI():void {
            // input label
            inputLbl = new TextField();
            addChild(inputLbl);
            inputLbl.x = 10;
            inputLbl.y = 10;
            inputLbl.text = "Value to save:";
            
            // input TextField
            input = new TextField();
            addChild(input);
            input.x = 80;
            input.y = 10;
            input.width = 100;
            input.height = 20;
            input.border = true;
            input.background = true;
            input.type = TextFieldType.INPUT;
            
            // output TextField
            output = new TextField();
            addChild(output);
            output.x = 10;
            output.y = 35;
            output.width = 250;
            output.height = 250;
            output.multiline = true;
            output.wordWrap = true;
            output.border = true;
            output.background = true;
            
            // Save button
            saveBtn = new Sprite();
            addChild(saveBtn);
            saveBtn.x = 190;
            saveBtn.y = 10;
            saveBtn.useHandCursor = true;
            saveBtn.graphics.lineStyle(1);
            saveBtn.graphics.beginFill(0xcccccc);
            saveBtn.graphics.drawRoundRect(0, 0, 30, 20, 5, 5);
            var saveLbl:TextField = new TextField();
            saveBtn.addChild(saveLbl);
            saveLbl.text = "Save";
            saveLbl.selectable = false;
            
            // Clear button
            clearBtn = new Sprite();
            addChild(clearBtn);
            clearBtn.x = 230;
            clearBtn.y = 10;
            clearBtn.useHandCursor = true;
            clearBtn.graphics.lineStyle(1);
            clearBtn.graphics.beginFill(0xcccccc);
            clearBtn.graphics.drawRoundRect(0, 0, 30, 20, 5, 5);
            var clearLbl:TextField = new TextField();
            clearBtn.addChild(clearLbl);
            clearLbl.text = "Clear";
            clearLbl.selectable = false;
        }
    }
}




[ X ]영어로 표시되는 이유
ActionScript 3.0 참조 설명서의 내용이 영어로 나타납니다.

ActionScript 3.0 참조 설명서 중 일부는 전체 언어로 번역되지 않았습니다. 언어 요소가 번역되지 않은 경우 영어로 나타납니다. 예를 들어 ga.controls.HelpBox 클래스는 어떤 언어로도 번역되지 않았습니다. 그러므로 한국어 버전의 참조 설명서에서 ga.controls.HelpBox 클래스는 영어로 나타납니다.