Professional Documents
Culture Documents
2007 Adobe Systems Incorporated. Todos los derechos reservados. Referencia del lenguaje de componentes ActionScript 2.0 Si esta gua se distribuye con software que incluye un contrato de usuario final, la gua, as como el software descrito en ella, se proporciona con una licencia y slo puede usarse o copiarse en conformidad con los trminos de dicha licencia. Con la excepcin de lo permitido por la licencia, ninguna parte de esta gua puede ser reproducida, almacenada en un sistema de recuperacin de datos ni transmitida de ninguna forma ni por ningn medio, ya sea electrnico, mecnico, de grabacin o de otro tipo, sin el consentimiento previo por escrito de Adobe Systems Incorporated. Tenga en cuenta que el contenido de esta gua est protegido por las leyes de derechos de autor aunque no se distribuya con software que incluya un contrato de licencia de usuario final. El contenido de esta gua se proporciona exclusivamente con fines informativos, est sujeto a cambios sin previo aviso y no debe interpretarse como un compromiso de Adobe Systems Incorporated. Adobe Systems Incorporated no asume ninguna responsabilidad por los errores o imprecisiones que puedan existir en el contenido informativo de esta gua. Recuerde que las ilustraciones o imgenes existentes que desee incluir en su proyecto pueden estar protegidas por las leyes de derechos de autor. La incorporacin no autorizada de este material en sus trabajos puede infringir los derechos del propietario de los derechos de autor. Asegrese de obtener los permisos necesarios del propietario de los derechos de autor. Cualquier referencia a nombres de compaas en plantillas de ejemplo slo se hace con propsitos de demostracin y no est relacionada con ninguna organizacin real.
Adobe, Flash, FlashHelp, Flash Player, JRun, Macromedia y Shockwave son marcas registradas o marcas comerciales de Adobe Systems Incorporated en Estados Unidos y/o en otros pases.
Macintosh es una marca comercial de Apple Computer, Inc., registrados en Estados Unidos y/o en otros pases. Windows es una marca registrada o un marca comercial de Microsoft Corporation en Estados Unidos y/o en otros pases. Todas las dems marcas comerciales son propiedad de sus propietarios respectivos. Partes de este producto contienen cdigo con licencia de Nellymoser. (www.nellymoser.com). La tecnologa de compresin y descompresin de vdeo Sorenson Spark tiene licencia de Sorenson Media, Inc.
Flash CS3 utiliza tecnologa de vdeo de On2 TrueMotion. 1992-2005 On2 Technologies, Inc. Todos los derechos reservados. http://www.on2.com. Adobe Systems Incorporated, 345 Park Avenue, San Jose, California 95110, EE.UU. Aviso para usuarios finales del Gobierno de EE.UU. El Software y la Documentacin son Elementos comerciales, segn la definicin de este trmino incluida en 48 C.F.R. 2.101, consistentes en Software informtico comercial y Documentacin de software informtico comercial, segn el uso aplicable de dichos trminos en 48 C.F.R. 12.212 48 C.F.R. 227.7202. En conformidad con 48 C.F.R. 12.212 o 48 C.F.R. 227.7202-1 a 227.7202-4 (lo que corresponda), se otorga a usuarios finales del gobierno de EE.UU. una licencia del Software informtico comercial y la Documentacin de software comercial (a) nicamente como elementos comerciales y (b) exclusivamente con los derechos concedidos a todos los dems usuarios finales para su utilizacin en conformidad con los trminos y las condiciones aqu descritos. Derechos no publicados reservados bajo las leyes de derechos de autor de Estados Unidos. Adobe Systems Incorporated, 345 Park Avenue, San Jose, California 95110, EE.UU. Para los usuarios finales del gobierno de EE.UU., Adobe se compromete a cumplir todas las leyes de igualdad de oportunidades aplicables incluidas, si corresponde, las disposiciones del decreto-ley 11246, con las enmiendas, Seccin 402 de la Ley de ayuda para la readaptacin de los veteranos de Vietnam de 1974 (38 USC 4212) y Seccin 503 de la Ley de Rehabilitacin de 1973, con las enmiendas, y los reglamentos de los apartados 60-1 a 60-60, 60-250 y 60-741 de 41 CFR. La clusula de discriminacin positiva y los reglamentos incluidos en la declaracin anterior deben incorporarse mediante referencia.
Contenido
Captulo 1: Componentes ActionScript 2.0 . . . . . . . . . . . . . . . . . 29 Otras listas de este manual. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 Captulo 2: Componente Accordion . . . . . . . . . . . . . . . . . . . . . . . 35 Utilizacin del componente Accordion . . . . . . . . . . . . . . . . . . . . . . . . . . .37 Personalizacin del componente Accordion . . . . . . . . . . . . . . . . . . . . . . 41 Clase Accordion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 Accordion.change . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 Accordion.createChild() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 Accordion.createSegment() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .57 Accordion.destroyChildAt() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 Accordion.getChildAt() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 Accordion.getHeaderAt() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 Accordion.numChildren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 Accordion.selectedChild. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 Accordion.selectedIndex . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 Captulo 3: Componente Alert . . . . . . . . . . . . . . . . . . . . . . . . . . . . .67 Utilizacin del componente Alert . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 Personalizacin del componente Alert . . . . . . . . . . . . . . . . . . . . . . . . . . 69 Clase Alert . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .73 Alert.buttonHeight . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .78 Alert.buttonWidth . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .79 Alert.CANCEL. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 Alert.cancelLabel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 Alert.click . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 Alert.NO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 Alert.noLabel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 Alert.NONMODAL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 Alert.OK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 Alert.okLabel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86 Alert.show() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86 Alert.YES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88 Alert.yesLabel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
Captulo 4: Componente Button . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 Utilizacin del componente Button . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92 Personalizacin del componente Button . . . . . . . . . . . . . . . . . . . . . . . . . 96 Clase Button . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 Button.icon . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 Button.label. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .110 Button.labelPlacement. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111 Captulo 5: Interfaz API CellRenderer . . . . . . . . . . . . . . . . . . . . . 113 Aspectos bsicos de la clase List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .113 Utilizacin de la interfaz API CellRenderer . . . . . . . . . . . . . . . . . . . . . . .115 CellRenderer.getCellIndex() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123 CellRenderer.getDataLabel() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124 CellRenderer.getPreferredHeight() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125 CellRenderer.getPreferredWidth() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126 CellRenderer.listOwner . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127 CellRenderer.owner . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127 CellRenderer.setSize() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128 CellRenderer.setValue(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129 Captulo 6: Componente CheckBox . . . . . . . . . . . . . . . . . . . . . . . 133 Utilizacin del componente CheckBox . . . . . . . . . . . . . . . . . . . . . . . . . 134 Personalizacin del componente CheckBox . . . . . . . . . . . . . . . . . . . . 137 Clase CheckBox . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .141 CheckBox.click . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146 CheckBox.label . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148 CheckBox.labelPlacement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149 CheckBox.selected . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150 Captulo 7: Interfaz Collection . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153 Clase Collection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153 Collection.addItem() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154 Collection.contains() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155 Collection.clear() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156 Collection.getItemAt() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157 Collection.getIterator() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158 Collection.getLength() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159 Collection.isEmpty() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159 Collection.removeItem(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160
Contenido
Captulo 8: Componente ComboBox . . . . . . . . . . . . . . . . . . . . . . 163 Utilizacin del componente ComboBox . . . . . . . . . . . . . . . . . . . . . . . . .166 Personalizacin del componente ComboBox . . . . . . . . . . . . . . . . . . . .169 Clase ComboBox . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173 ComboBox.addItem() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179 ComboBox.addItemAt() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .180 ComboBox.change . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181 ComboBox.close() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .182 ComboBox.close . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .183 ComboBox.dataProvider . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .185 ComboBox.dropdown . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .186 ComboBox.dropdownWidth . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187 ComboBox.editable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188 ComboBox.enter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .190 ComboBox.getItemAt(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .192 ComboBox.itemRollOut . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .193 ComboBox.itemRollOver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .194 ComboBox.labelField . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .196 ComboBox.labelFunction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197 ComboBox.length . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .198 ComboBox.open() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .198 ComboBox.open . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .199 ComboBox.removeAll() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .201 ComboBox.removeItemAt(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202 ComboBox.replaceItemAt() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203 ComboBox.restrict . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204 ComboBox.rowCount . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206 ComboBox.scroll . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207 ComboBox.selectedIndex . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209 ComboBox.selectedItem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .210 ComboBox.sortItems() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211 ComboBox.sortItemsBy(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .212 ComboBox.text. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .215 ComboBox.textField . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .215 ComboBox.value . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .216 Captulo 9: Clases de vinculacin de datos . . . . . . . . . . . . . . . . . 217 Disponibilidad de las clases de vinculacin de datos en tiempo de ejecucin. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217 Clases del paquete mx.data.binding. . . . . . . . . . . . . . . . . . . . . . . . . . . . .218 Clase Binding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .219
Contenido
Constructor para la clase Binding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220 Binding.execute() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .222 Clase CustomFormatter. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .223 CustomFormatter.format() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .226 CustomFormatter.unformat() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .226 Clase CustomValidator. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227 CustomValidator.validate() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .228 CustomValidator.validationError() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231 Clase EndPoint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .232 Constructor de la clase EndPoint. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .233 EndPoint.component . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .234 EndPoint.constant. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .235 EndPoint.event. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .235 EndPoint.location . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .236 EndPoint.property . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .238 Clase ComponentMixins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .239 ComponentMixins.getField() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240 ComponentMixins.initComponent() . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241 ComponentMixins.refreshDestinations() . . . . . . . . . . . . . . . . . . . . . . . .242 ComponentMixins.refreshFromSources() . . . . . . . . . . . . . . . . . . . . . . .242 ComponentMixins.validateProperty() . . . . . . . . . . . . . . . . . . . . . . . . . . .243 Clase DataType . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245 DataType.encoder. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .248 DataType.formatter. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249 DataType.getAnyTypedValue() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 250 DataType.getAsBoolean(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251 DataType.getAsNumber() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .252 DataType.getAsString(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .253 DataType.getTypedValue() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254 DataType.kind . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .255 DataType.setAnyTypedValue() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .255 DataType.setAsBoolean() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .256 DataType.setAsNumber() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257 DataType.setAsString() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .258 DataType.setTypedValue() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .258 Clase TypedValue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 260 Constructor para la clase TypedValue . . . . . . . . . . . . . . . . . . . . . . . . . . 261 TypedValue.type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261 TypedValue.typeName. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .262 TypedValue.value . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .262
Contenido
Captulo 10: Componente DataGrid . . . . . . . . . . . . . . . . . . . . . . 263 Interaccin con el componente DataGrid . . . . . . . . . . . . . . . . . . . . . . . 264 Utilizacin del componente DataGrid . . . . . . . . . . . . . . . . . . . . . . . . . . 265 Estrategias de rendimiento de DataGrid . . . . . . . . . . . . . . . . . . . . . . . . 272 Personalizacin del componente DataGrid . . . . . . . . . . . . . . . . . . . . . 274 Clase DataGrid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278 DataGrid.addColumn() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285 DataGrid.addColumnAt() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286 DataGrid.addItem() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287 DataGrid.addItemAt() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288 DataGrid.cellEdit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289 DataGrid.cellFocusIn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .291 DataGrid.cellFocusOut . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293 DataGrid.cellPress . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295 DataGrid.change . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296 DataGrid.columnCount . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 298 DataGrid.columnNames . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299 DataGrid.columnStretch. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 300 DataGrid.dataProvider . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .301 DataGrid.editable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303 DataGrid.editField() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 304 DataGrid.focusedCell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305 DataGrid.getColumnAt(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 306 DataGrid.getColumnIndex() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 307 DataGrid.headerHeight. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 308 DataGrid.headerRelease . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 309 DataGrid.hScrollPolicy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311 DataGrid.removeAllColumns() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .312 DataGrid.removeColumnAt() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .313 DataGrid.replaceItemAt() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .314 DataGrid.resizableColumns . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .315 DataGrid.selectable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .316 DataGrid.showHeaders. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 317 DataGrid.sortableColumns . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .318 DataGrid.spaceColumnsEqually() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .319 Clase DataGridColumn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 320 Constructor de la clase DataGridColumn . . . . . . . . . . . . . . . . . . . . . . . 322 DataGridColumn.cellRenderer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323 DataGridColumn.columnName . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323 DataGridColumn.editable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325 DataGridColumn.headerRenderer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 326 DataGridColumn.headerText. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 326 DataGridColumn.labelFunction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 327
Contenido
DataGridColumn.resizable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .328 DataGridColumn.sortable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .329 DataGridColumn.sortOnHeaderRelease . . . . . . . . . . . . . . . . . . . . . . . 330 DataGridColumn.width. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 331 Captulo 11: Componente DataHolder. . . . . . . . . . . . . . . . . . . . . 333 Creacin de aplicaciones con el componente DataHolder . . . . . . . .335 Clase DataHolder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .336 DataHolder.data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .336 Captulo 12: Interfaz API de DataProvider . . . . . . . . . . . . . . . . . 339 DataProvider.addItem() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 341 DataProvider.addItemAt() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .342 DataProvider.editField(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .343 DataProvider.getEditingData(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 344 DataProvider.getItemAt() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .345 DataProvider.getItemID() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .346 DataProvider.length . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 347 DataProvider.modelChanged . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .347 DataProvider.removeAll() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 349 DataProvider.removeItemAt() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 349 DataProvider.replaceItemAt(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 350 DataProvider.sortItems() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 351 DataProvider.sortItemsBy() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .352 Captulo 13: Componente DateChooser. . . . . . . . . . . . . . . . . . . 355 Utilizacin del componente DateChooser . . . . . . . . . . . . . . . . . . . . . . .355 Personalizacin del componente DateChooser . . . . . . . . . . . . . . . . . .358 Clase DateChooser . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .362 DateChooser.change . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 367 DateChooser.dayNames . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .368 DateChooser.disabledDays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .369 DateChooser.disabledRanges . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .369 DateChooser.displayedMonth . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .370 DateChooser.displayedYear . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 371 DateChooser.firstDayOfWeek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 372 DateChooser.monthNames . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 373 DateChooser.scroll . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 373 DateChooser.selectableRange . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 375 DateChooser.selectedDate. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 376 DateChooser.showToday . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 377
Contenido
Captulo 14: Componente DataSet . . . . . . . . . . . . . . . . . . . . . . . 379 Utilizacin del componente DataSet . . . . . . . . . . . . . . . . . . . . . . . . . . . 380 Clase DataSet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 384 DataSet.addItem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 388 DataSet.addItem() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 390 DataSet.addItemAt() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 392 DataSet.addSort() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 393 DataSet.afterLoaded. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 396 DataSet.applyUpdates() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 397 DataSet.calcFields. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 398 DataSet.changesPending() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 399 DataSet.clear() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 400 DataSet.createItem() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .401 DataSet.currentItem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 403 DataSet.dataProvider . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 404 DataSet.deltaPacket . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 404 DataSet.deltaPacketChanged . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 405 DataSet.disableEvents(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 406 DataSet.enableEvents() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 407 DataSet.filtered. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 409 DataSet.filterFunc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 411 DataSet.find() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .414 DataSet.findFirst() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .416 DataSet.findLast() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 417 DataSet.first() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .419 DataSet.getItemId() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 420 DataSet.getIterator() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .421 DataSet.getLength() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 423 DataSet.hasNext() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 423 DataSet.hasPrevious() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 424 DataSet.hasSort() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 425 DataSet.isEmpty() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 427 DataSet.items . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 427 DataSet.itemClassName . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 428 DataSet.iteratorScrolled. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 429 DataSet.last() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 430 DataSet.length . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .431 DataSet.loadFromSharedObj(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 433 DataSet.locateById(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 434 DataSet.logChanges . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 435 DataSet.modelChanged . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 436 DataSet.newItem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 439
Contenido
DataSet.next() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 440 DataSet.previous() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 441 DataSet.properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 442 DataSet.readOnly . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 442 DataSet.removeAll() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 443 DataSet.removeItem. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 444 DataSet.removeItem() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 446 DataSet.removeItemAt() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .447 DataSet.removeRange() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .448 DataSet.removeSort() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 449 DataSet.resolveDelta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 450 DataSet.saveToSharedObj() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 452 DataSet.schema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .453 DataSet.selectedIndex . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 454 DataSet.setIterator() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 455 DataSet.setRange() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .456 DataSet.skip() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .457 DataSet.useSort() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .458 Captulo 15: Componente DateField . . . . . . . . . . . . . . . . . . . . . 459 Utilizacin del componente DateField . . . . . . . . . . . . . . . . . . . . . . . . . 460 Personalizacin del componente DateField . . . . . . . . . . . . . . . . . . . . .462 Clase DateField . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .466 DateField.change . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 471 DateField.close() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .472 DateField.close . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 473 DateField.dateFormatter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .475 DateField.dayNames . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .475 DateField.disabledDays. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 476 DateField.disabledRanges . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 477 DateField.displayedMonth . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 478 DateField.displayedYear . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 478 DateField.firstDayOfWeek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .479 DateField.monthNames. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 480 DateField.open() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 480 DateField.open. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 481 DateField.pullDown . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .483 DateField.scroll . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .483 DateField.selectableRange. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .485 DateField.selectedDate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .486 DateField.showToday . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 487
10
Contenido
Captulo 16: Clase Delegate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 489 Delegate.create() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 490 Captulo 17: Clase DeltaItem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 491 DeltaItem.argList . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 492 DeltaItem.curValue. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 493 DeltaItem.delta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 493 DeltaItem.kind . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 494 DeltaItem.message . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 494 DeltaItem.name. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 495 DeltaItem.newValue. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 495 DeltaItem.oldValue. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 496 Captulo 18: Interfaz Delta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 497 Delta.addDeltaItem() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 498 Delta.getChangeList() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 499 Delta.getDeltaPacket() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 500 Delta.getId() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 500 Delta.getItemByName() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .501 Delta.getMessage() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 502 Delta.getOperation() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 503 Delta.getSource() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 504 Captulo 19: Interfaz DeltaPacket . . . . . . . . . . . . . . . . . . . . . . . . 507 DeltaPacket.getConfigInfo() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 508 DeltaPacket.getIterator() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 509 DeltaPacket.getSource() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .510 DeltaPacket.getTimestamp(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 511 DeltaPacket.getTransactionId() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .512 DeltaPacket.logChanges() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .513 Captulo 20: Clase DepthManager . . . . . . . . . . . . . . . . . . . . . . . . 515 DepthManager.createChildAtDepth() . . . . . . . . . . . . . . . . . . . . . . . . . . . 517 DepthManager.createClassChildAtDepth() . . . . . . . . . . . . . . . . . . . . . .518 DepthManager.createClassObjectAtDepth() . . . . . . . . . . . . . . . . . . . .519 DepthManager.createObjectAtDepth() . . . . . . . . . . . . . . . . . . . . . . . . 520 DepthManager.kBottom. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .521 DepthManager.kCursor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .521 DepthManager.kNotopmost . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 522 DepthManager.kTooltip . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 522 DepthManager.kTop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 523
Contenido
11
DepthManager.kTopmost . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .523 DepthManager.setDepthAbove() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 524 DepthManager.setDepthBelow() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 524 DepthManager.setDepthTo() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .525 Captulo 21: Clase EventDispatcher . . . . . . . . . . . . . . . . . . . . . . 527 Objetos de evento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 527 Clase EventDispatcher (API) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .528 EventDispatcher.addEventListener() . . . . . . . . . . . . . . . . . . . . . . . . . . 529 EventDispatcher.dispatchEvent() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 531 EventDispatcher.removeEventListener(). . . . . . . . . . . . . . . . . . . . . . . .532 Captulo 22: Componente FLVPlayback . . . . . . . . . . . . . . . . . . 533 Utilizacin del componente FLVPlayback. . . . . . . . . . . . . . . . . . . . . . .535 Utilizacin de puntos de referencia . . . . . . . . . . . . . . . . . . . . . . . . . . . . 542 Reproduccin de varios archivos FLV . . . . . . . . . . . . . . . . . . . . . . . . . 550 Flujo de archivos FLV de un servidor FMS . . . . . . . . . . . . . . . . . . . . . .553 Personalizacin del componente FLVPlayback. . . . . . . . . . . . . . . . . 554 Clase FLVPlayback. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .570 Clase VideoError . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 738 Clase VideoPlayer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 747 Utilizacin de un archivo SMIL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 753 Captulo 23: Clase FocusManager . . . . . . . . . . . . . . . . . . . . . . . .763 Utilizacin de Focus Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 764 Personalizacin de Focus Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . 767 Clase FocusManager (API) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 768 FocusManager.defaultPushButton . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 772 FocusManager.defaultPushButtonEnabled . . . . . . . . . . . . . . . . . . . . . 773 FocusManager.enabled . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 774 FocusManager.getFocus() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 774 FocusManager.nextTabIndex. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 775 FocusManager.sendDefaultPushButtonEvent() . . . . . . . . . . . . . . . . . 776 FocusManager.setFocus() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 777 Captulo 24: Clase Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .779 Utilizacin de la clase Form. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .780 Clase Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 781 Form.currentFocusedForm. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 788 Form.getChildForm() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 788 Form.indexInParentForm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 789
12
Contenido
Form.numChildForms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 790 Form.parentIsForm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 790 Form.parentForm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 791 Form.rootForm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 792 Form.visible . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 793 Captulo 25: Interfaz Iterator . . . . . . . . . . . . . . . . . . . . . . . . . . . . 795 Iterator.hasNext() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 796 Iterator.next() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 797 Captulo 26: Componente Label . . . . . . . . . . . . . . . . . . . . . . . . . 799 Utilizacin del componente Label . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 800 Personalizacin del componente Label . . . . . . . . . . . . . . . . . . . . . . . . 802 Clase Label . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 803 Label.autoSize . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 807 Label.html . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 808 Label.text . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 809 Captulo 27: Componente List. . . . . . . . . . . . . . . . . . . . . . . . . . . . 811 Utilizacin del componente List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .813 Personalizacin del componente List . . . . . . . . . . . . . . . . . . . . . . . . . . . 817 Clase List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 822 List.addItem() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 829 List.addItemAt() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 830 List.cellRenderer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .831 List.change . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .831 List.dataProvider . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 833 List.getItemAt() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 834 List.hPosition. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 835 List.hScrollPolicy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 836 List.iconField . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 837 List.iconFunction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 838 List.itemRollOut . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 839 List.itemRollOver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .841 List.labelField . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 843 List.labelFunction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 844 List.length. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 845 List.maxHPosition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 846 List.multipleSelection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 847 List.removeAll(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 848 List.removeItemAt() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 849
Contenido
13
List.replaceItemAt() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 850 List.rowCount . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 851 List.rowHeight . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .852 List.scroll . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .853 List.selectable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .855 List.selectedIndex . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .856 List.selectedIndices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 857 List.selectedItem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .858 List.selectedItems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .859 List.setPropertiesAt() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 860 List.sortItems() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 861 List.sortItemsBy() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .862 List.vPosition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .864 List.vScrollPolicy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .865 Captulo 28: Componente Loader . . . . . . . . . . . . . . . . . . . . . . . .867 Utilizacin del componente Loader. . . . . . . . . . . . . . . . . . . . . . . . . . . . .868 Personalizacin del componente Loader . . . . . . . . . . . . . . . . . . . . . . . 871 Clase Loader . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 872 Loader.autoLoad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 876 Loader.bytesLoaded . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 877 Loader.bytesTotal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 878 Loader.complete . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 879 Loader.content. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .880 Loader.contentPath . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 881 Loader.load() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .882 Loader.percentLoaded . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .883 Loader.progress . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .884 Loader.scaleContent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .886 Captulo 29: Componentes Media . . . . . . . . . . . . . . . . . . . . . . . .887 Interaccin con los componentes multimedia. . . . . . . . . . . . . . . . . . . .888 Aspectos bsicos de los componentes multimedia . . . . . . . . . . . . . . 890 Utilizacin de componentes multimedia. . . . . . . . . . . . . . . . . . . . . . . . .893 Parmetros del componente multimedia . . . . . . . . . . . . . . . . . . . . . . . 902 Creacin de aplicaciones con componentes multimedia . . . . . . . . . 906 Personalizacin de los componentes multimedia . . . . . . . . . . . . . . . 906 Clase Media . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .907 Media.activePlayControl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 912 Media.addCuePoint() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 913 Media.aspectRatio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 914
14
Contenido
Media.associateController(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .915 Media.associateDisplay() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .916 Media.autoPlay . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 917 Media.autoSize . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .918 Media.backgroundStyle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .919 Media.bytesLoaded . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 920 Media.bytesTotal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .921 Media.change . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 922 Media.click . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 923 Media.complete . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 924 Media.contentPath. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 925 Media.controllerPolicy. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 926 Media.controlPlacement. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 927 Media.cuePoint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 928 Media.cuePoints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 929 Media.displayFull() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 930 Media.displayNormal() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .931 Media.getCuePoint() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 932 Media.horizontal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 933 Media.mediaType. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 934 Media.pause() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 935 Media.play() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 936 Media.playheadChange . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 937 Media.playheadTime . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 938 Media.playing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 939 Media.preferredHeight . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 940 Media.preferredWidth . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .941 Media.progress . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .941 Media.scrubbing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 943 Media.removeAllCuePoints(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 944 Media.removeCuePoint() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 945 Media.setMedia() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 946 Media.stop(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 947 Media.totalTime . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 948 Media.volume . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 949 Media.volume . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 950 Captulo 30: Componente Menu . . . . . . . . . . . . . . . . . . . . . . . . . . 951 Interaccin con el componente Menu . . . . . . . . . . . . . . . . . . . . . . . . . . 952 Utilizacin del componente Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 953 Tipos de elementos de men . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 956 Propiedades de objeto de inicializacin . . . . . . . . . . . . . . . . . . . . . . . . 959
Contenido
15
Parmetros de Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 960 Creacin de aplicaciones con el componente Menu . . . . . . . . . . . . . . 961 Personalizacin del componente Menu . . . . . . . . . . . . . . . . . . . . . . . . 965 Clase Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .970 Menu.addMenuItem() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .975 Menu.addMenuItemAt(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 977 Menu.change . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .979 Menu.createMenu(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 981 Menu.dataProvider . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .982 Menu.getMenuItemAt() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 984 Menu.hide(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .985 Menu.indexOf() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .986 Menu.menuHide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .988 Menu.menuShow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 990 Menu.removeAll() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 992 Menu.removeMenuItem() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 994 Menu.removeMenuItemAt() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 995 Menu.rollOut . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .997 Menu.rollOver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 999 Menu.setMenuItemEnabled() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1001 Menu.setMenuItemSelected() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1002 Menu.show() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1004 Clase MenuDataProvider. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1005 MenuDataProvider.addMenuItem() . . . . . . . . . . . . . . . . . . . . . . . . . . .1006 MenuDataProvider.addMenuItemAt() . . . . . . . . . . . . . . . . . . . . . . . . .1008 MenuDataProvider.getMenuItemAt() . . . . . . . . . . . . . . . . . . . . . . . . . . 1010 MenuDataProvider.indexOf() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1011 MenuDataProvider.removeMenuItem() . . . . . . . . . . . . . . . . . . . . . . . . 1013 MenuDataProvider.removeMenuItemAt() . . . . . . . . . . . . . . . . . . . . . . 1014 Captulo 31: Componente MenuBar . . . . . . . . . . . . . . . . . . . . . . 1017 Interaccin con el componente MenuBar . . . . . . . . . . . . . . . . . . . . . . 1018 Utilizacin del componente MenuBar. . . . . . . . . . . . . . . . . . . . . . . . . . 1018 Personalizacin del componente MenuBar . . . . . . . . . . . . . . . . . . . . 1021 Clase MenuBar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1024 MenuBar.addMenu() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1029 MenuBar.addMenuAt() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1031 MenuBar.dataProvider. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1032 MenuBar.getMenuAt() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1034 MenuBar.getMenuEnabledAt() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1035 MenuBar.labelField. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1036 MenuBar.labelFunction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1037
16
Contenido
MenuBar.removeAll() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1038 MenuBar.removeMenuAt() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1039 MenuBar.setMenuEnabledAt() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1040 Captulo 32: Componente NumericStepper . . . . . . . . . . . . . . 1043 Utilizacin del componente NumericStepper . . . . . . . . . . . . . . . . . . 1044 Personalizacin del componente NumericStepper . . . . . . . . . . . . . 1046 Clase NumericStepper . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1050 NumericStepper.change. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1055 NumericStepper.maximum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1057 NumericStepper.minimum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1058 NumericStepper.nextValue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1059 NumericStepper.previousValue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1060 NumericStepper.stepSize . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1061 NumericStepper.value. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1062 Captulo 33: Clase PopUpManager . . . . . . . . . . . . . . . . . . . . . 1063 PopUpManager.createPopUp() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1064 PopUpManager.deletePopUp() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1065 Captulo 34: Componente ProgressBar. . . . . . . . . . . . . . . . . . .1067 Utilizacin del componente ProgressBar . . . . . . . . . . . . . . . . . . . . . . Personalizacin del componente ProgressBar . . . . . . . . . . . . . . . . . Clase ProgressBar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ProgressBar.complete . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ProgressBar.conversion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ProgressBar.direction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ProgressBar.indeterminate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ProgressBar.label. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ProgressBar.labelPlacement. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ProgressBar.maximum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ProgressBar.minimum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ProgressBar.mode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ProgressBar.percentComplete . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ProgressBar.progress . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ProgressBar.setProgress() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ProgressBar.source . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ProgressBar.value . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1068 1073 1076 1080 1082 1083 1084 1085 1086 1088 1089 1090 1092 1093 1095 1097 1098
Captulo 35: Componente RadioButton. . . . . . . . . . . . . . . . . . . 1101 Utilizacin del componente RadioButton . . . . . . . . . . . . . . . . . . . . . . . 1102 Personalizacin del componente RadioButton . . . . . . . . . . . . . . . . . . 1104
Contenido
17
Clase RadioButton . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1109 RadioButton.click . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1115 RadioButton.data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1117 RadioButton.groupName . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1118 RadioButton.label . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1119 RadioButton.labelPlacement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1120 RadioButton.selected. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1122 RadioButton.selectedData . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1123 RadioButton.selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1124 Captulo 36: Componente RadioButtonGroup . . . . . . . . . . . . . 1127 Captulo 37: Componente RDBMSResolver . . . . . . . . . . . . . . . 1129 Utilizacin del componente RDBMSResolver . . . . . . . . . . . . . . . . . . 1130 Clase RDBMSResolver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1133 RDBMSResolver.addFieldInfo() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1135 RDBMSResolver.beforeApplyUpdates . . . . . . . . . . . . . . . . . . . . . . . . 1136 RDBMSResolver.deltaPacket . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1137 RDBMSResolver.fieldInfo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1138 RDBMSResolver.nullValue. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1139 RDBMSResolver.reconcileResults. . . . . . . . . . . . . . . . . . . . . . . . . . . . 1139 RDBMSResolver.reconcileUpdates . . . . . . . . . . . . . . . . . . . . . . . . . . . 1140 RDBMSResolver.tableName . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1142 RDBMSResolver.updateMode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1143 RDBMSResolver.updatePacket . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1144 RDBMSResolver.updateResults. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1144 Captulo 38: Clase RectBorder . . . . . . . . . . . . . . . . . . . . . . . . . . 1145 Utilizacin de estilos con la clase RectBorder . . . . . . . . . . . . . . . . . . 1146 Creacin de una implementacin personalizada de RectBorder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1148 Captulo 39: Clase Screen. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1153 Carga de contenido externo en pantallas. . . . . . . . . . . . . . . . . . . . . . . 1154 Clase Screen (API) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1157 Screen.allTransitionsInDone. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1164 Screen.allTransitionsOutDone . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1165 Screen.currentFocusedScreen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1166 Screen.getChildScreen() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1167 Screen.indexInParent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1168 Screen.mouseDown . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1169 Screen.mouseDownSomewhere. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1170
18
Contenido
Screen.mouseMove. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1171 Screen.mouseOut . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1172 Screen.mouseOver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1173 Screen.mouseUp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1174 Screen.mouseUpSomewhere . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1175 Screen.numChildScreens. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1176 Screen.parentIsScreen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1177 Screen.parentScreen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1178 Screen.rootScreen. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1178 Captulo 40: Componente ScrollPane . . . . . . . . . . . . . . . . . . . . 1179 Utilizacin del componente ScrollPane . . . . . . . . . . . . . . . . . . . . . . . . 1180 Personalizacin del componente ScrollPane . . . . . . . . . . . . . . . . . . . 1183 Clase ScrollPane . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1185 ScrollPane.complete . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1190 ScrollPane.content . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1191 ScrollPane.contentPath . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1192 ScrollPane.getBytesLoaded(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1194 ScrollPane.getBytesTotal() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1195 ScrollPane.hLineScrollSize . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1196 ScrollPane.hPageScrollSize . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1197 ScrollPane.hPosition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1198 ScrollPane.hScrollPolicy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1199 ScrollPane.progress . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1200 ScrollPane.refreshPane() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1202 ScrollPane.scroll. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1203 ScrollPane.scrollDrag . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1206 ScrollPane.vLineScrollSize . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1207 ScrollPane.vPageScrollSize . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1208 ScrollPane.vPosition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1209 ScrollPane.vScrollPolicy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1210 Captulo 41: Clase SimpleButton. . . . . . . . . . . . . . . . . . . . . . . . . 1211 SimpleButton.click. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1216 SimpleButton.emphasized. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1218 SimpleButton.emphasizedStyleDeclaration . . . . . . . . . . . . . . . . . . . . 1219 SimpleButton.selected . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1219 SimpleButton.toggle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1220
Contenido
19
Captulo 42: Clase Slide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1221 Utilizacin de la clase Slide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1223 Clase Slide (API) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1224 Slide.autoKeyNav . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1233 Slide.currentChildSlide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1234 Slide.currentFocusedSlide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1235 Slide.currentSlide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1235 Slide.defaultKeydownHandler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1236 Slide.firstSlide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1238 Slide.getChildSlide() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1239 Slide.gotoFirstSlide() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1240 Slide.gotoLastSlide() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1241 Slide.gotoNextSlide() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1243 Slide.gotoPreviousSlide() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1245 Slide.gotoSlide() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1247 Slide.hideChild . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1249 Slide.indexInParentSlide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1250 Slide.lastSlide. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1251 Slide.nextSlide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1252 Slide.numChildSlides . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1253 Slide.overlayChildren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1253 Slide.parentIsSlide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1255 Slide.parentSlide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1256 Slide.playHidden . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1256 Slide.previousSlide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1257 Slide.revealChild . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1258 Slide.rootSlide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1259 Captulo 43: Clase StyleManager. . . . . . . . . . . . . . . . . . . . . . . . 1261 StyleManager.registerColorName() . . . . . . . . . . . . . . . . . . . . . . . . . . . 1262 StyleManager.registerColorStyle() . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1263 StyleManager.registerInheritingStyle(). . . . . . . . . . . . . . . . . . . . . . . . . 1264 Captulo 44: Clase SystemManager . . . . . . . . . . . . . . . . . . . . .1265 SystemManager.screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1266 Captulo 45: Componente TextArea. . . . . . . . . . . . . . . . . . . . . . 1267 Utilizacin del componente TextArea . . . . . . . . . . . . . . . . . . . . . . . . . . 1268 Personalizacin del componente TextArea. . . . . . . . . . . . . . . . . . . . . .1271 Clase TextArea. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1274 TextArea.change . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1279
20
Contenido
TextArea.editable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1282 TextArea.hPosition. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1283 TextArea.hScrollPolicy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1284 TextArea.html . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1285 TextArea.length . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1286 TextArea.maxChars . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1287 TextArea.maxHPosition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1288 TextArea.maxVPosition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1289 TextArea.password . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1290 TextArea.restrict . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1292 TextArea.scroll . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1293 TextArea.styleSheet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1296 TextArea.text . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1297 TextArea.vPosition. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1298 TextArea.vScrollPolicy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1299 TextArea.wordWrap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1300 Captulo 46: Componente TextInput . . . . . . . . . . . . . . . . . . . . . 1301 Utilizacin del componente TextInput . . . . . . . . . . . . . . . . . . . . . . . . . 1302 Personalizacin del componente TextInput . . . . . . . . . . . . . . . . . . . . 1304 Clase TextInput . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1307 TextInput.change . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1312 TextInput.editable. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1314 TextInput.enter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1315 TextInput.hPosition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1317 TextInput.length . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1318 TextInput.maxChars. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1319 TextInput.maxHPosition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1320 TextInput.password . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1321 TextInput.restrict. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1322 TextInput.text. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1324 Captulo 47: Interfaz TransferObject . . . . . . . . . . . . . . . . . . . . 1325 TransferObject.clone() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1326 TransferObject.getPropertyData() . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1327 TransferObject.setPropertyData() . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1328 Captulo 48: Clase TransitionManager. . . . . . . . . . . . . . . . . . . 1329 Utilizacin de la clase TransitionManager. . . . . . . . . . . . . . . . . . . . . . 1329 Resumen de la clase TransitionManager . . . . . . . . . . . . . . . . . . . . . . . 1331 TransitionManager.allTransitionsInDone . . . . . . . . . . . . . . . . . . . . . . 1332
Contenido
21
TransitionManager.allTransitionsOutDone . . . . . . . . . . . . . . . . . . . . . 1334 TransitionManager.content . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1335 TransitionManager.contentAppearance . . . . . . . . . . . . . . . . . . . . . . . 1336 TransitionManager.start() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1337 TransitionManager.startTransition() . . . . . . . . . . . . . . . . . . . . . . . . . . . 1339 TransitionManager.toString() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1340 Clases basadas en transiciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1341 Captulo 49: Interfaz TreeDataProvider. . . . . . . . . . . . . . . . . . .1349 TreeDataProvider.addTreeNode() . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1351 TreeDataProvider.addTreeNodeAt() . . . . . . . . . . . . . . . . . . . . . . . . . . 1352 TreeDataProvider.attributes.data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1353 TreeDataProvider.attributes.label . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1353 TreeDataProvider.getTreeNodeAt() . . . . . . . . . . . . . . . . . . . . . . . . . . . 1354 TreeDataProvider.removeTreeNode() . . . . . . . . . . . . . . . . . . . . . . . . . 1355 TreeDataProvider.removeTreeNodeAt() . . . . . . . . . . . . . . . . . . . . . . . 1356 Captulo 50: Componente Tree. . . . . . . . . . . . . . . . . . . . . . . . . . 1357 Utilizacin del componente Tree . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1358 Personalizacin del componente Tree . . . . . . . . . . . . . . . . . . . . . . . . . 1366 Clase Tree . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1372 Tree.addTreeNode() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1379 Tree.addTreeNodeAt() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1381 Tree.dataProvider . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1383 Tree.firstVisibleNode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1384 Tree.getDisplayIndex() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1385 Tree.getIsBranch() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1387 Tree.getIsOpen() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1388 Tree.getNodeDisplayedAt() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1389 Tree.getTreeNodeAt() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1390 Tree.nodeClose . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1391 Tree.nodeOpen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1393 Tree.refresh() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1395 Tree.removeAll() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1396 Tree.removeTreeNodeAt() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1398 Tree.selectedNode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1399 Tree.selectedNodes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1400 Tree.setIcon() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1401 Tree.setIsBranch(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1402 Tree.setIsOpen() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1404
22
Contenido
Captulo 51: Clase Tween . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1405 Utilizacin de la clase Tween . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1408 Aplicacin de mtodos de suavizado a componentes . . . . . . . . . . . . 1410 Tween.continueTo(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1415 Tween.duration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1416 Tween.fforward() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1416 Tween.finish. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1417 Tween.FPS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1418 Tween.nextFrame() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1419 Tween.onMotionChanged . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1421 Tween.onMotionFinished. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1422 Tween.onMotionResumed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1423 Tween.onMotionStarted. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1424 Tween.onMotionStopped. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1425 Tween.position . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1426 Tween.prevFrame() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1427 Tween.resume() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1428 Tween.rewind() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1429 Tween.start() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1431 Tween.stop() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1432 Tween.time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1433 Tween.toString(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1434 Tween.yoyo(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1435 Captulo 52: Clase UIComponent . . . . . . . . . . . . . . . . . . . . . . . .1437 Clase UIComponent (API) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1438 UIComponent.enabled . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1441 UIComponent.focusIn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1441 UIComponent.focusOut . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1443 UIComponent.getFocus(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1444 UIComponent.keyDown . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1445 UIComponent.keyUp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1446 UIComponent.setFocus() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1447 UIComponent.tabIndex . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1447 Captulo 53: Clase UIEventDispatcher. . . . . . . . . . . . . . . . . . . 1449 UIEventDispatcher.keyDown . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1450 UIEventDispatcher.keyUp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1451 UIEventDispatcher.load . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1451 UIEventDispatcher.mouseDown . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1452 UIEventDispatcher.mouseOut. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1452
Contenido
23
UIEventDispatcher.mouseOver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1453 UIEventDispatcher.mouseUp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1453 UIEventDispatcher.removeEventListener() . . . . . . . . . . . . . . . . . . . . 1454 UIEventDispatcher.unload. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1454 Captulo 54: Clase UIObject . . . . . . . . . . . . . . . . . . . . . . . . . . . .1455 UIObject.bottom . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1458 UIObject.createClassObject(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1458 UIObject.createLabel(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1459 UIObject.createObject() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1461 UIObject.destroyObject(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1462 UIObject.doLater() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1463 UIObject.draw. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1464 UIObject.getStyle() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1465 UIObject.height . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1466 UIObject.hide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1467 UIObject.invalidate() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1468 UIObject.left . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1469 UIObject.load . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1469 UIObject.move . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1471 UIObject.move(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1472 UIObject.redraw() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1473 UIObject.resize. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1474 UIObject.reveal. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1475 UIObject.right . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1476 UIObject.scaleX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1477 UIObject.scaleY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1477 UIObject.setSize() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1478 UIObject.setSkin() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1479 UIObject.setStyle() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1480 UIObject.top . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1482 UIObject.unload . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1482 UIObject.visible . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1484 UIObject.width . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1484 UIObject.x . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1485 UIObject.y . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1485 Captulo 55: Componente UIScrollBar . . . . . . . . . . . . . . . . . . . 1487 Utilizacin del componente UIScrollBar . . . . . . . . . . . . . . . . . . . . . . . 1487 Personalizacin del componente UIScrollBar . . . . . . . . . . . . . . . . . . 1491 Clase UIScrollBar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1494
24
Contenido
UIScrollBar.horizontal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1499 UIScrollBar.lineScrollSize . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1500 UIScrollBar.pageScrollSize . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1501 UIScrollBar.scroll . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1502 UIScrollBar.scrollPosition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1505 UIScrollBar.setScrollProperties() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1507 UIScrollBar.setScrollTarget() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1508 UIScrollBar._targetInstanceName . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1509 Captulo 56: Clases de servicios Web . . . . . . . . . . . . . . . . . . . . .1511 Disponibilidad de las clases de servicio Web en tiempo de ejecucin. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1512 Clase Log . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1512 Constructor de la clase Log . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1514 Log.getDateString(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1515 Log.logInfo() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1516 Log.logDebug(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1517 Log.level . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1518 Log.name . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1519 Log.onLog(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1520 Clase PendingCall . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1521 PendingCall.getOutputParameter() . . . . . . . . . . . . . . . . . . . . . . . . . . . 1523 PendingCall.getOutputParameterByName() . . . . . . . . . . . . . . . . . . . 1524 PendingCall.getOutputParameters() . . . . . . . . . . . . . . . . . . . . . . . . . . 1525 PendingCall.getOutputValue() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1526 PendingCall.getOutputValues() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1527 PendingCall.myCall . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1528 PendingCall.onFault . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1528 PendingCall.onResult . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1530 PendingCall.request. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1531 PendingCall.response . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1531 Clase SOAPCall . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1532 SOAPCall.concurrency . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1533 SOAPCall.doDecoding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1533 SOAPCall.doLazyDecoding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1534 Clase WebService . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1534 Tipos compatibles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1536 Seguridad de WebService . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1539 Constructor de la clase WebService . . . . . . . . . . . . . . . . . . . . . . . . . . 1539 WebService.getCall() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1541 WebService.myMethodName() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1542 WebService.onFault . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1543 WebService.onLoad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1545
Contenido
25
Captulo 57: Componente WebServiceConnector . . . . . . . . . . 1547 Utilizacin del componente WebServiceConnector . . . . . . . . . . . . . 1547 Clase WebServiceConnector . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1550 WebServiceConnector.multiple SimultaneousAllowed. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1552 WebServiceConnector.operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1553 WebServiceConnector.params . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1554 WebServiceConnector.result . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1555 WebServiceConnector.results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1556 WebServiceConnector.send. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1557 WebServiceConnector.status . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1558 WebServiceConnector.suppress InvalidCalls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1561 WebServiceConnector.trigger(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1563 WebServiceConnector.WSDLURL . . . . . . . . . . . . . . . . . . . . . . . . . . . 1564 Captulo 58: Componente Window . . . . . . . . . . . . . . . . . . . . . .1565 Utilizacin del componente Window. . . . . . . . . . . . . . . . . . . . . . . . . . . 1566 Personalizacin del componente Window . . . . . . . . . . . . . . . . . . . . . 1569 Clase Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1573 Window.click . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1578 Window.closeButton . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1580 Window.complete . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1581 Window.content . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1583 Window.contentPath . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1584 Window.deletePopUp() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1585 Window.mouseDownOutside. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1586 Window.title . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1588 Window.titleStyleDeclaration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1589 Captulo 59: Componente XMLConnector . . . . . . . . . . . . . . . . 1591 Utilizacin del componente XMLConnector . . . . . . . . . . . . . . . . . . . . 1591 Clase XMLConnector . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1594 XMLConnector.direction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1595 XMLConnector.ignoreWhite. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1596 XMLConnector.multipleSimultaneousAllowed. . . . . . . . . . . . . . . . . . 1597 XMLConnector.params . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1598 XMLConnector.result . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1599 XMLConnector.results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1600 XMLConnector.send . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1601 XMLConnector.status . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1602
26
Contenido
XMLConnector.suppressInvalidCalls. . . . . . . . . . . . . . . . . . . . . . . . . . 1604 XMLConnector.trigger() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1605 XMLConnector.URL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1607 Captulo 60: Clase XPathAPI . . . . . . . . . . . . . . . . . . . . . . . . . . 1609 Captulo 61: Componente XUpdateResolver . . . . . . . . . . . . . . . .1611 Utilizacin del componente XUpdateResolver . . . . . . . . . . . . . . . . . . 1612 Clase XUpdateResolver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1615 XUpdateResolver.beforeApplyUpdates . . . . . . . . . . . . . . . . . . . . . . . . 1616 XUpdateResolver.deltaPacket . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1617 XUpdateResolver.includeDeltaPacketInfo . . . . . . . . . . . . . . . . . . . . . . 1618 XUpdateResolver.reconcileResults . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1618 XUpdateResolver.updateResults . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1619 XUpdateResolver.xupdatePacket . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1620 ndice alfabtico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1621
Contenido
27
28
Contenido
CAPTULO 1
Adobe Flash CS3 Professional incluye componentes ActionScript 2.0 y componentes ActionScript 3.0. Estos dos conjuntos de componentes no se pueden mezclar. Debe utilizarse uno de los dos conjuntos en una aplicacin concreta. Flash CS3 presenta componentes ActionScript 2.0 o componentes ActionScript 3.0 en funcin de si se abre un archivo de ActionScript 2.0 o de ActionScript 3.0. Al crear un nuevo documento de Flash CS3, debe elegirse entre Archivo de Flash (ActionScript 3.0) o Archivo de Flash (ActionScript 2.0). Cuando se abre un documento existente, Flash examina la Configuracin de publicacin para determinar el conjunto de componentes que se debe utilizar. Para obtener informacin sobre los componentes ActionScript 3.0, consulte Utilizacin de componentes ActionScript 3.0.
En este manual, la descripcin de cada componente contiene la siguiente informacin: Interaccin con el teclado Previsualizacin dinmica Accesibilidad Configuracin de los parmetros del componente Utilizacin del componente en una aplicacin Personalizacin del componente con estilos y aspectos Mtodos, propiedades y eventos de ActionScript
Los componentes se presentan en orden alfabtico, pero en las tablas siguientes estn clasificados por categoras. Este captulo contiene las siguientes secciones:
Tipos de componentes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 Otras listas de este manual. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
29
Tipos de componentes
En las siguientes tablas se enumeran los distintos componentes de la versin 2, organizados por categoras.
Componente Label Componente List Componente Loader Componente Menu Componente MenuBar Componente NumericStepper Componente ProgressBar
30
Componente
Componente RadioButton Componente ScrollPane Componente TextArea Componente TextInput Componente Tree Componente Window Componente UIScrollBar
Descripcin
Permite seleccionar entre opciones que se excluyen entre s. Muestra clips de pelcula, mapas de bits y archivos SWF en un rea limitada con barras de desplazamiento automtico. Campo de texto de varias lneas opcionalmente editable. Campo de texto de una lnea opcionalmente editable. Permite manipular informacin jerrquica. Ventana que se puede arrastrar, con una barra de ttulo, texto, borde, un botn Cerrar y rea de presentacin de contenido. Permite aadir una barra de desplazamiento a un campo de texto.
Gestin de datos
Componente
Clases de vinculacin de datos Componente DataHolder Interfaz API de DataProvider Componente DataSet Componente RDBMSResolver
Descripcin
Clases que implementan la funcionalidad de vinculacin de datos en tiempo de ejecucin de Flash. Almacena informacin y puede utilizarse como conector entre componentes. Modelo para listas de acceso lineal de datos; ofrece capacidades bsicas de manipulacin de matrices que difunden cambios de datos. Bloque para crear aplicaciones gestionadas por datos. Permite guardar datos en cualquier origen de datos admitido. Este componente convierte los datos XML que se pueden recibir y analizar mediante un servicio Web, JavaBean, servlet o pgina ASP. Clases que permiten el acceso a los servicios Web que usan SOAP (Simple Object Access Protocol). Estas clases estn en el paquete mx.services. Proporciona acceso sin script a llamadas de mtodo de servicio Web. Lee y escribe documentos XML mediante los mtodos GET y
POST de HTTP.
Permite guardar datos en cualquier origen de datos admitido. Este componente convierte el paquete delta en XUpdate.
Tipos de componentes
31
Componentes multimedia
Componente
Componente FLVPlayback
Descripcin
Permite incluir fcilmente un reproductor de vdeo en la aplicacin Flash para reproducir vdeo transmitido de forma progresiva a travs de HTTP, desde Flash Video Streaming Service (FVSS) o desde Flash Media Server (FMS). Controla la reproduccin de flujo de medios en una aplicacin (consulte Componentes Media en la pgina 887). Muestra los flujos de medios en una aplicacin (consulte Componentes Media en la pgina 887). Combinacin de componentes MediaDisplay y MediaController (consulte Componentes Media en la pgina 887).
Administradores
Clase
Clase DepthManager Clase FocusManager
Descripcin
Administra la profundidad de apilamiento de los objetos. Gestiona el desplazamiento entre componentes mediante la tecla Tabulador. Tambin maneja los cambios de seleccin cada vez que el usuario hace clic en la aplicacin. Permite crear y eliminar ventanas emergentes. Permite registrar estilos y administra los estilos heredados. Permite gestionar la activacin de una ventana de nivel superior. Permite administrar efectos de animacin en diapositivas y clips de pelcula.
Pantallas
Clase
Clase Form Clase Screen Clase Slide
Descripcin
Permite manipular pantallas de aplicacin de formulario en tiempo de ejecucin. Clase base para las clases Slide y Form. Permite manipular pantallas de presentacin de diapositivas en tiempo de ejecucin.
32
Descripcin
Conjunto de propiedades y mtodos que los componentes basados en listas (List, DataGrid, Tree, Menu y ComboBox) usan para manipular y mostrar contenido de celda personalizado para cada una de sus filas. Permite administrar un grupo de elementos relacionados, denominados elementos de coleccin. Cada elemento de coleccin de este conjunto tiene propiedades que se describen en los metadatos de la definicin de clase del elemento de coleccin. Permite crear objetos para usarlos como columnas de una cuadrcula de datos. Permite ejecutar una funcin pasada desde un objeto a otro en el contexto del primer objeto. Proporciona acceso a los cambios de objeto de transferencia, coleccin y nivel de objeto de transferencia. Proporciona informacin sobre una operacin individual realizada en un objeto de transferencia. Junto con la interfaz Delta y la clase DeltaItem, permite gestionar los cambios realizados en los datos. Permite aadir y eliminar detectores de eventos para que el cdigo pueda reaccionar correctamente a los eventos. Permite recorrer los objetos de una coleccin. Permite que instancias de XML asignadas a una propiedad
Menu.dataProvider usen mtodos y propiedades para
Interfaz Collection
Clase DataGridColumn Clase Delegate Interfaz Delta Clase DeltaItem Interfaz DeltaPacket Clase EventDispatcher Interfaz Iterator Clase MenuDataProvider
manipular sus propios datos as como las vistas de men asociadas. Clase RectBorder Describe los estilos usados para controlar los bordes de componentes.
33
Elemento
Clase SimpleButton Interfaz TransferObject
Descripcin
Permite controlar algunos aspectos de la apariencia y el comportamiento de un botn. Define un conjunto de mtodos que los elementos administrados por el componente DataSet deben implementar. Conjunto de propiedades y mtodos usados para crear XML para la propiedad Tree.dataProvider. Permite utilizar el cdigo ActionScript para mover, cambiar el tamao y desvanecer clips de pelcula fcilmente en el escenario. Proporciona mtodos, propiedades y eventos que permiten a los componentes compartir comportamientos comunes. Permite a los componentes emitir determinados eventos. Esta clase se aade a la clase UIComponent. Clase base de todos los componentes.
34
CAPTULO 2
Componente Accordion
El componente Accordion es un navegador que contiene una secuencia de elementos secundarios que se muestran de uno en uno. Los elementos secundarios debern ser objetos que hereden de la clase UIObject (que incluye todos los componentes); en la mayora de los casos, los elementos secundarios son una subclase de la clase View. Esto incluye clips de pelcula asignados con la clase mx.core.View. Para mantener el orden de tabulacin en los elementos secundarios de Accordion, stos deben ser tambin instancias de la clase View.
NO T A
El componente Accordion slo es compatible si trabaja con un documento que especifique ActionScript 2.0 en la Configuracin de publicacin.
Un componente Accordion crea y administra botones de encabezado en los que un usuario puede hacer clic para desplazarse por los elementos secundarios del componente. Tiene un diseo vertical con botones de encabezado que abarcan la anchura del componente. Hay un encabezado asociado con cada elemento secundario y cada encabezado pertenece al componente Accordion, no al elemento secundario correspondiente. Cuando un usuario hace clic en un encabezado, se muestra el elemento secundario asociado debajo de dicho encabezado. La transicin al nuevo elemento secundario utiliza una animacin de transicin.
35
Un componente Accordion con elementos secundarios acepta una seleccin y cambia el aspecto de sus encabezados para mostrarla. Cuando el usuario usa el tabulador para desplazarse hasta un componente Accordion, el encabezado seleccionado muestra el indicador de seleccin. Un componente Accordion que no tenga elementos secundarios no aceptar selecciones. Al hacer clic en componentes seleccionables dentro del elemento secundario seleccionado, dichos componentes quedarn seleccionados. Cuando la instancia de Accordion est seleccionada, podr controlarla con las teclas siguientes:
Tecla
Flecha abajo, flecha derecha
Descripcin
Desplaza la seleccin al siguiente encabezado de elemento secundario. La seleccin recorre los encabezados de elementos secundarios desde el ltimo al primero sin cambiar el elemento secundario seleccionado. Desplaza la seleccin al encabezado del elemento secundario anterior. La seleccin recorre los encabezados de los elementos secundarios desde el primero al ltimo sin cambiar el elemento secundario seleccionado. Selecciona el ltimo elemento secundario. Selecciona el elemento secundario asociado con el encabezado que est seleccionado. Selecciona el primer elemento secundario. Selecciona el siguiente elemento secundario. La seleccin recorre los elementos secundarios desde el ltimo al primero. Selecciona el elemento secundario anterior. La seleccin recorre los elementos secundarios desde el primero al ltimo. Desplaza la seleccin al componente anterior. Este componente puede estar dentro del elemento secundario seleccionado o fuera del componente Accordion; nunca ser otro encabezado en el mismo Accordion. Desplaza la seleccin al componente siguiente. Este componente puede estar dentro del elemento secundario seleccionado o fuera del componente Accordion; nunca ser otro encabezado en el mismo Accordion.
36
Componente Accordion
Parmetros de Accordion
A continuacin se indican los parmetros de edicin que se pueden definir para cada instancia del componente Accordion en el inspector de propiedades o el inspector de componentes (opcin de men Ventana > Inspector de componentes):
childIcons es una matriz que especifica los identificadores de vinculacin de los smbolos de biblioteca que se utilizarn como iconos de los encabezados del componente Accordion. El valor predeterminado es [] (matriz vaca). childLabels
es una matriz que especifica las etiquetas de texto que se deben usar en los encabezados del componente Accordion. El valor predeterminado es [] (matriz vaca). es una matriz que especifica los nombres de instancia de los elementos secundarios del componente Accordion. Los valores que escriba sern los nombres de instancia para los smbolos de elementos secundarios que especifique en el parmetro childSymbols. El valor predeterminado es [] (matriz vaca).
childNames
es una matriz que especifica los identificadores de vinculacin de los smbolos de biblioteca que se utilizarn para crear los elementos secundarios del componente Accordion. El valor predeterminado es [] (matriz vaca).
childSymbols
A continuacin se indican los parmetros adicionales que se pueden definir para cada instancia del componente Accordion en el inspector componentes (Ventana > Inspector de componentes):
enabled
es un valor booleano que indica si el componente acepta selecciones y entradas. El valor predeterminado es true.
visible es un valor booleano que indica si el objeto es visible (true) o no (false). El valor predeterminado es true.
37
Puede escribir cdigo ActionScript para controlar otras opciones del componente Accordion utilizando sus propiedades, mtodos y eventos. Para ms informacin, consulte Clase Accordion en la pgina 48.
5.
6. 7. 8.
38
N O TA
Las propiedades minHeight y minWidth se utilizan en rutinas internas de cambio de tamao. Se definen en UIObject y se sustituyen por distintos componentes segn convenga. Estas propiedades pueden utilizarse si se crea un administrador de diseo personalizado en la aplicacin. De lo contrario, establecer estas propiedades en el inspector de componentes no producir ningn efecto visible.
Seleccione Archivo > Nuevo y, a continuacin, Archivo Flash (ActionScript 2.0). Seleccione Insertar > Nuevo smbolo y asgnele el nombre AddressForm. Si no se muestra la vista avanzada, haga clic en el botn Avanzado. Seleccione Exportar para ActionScript. En el campo Clase, introduzca mx.core.View, y haga clic en Aceptar. Para mantener el orden de tabulacin en los elementos secundarios del componente Accordion, stos deben ser tambin instancias de la clase View. Arrastre componentes como Label y TextInput desde el panel Componentes al escenario para crear un formulario con una direccin ficticia; organcelos y defina sus parmetros en el inspector de propiedades. Disponga los elementos del formulario con respecto al punto 0,0 (la parte central) del escenario. La coordenada 0,0 del clip de pelcula se coloca en la esquina superior izquierda del componente Accordion. Seleccione Edicin > Editar documento para volver a la lnea de tiempo principal. Repita los pasos del 2 al 6 para crear un clip de pelcula denominado CheckoutForm. Arrastre un componente Accordion desde el panel Componentes para aadirlo al escenario en la lnea de tiempo principal.
Componente Accordion
9.
Introduzca el nombre de instancia my_acc. Para la propiedad childSymbols, introduzca AddressForm, AddressForm y CheckoutForm. Estas cadenas especifican los nombres de los clips de pelcula utilizados para crear los elementos secundarios del componente Accordion.
NO TA
Los dos primeros elementos secundarios son instancias del mismo clip de pelcula, ya que el formulario con la direccin de envo y el formulario con la direccin de facturacin son idnticos.
Para la propiedad childNames, introduzca shippingAddress, billingAddress y checkout. Estas cadenas son los nombres ActionScript de los elementos secundarios del componente Accordion.
Para la propiedad childLabels, introduzca Shipping Address, Billing Address y Checkout. Estas cadenas son las etiquetas de texto de los encabezados del componente Accordion. Para la propiedad childIcons, introduzca AddressIcon, AddressIcon y CheckoutIcon. Estas cadenas especifican los identificadores de vinculacin de los smbolos de clip de pelcula que se utilizan como iconos de los encabezados del componente Accordion. Debe crear estos smbolos de clips de pelcula si desea iconos en los encabezados.
10. Seleccione
Para utilizar cdigo ActionScript con el fin de aadir elementos secundarios a un componente Accordion:
1. 2. 3. 4.
Seleccione Archivo > Nuevo y, a continuacin, Archivo Flash (ActionScript 2.0). Arrastre un componente Accordion desde el panel Componentes al escenario. En el inspector de propiedades, introduzca el nombre de instancia my_acc. Arrastre un componente TextInput a la biblioteca. De este modo, se aade el componente a la biblioteca para que pueda crear dinmicamente una instancia del mismo en el step 6.
39
5.
En el panel Acciones, en el fotograma 1 de la lnea de tiempo, introduzca lo siguiente (este cdigo llama al mtodo createChild() para crear sus vistas secundarias):
import mx.core.View; // Crear paneles secundarios para que cada formulario aparezca en el // objeto my_acc. my_acc.createChild(View, "shippingAddress", {label: "Shipping Address"}); my_acc.createChild(View, "billingAddress", {label: "Billing Address"}); my_acc.createChild(View, "payment", {label: "Payment"});
6.
En el panel Acciones, en el fotograma 1, bajo el cdigo que se introdujo en el paso 5, introduzca el siguiente cdigo (este cdigo aade dos instancias del componente TextInput a los elementos secundarios del componente Accordion):
// Crear entrada de texto secundaria para el panel shippingAddress. var firstNameChild_obj:Object = my_acc.shippingAddress.createChild("TextInput", "firstName", {text: "First Name"}); // Establecer la posicin de la entrada de texto. firstNameChild_obj.move(10, 38); firstNameChild_obj.setSize(110, 20); // Crear otra entrada de texto secundaria. var lastNameChild_obj:Object = my_acc.shippingAddress.createChild("TextInput", "lastName", {text: "Last Name"}); // Establecer la posicin de la entrada de texto. lastNameChild_obj.move(150, 38); lastNameChild_obj.setSize(140, 20);
40
Componente Accordion
Tema
Halo
Descripcin
Esquema de colores base de un componente. Es el nico estilo de color que no hereda su valor. Los valores posibles son haloGreen, haloBlue y haloOrange. Color del fondo. El color predeterminado es blanco. El componente Accordion utiliza una instancia de RectBorder como borde y responde a los estilos definidos en dicha clase. Para ms informacin, consulte Clase RectBorder en la pgina 1145. El valor predeterminado del estilo de borde del componente Accordion es solid. Altura de los botones del encabezado, expresada en pxeles. El valor predeterminado es 22. Color del texto. El valor predeterminado es 0x0B333C para el tema Halo y en blanco para el tema Sample.
backgroundColor borderStyle
Ambos Ambos
headerHeight
Ambos Ambos
color
41
Estilo
disabledColor
Tema
Ambos Ambos
Descripcin
Color del texto cuando el componente est desactivado. El color predeterminado es 0x848384 (gris oscuro). Valor booleano que indica si la fuente especificada en fontFamily es una fuente incorporada. Este estilo debe definirse como true si fontFamily hace referencia a una fuente incorporada. De lo contrario, no se utiliza la fuente incorporada. Si el estilo se define como true y fontFamily no hace referencia a una fuente incorporada, no se muestra ningn texto. El valor predeterminado es false. Nombre de fuente para las etiquetas del encabezado. El valor predeterminado es _sans. Tamao en puntos para la fuente de las etiquetas del encabezado. El valor predeterminado es 10. Estilo de fuente para las etiquetas de encabezado. Puede ser
normal o italic. El valor predeterminado es normal.
embedFonts
fontFamily
fontSize
fontStyle
fontWeight
Grosor de fuente para las etiquetas de encabezado. Puede ser none o bold. El valor predeterminado es none. Todos los componentes pueden aceptar adems el valor normal en lugar de none durante una llamada a setStyle(), pero las llamadas posteriores a getStyle() devolvern none. Decoracin del texto. Puede ser none o underline. Duracin, en milisegundos, de la animacin de transicin. Referencia a una funcin de interpolacin que controla la animacin. De forma predeterminada es una funcin sinusoidal entrante/saliente. Para ms informacin, consulte Personalizacin de animaciones de componentes en Utilizacin de componentes ActionScript 2.0.
As, por ejemplo, el siguiente cdigo establece como cursiva el aspecto del estilo de la fuente de una instancia de Accordion denominada my_acc:
my_acc.setStyle("fontStyle", "italic");
Si el nombre de una propiedad de estilo termina por Color, significa que es una propiedad de estilo de color y se comporta de forma diferente a las que no lo son. Para ms informacin, consulte Utilizacin de estilos para personalizar el texto y el color de un componente en Utilizacin de componentes ActionScript 2.0.
42
Componente Accordion
Descripcin
Estado arriba (normal) del encabezado sobre todos los elementos secundarios contrados.
Valor predeterminado
accordionHeaderSkin
falseDownSkin
Estado presionado del encabezado sobre todos accordionHeaderSkin los elementos secundarios contrados. Estado del encabezado sobre todos los elementos secundarios contrados al desplazar el puntero del ratn sobre l.
accordionHeaderSkin
falseOverSkin
falseDisabled
Estado desactivado del encabezado sobre todos accordionHeaderSkin los elementos secundarios contrados. Estado arriba (normal) del encabezado sobre el elemento secundario expandido. Estado presionado del encabezado sobre el elemento secundario expandido.
accordionHeaderSkin
trueUpSkin
trueDownSkin
accordionHeaderSkin
trueOverSkin
accordionHeaderSkin Estado del encabezado sobre el elemento secundario expandido al desplazar el puntero del ratn sobre l.
trueDisabledSkin
accordionHeaderSkin
43
44
Componente Accordion
Seleccione Archivo > Nuevo y, a continuacin, Archivo ActionScript. Copie el siguiente cdigo ActionScript al archivo:
import mx.skins.RectBorder; import mx.core.ext.UIObjectExtensions; class RedGreenBlueHeader extends RectBorder { static var symbolName_str:String = "RedGreenBlueHeader"; static var symbolOwner_obj:Object = RedGreenBlueHeader; function size():Void { var color_num:Number; // Color var borderStyle_str:String = getStyle("borderStyle"); // Atributo de Accordion // Definir los colores de cada ficha en el componente Accordion para // cada estado de ficha. switch (borderStyle_str) { case "falseup": case "falserollover": case "falsedisabled": color_num = 0x7777FF; break; case "falsedown": color_num = 0x77FF77; break; case "trueup": case "truedown": case "truerollover": case "truedisabled": color_num = 0xFF7777; break; } // Borrar estilo predeterminado y dibujar estilo personalizado. clear(); lineStyle(0, 0, 100); beginFill(color_num, 100); drawRect(0, 0, __width, __height); endFill(); } // requerido para los aspectos static function classConstruct():Boolean { UIObjectExtensions.Extensions();
45
_global.skinRegistry["AccordionHeaderSkin"] = true; return true; } static var classConstructed_bl:Boolean = classConstruct(); static var UIObjectExtensionsDependency_obj:Object = UIObjectExtensions; }
Esta clase crea un cuadrado con el estilo de borde: un cuadro de color azul para los estados seleccionable, puntero del ratn encima y desactivado, un cuadro de color verde para el estado presionado normal, y un cuadro de color rojo para el elemento secundario expandido.
3.
Guarde el archivo. Para este ejemplo, asigne al archivo el nombre RedGreenBlueHeader.as. Seleccione Archivo > Nuevo y, a continuacin, Archivo Flash (ActionScript 2.0). Guarde el archivo en la misma carpeta que el archivo AS. Seleccione Insertar > Nuevo smbolo y asgnele el nombre AccordionHeaderSkin. Si no se muestra la vista avanzada, haga clic en el botn Avanzado. Seleccione Exportar para ActionScript. El identificador se rellenar automticamente con AccordionHeaderSkin. Establezca la clase en RedGreenBlueHeader. que Exportar en primer fotograma est seleccionado y haga clic en Aceptar. En la Escena 1, arrastre un componente Accordion al escenario. las propiedades del componente Accordion de forma que se muestren varios elementos secundarios. Por ejemplo, establezca childLabels como una matriz de [One,Two,Three] y childNames como una matriz de [one,two,three].
4. 5. 6. 7. 8.
9.
12. Establezca
13.
46
Componente Accordion
Para crear smbolos de clip de pelcula para los aspectos de encabezado del componente Accordion:
1. 2. 3. 4. 5.
Seleccione Archivo > Nuevo y, a continuacin, Archivo Flash (ActionScript 2.0). Cree un nuevo smbolo seleccionando Insertar > Nuevo smbolo. Asgnele el nombre RedAccordionHeaderSkin. Si no se muestra la vista avanzada, haga clic en el botn Avanzado. Seleccione Exportar para ActionScript. El identificador se rellenar automticamente con RedAccordionHeaderSkin. Deje vaco en cuadro de texto Clase. Verifique que Exportar en primer fotograma est seleccionado y haga clic en Aceptar. Abra el smbolo nuevo para editarlo. Utilice las herramientas de dibujo para crear un cuadro con relleno en rojo y lnea negra. un estilo de borde muy fino. Defina el cuadro, incluido el borde, para que se posicione en (0,0) y tenga una anchura de 100 y una altura de 100. El cdigo ActionScript cambiar el tamao del aspecto si es necesario. los pasos 2 a 11, cree aspectos de color verde y azul, y asgneles los nombres correspondientes. Haga clic en el botn Atrs para volver a la lnea de tiempo principal. un componente Accordion al escenario. Establezca las propiedades del componente Accordion de forma que se muestren varios elementos secundarios. Por ejemplo, establezca childLabels como una matriz de [One,Two,Three] y childNames como una matriz de [one,two,three].
6. 7. 8. 9.
12. Repita
13.
16.
Copie el siguiente cdigo ActionScript al panel Acciones con la instancia de Accordion seleccionada:
onClipEvent(initialize) { falseUpSkin = "RedAccordionHeaderSkin"; falseDownSkin = "GreenAccordionHeaderSkin"; falseOverSkin = "RedAccordionHeaderSkin"; falseDisabled = "RedAccordionHeaderSkin"; trueUpSkin = "BlueAccordionHeaderSkin"; trueDownSkin = "BlueAccordionHeaderSkin"; trueOverSkin = "BlueAccordionHeaderSkin"; trueDisabledSkin = "BlueAccordionHeaderSkin"; }
17.
Clase Accordion
Herencia
MovieClip > Clase UIObject > Clase UIComponent > View > Accordion mx.containers.Accordion
Un componente Accordion contiene elementos secundarios que se muestran de uno en uno. Cada elemento secundario tiene su correspondiente botn de encabezado que se crea cuando se crea el elemento secundario. Un elemento secundario debe ser una instancia de UIObject.
NO TA 48 N OT A
El componente Accordion slo es compatible si est trabajando con un documento de ActionScript 2.0.
Un smbolo de clip de pelcula se convierte automticamente en una instancia de la clase UIObject cuando pasa a ser un elemento secundario de un componente Accordion. Sin embargo, para mantener el orden de tabulacin en los elementos secundarios del componente Accordion, stos deben ser tambin instancias de la clase View. Si utiliza un smbolo de clip de pelcula como elemento secundario, defina el campo Clase como mx.core.View para que herede de la clase View. Si una propiedad de la clase Accordion se define mediante cdigo ActionScript, sustituye al parmetro del mismo nombre definido en el inspector de propiedades o el inspector de componentes. Cada clase de componente tiene una propiedad version que es una propiedad de clase. Las propiedades de clase slo estn disponibles en la propia clase. La propiedad version devuelve una cadena que indica la versin del componente. Para acceder a esta propiedad, utilice el cdigo siguiente:
trace(mx.containers.Accordion.version); El cdigo trace(my_accInstance.version); devuelve undefined.
Componente Accordion
Descripcin
Crea un elemento secundario para una instancia de Accordion. Crea un elemento secundario para una instancia de Accordion. Los parmetros para este mtodo son diferentes de los del mtodo createChild(). Elimina un elemento secundario en una posicin especificada de ndice. Obtiene una referencia a un elemento secundario en una posicin especificada de ndice. Obtiene una referencia a un objeto de encabezado en una posicin especificada de ndice.
Accordion.createSegment()
Accordion.destroyChildAt()
Accordion.getChildAt()
Accordion.getHeaderAt()
Crea un subobjeto en un objeto. Elimina una instancia de componente. Llama a una funcin cuando se han establecido parmetros en el inspector de propiedades y el inspector de componentes. Obtiene la propiedad de estilo de la declaracin de estilo o del objeto. Marca el objeto de forma que se pueda volver a dibujar en el siguiente intervalo de fotogramas. Mueve el objeto a la posicin indicada. Fuerza la validacin del objeto, de forma que se pueda dibujar sobre el fotograma actual. Cambia el tamao del objeto al indicado.
UIObject.getStyle()
UIObject.invalidate()
UIObject.move() UIObject.redraw()
UIObject.setSize()
Clase Accordion
49
Mtodo
UIObject.setSkin() UIObject.setStyle()
Descripcin
Define un aspecto en el objeto. Define la propiedad de estilo en la declaracin de estilo o en el objeto.
Descripcin
Devuelve una referencia al objeto seleccionado. Define la seleccin en la instancia de componente.
Descripcin
Nmero de elementos secundarios de una instancia de Accordion. Referencia al elemento secundario seleccionado. Posicin de ndice del elemento secundario seleccionado.
Accordion.selectedChild Accordion.selectedIndex
Descripcin
Slo lectura; posicin del borde inferior del objeto con respecto al borde inferior de su elemento principal correspondiente. Slo lectura; altura del objeto, expresada en pxeles. Slo lectura; borde izquierdo del objeto, expresado en pxeles.
UIObject.height UIObject.left
50
Componente Accordion
Propiedad
UIObject.right
Descripcin
Slo lectura; posicin del borde derecho del objeto con respecto al borde derecho de su elemento principal correspondiente. Nmero que indica el factor de escala en la direccin x del objeto con respecto a su elemento principal correspondiente. Nmero que indica el factor de escala en la direccin y del objeto con respecto a su elemento principal correspondiente. Slo lectura; posicin del borde superior del objeto con respecto a su elemento principal correspondiente. Valor booleano que indica si el objeto es visible (true) o no (false). Slo lectura; anchura del objeto, expresada en pxeles. Slo lectura; borde izquierdo del objeto, expresado en pxeles. Slo lectura; borde superior del objeto, expresado en pxeles.
UIObject.scaleX
UIObject.scaleY
UIObject.top
UIObject.visible
UIObject.width UIObject.x
UIObject.y
Descripcin
Indica si el componente puede recibir selecciones y entradas. Nmero que indica el orden de tabulacin para un componente de un documento.
Clase Accordion
51
Descripcin
Se difunde a todos los detectores registrados cuando cambian los valores de las propiedades selectedIndex y selectedChild de un componente Accordion porque un usuario hace clic en el botn del ratn o pulsa una tecla.
Descripcin
Se difunde cuando un objeto est a punto de dibujar sus grficos. Se difunde cuando el estado de un objeto pasa de ser visible a invisible. Se difunde cuando se crean subobjetos. Se difunde cuando se mueve el objeto. Se difunde cuando cambia el tamao de un objeto. Se difunde cuando el estado de un objeto pasa de ser invisible a visible. Se difunde durante la descarga de los subobjetos.
UIObject.hide
UIObject.unload
Descripcin
Se difunde cuando se selecciona un objeto. Se difunde cuando un objeto deja de seleccionarse. Se difunde cuando se presiona una tecla. Se difunde cuando se suelta una tecla.
52
Componente Accordion
Accordion.change
Disponibilidad
Sintaxis 1:
var listenerObject:Object = new Object(); listenerObject.change = function(eventObject:Object) { // Introducir aqu el cdigo propio. }; accordionInstance.addEventListener("change", listenerObject);
Sintaxis 2:
on (change) { // Introducir aqu el cdigo propio. }
Descripcin
Evento; se difunde a todos los detectores registrados cuando cambian las propiedades selectedIndex y selectedChild de un componente Accordion. Este evento slo se difunde cuando al hacer clic con el ratn o pulsar una tecla se cambia el valor selectedChild o selectedIndex, no cuando se cambia el valor con ActionScript. Este evento se difunde antes de que se produzca la animacin de transicin. Los componentes utilizan un modelo de distribuidor/detector de eventos. El componente Accordion distribuye un evento change cuando se hace clic en uno de sus botones y ste se controla mediante una funcin (denominada tambin controlador) asociada con el objeto detector (listenerObject) que crea el usuario. Llame al mtodo addEventListener() y pase una referencia al controlador como parmetro. Cuando se activa el evento, ste pasa automticamente un objeto de evento (eventObject) al controlador. Cada objeto de evento tiene propiedades que contienen informacin sobre el evento. Estas propiedades sirven para escribir el cdigo que controla el evento. Para ms informacin, consulte Clase EventDispatcher en la pgina 527. El evento change del componente Accordion tambin contiene dos propiedades de objetos de evento nicas:
Nmero; el ndice del elemento secundario que se va a seleccionar. Nmero; el ndice del elemento secundario que estaba seleccionado anteriormente.
newValue prevValue
Accordion.change
53
Ejemplo
En el ejemplo siguiente, se utiliza una instancia de Accordion denominada my_acc que contiene tres paneles secundarios con las etiquetas Shipping Address, Billing Address y Payment. El cdigo define un controlador llamado my_accListener y pasa el controlador al mtodo my_acc.addEventListener() como el segundo parmetro. El controlador change captura el objeto de evento en el parmetro eventObject. Cuando se difunde el evento change, se enva una sentencia trace al panel Salida.
// Crear un objeto detector nuevo. var my_accListener:Object = new Object(); my_accListener.change = function() { trace("Changed to different view"); // Asignar etiqueta de panel secundario a la variable. var selectedChild_str:String = my_acc.selectedChild.label; // Llevar a cabo acciones segn el elemento secundario seleccionado. switch (selectedChild_str) { case "Shipping Address": trace("One was selected"); break; case "Billing Address": trace("Two was selected"); break; case "Payment": trace("Three was selected"); break; } }; my_acc.addEventListener("change", my_accListener);
Accordion.createChild()
Disponibilidad
54
Componente Accordion
Parmetros
classOrSymbolName La funcin constructora para la clase de UIObject de la que se va a crear una instancia o el nombre de vinculacin (una referencia al smbolo del que se va a crear una instancia). La clase debe ser UIObject o una subclase de UIObject, pero normalmente es el objeto View o una subclase de View. instanceName
initialProperties
Parmetro opcional que especifica las propiedades iniciales para la nueva instancia. Puede utilizar las siguientes propiedades:
label
Una cadena que especifica la etiqueta de texto que la nueva instancia secundaria utiliza en su encabezado.
icon
Una cadena que especifica el identificador de vinculacin del smbolo de biblioteca que utiliza el elemento secundario para el icono en su encabezado.
Valor devuelto
Mtodo (heredado de View); crea un elemento secundario para el componente Accordion. Este nuevo elemento secundario se aade al final de la lista de elementos secundarios que pertenecen al componente Accordion. Utilice este mtodo para colocar vistas dentro del componente Accordion. El elemento secundario creado es una instancia de la clase o el smbolo de clip de pelcula especificado en el parmetro classOrSymbolName. Puede utilizar las propiedades label e icon para especificar una etiqueta de texto y un icono para el encabezado del componente Accordion asociado para cada elemento secundario del parmetro initialProperties. Cuando se crea un elemento secundario se le asigna un nmero de ndice en el orden de creacin y la propiedad numChildren aumenta en una unidad.
Ejemplo
Comience con una instancia de Accordion, denominada my_acc, en el escenario. Aada un smbolo a la biblioteca con el identificador de vinculacin payIcon como icono para el encabezado secundario. El cdigo siguiente crea un elemento secundario denominado billing (con la etiqueta Payment) que es una instancia de la clase View:
var child_obj:Object = my_acc.createChild(mx.core.View, "billing", {label: "Payment", icon: "payIcon"});
Accordion.createChild()
55
El cdigo siguiente tambin crea un elemento secundario que es una instancia de la clase View, pero utiliza import para establecer una referencia al constructor para la clase View:
import mx.core.View; var child_obj:Object = my_acc.createChild(View, "billing", {label: "Payment", icon: "payIcon"});
O aada un smbolo de clip de pelcula a la biblioteca con el identificador de vinculacin PaymentForm como elemento secundario de Accordion y el siguiente cdigo crear una instancia de PaymentForm denominada billing como elemento secundario de my_acc (este mtodo es til cuando se carga contenido dinmico en un smbolo de clip de pelcula y, despus, se convierte ese smbolo en un elemento secundario de la instancia de Accordion):
var child_obj:Object = my_acc.createChild("PaymentForm", "billing", {label: "Payment", icon: "payIcon"});
Para ver un ejemplo ms complejo, mantenga la instancia de Accordion my_acc en el escenario. Despus, arrastre un componente Label y un componente TextInput del panel Componentes a la biblioteca del documento actual (de esta forma tendr un smbolo de TextInput y un smbolo de Label en la biblioteca). Pegue el siguiente cdigo en el primer fotograma de la lnea de tiempo principal (reemplazando cualquier cdigo que pueda existir de ejemplos anteriores). El siguiente cdigo crea un elemento secundario que es una instancia de la clase View denominada billing y adems aade elementos secundarios a billing para proporcionar etiquetas y campos de entrada de texto para un formulario:
import mx.core.View; import mx.controls.Label; import mx.controls.TextInput; var child_obj:Object = my_acc.createChild(View, "billing", {label:"Payment", icon: "payIcon"}); // Crear etiquetas como elementos secundarios de la instancia de View. var cardType_label:Object = child_obj.createChild(Label, "CardType_label", {_x:10, _y:50}); var cardNumber_label:Object = child_obj.createChild(Label, "CardNumber_label", {_x:10, _y:100}); // Crear entradas de texto como elementos secundarios de la instancia de // View. var cardTypeInput_ti:Object = child_obj.createChild(TextInput, "CardType_ti", {_x:150, _y:50}); var cardNumberInput_ti:Object = child_obj.createChild(TextInput, "CardNumber_ti", {_x:150, _y:100}); // Rellenar etiquetas. cardType_label.text = "Card Type"; cardNumber_label.text = "Card Number";
56
Componente Accordion
Accordion.createSegment()
Disponibilidad
Parmetros
classOrSymbolName Una referencia a la funcin constructora para la clase de UIObject de la que se va a crear una instancia o el nombre de vinculacin del smbolo del que se va a crear una instancia. La clase debe ser UIObject o una subclase de UIObject, pero normalmente es el objeto View o una subclase de View. instanceName label
Una cadena que especifica la etiqueta de texto que la nueva instancia secundaria utiliza en su encabezado. Este parmetro es opcional.
icon
Una cadena de referencia que especifica el identificador de vinculacin del smbolo de biblioteca que utiliza el elemento secundario para el icono en su encabezado. Este parmetro es opcional.
Valor devuelto
Mtodo; crea un elemento secundario para el componente Accordion. Este nuevo elemento secundario se aade al final de la lista de elementos secundarios que pertenecen al componente Accordion. Utilice este mtodo para colocar vistas dentro del componente Accordion. El elemento secundario creado es una instancia de la clase o el smbolo de clip de pelcula especificado en el parmetro classOrSymbolName. Puede utilizar los parmetros label e icon para especificar una etiqueta de texto y un icono para el encabezado del componente Accordion asociado para cada elemento secundario. El mtodo createSegment() difiere del mtodo createChild() en que label e icon se pasan directamente como parmetros, no como propiedades de un parmetro initalProperties. Cuando se crea un elemento secundario, se le asigna un nmero de ndice en el orden de creacin y la propiedad numChildren aumenta en una unidad.
Accordion.createSegment()
57
Ejemplo
Comience con una instancia de Accordion, denominada my_acc, en el escenario. Aada un smbolo de clip de pelcula a la biblioteca con el identificador de vinculacin PaymentForm como elemento secundario de Accordion. A continuacin, aada un smbolo a la biblioteca con el identificador de vinculacin payIcon como icono para el encabezado secundario. En el ejemplo siguiente, se crea una instancia del smbolo del clip de pelcula PaymentForm denominado billing como el ltimo elemento secundario de my_acc con la etiqueta de encabezado Payment y el icono en la biblioteca:
var child_obj:Object = my_acc.createSegment("PaymentForm", "billing", "Payment", "payIcon");
El cdigo siguiente crea un elemento secundario que es una instancia de la clase View:
var child_obj:Object = my_acc.createSegment(mx.core.View, "billing", "Payment", "payIcon");
El cdigo siguiente tambin crea un elemento secundario que es una instancia de la clase View, pero utiliza import para establecer una referencia al constructor para la clase View:
import mx.core.View; var child_obj:Object = my_acc.createSegment(View, "billing", "Payment", "payIcon");
Arrastre un componente Label y un componente TextInput del panel Componentes a la biblioteca del documento actual (de modo que tenga tanto un smbolo de TextInput como un smbolo de Label en la biblioteca). El siguiente cdigo crea un elemento secundario que es una instancia de la clase View denominada billing y, adems, aade elementos secundarios a billing para proporcionar etiquetas y campos de entrada de texto para un formulario:
import mx.core.View; import mx.controls.Label; import mx.controls.TextInput; var child_obj:Object = my_acc.createSegment(View, "billing", "Payment", "payIcon"); // Crear etiquetas como elementos secundarios de la instancia de View. var cardType_label:Object = child_obj.createChild(Label, "CardType_label", {_x:10, _y:50}); var cardNumber_label:Object = child_obj.createChild(Label, "CardNumber_label", {_x:10, _y:100}); // Crear entradas de texto como elementos secundarios de la instancia de // View. var cardTypeInput_ti:Object = child_obj.createChild(TextInput, "CardType_ti", {_x:150, _y:50}); var cardNumberInput_ti:Object = child_obj.createChild(TextInput, "CardNumber_ti", {_x:150, _y:100}); // Rellenar etiquetas. cardType_label.text = "Card Type"; cardNumber_label.text = "Card Number";
58
Componente Accordion
Accordion.destroyChildAt()
Disponibilidad
Parmetros
index
Nmero de ndice del elemento secundario del componente Accordion que se debe eliminar. A cada elemento secundario de un componente Accordion se le asigna un nmero de ndice basado en cero en el orden en el que se cre.
Valor devuelto
Ninguno.
Descripcin
Mtodo (heredado de View); elimina uno de los elementos secundarios del componente Accordion. El elemento secundario que se va a eliminar se especifica mediante su ndice, que se pasa al mtodo en el parmetro index. Al llamar a este mtodo se elimina tambin el encabezado correspondiente. Si se selecciona un elemento secundario eliminado, se elige un nuevo elemento secundario. Si hay un elemento secundario a continuacin, se selecciona dicho elemento. Si no lo hay, se selecciona el elemento secundario anterior. Si no hay ningn elemento secundario anterior, la seleccin no se define.
NO T A
Accordion.destroyChildAt()
59
Ejemplo
El siguiente cdigo elimina el primer elemento secundario de my_acc cuando se selecciona el tercer elemento secundario:
import mx.core.View; // Crear paneles secundarios con instancias de la clase View. my_acc.createSegment(View, "myMainItem1", "Menu Item 1"); my_acc.createSegment(View, "myMainItem2", "Menu Item 2"); my_acc.createSegment(View, "myMainItem3", "Menu Item 3"); // Crear un objeto detector nuevo. my_accListener = new Object(); my_accListener.change = function() { if ("myMainItem3"){ my_acc.destroyChildAt(0); } }; my_acc.addEventListener("change", my_accListener);
Vase tambin
Accordion.createChild()
Accordion.getChildAt()
Disponibilidad
Parmetros
index
Nmero de ndice de un elemento secundario del componente Accordion. A cada elemento secundario de un componente Accordion se le asigna un ndice basado en cero en el orden en el que se cre.
Valor devuelto
60
Componente Accordion
Descripcin
Mtodo; devuelve una referencia al elemento secundario en el ndice especificado. A cada elemento secundario del componente Accordion se le asigna un nmero de ndice para su posicin. Este nmero de ndice est basado en cero, de modo que el del primer elemento secundario es 0, el del segundo elemento secundario es 1 y as sucesivamente.
Ejemplo
El siguiente cdigo obtiene una referencia al ltimo elemento secundario de my_acc y cambia la etiqueta por Last Child:
import mx.core.View; // Crear paneles secundarios con instancias de la clase View. my_acc.createSegment(View, "myMainItem1", "Menu Item 1"); my_acc.createSegment(View, "myMainItem2", "Menu Item 2"); my_acc.createSegment(View, "myMainItem3", "Menu Item 3"); // Obtener referencia para el ltimo objeto secundario. var lastChild_obj:Object = my_acc.getChildAt(my_acc.numChildren - 1); // Cambiar la etiqueta del objeto. lastChild_obj.label = "Last Child";
Accordion.getHeaderAt()
Disponibilidad
Parmetros
index
Nmero de ndice de un encabezado del componente Accordion. A cada encabezado de un componente Accordion se le asigna un ndice basado en cero en el orden en el que se cre.
Valor devuelto
Accordion.getHeaderAt()
61
Descripcin
Mtodo; devuelve una referencia al encabezado en el ndice especificado. A cada encabezado del componente Accordion se le asigna un nmero de ndice para su posicin. Este nmero de ndice est basado en cero, de modo que el del primer encabezado es 0, el del segundo es 1 y as sucesivamente.
Ejemplo
El siguiente cdigo obtiene una referencia al ltimo encabezado de my_acc y muestra la etiqueta en el panel Salida:
import mx.core.View; // Crear paneles secundarios para que cada formulario aparezca en el objeto // my_acc. my_acc.createChild(View, "shippingAddress", {label: "Shipping Address"}); my_acc.createChild(View, "billingAddress", {label: "Billing Address"}); my_acc.createChild(View, "payment", {label: "Payment"}); var head3:Object = my_acc.getHeaderAt(2); trace(head3.label);
Accordion.numChildren
Disponibilidad
Descripcin
Propiedad (heredada de View); indica el nmero de elementos secundarios (de tipo UIObject) en una instancia de Accordion. Los encabezados no se cuentan como elementos secundarios. A cada elemento secundario del componente Accordion se le asigna un nmero de ndice para su posicin. Este nmero de ndice est basado en cero, de modo que el del primer elemento secundario es 0, el del segundo elemento secundario es 1 y as sucesivamente. El cdigo my_acc.numChild - 1 siempre hace referencia al ltimo elemento secundario que se ha aadido a un componente Accordion. Por ejemplo, si hay siete elementos secundarios en un componente Accordion, el ltimo tendr el ndice 6. La propiedad numChildren no est basada en cero, de modo que el valor de my_acc.numChildren ser 7. El resultado de 7 - 1 es 6, que es el nmero de ndice del ltimo elemento secundario.
62
Componente Accordion
Ejemplo
El siguiente cdigo utiliza numChildren para obtener una referencia al ltimo elemento secundario de my_acc y cambia la etiqueta por Last Child:
import mx.core.View; // Crear paneles secundarios con instancias de la clase View. my_acc.createSegment(View, "myMainItem1", "Menu Item 1"); my_acc.createSegment(View, "myMainItem2", "Menu Item 2"); my_acc.createSegment(View, "myMainItem3", "Menu Item 3"); // Obtener referencia para el ltimo objeto secundario. var lastChild_obj:Object = my_acc.getChildAt(my_acc.numChildren - 1); // Cambiar la etiqueta del objeto. lastChild_obj.label = "Last Child";
Accordion.selectedChild
Disponibilidad
Descripcin
Propiedad; el elemento secundario seleccionado (de tipo UIObject) si existen uno o ms elementos secundarios; undefined si no existe ningn elemento secundario. Si el componente Accordion tiene elementos secundarios, el cdigo accordionInstance.selectedChild es equivalente al cdigo
accordionInstance.getChildAt(accordionInstance.selectedIndex).
La definicin de esta propiedad en un elemento secundario hace que el componente Accordion inicie la animacin de transicin para visualizar el elemento secundario especificado. Si se cambia el valor de selectedChild, tambin cambia el valor de selectedIndex. Si el componente Accordion tiene elementos secundarios, el valor predeterminado es accordionInstance.getChildAt(0). Si el componente Accordion no tiene elementos secundarios, el valor predeterminado es undefined.
Accordion.selectedChild
63
Ejemplo
En el ejemplo siguiente, se detecta cundo se selecciona un elemento secundario y se muestra el orden de dicho elemento en el panel Salida cada vez que se selecciona un encabezado:
// Crear un objeto detector nuevo. var my_accListener:Object = new Object(); my_accListener.change = function() { trace("Changed to different view"); // Asignar etiqueta de panel secundario a la variable. var selectedChild_str:String = my_acc.selectedChild.label; // Llevar a cabo acciones segn el elemento secundario seleccionado. switch (selectedChild_str) { case "Shipping Address": trace("One was selected"); break; case "Billing Address": trace("Two was selected"); break; case "Payment": trace("Three was selected"); break; } }; my_acc.addEventListener("change", my_accListener);
Vase tambin
Accordion.selectedIndex
Accordion.selectedIndex
Disponibilidad
Descripcin
Propiedad; el ndice basado en cero del elemento secundario seleccionado en un componente Accordion con uno o ms elementos secundarios. Para un componente Accordion que no tiene vistas secundarias, el nico valor vlido es undefined.
64
Componente Accordion
A cada elemento secundario del componente Accordion se le asigna un nmero de ndice para su posicin. Este nmero de ndice est basado en cero, de modo que el del primer elemento secundario es 0, el del segundo elemento secundario es 1 y as sucesivamente. Los valores vlidos de selectedIndex son 0, 1, 2..., n - 1, donde n es el nmero de elementos secundarios. La definicin de esta propiedad en un elemento secundario hace que el componente Accordion inicie la animacin de transicin para visualizar el elemento secundario especificado. Si se cambia el valor de selectedIndex tambin se cambia el valor de selectedChild.
Ejemplo
En el ejemplo siguiente, se detecta cundo se selecciona un elemento secundario y se muestra el orden de dicho elemento en el panel Salida cada vez que se selecciona un encabezado:
// Crear un objeto detector nuevo. var my_accListener:Object = new Object(); my_accListener.change = function() { trace("Changed to different view"); // Asignar etiqueta de panel secundario a la variable. var selectedChild_num:Number = my_acc.selectedIndex; // Llevar a cabo acciones segn el elemento secundario seleccionado. switch (selectedChild_num) { case 0: trace("One was selected"); break; case 1: trace("Two was selected"); break; case 2: trace("Three was selected"); break; } }; my_acc.addEventListener("change", my_accListener);
Vase tambin
Accordion.numChildren, Accordion.selectedChild
Accordion.selectedIndex
65
66
Componente Accordion
CAPTULO 3
Componente Alert
El componente Alert permite mostrar una ventana con un mensaje para el usuario y botones de respuesta. Esta ventana tiene una barra de ttulo que se puede rellenar con texto, un mensaje que se puede personalizar y botones con etiquetas que se pueden cambiar. Una ventana Alert puede tener cualquier combinacin de botones S (Yes), No, Aceptar (OK) y Cancelar (Cancel), y puede cambiar las etiquetas de botn mediante las propiedades Alert.okLabel, Alert.yesLabel, Alert.noLabel y Alert.cancelLabel. No se puede cambiar el orden de los botones en una ventana Alert; el orden de los botones es siempre Aceptar, S, No, Cancelar. Una ventana Alert se cierra cuando un usuario hace clic en cualquiera de los botones de la ventana.
NO TA S U G E R E N CI A
El componente Alert slo es compatible si trabaja con un documento que especifique ActionScript 2.0 en la Configuracin de publicacin.
Para mostrar una ventana Alert, llame al mtodo Alert.show(). Para llamar al mtodo correctamente, el componente Alert debe estar en la biblioteca. Si arrastra el componente Alert desde el panel Componentes al escenario y despus lo elimina, aade el componente a la biblioteca sin que est visible en el documento. La previsualizacin dinmica para el componente Alert es una ventana vaca. Al aadir un componente Alert a una aplicacin, puede utilizar el panel Accesibilidad para hacer que el texto y los botones del componente sean accesibles para los lectores de pantalla. En primer lugar, aada la lnea siguiente del cdigo para activar la accesibilidad:
mx.accessibility.AlertAccImpl.enableAccessibility(); La accesibilidad de un componente slo se activa una vez, sea cual sea su nmero de instancias.
67
Parmetros de Alert
El componente Alert no tiene parmetros de edicin. Debe llamar al mtodo Alert.show() de ActionScript para mostrar una ventana Alert. Puede utilizar otras propiedades de ActionScript para modificar la ventana Alert de una aplicacin. Para ms informacin, consulte Clase Alert en la pgina 73.
Seleccione Archivo > Nuevo y, a continuacin, Archivo Flash (ActionScript 2.0). Arrastre el componente Alert desde el panel Componentes a la biblioteca del documento actual. De esta manera, se aade el componente a la biblioteca, aunque ste no se vuelve visible en la aplicacin.
3.
En el panel Acciones, especifique el cdigo siguiente en el fotograma 1 de la lnea de tiempo para definir un controlador de eventos para el evento click:
import mx.controls.Alert; // Definir la accin tras confirmacin de alerta. var myClickHandler:Function = function (evt_obj:Object) { if (evt_obj.detail == Alert.OK) { trace("start stock app"); } }; // Mostrar cuadro de dilogo de alerta. Alert.show("Launch Stock Application?", "Stock Price Alert", Alert.OK | Alert.CANCEL, this, myClickHandler, "stockIcon", Alert.OK);
68
Componente Alert
Este cdigo crea una ventana Alert con los botones Aceptar y Cancelar. Cuando el usuario hace clic en uno de los botones, Flash llama a la funcin myClickHandler. La funcin myClickHandler indica a Flash que realice un seguimiento de start stock app al hacer clic en el botn Aceptar.
NO TA
El mtodo Alert.show() incluye un parmetro opcional que muestra un icono en la ventana Alert (en este ejemplo, un icono con el identificador de vinculacin stockIcon). Para incluir este icono en el ejemplo de prueba, cree un smbolo denominado stockIcon y active Exportar para ActionScript en el cuadro dilogo Propiedades de vinculacin o en el cuadro de dilogo Crear un nuevo smbolo. Los grficos para el smbolo stockIcon deben alinearse en las coordenadas (0,0) del sistema de coordenadas del smbolo.
4.
69
Tema
Halo
Descripcin
Esquema de colores base de un componente. Los valores posibles son haloGreen, haloBlue y haloOrange. El valor predeterminado es haloGreen. Color del fondo. El color predeterminado es blanco para el tema Halo y 0xEFEBEF (gris claro) para el tema Sample. El componente Alert utiliza una instancia de RectBorder como borde y responde a los estilos definidos en dicha clase. Para ms informacin, consulte Clase RectBorder en la pgina 1145. El componente Alert tiene un valor de borderStyle especfico de alert con el tema Halo y ouset con el tema Sample. Color del texto. El valor predeterminado es 0x0B333C para el tema Halo y en blanco para el tema Sample. Color del texto cuando el componente est desactivado. El color predeterminado es 0x848384 (gris oscuro). Valor booleano que indica si la fuente especificada en fontFamily es una fuente incorporada. Este estilo debe definirse como true si fontFamily hace referencia a una fuente incorporada. De lo contrario, no se utiliza la fuente incorporada. Si el estilo se define como true y fontFamily no hace referencia a una fuente incorporada, no se muestra ningn texto. El valor predeterminado es false. Nombre de la fuente del texto. El valor predeterminado es _sans. Tamao de la fuente en puntos. El valor predeterminado es 10. Estilo de la fuente: puede ser normal o italic. El valor predeterminado es normal. Grosor de la fuente: puede ser none o bold. El valor predeterminado es none. Todos los componentes pueden aceptar adems el valor normal en lugar de none durante una llamada a setStyle(), pero las llamadas posteriores a getStyle() devolvern none. Alineacin del texto: puede ser left, right o center. El valor predeterminado es left.
backgroundColor
Ambos
borderStyle
Ambos
color
disabledColor
embedFonts
fontFamily
fontSize
fontStyle
fontWeight
textAlign
Ambos
70
Componente Alert
Estilo
textDecoration
Tema
Ambos Ambos
Descripcin
Decoracin del texto: puede ser none o underline. El valor predeterminado es none. Nmero que indica la sangra del texto. El valor predeterminado es 0.
textIndent
El componente Alert incluye tres categoras distintas de texto. Si establece las propiedades de texto para el componente Alert, proporciona valores predeterminados para las tres categoras, como se indica a continuacin:
import mx.controls.Alert; _global.styles.Alert.setStyle("color", 0x000099); Alert.show("This is a test alert", "Title");
Para establecer los estilos de texto para una categora individualmente, el componente Alert proporciona propiedades estticas que son referencias a una instancia de CSSStyleDeclaration.
Propiedad esttica
buttonStyleDeclaration messageStyleDeclaration titleStyleDeclaration
Texto afectado
Botn Mensaje Ttulo
Las declaraciones de estilo predeterminadas del ttulo establecen el valor de fontWeight en bold. Si se reemplaza la propiedad titleStyleDeclaration, tambin se reemplaza este valor predeterminado, por lo que se debe establecer explcitamente el valor de fontWeight en bold si se desea usar esa configuracin.
N O TA
Los estilos de texto establecidos en un componente Alert proporcionan estilos de texto predeterminados a sus componentes mediante herencia de estilos. Para ms informacin, consulte Definicin de estilos heredados en un contenedor en Utilizacin de componentes ActionScript 2.0.
71
Descripcin
Estado sin presionar de los botones. Estado sin presionar del botn predeterminado. Estado presionado de los botones. Estado presionado del botn predeterminado. Estado de los botones al desplazar el puntero del ratn sobre ellos. Estado del botn predeterminado al desplazar el puntero del ratn sobre l. Barra de ttulo de la ventana.
Valor predeterminado
ButtonSkin ButtonSkin
buttonDown buttonDownEmphasized
ButtonSkin ButtonSkin
buttonOver
ButtonSkin
buttonOverEmphasized
ButtonSkin
titleBackground
TitleBackground
Seleccione Archivo > Nuevo y, a continuacin, Archivo Flash (ActionScript 2.0). Cree un nuevo smbolo seleccionando Insertar > Nuevo smbolo. Asgnele el nombre TitleBackground. Si no se muestra la vista avanzada, haga clic en el botn Avanzado. Seleccione Exportar para ActionScript.
El identificador se rellenar automticamente con TitleBackground. 6. Establezca la Clase con el valor mx.skins.SkinElement. SkinElement es una clase simple que puede utilizarse para todos los elementos de aspecto que no proporcionan su propia implementacin de ActionScript. Proporciona el movimiento y las funciones del cambio de tamao para los componentes.
72
Componente Alert
7. 8. 9.
Verifique que Exportar en primer fotograma est seleccionado y haga clic en Aceptar. Abra el smbolo nuevo para editarlo. Utilice las herramientas de dibujo para crear un cuadro con relleno en rojo y lnea negra. un estilo de borde muy fino. Defina el cuadro, incluido el borde, de forma que se posicione en (0,0) y tenga una anchura de 100 y una altura de 22.
El componente Alert define la anchura adecuada del aspecto, pero utiliza la altura existente como altura del ttulo. 12. Haga clic en el botn Atrs para volver a la lnea de tiempo principal.
13.
Con esta accin se aade el componente Alert a la biblioteca y est disponible en tiempo de ejecucin. 14. Aada cdigo ActionScript a la lnea de tiempo principal para crear una instancia de Alert de ejemplo.
import mx.controls.Alert; Alert.show("This is a skinned Alert component","Title"); 15.
Clase Alert
Herencia MovieClip > Clase UIObject > Clase UIComponent > View > ScrollView > Componente Window > Alert Nombre de clase de ActionScript
mx.controls.Alert
Para utilizar el componente Alert, se debe arrastrar un componente Alert al escenario y eliminarlo, de modo que el componente est en la biblioteca del documento pero no visible en la aplicacin. A continuacin, se llama a Alert.show() para abrir una ventana Alert. Puede pasar a Alert.show() parmetros que aaden un mensaje, una barra de ttulo y botones a la ventana Alert. Puesto que ActionScript es asncrono, el componente Alert no produce bloqueos, de modo que las lneas de cdigo ActionScript despus de la llamada a Alert.show() se ejecutan inmediatamente. Debe aadir detectores para controlar los eventos click que se difunden cuando un usuario hace clic en un botn y, a continuacin, seguir con el cdigo despus de que se haya difundido el evento.
NO T A
En entornos operativos donde se produzcan bloqueos (por ejemplo, Microsoft Windows), no se devolver una llamada a Alert.show() hasta que el usuario haya llevado a cabo una accin, como hacer clic en un botn.
Para ms informacin sobre la clase Alert, consulte Componente Window en la pgina 1565 y Clase PopUpManager en la pgina 1063.
Clase Alert
73
Descripcin
Crea una ventana Alert con parmetros opcionales.
Descripcin
Crea un objeto en la clase especificada. Crea un subobjeto en un objeto. Elimina una instancia de componente. Llama a una funcin cuando se han establecido parmetros en el inspector de propiedades y el inspector de componentes. Obtiene la propiedad de estilo de la declaracin de estilo o del objeto. Marca el objeto de forma que se pueda volver a dibujar en el siguiente intervalo de fotogramas. Mueve el objeto a la posicin indicada. Fuerza la validacin del objeto, de forma que se pueda dibujar sobre el fotograma actual. Define un aspecto en el objeto. Define la propiedad de estilo en la declaracin de estilo o en el objeto.
UIObject.getStyle()
UIObject.invalidate()
UIObject.move() UIObject.redraw()
UIObject.setSkin() UIObject.setStyle()
Descripcin
Devuelve una referencia al objeto seleccionado. Define la seleccin en la instancia de componente.
74
Componente Alert
Descripcin
Elimina una instancia de Window creada por PopUpManager.createPopUp().
Descripcin
Altura de cada botn, expresada en pxeles. El valor predeterminado es 22. Anchura de cada botn, expresada en pxeles. El valor predeterminado es 100. Valor hexadecimal constante que indica si se debe mostrar un botn Cancelar en la ventana Alert. Texto de la etiqueta del botn Cancelar. Valor hexadecimal constante que indica si se debe mostrar un botn No en la ventana Alert. Texto de la etiqueta del botn No. Valor hexadecimal constante que indica si se debe mostrar un botn Aceptar en la ventana Alert. Texto de la etiqueta del botn Aceptar. Valor hexadecimal constante que indica si se debe mostrar un botn S en la ventana Alert. Texto de la etiqueta del botn S.
Alert.buttonWidth
Alert.CANCEL
Alert.cancelLabel Alert.NO
Alert.noLabel Alert.OK
Alert.okLabel Alert.YES
Alert.yesLabel
Clase Alert
75
Descripcin
Slo lectura; posicin del borde inferior del objeto con respecto al borde inferior de su elemento principal correspondiente. Slo lectura; altura del objeto, expresada en pxeles. Slo lectura; borde izquierdo del objeto, expresado en pxeles. Slo lectura; posicin del borde derecho del objeto con respecto al borde derecho de su elemento principal correspondiente. Nmero que indica el factor de escala en la direccin x del objeto con respecto a su elemento principal correspondiente. Nmero que indica el factor de escala en la direccin y del objeto con respecto a su elemento principal correspondiente. Slo lectura; posicin del borde superior del objeto con respecto a su elemento principal correspondiente. Valor booleano que indica si el objeto es visible (true) o no (false). Slo lectura; anchura del objeto, expresada en pxeles. Slo lectura; borde izquierdo del objeto, expresado en pxeles. Slo lectura; borde superior del objeto, expresado en pxeles.
UIObject.scaleX
UIObject.scaleY
UIObject.top
UIObject.visible
Descripcin
Indica si el componente puede recibir selecciones y entradas. Nmero que indica el orden de tabulacin para un componente de un documento.
76
Componente Alert
Descripcin
Indica si la barra de ttulo incluye un botn de cierre (true) o no (false). Referencia al contenido (clip de pelcula raz) de la ventana. Define el nombre del contenido que ha de aparecer en la ventana. Texto que aparece en la barra de ttulo. Declaracin de estilos que asigna formato al texto de la barra de ttulo.
Window.content Window.contentPath
Window.title Window.titleStyleDeclaration
Descripcin
Se difunde cuando se hace clic en un botn de la ventana Alert.
Descripcin
Se difunde cuando un objeto est a punto de dibujar sus grficos. Se difunde cuando el estado de un objeto pasa de ser visible a invisible. Se difunde cuando se crean subobjetos. Se difunde cuando se mueve el objeto. Se difunde cuando cambia el tamao de un objeto. Se difunde cuando el estado de un objeto pasa de ser invisible a visible. Se difunde durante la descarga de los subobjetos.
UIObject.hide
UIObject.unload
Clase Alert
77
Descripcin
Se difunde cuando se selecciona un objeto. Se difunde cuando un objeto deja de seleccionarse. Se difunde cuando se presiona una tecla. Se difunde cuando se suelta una tecla.
Descripcin
Se difunde cuando se hace clic en (se suelta) el botn de cierre. Se difunde cuando se crea una ventana.
Window.complete
Alert.buttonHeight
Disponibilidad
Descripcin
Propiedad (clase); una propiedad de clase (esttica) que cambia la altura de los botones. El valor predeterminado es 22.
78
Componente Alert
Ejemplo
Con un componente Alert en la biblioteca, este ejemplo cambia el tamao de los botones:
import mx.controls.Alert; // Ajustar tamaos de botn. Alert.buttonHeight = 50; Alert.buttonWidth = 150; // Mostrar cuadro de dilogo de alerta. Alert.show("Launch Stock Application?", "Stock Price Alert", Alert.OK | Alert.CANCEL);
Vase tambin
Alert.buttonWidth
Alert.buttonWidth
Disponibilidad
Descripcin
Propiedad (clase); una propiedad (esttica) de clase que cambia la anchura de los botones. El valor predeterminado es 100.
Ejemplo
Con un componente Alert en la biblioteca, aada este cdigo ActionScript al primer fotograma de la lnea de tiempo principal para cambiar el tamao de los botones:
import mx.controls.Alert; // Ajustar tamaos de botn. Alert.buttonHeight = 50; Alert.buttonWidth = 150; // Mostrar cuadro de dilogo de alerta. Alert.show("Launch Stock Application?", "Stock Price Alert", Alert.OK | Alert.CANCEL);
Vase tambin
Alert.buttonHeight
Alert.buttonWidth
79
Alert.CANCEL
Disponibilidad
Descripcin
Propiedad (constante); una propiedad con el valor hexadecimal constante 0x8. Esta propiedad se puede usar para el parmetro flags o defaultButton del mtodo Alert.show(). Cuando se usa como un valor para el parmetro flags, esta propiedad indica que se debe mostrar un botn Cancelar en la ventana Alert. Cuando se usa como un valor del parmetro defaultButton, el botn Cancelar tiene la seleccin inicial y se activa cuando el usuario presiona Intro (Windows) o Retorno (Macintosh). Si el usuario presiona el tabulador para llegar a otro botn, se activar dicho botn cuando el usuario presione Intro.
Ejemplo
En el ejemplo siguiente, se usa Alert.CANCEL y Alert.OK como valores para el parmetro flags y se muestra un componente Alert con un botn Aceptar y un botn Cancelar:
import mx.controls.Alert; Alert.show("This is a generic Alert window", "Alert Test", Alert.OK | Alert.CANCEL, this);
Alert.cancelLabel
Disponibilidad
80
Componente Alert
Descripcin
Propiedad (clase); una propiedad (esttica) de clase que indica el texto de la etiqueta del botn Cancelar.
Ejemplo
Alert.click
Disponibilidad
Descripcin
Evento; se difunde al detector registrado cuando se hace clic en el botn Aceptar, S, No o Cancelar. Los componentes utilizan un modelo de evento distribuidor/detector. El componente Alert distribuye un evento click cuando se hace clic en uno de sus botones y el evento se controla mediante una funcin, tambin denominada controlador, asociada con el objeto detector (listenerObject) que crea el usuario. Llame al mtodo Alert.show() y pase el nombre del controlador como parmetro. Cuando se hace clic en un botn de la ventana Alert, se llamar al detector. Cuando se activa el evento, ste pasa automticamente un objeto de evento (eventObject) al controlador. Cada objeto de evento tiene propiedades que contienen informacin sobre el evento. Estas propiedades sirven para escribir el cdigo que controla el evento. El objeto de evento del evento Alert.click tiene una propiedad detail adicional cuyo valor es Alert.OK, Alert.CANCEL, Alert.YES o Alert.NO, en funcin del botn en el que se hizo clic. Para ms informacin, consulte Clase EventDispatcher en la pgina 527.
Alert.click
81
Ejemplo
Con un componente Alert en la biblioteca, aada este cdigo ActionScript al primer fotograma de la lnea de tiempo principal para crear un controlador de eventos denominado myClickHandler. El controlador de eventos se pasa al mtodo Alert.show() como el quinto parmetro. El objeto de evento se captura mediante el controlador myClickHandler en el parmetro evt. A continuacin, la propiedad detail del objeto de evento se utiliza dentro de una sentencia trace para enviar el nombre del botn en el que se hizo clic (Alert.OK o Alert.CANCEL) al panel Salida, como se indica a continuacin:
import mx.controls.Alert; // Definir acciones de botn. var myClickHandler:Function = function (evt_obj:Object) { switch (evt_obj.detail) { case Alert.OK : trace("You clicked: " + Alert.okLabel); break; case Alert.CANCEL : trace("You clicked: " + Alert.cancelLabel); break; } }; // Mostrar cuadro de dilogo. Alert.show("This is a test of errors", "Error", Alert.OK | Alert.CANCEL, this, myClickHandler);
Alert.NO
Disponibilidad
82
Componente Alert
Descripcin
Propiedad (constante); una propiedad con el valor hexadecimal constante 0x2. Esta propiedad se puede usar para el parmetro flags o defaultButton del mtodo Alert.show(). Cuando se usa como un valor para el parmetro flags, esta propiedad indica que se debe mostrar un botn No en la ventana Alert. Cuando se usa como un valor del parmetro defaultButton, el botn Cancelar tiene la seleccin inicial y se activa cuando el usuario presiona Intro (Windows) o Retorno (Macintosh). Si el usuario presiona el tabulador para llegar a otro botn, se activar dicho botn cuando el usuario presione Intro.
Ejemplo
En el ejemplo siguiente, se usa Alert.NO y Alert.YES como valores para el parmetro flags y se muestra un componente Alert con un botn No y un botn S:
import mx.controls.Alert; Alert.show("This is a generic Alert window", "Alert Test", Alert.NO | Alert.YES, this);
Alert.noLabel
Disponibilidad
Descripcin
Propiedad (clase); una propiedad (esttica) de clase que indica el texto de la etiqueta del botn No.
Ejemplo
Alert.noLabel
83
Alert.NONMODAL
Disponibilidad
Descripcin
Propiedad (constante); una propiedad con el valor hexadecimal constante 0x8000. Esta propiedad se puede usar para el parmetro flags del mtodo Alert.show(). Esta propiedad indica que una ventana Alert debe ser amodal, lo que permite a los usuarios interactuar con los botones y las instancias situadas por debajo de la ventana que se muestra. De forma predeterminada, las ventanas generadas con Alert.show() son modales, lo que significa que los usuarios no pueden hacer clic en nada que no sea la ventana que actualmente est abierta.
Ejemplo
En el siguiente ejemplo se muestran dos instancias del componente Button en el escenario. Si se hace clic en un botn, se abre una ventana modal que impide al usuario hacer clic en ms botones hasta que no se cierre la ventana Alert. El segundo botn abre una ventana amodal, lo que permite al usuario seguir haciendo clic en los botones que se encuentran por debajo de la ventana Alert amodal abierta en ese momento. Para probar este ejemplo, aada instancias del componente Alert y del componente Button a la biblioteca del documento actual y aada el siguiente cdigo al fotograma 1 de la lnea de tiempo principal:
import mx.controls.Alert; this.createClassObject(mx.controls.Button, "modal_button", 10, {_x:10, _y:10}); this.createClassObject(mx.controls.Button, "nonmodal_button", 20, {_x:120, _y:10}); modal_button.label = "modal"; modal_button.addEventListener("click", modalListener); function modalListener(evt_obj:Object):Void { var a:Alert = Alert.show("This is a modal Alert window", "Alert Test", Alert.OK, this); a.move(100, 100); }
84
Componente Alert
nonmodal_button.label = "nonmodal"; nonmodal_button.addEventListener("click", nonmodalListener); function nonmodalListener(evt_obj:Object):Void { var a:MovieClip = Alert.show("This is a nonmodal Alert window", "Alert Test", Alert.OK | Alert.NONMODAL, this); a.move(100, 100); }
Alert.OK
Disponibilidad
Descripcin
Propiedad (constante); una propiedad con el valor hexadecimal constante 0x4. Esta propiedad se puede usar para el parmetro flags o defaultButton del mtodo Alert.show(). Cuando se usa como un valor para el parmetro flags, esta propiedad indica que se debe mostrar un botn Aceptar en la ventana Alert. Cuando se usa como un valor del parmetro defaultButton, el botn Aceptar tiene la seleccin inicial y se activa cuando el usuario presiona Intro (Windows) o Retorno (Macintosh). Si el usuario presiona el tabulador para llegar a otro botn, se activar dicho botn cuando el usuario presione Intro.
Ejemplo
En el ejemplo siguiente, se usa Alert.OK y Alert.CANCEL como valores para el parmetro flags y se muestra un componente Alert con un botn Aceptar y un botn Cancelar:
import mx.controls.Alert; Alert.show("This is a generic Alert window", "Alert Test", Alert.OK | Alert.CANCEL, this);
Alert.OK
85
Alert.okLabel
Disponibilidad
Descripcin
Propiedad (clase); una propiedad (esttica) de clase que indica el texto de la etiqueta del botn Aceptar.
Ejemplo
Alert.show()
Disponibilidad
Parmetros
message title
Texto de la barra de ttulo del componente Alert. Este parmetro es opcional; si lo omite, la barra de ttulo estar vaca.
flags Parmetro opcional que indica los botones que se mostrarn en la ventana Alert. El valor predeterminado es Alert.OK, que muestra un botn Aceptar. Cuando utilice ms de un valor, separe los valores con el carcter |. Especifique uno o varios de los siguientes valores: Alert.OK, Alert.CANCEL, Alert.YES, Alert.NO.
86
Componente Alert
Tambin puede utilizar Alert.NONMODAL para indicar que la ventana Alert no es modal. Una ventana que no es modal permite al usuario interactuar con otras ventanas de la aplicacin. Ventana principal del componente Alert. La ventana Alert se centra en la ventana principal. Utilice el valor null o undefined para especificar la lnea de tiempo _root. La ventana principal debe ser una subclase de la clase UIComponent, ya sea otro componente de Flash que sea una subclase de UIComponent, o una ventana personalizada que sea una subclase de UIComponent (para ms informacin, consulte Herencia en Aprendizaje de ActionScript 2.0en Adobe Flash). Este parmetro es opcional.
parent clickHandler Controlador para los eventos click difundidos cuando se hace clic en los botones. Adems de las propiedades del objeto del evento click estndar hay una propiedad detail, que contiene el valor del indicador de botn en el que se ha hecho clic (Alert.OK, Alert.CANCEL, Alert.YES, Alert.NO). Este controlador puede ser una funcin o un objeto. Para ms informacin, consulte Utilizacin de detectores para gestionar eventos en Utilizacin de componentes ActionScript 2.0. icon
Una cadena que es el identificador de vinculacin de un smbolo en la biblioteca; este smbolo se usa como un icono mostrado a la izquierda del texto de alerta. Este parmetro es opcional. Indica el botn que tiene la seleccin inicial y en el que se hace clic cuando el usuario presiona Intro (Windows) o Retorno (Macintosh). Si el usuario se desplaza a otro botn mediante el tabulador, se activar dicho botn cuando se presione la tecla Intro. Este parmetro puede tener uno de estos valores: Alert.OK, Alert.CANCEL, Alert.YES,
defaultButton
Alert.NO.
Valor devuelto
Mtodo (clase); mtodo de clase (esttica) que muestra una ventana Alert con un mensaje, un ttulo opcional, botones opcionales y un icono opcional. El ttulo de la alerta aparece en la parte superior de la ventana y se alinea a la izquierda. El icono aparece a la izquierda del texto del mensaje. Los botones aparecen centrados debajo del texto del mensaje y el icono.
Alert.show()
87
Ejemplo
El cdigo siguiente es un sencillo ejemplo de una ventana Alert modal con un botn Aceptar:
mx.controls.Alert.show("Hello, world!");
En el cdigo siguiente, se define un controlador de acciones del ratn que enva un mensaje al panel Salida en el que se indica el botn en el que se ha hecho clic. (Es necesario tener un componente Alert en la biblioteca para que este cdigo muestre una alerta; para aadir el componente a la biblioteca, arrstrelo al escenario y, a continuacin, brrelo):
import mx.controls.Alert; // Definir acciones de botn. var myClickHandler:Function = function (evt_obj:Object) { if (evt_obj.detail == Alert.OK) { trace(Alert.okLabel); } else if (evt_obj.detail == Alert.CANCEL) { trace(Alert.cancelLabel); } }; // Mostrar cuadro de dilogo. var dialog_obj:Object = Alert.show("Test Alert", "Test", Alert.OK | Alert.CANCEL, null, myClickHandler, "testIcon", Alert.OK);
Alert.YES
Disponibilidad
Descripcin
Propiedad (constante); una propiedad con el valor hexadecimal constante 0x1. Esta propiedad se puede usar para el parmetro flags o defaultButton del mtodo Alert.show(). Cuando se usa como un valor para el parmetro flags, esta propiedad indica que se debe mostrar un botn S en la ventana Alert. Cuando se usa como un valor del parmetro defaultButton, el botn S tiene la seleccin inicial y se activa cuando el usuario presiona Intro (Windows) o Retorno (Macintosh). Si el usuario presiona el tabulador para llegar a otro botn, se activar dicho botn cuando el usuario presione Intro.
88
Componente Alert
Ejemplo
En el ejemplo siguiente, se usa Alert.NO y Alert.YES como valores para el parmetro flags y se muestra un componente Alert con un botn No y un botn S:
import mx.controls.Alert; Alert.show("This is a generic Alert window", "Alert Test", Alert.NO | Alert.YES, this);
Alert.yesLabel
Disponibilidad
Descripcin
Propiedad (clase); una propiedad (esttica) de clase que indica el texto de la etiqueta del botn S.
Ejemplo
Alert.yesLabel
89
90
Componente Alert
CAPTULO 4
Componente Button
El componente Button es un botn rectangular de la interfaz de usuario que puede cambiarse de tamao. Tambin se le puede aadir un icono personalizado y cambiar su comportamiento de botn de comando a conmutador. El conmutador permanece presionado cuando se hace clic en l y recupera su estado original al repetirse el clic.
NO T A
El componente Button es compatible tanto con ActionScript 2.0 como con ActionScript 3.0. En este documento, se describe el componente de la versin 2. Si utiliza el componente de la versin 3, consulte Utilizacin de Button en Utilizacin de componentes ActionScript 3.0.
Un botn puede estar activado o desactivado en una aplicacin. Si est desactivado, el botn no recibe la entrada del ratn ni del teclado. Si est activado, el botn se selecciona cuando el usuario hace clic en l o usa el tabulador para llegar hasta l. Cuando una instancia de Button est seleccionada, es posible utilizar las siguientes teclas para controlarla:
Tecla
Mays+ Barra espaciadora
Descripcin
Desplaza la seleccin al objeto anterior. Presiona o libera el componente y activa el evento click. Desplaza la seleccin al objeto siguiente.
Para ms informacin sobre el control de la seleccin, consulte Clase FocusManager en la pgina 763 o Creacin de un desplazamiento personalizado de la seleccin en Utilizacin de componentes ActionScript 2.0. La previsualizacin dinmica de cada instancia de Button refleja los cambios de parmetros realizados durante la edicin en el inspector de propiedades o el inspector de componentes. Sin embargo, en la previsualizacin dinmica los iconos personalizados se representan en el escenario con un cuadrado gris. Cuando se aade el componente Button a una aplicacin, es posible utilizar el panel Accesibilidad para que los lectores de pantalla puedan acceder al mismo. En primer lugar, debe aadir la siguiente lnea de cdigo:
mx.accessibility.ButtonAccImpl.enableAccessibility();
La accesibilidad de un componente slo se activa una vez, sea cual sea su nmero de instancias.
91
Para designar un botn como el botn de comando predeterminado de una aplicacin (el botn que recibe el evento click cuando un usuario presiona Intro), use FocusManager.defaultPushButton.
Parmetros de Button
A continuacin se indican los parmetros de edicin que se pueden definir para cada instancia del componente Button en el inspector de propiedades o el inspector de componentes (opcin de men Ventana > Inspector de componentes): aade un icono personalizado al botn. El valor es el identificador de vinculacin de un clip de pelcula o smbolo grfico de la biblioteca; no hay valor predeterminado.
icon label
labelPlacement orienta el texto de la etiqueta del botn con respecto al icono. Este parmetro puede tener uno de estos cuatro valores: left, right, top o bottom; el valor predeterminado es right. Para ms informacin, consulte Button.labelPlacement. selected
si el valor del parmetro toggle es true, este parmetro especifica si el botn est presionado (true) o no (false). El valor predeterminado es false.
convierte el botn en un conmutador. Si el valor es true, el botn permanece en el estado presionado cuando se hace clic en l y recupera el estado sin presionar cuando se vuelve a hacer clic en l. Si el valor es false, el botn se comporta como un botn de comando normal. El valor predeterminado es false.
toggle
92
Componente Button
A continuacin se indican los parmetros adicionales que se pueden definir para cada instancia del componente Button en el inspector de componentes (Ventana > Inspector de componentes):
enabled
es un valor booleano que indica si el componente acepta selecciones y entradas. El valor predeterminado es true.
visible es un valor booleano que indica si el objeto es visible (true) o no (false). El valor predeterminado es true.
N OT A
Las propiedades minHeight y minWidth se utilizan en rutinas internas de cambio de tamao. Se definen en UIObject y se sustituyen por distintos componentes segn convenga. Estas propiedades pueden utilizarse si se crea un administrador de diseo personalizado en la aplicacin. De lo contrario, establecer estas propiedades en el inspector de componentes no producir ningn efecto visible.
Puede escribir cdigo ActionScript para controlar stas y otras opciones del componente Button utilizando sus propiedades, mtodos y eventos. Para ms informacin, consulte Clase Button en la pgina 104.
Seleccione Archivo > Nuevo y, a continuacin, Archivo Flash (ActionScript 2.0). Arrastre un componente Button desde el panel Componentes al escenario. En el inspector de propiedades, siga este procedimiento:
Introduzca el nombre de instancia my_button. Introduzca Click me para el parmetro label. Introduzca BtnIcon en el parmetro icon. Para utilizar un icono, en la biblioteca debe haber un clip de pelcula o un smbolo grfico con un identificador de vinculacin para emplearlo como parmetro icon. En este ejemplo, el identificador de vinculacin es BtnIcon.
93
4.
Seleccione el fotograma 1 de la lnea de tiempo, abra el panel Acciones e introduzca el cdigo siguiente:
function clicked(){ trace("You clicked the button!"); } my_button.addEventListener("click", clicked);
La ltima lnea de cdigo llama a una funcin de controlador de eventos clicked para el evento click. sta utiliza el mtodo EventDispatcher.addEventListener() en la pgina 529 con una funcin personalizada para controlar el evento. 5. Seleccione Control > Probar pelcula.
6.
Al hacer clic en el botn, Flash muestra un mensaje que indica que ha hecho clic en el botn. Seleccione Archivo > Nuevo y, a continuacin, Archivo Flash (ActionScript 2.0). Arrastre el componente Button desde el panel Componentes a la biblioteca del documento actual.
De esta manera, se aade el componente a la biblioteca, aunque ste no se vuelve visible en la aplicacin. 3. En el primer fotograma de la lnea de tiempo principal, aada el siguiente cdigo ActionScript al panel Acciones para crear una instancia de Button:
this.createClassObject(mx.controls.Button, "my_button", 10, {label:"Click me"}); my_button.move(20, 20);
Se utiliza el mtodo UIObject.createClassObject() para crear la instancia de Button denominada my_button y especificar una propiedad de etiqueta. A continuacin, el cdigo utiliza el mtodo UIObject.move() para colocar el botn. 4. Aada el siguiente cdigo ActionScript para crear un detector de eventos y una funcin de controlador de eventos:
function clicked() { trace("You clicked the button!"); } my_button.addEventListener("click", clicked);
Se utiliza el mtodo EventDispatcher.addEventListener() en la pgina 529 con una funcin personalizada para controlar el evento. 5. Seleccione Control > Probar pelcula.
6.
Al hacer clic en el botn, Flash muestra un mensaje que indica que ha hecho clic en el botn.
Mientras utiliza el componente Button con otros componentes, puede crear funciones de controlador de eventos ms sofisticadas. En este ejemplo, el evento click hace que el componente Accordion cambie la visualizacin de los paneles.
94
Componente Button
Seleccione Archivo > Nuevo y, a continuacin, Archivo Flash (ActionScript 2.0). Arrastre el componente Button desde el panel Componentes a la biblioteca del documento actual.
De esta manera, se aade el componente a la biblioteca, aunque ste no se vuelve visible en la aplicacin. 3. Arrastre el componente Accordion desde el panel Componentes a la biblioteca del documento actual.
4.
En el primer fotograma de la lnea de tiempo principal, aada el siguiente cdigo ActionScript al panel Acciones para crear una instancia de Button:
this.createClassObject(mx.containers.Accordion, "my_acc", 0); my_acc.move(10, 40); my_acc.createChild(mx.core.View, "panelOne", {label: "Panel One"}); my_acc.createChild(mx.core.View, "panelTwo", {label: "Panel Two"}); this.createClassObject(mx.controls.Button, "panelOne_button", 10, {label:"Panel One"}); panelOne_button.move(10, 10); this.createClassObject(mx.controls.Button, "panelTwo_button", 20, {label:"Panel Two"}); panelTwo_button.move(120, 10);
En este proceso se utiliza el mtodo UIObject.createClassObject() para crear las instancias de Button y Accordion. A continuacin, el cdigo utiliza el mtodo UIObject.move() para colocar las instancias. 5. Aada el siguiente cdigo ActionScript para crear detectores de eventos y funciones de controlador de eventos:
// Crear controlador para el evento de botn. function changePanel(evt_obj:Object):Void { // Cambiar la vista de Accordion segn el botn seleccionado. switch (evt_obj.target._name) { case "panelOne_button" : my_acc.selectedIndex = 0; break; case "panelTwo_button" : my_acc.selectedIndex = 1; break; } } // Aadir detectores para los botones. panelOne_button.addEventListener("click", changePanel); panelTwo_button.addEventListener("click", changePanel);
En este proceso se utiliza el mtodo EventDispatcher.addEventListener() con una funcin personalizada para controlar los eventos. 6. Seleccione Control > Probar pelcula.
7.
95
Tema
Halo
Descripcin
Esquema de colores base de un componente. Los valores posibles son haloGreen, haloBlue y haloOrange. El valor predeterminado es haloGreen. Color del fondo. El valor predeterminado es 0xEFEBEF (gris claro). El tema Halo utiliza 0xF8F8F8 (gris muy claro) como color de fondo del botn cuando el botn no est presionado y themeColor cuando el botn est presionado. Slo puede modificar el color de fondo del estado sin presionar en el tema Halo aplicando un aspecto al botn. Consulte Utilizacin de aspectos con el componente Button en la pgina 98.
backgroundColor
Sample
96
Componente Button
Estilo
borderStyle
Tema
Sample
Descripcin
El componente Button utiliza una instancia de RectBorder como borde en el tema Sample y responde a los estilos definidos en esa clase. Consulte Clase RectBorder en la pgina 1145. Con el tema Halo, el componente Button utiliza un borde redondeado personalizado cuyos colores no se pueden modificar (salvo themeColor). Color del texto. El valor predeterminado es 0x0B333C para el tema Halo y en blanco para el tema Sample. Color del texto cuando el componente est desactivado. El color predeterminado es 0x848384 (gris oscuro). Valor booleano que indica si la fuente especificada en fontFamily es una fuente incorporada. Este estilo debe definirse como true si fontFamily hace referencia a una fuente incorporada. De lo contrario, no se utiliza la fuente incorporada. Si el estilo se define como true y fontFamily no hace referencia a una fuente incorporada, no se muestra ningn texto. El valor predeterminado es false. Nombre de la fuente del texto. El valor predeterminado es _sans. Tamao de la fuente en puntos. El valor predeterminado es 10. Estilo de la fuente: puede ser normal o italic. El valor predeterminado es normal. Grosor de la fuente: puede ser none o bold. El valor predeterminado es none. Todos los componentes pueden aceptar adems el valor normal en lugar de none durante una llamada a setStyle(), pero las llamadas posteriores a getStyle() devolvern none. Decoracin del texto: puede ser none o underline. El valor predeterminado es none.
color
disabledColor
embedFonts
fontFamily
fontSize
fontStyle
fontWeight
textDecoration
Ambos
97
Descripcin
Proporciona dos apariencias distintas para instancias de Button y se suele usar para resaltar un botn, como el botn predeterminado de un formulario. Indica si el botn permite la interaccin con el usuario. Proporciona un valor de estado seleccionado y de estado no seleccionado y usa aspectos diferentes para indicar el valor actual. Para una instancia de Button cuya propiedad toggle est establecida en false, se usarn los aspectos false. Cuando el valor de la propiedad toggle es true, el aspecto depender de la propiedad selected. Cuando se establece la propiedad toggle en true, determina si el componente Button est seleccionado (true o false). Para identificar el valor se usan distintos aspectos, que son de forma predeterminada la nica manera de indicar este valor en pantalla.
enabled toggle
selected
Si un botn est activado, muestra el estado correspondiente al desplazamiento del puntero sobre l. Cuando se presiona el botn, recibe la seleccin de entrada y muestra el estado presionado. Cuando se suelta el botn del ratn, el botn recupera el estado correspondiente al desplazamiento del puntero sobre l. Si el puntero se retira del botn estando el ratn presionado, el botn recupera su estado original y conserva la seleccin de entrada. Si el parmetro toggle est establecido en true, el estado del botn no cambiar hasta que, estando el puntero del ratn sobre el botn, se suelte el botn del ratn.
98
Componente Button
Si el botn est desactivado, muestra el estado desactivado sea cual sea la accin del usuario. El componente Button admite las siguientes propiedades de aspecto:
Propiedad
falseUpSkin falseDownSkin falseOverSkin falseDisabledSkin trueUpSkin trueDownSkin trueOverSkin trueDisabledSkin falseUpSkinEmphasized falseDownSkinEmphasized falseOverSkinEmphasized
Descripcin
Estado sin presionar (normal). Estado presionado. Estado cuando se desplaza el puntero sobre l. Estado desactivado. Estado conmutado. Estado presionado conmutado. Estado conmutado cuando se desplaza el puntero sobre l. Estado desactivado conmutado. Estado sin presionar (normal) de un botn resaltado. Estado presionado de un botn resaltado. Estado de un botn resaltado cuando se desplaza el puntero sobre l.
Estado conmutado de un botn resaltado. Estado presionado conmutado de un botn resaltado. Estado conmutado de un botn resaltado, cuando se desplaza el puntero sobre l. Estado desactivado conmutado de un botn resaltado. Estado sin presionar del icono. Estado presionado del icono. Estado del icono cuando se desplaza el puntero sobre l. Estado desactivado del icono. Estado conmutado del icono. Estado conmutado del icono cuando se desplaza el puntero sobre l. Estado presionado conmutado del icono. Estado desactivado conmutado del icono. Estado sin presionar del icono de un botn resaltado. Estado presionado del icono de un botn resaltado.
99
Propiedad
falseOverIconEmphasized
Descripcin
Estado del icono de un botn resaltado cuando se desplaza el puntero sobre l
Estado conmutado del icono de un botn resaltado. Estado conmutado del icono de un botn resaltado cuando se desplaza el puntero sobre l. Estado presionado conmutado del icono de un botn resaltado. Estado desactivado conmutado del icono de un botn resaltado.
trueDownIconEmphasized
trueDisabledIconEmphasized
El valor predeterminado de todas las propiedades del aspecto cuyo nombre acabe en Skin es ButtonSkin y el valor predeterminado de todas las propiedades Icon es undefined. Las propiedades con el sufijo Skin proporcionan un fondo y borde, mientras que las que tienen el sufijo Icon proporcionan un icono pequeo. Adems de los aspectos de icono, el componente Button tambin admite una propiedad icon estndar. La diferencia entre la propiedad estndar y la propiedad de estilo es que esta ltima permite establecer iconos para los estados individuales, mientras que la estndar slo permite establecer un icono para todos los estados. Si una instancia de Button tiene establecidas la propiedad icon y propiedades de estilo de icono, es posible que no se comporte de la forma esperada. Puede ver una demostracin interactiva que ilustra cundo se usa cada aspecto en el apartado Utilizacin de componentes ActionScript 2.0 de la Ayuda.
100
Componente Button
Para crear una clase de ActionScript con el fin de usarla como aspecto y proporcionar estados diferentes, el aspecto puede leer la propiedad de estilo borderStyle del aspecto y la propiedad emphasized del elemento principal para determinar el estado. En la tabla siguiente, se muestra el estilo de borde que se establece para cada aspecto:
Propiedad
falseUpSkin falseDownSkin falseOverSkin falseDisabled trueUpSkin trueDownSkin trueOverSkin trueDisabledSkin
Seleccione Archivo > Nuevo y, a continuacin, Archivo ActionScript. Copie el siguiente cdigo ActionScript al archivo:
import mx.skins.RectBorder; import mx.core.ext.UIObjectExtensions; class RedGreenBlueSkin extends RectBorder { static var symbolName:String = "RedGreenBlueSkin"; static var symbolOwner:Object = RedGreenBlueSkin; function size():Void { var c:Number; // color var borderStyle:String = getStyle("borderStyle"); switch (borderStyle) { case "falseup": case "falserollover": case "falsedisabled": c = 0x7777FF; break; case "falsedown": c = 0x77FF77; break; case "trueup": case "truedown": case "truerollover":
101
case "truedisabled": c = 0xFF7777; break; } clear(); var thickness = _parent.emphasized ? 2 : 0; lineStyle(thickness, 0, 100); beginFill(c, 100); drawRect(0, 0, __width, __height); endFill(); } // Necesario para los aspectos. static function classConstruct():Boolean { UIObjectExtensions.Extensions(); _global.skinRegistry["ButtonSkin"] = true; return true; } static var classConstructed:Boolean = classConstruct(); static var UIObjectExtensionsDependency = UIObjectExtensions; }
Esta clase crea un cuadrado con el estilo de borde: un cuadro de color azul para los estados seleccionable, puntero del ratn encima y desactivado, un cuadro de color verde para el estado presionado normal y un cuadro de color rojo para el elemento secundario expandido. Dibuja un borde fino en el caso normal y un borde grueso si el botn est resaltado.
3.
Guarde el archivo. Para este ejemplo, asigne al archivo el nombre RedGreenBlueSkin.as. Seleccione Archivo > Nuevo y, a continuacin, Archivo Flash (ActionScript 2.0). Guarde el archivo en la misma carpeta que el archivo AS. Cree un nuevo smbolo seleccionando Insertar > Nuevo smbolo. Asgnele el nombre ButtonSkin. Si no se muestra la vista avanzada, haga clic en el botn Avanzado. Seleccione Exportar para ActionScript. El identificador se rellenar automticamente con ButtonSkin. la Clase con el valor RedGreenBlueSkin.
4. 5. 6. 7. 8. 9.
Verifique que Exportar en primer fotograma est seleccionado y haga clic en Aceptar. un componente Button al escenario. Seleccione Control > Probar pelcula.
102
Componente Button
Seleccione Archivo > Nuevo y, a continuacin, Archivo Flash (ActionScript 2.0). Cree un nuevo smbolo seleccionando Insertar > Nuevo smbolo. Asgnele el nombre RedButtonSkin. Si no se muestra la vista avanzada, haga clic en el botn Avanzado. Seleccione Exportar para ActionScript. El identificador se rellenar automticamente con RedButtonSkin. Establezca la Clase con el valor mx.skins.SkinElement. Verifique que Exportar en primer fotograma est seleccionado y haga clic en Aceptar. Abra el smbolo nuevo para editarlo. Utilice las herramientas de dibujo para crear un cuadro con relleno en rojo y lnea negra. un estilo de borde muy fino. Defina el cuadro, incluido el borde, para que se posicione en (0,0) y tenga una anchura de 100 y una altura de 100. La clase SkinElement ajusta el tamao del contenido si es necesario. los pasos 2 a 11, cree aspectos de color verde y azul, y asgneles los nombres correspondientes. Haga clic en el botn Atrs para volver a la lnea de tiempo principal. un componente Button al escenario. Establezca el valor de la propiedad toggled en true para ver los tres aspectos.
6. 7. 8. 9.
12. Repita
13.
103
16.
Copie el siguiente cdigo ActionScript al panel Acciones con la instancia de Button seleccionada.
onClipEvent(initialize) { falseUpSkin = "BlueButtonSkin"; falseDownSkin = "GreenButtonSkin"; falseOverSkin = "BlueButtonSkin"; falseDisabledSkin = "BlueButtonSkin"; trueUpSkin = "RedButtonSkin"; trueDownSkin = "RedButtonSkin"; trueOverSkin = "RedButtonSkin"; trueDisabledSkin = "RedButtonSkin"; }
17.
Clase Button
Herencia
MovieClip > Clase UIObject > Clase UIComponent > Clase SimpleButton > mx.controls.Button
Button
Nombre de clase de ActionScript
Las propiedades de la clase Button permiten realizar lo siguiente en tiempo de ejecucin: aadir un icono a un botn, crear una etiqueta de texto e indicar si el botn acta como botn de comando o como conmutador. Si una propiedad de la clase Button se define con ActionScript, sustituye al parmetro del mismo nombre definido en el inspector de propiedades o el inspector de componentes. El componente Button utiliza Focus Manager para sustituir el rectngulo de seleccin predeterminado de Flash Player y dibuja uno personalizado con esquinas redondeadas. Para ms informacin, consulte Creacin de un desplazamiento personalizado de la seleccin en Utilizacin de componentes ActionScript 2.0. Cada clase de componente tiene una propiedad version que es una propiedad de clase. Las propiedades de clase slo estn disponibles en la propia clase. La propiedad version devuelve una cadena que indica la versin del componente. Para acceder a esta propiedad, utilice el cdigo siguiente:
trace(mx.controls.Button.version);
N OT A 104
La clase del componente Button es distinta del objeto Button incorporado de ActionScript.
Componente Button
Crea un subobjeto en un objeto. Elimina una instancia de componente. Llama a una funcin cuando se han establecido parmetros en el inspector de propiedades y el inspector de componentes. Obtiene la propiedad de estilo de la declaracin de estilo o del objeto. Marca el objeto de forma que se pueda volver a dibujar en el siguiente intervalo de fotogramas. Mueve el objeto a la posicin indicada. Fuerza la validacin del objeto, de forma que se pueda dibujar sobre el fotograma actual. Cambia el tamao del objeto al indicado. Define un aspecto en el objeto. Define la propiedad de estilo en la declaracin de estilo o en el objeto.
UIObject.getStyle()
UIObject.invalidate()
UIObject.move() UIObject.redraw()
Descripcin
Devuelve una referencia al objeto seleccionado. Define la seleccin en la instancia de componente.
Clase Button
105
Descripcin
Especifica un icono para una instancia del botn. Especifica el texto que aparece en un botn. Especifica la orientacin del texto de la etiqueta con respecto a un icono.
Button.label Button.labelPlacement
Descripcin
Indica si el botn tiene el aspecto de un botn de comando predeterminado. Declaracin de estilos cuando la propiedad emphasized est definida en true. Valor booleano que indica si el botn est seleccionado (true) o no (false). El valor predeterminado es false. Valor booleano que indica si el botn se comporta como un conmutador (true) o no (false). El valor predeterminado es false.
SimpleButton.emphasizedStyleDeclaration
SimpleButton.selected
SimpleButton.toggle
106
Componente Button
Descripcin
Slo lectura; posicin del borde inferior del objeto con respecto al borde inferior de su elemento principal correspondiente. Slo lectura; altura del objeto, expresada en pxeles. Slo lectura; borde izquierdo del objeto, expresado en pxeles. Slo lectura; posicin del borde derecho del objeto con respecto al borde derecho de su elemento principal correspondiente. Nmero que indica el factor de escala en la direccin x del objeto con respecto a su elemento principal correspondiente. Nmero que indica el factor de escala en la direccin y del objeto con respecto a su elemento principal correspondiente. Slo lectura; posicin del borde superior del objeto con respecto a su elemento principal correspondiente. Valor booleano que indica si el objeto es visible (true) o no (false). Slo lectura; anchura del objeto, expresada en pxeles. Slo lectura; borde izquierdo del objeto, expresado en pxeles. Slo lectura; borde superior del objeto, expresado en pxeles.
UIObject.height UIObject.left
UIObject.right
UIObject.scaleX
UIObject.scaleY
UIObject.top
UIObject.visible
UIObject.width UIObject.x
UIObject.y
Descripcin
Indica si el componente puede recibir selecciones y entradas. Nmero que indica el orden de tabulacin para un componente de un documento.
Clase Button
107
Descripcin
Se difunde cuando se hace clic en un botn.
Descripcin
Se difunde cuando un objeto est a punto de dibujar sus grficos. Se difunde cuando el estado de un objeto pasa de ser visible a invisible. Se difunde cuando se crean subobjetos. Se difunde cuando se mueve el objeto. Se difunde cuando cambia el tamao de un objeto. Se difunde cuando el estado de un objeto pasa de ser invisible a visible. Se difunde durante la descarga de los subobjetos.
UIObject.hide
UIObject.unload
Descripcin
Se difunde cuando se selecciona un objeto. Se difunde cuando un objeto deja de seleccionarse. Se difunde cuando se presiona una tecla. Se difunde cuando se suelta una tecla.
108
Componente Button
Button.icon
Disponibilidad
Flash MX 2004.
Sintaxis
buttonInstance.icon
Descripcin
Propiedad; cadena que especifica el identificador de vinculacin de un smbolo de la biblioteca que se utilizar como icono en una instancia del botn. El icono puede ser un smbolo de clip de pelcula o un smbolo grfico con un punto de registro en la esquina superior izquierda. Si el icono es demasiado grande para encajarlo en el botn, deber modificar el tamao del botn; ni el botn ni el icono cambian de tamao automticamente. Si el icono es ms grande que el botn, sobresaldr por los bordes del botn. Para crear un icono personalizado, cree un clip de pelcula o un smbolo grfico. Seleccione el smbolo en el escenario en el modo de edicin de smbolos e introduzca 0 en los cuadros X e Y del inspector de propiedades. En el panel Biblioteca, seleccione el clip de pelcula y elija Vinculacin en el men emergente Biblioteca. Seleccione Exportar para ActionScript e introduzca un identificador en el cuadro de texto Identificador. El valor predeterminado es una cadena vaca ("") que indica que no hay icono. Utilice la propiedad labelPlacement para definir la posicin del icono con respecto al botn.
NO T A
El icono no aparece en el escenario de Flash. Debe elegir Control > Probar pelcula para ver el icono.
Button.icon
109
Ejemplo
Con un botn en el escenario cuya instancia se denomina my_button, el siguiente cdigo asigna como un icono a la instancia de Button el clip de pelcula del panel Biblioteca que tiene el identificador de vinculacin happiness:
my_button.icon = "happiness";
Tambin puede crear el botn y asignar el icono completamente en ActionScript mediante el mtodo UIObject.createClassObject() (debe haberse creado ya un icono para el botn con el identificador de vinculacin happiness). En primer lugar, arrastre el componente Button desde el panel Componentes a la biblioteca del documento actual, de modo que el componente aparezca en la biblioteca pero no en el escenario. A continuacin, en el primer fotograma de la lnea de tiempo principal, aada el siguiente cdigo ActionScript:
this.createClassObject(mx.controls.Button, "my_button", 1, {icon: "happiness"});
Vase tambin
Button.labelPlacement
Button.label
Disponibilidad
Flash MX 2004.
Sintaxis
buttonInstance.label
Descripcin
Propiedad; especifica la etiqueta de texto para una instancia del botn. De forma predeterminada, la etiqueta aparece centrada en el botn. Cuando se llama a este mtodo, se sustituye el parmetro de edicin de etiquetas especificado en el inspector de propiedades o el inspector de componentes. El valor predeterminado es Button.
110
Componente Button
Ejemplo
Con un botn en el escenario con nombre de instancia my_button, el siguiente cdigo define la etiqueta como Test Button:
my_button.label = "Test Button";
Tambin puede crear el botn y asignar la etiqueta totalmente en ActionScript mediante el mtodo UIObject.createClassObject(). En primer lugar, arrastre el componente Button desde el panel Componentes a la biblioteca del documento actual, de modo que el componente aparezca en la biblioteca pero no en el escenario. A continuacin, en el primer fotograma de la lnea de tiempo principal, aada el siguiente cdigo ActionScript:
this.createClassObject(mx.controls.Button, "my_button", 1, {label: "Test Button"});
Vase tambin
Button.labelPlacement
Button.labelPlacement
Disponibilidad
Flash MX 2004.
Sintaxis
buttonInstance.labelPlacement
Descripcin
Propiedad; define la posicin de la etiqueta con respecto al icono. El valor predeterminado es right. Los siguientes son los cuatro valores posibles; el icono y la etiqueta estn siempre centrados vertical y horizontalmente en el rea de delimitacin del botn:
La etiqueta aparece a la derecha del icono. La etiqueta aparece a la izquierda del icono. La etiqueta aparece debajo del icono. La etiqueta aparece encima del icono.
Button.labelPlacement
111
Ejemplo
Con un botn en el escenario con nombre de instancia my_button y un smbolo en el panel Biblioteca con el identificador de vinculacin happiness, el siguiente cdigo define la alineacin de la etiqueta a la izquierda del icono:
my_button.icon = "happiness"; my_button.label = "Test Button"; my_button.labelPlacement = "left";
Tambin puede crear el botn y definir la alineacin de la etiqueta completamente en ActionScript mediante el mtodo UIObject.createClassObject(). En primer lugar, arrastre el componente Button desde el panel Componentes a la biblioteca del documento actual, de modo que el componente aparezca en la biblioteca pero no en el escenario. A continuacin, en el primer fotograma de la lnea de tiempo principal, aada el siguiente cdigo ActionScript:
this.createClassObject(mx.controls.Button, "my_button", 1, {label: "Test Button", icon: "happiness", labelPlacement: "left"});
112
Componente Button
CAPTULO 5
La API CellRenderer slo es compatible si trabaja con un documento que especifique ActionScript 2.0 en la Configuracin de publicacin.
113
Si una celda contiene controladores de evento de botn (onPress, etc.), puede que el rea activa de fondo no reciba la informacin necesaria para activar los eventos.
Puede consultar la clase CheckCellRenderer que implementa la interfaz API CellRenderer API como ejemplo, ubicada en /Documents and Settings/usuario/Configuracin local/Application Data/Adobe/Flash CS3/en/Configuration/Classes/mx/controls/cells. Consulte tambin la documentacin del componente DataGrid para obtener informacin relacionada con CellRenderer, como Estrategias de rendimiento de DataGrid en la pgina 272. A la celda se le asignan automticamente dos mtodos y una propiedad (CellRenderer.getCellIndex(), CellRenderer.getDataLabel() y CellRenderer.listOwner) para que pueda comunicarse con el componente basado en lista. Por ejemplo, suponga que una celda contiene una casilla de verificacin que, cuando se selecciona, hace que se seleccione una fila. El procesador de celdas necesita una referencia al componente basado en lista que lo contiene para llamar a la propiedad selectedIndex del componente. Adems, la celda debe saber qu ndice de elemento est representando actualmente para poder definir el nmero correcto en la propiedad selectedIndex; para ello, la celda puede utilizar CellRenderer.listOwner y CellRenderer.getCellIndex(). No es necesario implementar estos elementos de ActionScript; la celda los recibe automticamente cuando se coloca en el componente basado en lista.
115
CellRenderer.getPreferredHeight() CellRenderer.getPreferredWidth()
El mtodo CellRenderer.getPreferredWidth() slo es necesario para componentes Menu o encabezados de DataGrid; si no es el caso, mrquelo como comentario, como se indica en el ejemplo.
CellRenderer.setSize()
Si una clase de procesador de celdas ampla UIObject, use implement size() en su lugar, como se indica en este ejemplo.
CellRenderer.setValue()
Una clase de procesador de celdas tambin debe declarar los mtodos y la propiedad recibidos de la clase List:
Los pasos siguientes muestran la forma de crear un archivo de clase de procesador de celdas de ActionScript 2.0 denominado MultiLineCell.as y vincularlo a un nuevo smbolo de clip de pelcula en un nuevo documento de Flash. A continuacin, puede aadir un componente DataGrid a la biblioteca del documento de Flash. En el primer fotograma se aade cdigo ActionScript para crear el objeto DataGrid dinmicamente y se asigna la clase MultiLineCell como procesador de celdas para una de sus columnas:
116
Seleccione Archivo > Nuevo y, a continuacin, Archivo ActionScript. Guarde el archivo como MultiLineCell.as. Introduzca el cdigo siguiente en MultiLineCell.as:
// ActionScript 2.0 class. class MultiLineCell extends mx.core.UIComponent { private var multiLineLabel; // La etiqueta que se va a utilizar para el texto. private var owner; // La fila que contiene esta celda. private var listOwner; // La lista, cuadrcula de datos o rbol que contiene esta celda. // Desplazamiento de la altura de la celda con respecto a la altura de // la fila total y la anchura de celda preferida. private static var PREFERRED_HEIGHT_OFFSET = 4; private static var PREFERRED_WIDTH = 100; // Profundidad inicial. private var startDepth:Number = 1; // Constructor. Debe estar vaco. public function MultiLineCell() { } /* UIObject espera que llene createChildren creando instancias de todos los elementos de clip de pelcula que podra necesitar tras la inicializacin. En este caso vamos a crear una etiqueta*/ public function createChildren():Void { // El mtodo createLabel es un mtodo til de UIObject y una forma // cmoda de crear etiquetas en componentes. var c = multiLineLabel = this.createLabel("multiLineLabel", startDepth); // Vincula el estilo de la etiqueta al estilo de la cuadrcula c.styleName = listOwner; c.selectable = false; c.tabEnabled = false; c.background = false; c.border = false; c.multiline = true; c.wordWrap = true; } public function size():Void {
117
/* Si se ampla UIComponent, que importa UIObject, se obtiene setSize automticamente; no obstante, UIComponent espera que se implemente size(). Suponga que __width y __height se establecen ahora. Va a ampliar la celda para adaptarla a rowHeight. rowHeight es una propiedad del componente de tipo lista en el que estamos procesando una celda. Como queremos ajustar el valor de rowHeight en dos lneas, al crear el componente de tipo lista con esta clase cellRenderer, asegrese de que el valor de su propiedad rowHeight es suficientemente grande para que dos lneas de texto puedan representarse en ella.*/ /*__width y __height son las variables subyacentes de los captadores/ definidores .width y .height.*/ var c = multiLineLabel; c.setSize(__width, __height); } // Proporciona la altura preferida de la celda. Mtodo heredado. public function getPreferredHeight():Number { /* Se asigna a la celda una propiedad, "owner", que hace referencia a la fila. Es siempre preferible que la celda ocupe la mayor parte de la altura de la fila. En este caso mantendremos la celda ligeramente ms pequea.*/ return owner.__height - PREFERRED_HEIGHT_OFFSET; } // Lo llama el propietario para establecer el valor en la celda. // Mtodo heredado. public function setValue(suggestedValue:String, item:Object, selected:Boolean):Void { /* Si el elemento no est definido, no debe procesarse nada en la celda, y esta etiqueta debe establecerse como invisible. Nota: para el desplazamiento de componentes de tipo List, como una cuadrcula de datos con desplazamiento, las celdas se vacan cuando dejan de estar visibles y a continuacin se reutilizan y se les asigna un nuevo valor, lo que produce un efecto animado de desplazamiento. Por esta razn, no puede dar por supuesto que una celda siempre tendr datos o mostrar siempre el mismo valor.*/ if (item==undefined){ multiLineLabel.text._visible = false; } multiLineLabel.text = suggestedValue; } // funcin getPreferredWidth :: slo para mens y encabezados de // cuadrcula de datos // funcin getCellIndex :: no se usa en este procesador de celdas // funcin getDataLabel :: no se usa en este procesador de celdas }
118
Seleccione Archivo > Nuevo y, a continuacin, Archivo Flash (ActionScript 2.0). Seleccione Archivo > Guardar como, asigne al archivo el nombre cellRender_tutorial.fla y gurdelo en la misma carpeta que el archivo MultiLineCell.as. Para crear un nuevo smbolo de movieClip a fin de vincularlo a la clase MultiLineCell, seleccione Insertar > Nuevo smbolo. En el cuadro de texto Nombre, escriba MultiLineCell. El valor predeterminado de Tipo es Clip de pelcula. Deje activada la opcin Clip de pelcula.
3.
4.
5. 6.
Si no se muestra la vista avanzada, haga clic en el botn Avanzado. Active la casilla de verificacin Exportar para ActionScript en la seccin Vinculacin. La activacin de esta opcin le permite asociar dinmicamente instancias de este smbolo a los documentos de Flash durante la ejecucin. El cuadro de texto Identificador mostrar automticamente MultiLineCell.
7.
Establezca la Clase de ActionScript 2.0 en MultiLineCell (para que coincida con el nombre de la clase del procesador de celdas MultiLineCell creada previamente). Verifique que Exportar en primer fotograma est seleccionado y haga clic en Aceptar.
N OT A
8.
Si necesita modificar posteriormente las propiedades de vinculacin del smbolo Clip de pelcula de MultiLineCell, puede hacer clic con el botn derecho en el smbolo en la biblioteca del documento y seleccionar Propiedades o Vinculacin desde el men.
9.
Arrastre un componente DataGrid desde el panel Componentes a la biblioteca. La instancia de DataGrid se crear dinmicamente mediante ActionScript en el siguiente paso.
10. Seleccione
el primer fotograma de la lnea de tiempo principal (asegrese de que no sigue en el modo de edicin de clip de pelcula de MultiLineCell).
119
11.
En el panel Acciones para el primer fotograma, introduzca el cdigo siguiente para crear dinmicamente una instancia de DataGrid, asigne datos a la instancia de DataGrid y asigne la nueva clase de procesador de celdas:
// Crear una nueva instancia del componente DataGrid this.createClassObject(mx.controls.DataGrid, "myGrid_dg", 1); // Generar un proveedor de datos para la cuadrcula de datos con cuatro // columnas de datos. myDP = new Array(); var aLongString:String = "An example of a cell renderer class that displays a multiple line TextField"; myDP.addItem({firstName:"Winston", lastName:"Elstad", note:aLongString, item:100}); myDP.addItem({firstName:"Ric", lastName:"Dietrich", note:aLongString, item:101}); myDP.addItem({firstName:"Ewing", lastName:"Canepa", note:aLongString, item:102}); myDP.addItem({firstName:"Kevin", lastName:"Wade", note:aLongString, item:103}); myDP.addItem({firstName:"Kimberly", lastName:"Dietrich", note:aLongString, item:104}); myDP.addItem({firstName:"AJ", lastName:"Bilow", note:aLongString, item:105}); myDP.addItem({firstName:"Chuck", lastName:"Yushan", note:aLongString, item:106}); myDP.addItem({firstName:"John", lastName:"Roo", note:aLongString, item:107}); /* Asignar el proveedor de datos al objeto DataGrid para llenarlo. Nota: hay que hacer esto antes de aplicar los procesadores de celdas. */ myGrid_dg.dataProvider = myDP; /* Establecer algunas propiedades bsicas de la cuadrcula. Nota: la altura de las filas de la cuadrcula de datos debe reflejar el nmero de lneas que se espera mostrar en el procesador de celdas MultiLineCell. El procesador de celdas ajustar el tamao a la altura de la fila. Debe ser alrededor de 40 para 2 lneas o de 60 para 3 lneas con el tamao de texto predeterminado.*/ myGrid_dg.setSize(430,200); myGrid_dg.move(40,40); myGrid_dg.rowHeight = 40; // Permite 2 lneas de texto con el tamao de texto predeterminado. myGrid_dg.getColumnAt(0).width = 70; myGrid_dg.getColumnAt(1).width = 70; myGrid_dg.getColumnAt(2).width = 220; myGrid_dg.resizableColumns = true; myGrid_dg.vScrollPolicy = "auto"; myGrid_dg.setStyle("backgroundColor", 0xD5D5FF); // Asignar procesadores de celdas. myGrid_dg.getColumnAt(2).cellRenderer = "MultiLineCell";
120
12. Guarde
Aparece una cuadrcula de datos. La tercera columna de la cuadrcula de datos contiene una celda de varias lneas.
El ejemplo instalado adicional, denominado CellRenderers_Sample, que muestra controles ComboBox y CheckBox.
121
La anchura preferida de una celda. Define la anchura y la altura de una celda. Define el contenido que va a mostrarse en la celda.
Descripcin
Devuelve un objeto con dos campos, columnIndex y itemIndex, que indican la posicin de la celda. Devuelve una cadena que contiene el nombre del campo de datos del procesador de celdas.
CellRenderer.getDataLabel()
Descripcin
Referencia al componente List que contiene la celda. Referencia a la fila que contiene la celda.
122
CellRenderer.getCellIndex()
Disponibilidad
Flash MX 2004.
Sintaxis
componentInstance.getCellIndex()
Parmetros
Ninguno.
Valor devuelto
Mtodo; devuelve un objeto con dos campos, columnIndex e itemIndex, que ubican la celda en el componente. Cada campo es un entero que indica la posicin de columna y la posicin de elemento de una celda. El valor de columnIndex es siempre 0, excepto para el componente DataGrid. Este mtodo lo proporciona la clase List; no es necesario implementarlo. Puede declararlo en la clase de procesador de celdas de la manera que se indica a continuacin y usarlo en las funciones del procesador de celdas:
var getCellIndex:Function;
Ejemplo
En este ejemplo, se edita el proveedor de datos de un componente DataGrid desde una celda:
var index = getCellIndex(); var colName = listOwner.getColumnAt(index.columnIndex).columnName; listOwner.dataProvider.editField(index.itemIndex, colName, someVal);
CellRenderer.getCellIndex()
123
CellRenderer.getDataLabel()
Disponibilidad
Flash MX 2004.
Sintaxis
componentInstance.getDataLabel()
Parmetros
Ninguno.
Valor devuelto
Una cadena.
Descripcin
Mtodo; devuelve una cadena que contiene el nombre del campo de datos del procesador de celdas. Para el componente DataGrid, este mtodo devuelve el nombre de columna para la celda actual. Este mtodo lo proporciona la clase List; no es necesario implementarlo. Puede declararlo en la clase de procesador de celdas de la manera que se indica a continuacin y usarlo en las funciones del procesador de celdas:
var getDataLabel:Function;
Ejemplo
El cdigo siguiente indica a la celda el nombre del campo de datos que est procesando. Por ejemplo, si el nombre del campo de datos que la celda est procesando actualmente es Price, el valor actual de la variable p es Price:
var p = getDataLabel();
124
CellRenderer.getPreferredHeight()
Disponibilidad
Flash MX 2004.
Sintaxis
componentInstance.getPreferredHeight()
Parmetros
Ninguno.
Valor devuelto
Mtodo; devuelve la altura preferida de una celda. Es especialmente importante para obtener la altura correcta del texto de la celda. Si define un valor ms alto que el de la propiedad rowHeight del componente, la celda se extender sobre las filas hacia arriba y hacia abajo. Este mtodo no lo proporciona la clase List; debe implementarlo. Indica a las filas de la lista cmo centrar la celda y cmo ajustar la altura de las celdas si es necesario. Asimismo, si es necesario, puede devolver una constante (por ejemplo, 22) o medir y devolver la altura del contenido. Tambin puede devolver owner.height, que es la altura de la fila.
Ejemplo
En este ejemplo, se devuelve el valor 20, lo que indica que la celda debe tener una altura de 20 pxeles.
function getPreferredHeight(Void) :Number { return 20; }
CellRenderer.getPreferredHeight()
125
CellRenderer.getPreferredWidth()
Disponibilidad
Flash MX 2004.
Sintaxis
componentInstance.getPreferredWidth()
Parmetros
Ninguno.
Valor devuelto
Mtodo; devuelve la anchura preferida de una celda. Si especifica una anchura mayor que la del componente, la celda podra verse cortada. Implemente este mtodo para el componente Menu. La celda se ajustar a la anchura de la fila, salvo en un men, que debe medir el texto para la anchura de la fila. Tambin puede implementar este mtodo para el componente DataGrid en el que el procesador de encabezados comprueba si se debe mostrar o no la flecha de ordenacin.
Ejemplo
En este ejemplo, se devuelve el valor multiplicado por 3, lo que indica que la celda debe ser tres veces mayor que la longitud de la cadena que representa:
function getPreferredWidth():Number { return myString.length*3; }
126
CellRenderer.listOwner
Disponibilidad
Flash MX 2004.
Sintaxis
componentInstance.listOwner
Descripcin
Propiedad; referencia a la lista propietaria de la celda. Esa lista puede ser un componente DataGrid, Tree, List o Menu. Este mtodo lo proporciona la clase List; no es necesario implementarlo. Declrelo en la clase del procesador de celdas como se indica a continuacin y selo como una referencia a la lista (o el rbol, men o cuadrcula):
var listOwner:MovieClip; // o UIObject, etc.
Ejemplo
CellRenderer.owner
Disponibilidad
Flash MX 2004.
Sintaxis
componentInstance.owner
Descripcin
Propiedad; referencia a la fila que contiene la celda. Este mtodo lo proporciona la clase List; no es necesario implementarlo. Declrelo en la clase del procesador de celdas y selo como una referencia:
var owner:MovieClip; // o UIObject, etc.
CellRenderer.owner
127
CellRenderer.setSize()
Disponibilidad
Flash MX 2004.
Sintaxis
componentInstance.setSize(width, height)
Parmetros
width height
Nmero que indica la anchura con la que se disea el componente. Nmero que indica la altura con la que se disea el componente.
Valor devuelto
Ninguno.
Descripcin
Mtodo; permite que la lista indique a sus celdas el tamao con el que deben mostrarse. El procesador de celdas debe realizar el diseo para que quepa en el rea especificada a fin de que las celdas no se extiendan a otras partes de la lista y aparezcan rotas. Si el procesador de celdas ampla la clase UIObject, debe implementar en su lugar el mtodo size(). Escriba la misma funcin que escribira para setSize(), pero use las propiedades width y height en lugar de parmetros.
Ejemplo
En el siguiente ejemplo, se redimensiona una imagen que aparece en la celda para que quepa en los lmites especificados por la lista:
function setSize(w:Number, h:Number):Void { image._width = w-2; image._height = h-2; image._x = image._y = 1; }
128
Este ejemplo est en una clase de procesador de celdas que ampla UIComponent (que ampla UIObject), por lo que debe implementar size() en lugar de setSize() de la manera siguiente:
// // // // Al ampliar UIComponent, obtiene setSize; sin embargo, UIComponent espera que implemente size(). Suponga que __width y __height se establecen ahora. Va a ampliar la celda para adaptarla a rowHeight.
function size():Void { // __width y __height son las variables subyacentes // de las propiedades .width y .height de los captadores/definidores var c = multiLineLabel; c._width = __width; c._height = __height; }
CellRenderer.setValue()
Disponibilidad
Flash MX 2004.
Sintaxis
componentInstance.setValue(suggested, item, selected)
Parmetros
suggested item
Valor que debe utilizarse para el texto del procesador de celdas, si procede.
Objeto que es el elemento completo que debe procesarse. El procesador de celdas puede usar las propiedades de este objeto para el procesamiento. Cadena con los siguientes valores posibles: normal, highlighted y
selected
selected.
Valor devuelto
Ninguno.
CellRenderer.setValue()
129
Descripcin
Mtodo; toma los valores dados y crea una representacin de ellos en la celda. Esto borra las diferencias entre lo que se mostraba en la celda y lo que se debe mostrar para el nuevo elemento. Recuerde que cualquier celda puede mostrar muchos valores mientras est visible en la lista. ste es el mtodo ms importante de CellRenderer y debe implementarse en cada procesador de celdas. El mtodo setValue() se usa con frecuencia (por ejemplo, al desplazar el puntero del ratn sobre un elemento, en una seleccin, al cambiar el tamao de una columna o cuando se produce un desplazamiento). Es importante recordar que una celda podra no existir en el escenario y que no siempre debe actualizarse con datos cuando se llama a setValue(). Por ejemplo, una celda concreta puede salir en cualquier momento del rea de visualizacin o reutilizarse para procesar otro valor. Por esta razn, no puede hacer referencia directamente a una instancia especfica de procesador de celdas en la cuadrcula y debe escribir sentencias if en el cuerpo de setValue() que permitan al cdigo ejecutarse nicamente si el parmetro item est definido y se ha producido un cambio. Un parmetro item sin definir indica que la celda debe estar visible y vaca, y que se debe asignar a la propiedad _visible de los elementos de la celda el valor false. Se podra requerir que una celda estuviera visible y vaca temporalmente, como cuando se realiza un desplazamiento en un componente DataGrid. Si se selecciona una fila y el puntero del ratn est encima de la fila, el valor del parmetro seleccionado ser highlighted, no selected. Esto puede provocar problemas si se intenta hacer que el procesador de celdas se comporte de manera diferente en funcin de si la fila est en un estado seleccionado. Para comprobar si la fila actual est en un estado seleccionado, use el cdigo siguiente:
var reallySelected:Boolean = selected != "normal" && listOwner.selectedNode == item;
Ejemplo
En el ejemplo siguiente, se muestra la forma de usar setValue() y editField() para hacer referencia a una instancia de procesador de celdas en una cuadrcula. Como una celda podra no existir en el escenario (puede desplazarse fuera del rea de visualizacin o podra reutilizarse para procesar otro valor) en cualquier momento, no puede hacer referencia directamente a una instancia de procesador de celdas especfico en la cuadrcula.
130
En su lugar, use el proveedor de datos para comunicarse con una celda especfica de la cuadrcula. El proveedor de datos contiene toda la informacin de estado sobre la cuadrcula. Para mostrar una celda determinada como activada o seleccionada (marcada), debe haber un campo correspondiente en el proveedor de datos que contenga esa informacin. El mtodo setValue() del procesador de celdas comunica los cambios de estado del proveedor de datos a la celda. A continuacin se muestra una implementacin del mtodo setValue() de un procesador de celdas terico que procesa una casilla de verificacin en las celdas:
function setValue(str, itm, sel) { /* Suponga que el proveedor de datos tiene dos campos relevantes para esta celda : checked y enabled. La forma de este proveedor de datos podra ser: [ {field1:"DisplayMe", field2:"SomeString", checked:true, enabled:false} {field1:"DisplayMe", field2:"SomeString", checked:false, enabled:true} {field1:"DisplayMe", field2:"SomeString", checked:true, enabled:true} ] */ /* Ocultar algo que normalmente se procesa en la celda si el valor de item es undefined. Si no, actualizar el contenido de la celda con los nuevos datos. */ if (itm == undefined){ myCheck._visible = false; }else{ // comprobacin de redundancia if (myCheck.selected!=itm.checked){ myCheck.selected = itm.checked; } if (myCheck.enabled!=itm.enabled){ myCheck.enabled = itm.enabled; } } }
Si desea activar la casilla de verificacin en la segunda fila, debe comunicarse a travs del proveedor de datos. Cualquier cambio que se produzca en el proveedor de datos (si se realiza mediante un mtodo DataProvider como DataProvider.editField()) llama a setValue() para actualizar la presentacin de la cuadrcula. Este cdigo se escribira en la aplicacin Flash, en un fotograma, un objeto u otro archivo de clase (pero no en el archivo de clase del procesador de celdas):
// vuelve a llamar a setValue() myGrid.editField(1, "enabled", true);
En el ejemplo siguiente, se carga una imagen en un componente Loader dentro de la celda, segn el valor que se haya pasado:
function setValue(suggested, item, selected) : Void {
CellRenderer.setValue()
131
/* Ocultar algo que normalmente se procesa en la celda si el valor de item es undefined. Si no, actualizar el contenido de la celda con los nuevos datos. */ if (item == undefined){ loader._visible = false; }else{ // borrar el componente Loader loader.contentPath = undefined; // la lista tiene URL de distintas imgenes en su proveedor de datos if (suggested!=undefined){ loader.contentPath = suggested; } } }
El ejemplo siguiente es de un procesador de botones de opcin. Si el valor del parmetro item es undefined, se puede desplazar la celda fuera del rea de visualizacin y debe estar visible y vaca. Se utiliza una sentencia if para determinar si el valor del parmetro item es undefined. Si el valor del parmetro item es undefined, el botn de opcin se oculta estableciendo el valor de su propiedad _visible en false; de lo contrario, el botn de opcin se actualiza con los nuevos datos y vuelve a estar visible.
function setValue(str:String, item:Object, sel:String) : Void { /* Ocultar algo que normalmente se procesa en la celda si el valor de item es undefined. Si no, actualizar el contenido de la celda con los nuevos datos. */ if (item == undefined) { radio._visible = false; } else { trace(item.data + " " + item.label + " " + item.state + " " + sel); radio.label = item.label; radio.data = item.data; radio.selected = item.state; radio._visible = true; } }
132
CAPTULO 6
Componente CheckBox
Una casilla de verificacin es un cuadrado que se puede seleccionar y deseleccionar. Cuando se selecciona, en el cuadro aparece una marca. A una casilla de verificacin se le puede aadir una etiqueta de texto, que puede colocarse a la izquierda, derecha, arriba o abajo.
NO T A
El componente CheckBox es compatible tanto con ActionScript 2.0 como con ActionScript 3.0. En este documento, se describe el componente de la versin 2. Si utiliza el componente de la versin 3, consulte Utilizacin de CheckBox en Utilizacin de componentes ActionScript 3.0.
Una casilla de verificacin puede estar activada o desactivada en una aplicacin. Si est activada y el usuario hace clic en ella o en su etiqueta, la casilla recibe la seleccin de entrada y muestra su aspecto presionado. Si el usuario desplaza el puntero fuera del rea de delimitacin de la casilla o de su etiqueta mientras presiona el botn del ratn, el componente recupera su aspecto original y conserva la seleccin de entrada. El estado de una casilla de verificacin no cambia hasta que se suelta el ratn sobre el componente. Adems, una casilla de verificacin tiene dos estados desactivados (seleccionado y no seleccionado) que no permiten la interaccin con el ratn ni el teclado. Si la casilla de verificacin est desactivada, muestra su aspecto desactivado sea cual sea la accin del usuario. Si est desactivado, el botn no recibe la entrada del ratn ni del teclado. La instancia de CheckBox recibe la seleccin cuando el usuario hace clic sobre ella o presiona el tabulador hasta su posicin. Cuando una instancia de CheckBox est seleccionada, se pueden utilizar las siguientes teclas para controlarla:
Tecla
Mays+Tabulador Barra espaciadora Tabulador
Descripcin
Desplaza la seleccin al elemento anterior. Selecciona o anula la seleccin del componente y activa el evento click. Desplaza la seleccin al elemento siguiente.
133
Para ms informacin sobre el control de la seleccin, consulte Clase FocusManager en la pgina 763 o Creacin de un desplazamiento personalizado de la seleccin en Utilizacin de componentes ActionScript 2.0. La previsualizacin dinmica de cada instancia de CheckBox refleja los cambios de parmetros realizados durante la edicin en el inspector de propiedades o el inspector de componentes. Cuando se aade el componente CheckBox a una aplicacin, se puede utilizar el panel Accesibilidad para que los lectores de la pantalla puedan acceder a l. En primer lugar, debe aadir la lnea de cdigo siguiente para activar la accesibilidad:
mx.accessibility.CheckBoxAccImpl.enableAccessibility();
La accesibilidad de un componente slo se activa una vez, sea cual sea su nmero de instancias. Para ms informacin, consulte Creacin de contenido accesible en Utilizacin de Flash.
Parmetros de CheckBox
A continuacin se indican los parmetros de edicin que se pueden definir para cada instancia del componente CheckBox en el inspector de propiedades o en el inspector de componentes:
label
CheckBox. labelPlacement orienta el texto de la etiqueta en la casilla de verificacin. Este parmetro puede tener uno de estos cuatro valores: left, right, top o bottom; el valor predeterminado es right. Para ms informacin, consulte CheckBox.labelPlacement. selected
define el valor inicial de la casilla de verificacin en marcada (true) o sin marcar (false). El valor predeterminado es false.
Puede escribir cdigo ActionScript para controlar stas y otras opciones adicionales del componente CheckBox utilizando sus propiedades, mtodos y eventos. Para ms informacin, consulte Clase CheckBox en la pgina 141.
134
Componente CheckBox
Seleccione Archivo > Nuevo y, a continuacin, Archivo Flash (ActionScript 2.0). Arrastre dos componentes TextInput desde el panel Componentes al escenario. En el inspector de propiedades, escriba los nombres de instancia minimumAge y maximumAge. Arrastre un componente CheckBox desde el panel Componentes al escenario. En el inspector de propiedades, siga este procedimiento:
4. 5.
Introduzca restrictAge como nombre de instancia. Introduzca Restrict Age como parmetro labels.
6.
Seleccione el fotograma 1 de la lnea de tiempo, abra el panel Acciones e introduzca el cdigo siguiente:
var restrictAgeListener:Object = new Object(); restrictAgeListener.click = function (evt:Object) { minimumAge.enabled = evt.target.selected; maximumAge.enabled = evt.target.selected; }; restrictAge.addEventListener("click", restrictAgeListener);
Este cdigo crea un controlador de eventos click que activa y desactiva los componentes de los campos de texto minimumAge y maximumAge, ya situados en el escenario. Para ms informacin, consulte CheckBox.click y Componente TextInput en la pgina 1301.
135
Seleccione Archivo > Nuevo y, a continuacin, Archivo Flash (ActionScript 2.0). Arrastre el componente CheckBox desde el panel Componentes a la biblioteca del documento actual. De esta manera, se aade el componente a la biblioteca, aunque ste no se vuelve visible en la aplicacin.
3.
Arrastre el componente TextInput desde el panel Componentes a la biblioteca del documento actual. En el primer fotograma de la lnea de tiempo principal, aada el siguiente cdigo ActionScript al panel Acciones para crear instancias de componente y colocarlas:
this.createClassObject(mx.controls.CheckBox, "testAge_ch", 1, {label:'Age Range', selected:true}); this.createClassObject(mx.controls.TextInput, "minimumAge_ti", 2, {restrict:[0-9], text:18, maxChars:2}); minimumAge_ti.move(20, 30); this.createClassObject(mx.controls.TextInput, "maximumAge_ti", 3, {restrict:[0-9], text:55, maxChars:2}); maximumAge_ti.move(20, 60);
4.
Este script utiliza el mtodo UIObject.createClassObject() en la pgina 1458 para crear la instancia de CheckBox denominada restrictAge y especifica una propiedad de etiqueta. A continuacin, el cdigo utiliza el mtodo UIObject.move() en la pgina 1472 para colocar el botn.
5.
Aada el siguiente cdigo ActionScript para crear un detector de eventos y una funcin de controlador de eventos:
// Crear controlador para el evento checkBox. function checkboxHandler(evt_obj:Object) { minimumAge_ti.enabled = evt_obj.target.selected; maximumAge_ti.enabled = evt_obj.target.selected; } // Aadir detector. testAge_ch.addEventListener("click", checkboxHandler);
Este cdigo crea un controlador de eventos click que activa y desactiva los componentes de los campos de texto minimumAge y maximumAge. Para ms informacin, consulte CheckBox.click, EventDispatcher.addEventListener() en la pgina 529 y Componente TextInput en la pgina 1301.
136
Componente CheckBox
Tema
Halo
Descripcin
Esquema de colores base de un componente. Los valores posibles son haloGreen, haloBlue y haloOrange. El valor predeterminado es haloGreen. Color del texto. El valor predeterminado es 0x0B333C para el tema Halo y en blanco para el tema Sample. Color del texto cuando el componente est desactivado. El color predeterminado es 0x848384 (gris oscuro).
color
Ambos
disabledColor
Ambos
137
Estilo
embedFonts
Tema
Ambos
Descripcin
Valor booleano que indica si la fuente especificada en fontFamily es una fuente incorporada. Este estilo debe definirse como true si fontFamily hace referencia a una fuente incorporada. De lo contrario, no se utiliza la fuente incorporada. Si el estilo se define como true y fontFamily no hace referencia a una fuente incorporada, no se muestra ningn texto. El valor predeterminado es false. Nombre de la fuente del texto. El valor predeterminado es _sans. Tamao de la fuente en puntos. El valor predeterminado es 10. Estilo de la fuente: puede ser normal o italic. El valor predeterminado es normal. Grosor de la fuente: puede ser none o bold. El valor predeterminado es none. Todos los componentes pueden aceptar adems el valor normal en lugar de none durante una llamada a setStyle(), pero las llamadas posteriores a getStyle() devolvern none. Decoracin del texto: puede ser none o underline. El valor predeterminado es none. Color de fondo de la casilla de verificacin. El valor predeterminado es 0xFFFFFF (blanco). Color de fondo de la casilla de verificacin cuando est desactivada. El valor predeterminado es 0xEFEEEF (gris claro). Color de fondo de la casilla de verificacin cuando se presiona. El valor predeterminado es 0xFFFFFF (blanco). Color de la marca de verificacin. El valor predeterminado es 0x000000 (negro). Color de la marca de verificacin desactivada. El valor predeterminado es 0x848384 (gris oscuro).
fontFamily
fontSize
fontStyle
fontWeight
textDecoration
symbolBackgroundColor
symbolBackgroundDisabledColor
symbolBackgroundPressedColor
Sample
symbolColor
Sample Sample
symbolDisabledColor
138
Componente CheckBox
Descripcin
Estado sin presionar (normal) sin marcar. El valor predeterminado es CheckFalseUp. Estado presionado sin marcar. El valor predeterminado es CheckFalseDown. Estado sin marcar cuando se desplaza el puntero sobre l. El valor predeterminado es CheckFalseOver. Estado desactivado sin marcar. El valor predeterminado es CheckFalseDisabled. Estado conmutado marcado. El valor predeterminado es CheckTrueUp. Estado presionado marcado. El valor predeterminado es CheckTrueDown. Estado marcado cuando se desplaza el puntero sobre l. El valor predeterminado es CheckTrueOver. Estado desactivado marcado. El valor predeterminado es CheckTrueDisabled.
falseDownIcon
falseOverIcon
falseDisabledIcon
trueUpIcon
trueDownIcon
trueOverIcon
trueDisabledIcon
Cada una de estas propiedades se corresponde con el icono que indica el estado del componente CheckBox. El componente CheckBox no tiene bordes ni fondo.
139
Seleccione Archivo > Nuevo y, a continuacin, Archivo Flash (ActionScript 2.0). Seleccione Archivo > Importar > Abrir biblioteca externa y, a continuacin, seleccione el archivo HaloTheme.fla. Este archivo se encuentra en la carpeta de configuracin a nivel de la aplicacin. Para saber cul es la ubicacin exacta en el sistema operativo, consulte Temas en Utilizacin de componentes.
3.
En el panel Biblioteca del tema, expanda la carpeta Flash UI Components 2/Themes/ MMDefault y arrastre la carpeta CheckBox Assets a la biblioteca del documento. Expanda la carpeta CheckBox Assets/States en la biblioteca del documento. Abra los smbolos que desea personalizar. Por ejemplo, abra el smbolo CheckFalseDisabled. Personalice el smbolo como desee. Por ejemplo, cambie el color blanco del cuadrado interior por un gris claro. Repita los pasos 5 y 6 en todos los smbolos que desee personalizar. Por ejemplo, repita el cambio de color en el cuadro interior del smbolo CheckTrueDisabled.
4. 5.
6.
7.
8. 9.
Haga clic en el botn Atrs para volver a la lnea de tiempo principal. Arrastre un componente CheckButton al escenario. En este ejemplo, arrastre dos instancias para mostrar los dos nuevos smbolos de aspecto. las propiedades de la instancia de CheckButton como desee.
10. Defina
Para este ejemplo, establezca una instancia de CheckBox en true y use ActionScript para establecer ambas instancias de CheckBox en disabled.
11.
140
Componente CheckBox
Clase CheckBox
MovieClip > Clase UIObject > Clase UIComponent > Clase SimpleButton > Componente Button > CheckBox
Herencia Nombre de clase de ActionScript
mx.controls.CheckBox
Las propiedades de la clase CheckBox permiten crear etiquetas de texto y colocarlas a la izquierda, derecha, encima o debajo de una casilla de verificacin en tiempo de ejecucin. Si una propiedad de la clase CheckBox se define con ActionScript, sustituye al parmetro del mismo nombre definido en el inspector de propiedades o el inspector de componentes. El componente CheckBox utiliza Focus Manager para sustituir el rectngulo de seleccin predeterminado de Flash Player y dibuja uno personalizado con esquinas redondeadas. Para ms informacin, consulte Creacin de un desplazamiento personalizado de la seleccin en Utilizacin de componentes ActionScript 2.0. Cada clase de componente tiene una propiedad version, que es una propiedad de clase. Las propiedades de clase slo estn disponibles en la propia clase. La propiedad version devuelve una cadena que indica la versin del componente. Para acceder a esta propiedad, utilice el cdigo siguiente:
trace(mx.controls.CheckBox.version);
N OT A
Clase CheckBox
141
Mtodo
UIObject.doLater()
Descripcin
Llama a una funcin cuando se han establecido parmetros en el inspector de propiedades y el inspector de componentes. Obtiene la propiedad de estilo de la declaracin de estilo o del objeto. Marca el objeto de forma que se pueda volver a dibujar en el siguiente intervalo de fotogramas. Mueve el objeto a la posicin indicada. Fuerza la validacin del objeto, de forma que se pueda dibujar sobre el fotograma actual. Cambia el tamao del objeto al indicado. Define un aspecto en el objeto. Define la propiedad de estilo en la declaracin de estilo o en el objeto.
UIObject.getStyle()
UIObject.invalidate()
UIObject.move() UIObject.redraw()
Descripcin
Devuelve una referencia al objeto seleccionado. Define la seleccin en la instancia de componente.
Descripcin
Especifica el texto que aparece junto a una casilla de verificacin. Especifica la orientacin del texto de la etiqueta con respecto a la casilla de verificacin. Especifica si la casilla de verificacin est seleccionada (true) o no (false).
CheckBox.labelPlacement
CheckBox.selected
142
Componente CheckBox
Descripcin
Slo lectura; posicin del borde inferior del objeto con respecto al borde inferior de su elemento principal correspondiente. Slo lectura; altura del objeto, expresada en pxeles. Slo lectura; borde izquierdo del objeto, expresado en pxeles. Slo lectura; posicin del borde derecho del objeto con respecto al borde derecho de su elemento principal correspondiente. Nmero que indica el factor de escala en la direccin x del objeto con respecto a su elemento principal correspondiente. Nmero que indica el factor de escala en la direccin y del objeto con respecto a su elemento principal correspondiente. Slo lectura; posicin del borde superior del objeto con respecto a su elemento principal correspondiente. Valor booleano que indica si el objeto es visible (true) o no (false). Slo lectura; anchura del objeto, expresada en pxeles. Slo lectura; borde izquierdo del objeto, expresado en pxeles. Slo lectura; borde superior del objeto, expresado en pxeles.
UIObject.height UIObject.left
UIObject.right
UIObject.scaleX
UIObject.scaleY
UIObject.top
UIObject.visible
UIObject.width UIObject.x
UIObject.y
Descripcin
Indica si el componente puede recibir selecciones y entradas. Nmero que indica el orden de tabulacin para un componente de un documento.
Clase CheckBox
143
Descripcin
Indica si el botn tiene el aspecto de un botn de comando predeterminado. Declaracin de estilos cuando la propiedad emphasized est definida en true. Valor booleano que indica si el botn est seleccionado (true) o no (false). El valor predeterminado es false. Valor booleano que indica si el botn se comporta como un conmutador (true) o no (false). El valor predeterminado es false.
SimpleButton.emphasizedStyleDeclaration
SimpleButton.selected
SimpleButton.toggle
Descripcin
Especifica el texto que aparece en un botn. Especifica la orientacin del texto de la etiqueta con respecto a un icono.
Descripcin
Se activa cuando se hace clic con el ratn (se suelta el botn del ratn) sobre la casilla de verificacin o cuando la casilla est seleccionada y se presiona la barra espaciadora.
144
Componente CheckBox
Descripcin
Se difunde cuando un objeto est a punto de dibujar sus grficos. Se difunde cuando el estado de un objeto pasa de ser visible a invisible. Se difunde cuando se crean subobjetos. Se difunde cuando se mueve el objeto. Se difunde cuando cambia el tamao de un objeto. Se difunde cuando el estado de un objeto pasa de ser invisible a visible. Se difunde durante la descarga de los subobjetos.
UIObject.hide
UIObject.unload
Descripcin
Se difunde cuando se selecciona un objeto. Se difunde cuando un objeto deja de seleccionarse. Se difunde cuando se presiona una tecla. Se difunde cuando se suelta una tecla.
Descripcin
Se difunde cuando se hace clic en un botn.
Clase CheckBox
145
CheckBox.click
Disponibilidad
Flash MX 2004.
Sintaxis
Sintaxis 1:
var listenerObject:Object = new Object(); listenerObject.click = function(eventObject:Object) { // ... }; checkBoxInstance.addEventListener("click", listenerObject);
Sintaxis 2:
on (click) { // ... }
Descripcin
Evento; se difunde a todos los detectores registrados cuando se hace clic con el ratn (se suelta el botn del ratn) sobre la casilla de verificacin o cuando la casilla est seleccionada y se presiona la barra espaciadora. El primer ejemplo de sintaxis utiliza un modelo de eventos distribuidor/detector. Una instancia de componente (checkBoxInstance) distribuye un evento (en este caso, click) y ste se controla mediante una funcin, tambin denominada controlador, asociada con el objeto detector (listenerObject) que crea el usuario. Se define un mtodo con el mismo nombre que el evento del objeto detector; se llama al mtodo cuando se activa el evento. Cuando se activa el evento, ste pasa automticamente un objeto de evento (eventObject) al mtodo del objeto detector. El objeto de evento tiene propiedades que contienen informacin sobre el evento. Estas propiedades sirven para escribir el cdigo que controla el evento. Finalmente, se llama al mtodo addEventListener() (consulte EventDispatcher.addEventListener()) de la instancia del componente que difunde el evento para registrar el detector con la instancia. Cuando la instancia distribuya el evento, se llamar al detector. Para ms informacin, consulte Clase EventDispatcher en la pgina 527.
146
Componente CheckBox
El segundo ejemplo de sintaxis utiliza un controlador on() que debe asociarse directamente con una instancia de CheckBox. La palabra clave this, utilizada en un controlador on() asociado con un componente, hace referencia a la instancia del componente. Por ejemplo, el cdigo siguiente, asociado con la casilla de verificacin myCheckBox, enva _level0.myCheckBox al panel Salida:
on (click) { trace(this); }
Ejemplo
En el ejemplo siguiente, se activa un botn cuando se selecciona la casilla de verificacin. Este ejemplo presupone que hay una instancia del componente Button en el escenario con el nombre de instancia submit_button y una instancia del componente CheckBox en el escenario con el nombre de instancia agree_ch. Aada el siguiente cdigo al primer fotograma de la lnea de tiempo principal:
agree_ch.label = "I agree"; submit_button.enabled = false; // Crear un objeto detector. var form_obj:Object = new Object(); // Asignar una funcin al objeto detector. form_obj.click = function(event_obj:Object) { submit_button.enabled = event_obj.target.selected; }; // Aadir detector. agree_ch.addEventListener("click", form_obj);
El cdigo siguiente enva un mensaje al panel Salida cuando se hace clic en checkBoxInstance. El controlador on() debe asociarse directamente con checkBoxInstance:
on (click) { trace("check box component was clicked"); }
Vase tambin
EventDispatcher.addEventListener()
CheckBox.click
147
CheckBox.label
Disponibilidad
Flash MX 2004.
Sintaxis
checkBoxInstance.label
Descripcin
Propiedad; indica la etiqueta de texto de la casilla de verificacin. De forma predeterminada, la etiqueta aparece a la derecha de la casilla de verificacin. Si se establece esta propiedad, reemplaza el parmetro label especificado en la ficha Parmetros del inspector de componentes. El componente CheckBox no permite etiquetas de varias lneas.
Ejemplo
El cdigo siguiente define el texto que aparece junto al componente CheckBox y enva el valor al panel Salida:
checkBox.label = "Remove from list"; trace(checkBox.label)
Este ejemplo crea la casilla de verificacin en ActionScript y, a continuacin, cambia el tamao de la etiqueta cuando la casilla se activa. Para este ejemplo, arrastre el componente CheckBox desde el panel Componentes a la biblioteca del documento actual (de modo que el componente CheckBox aparezca en la biblioteca pero no en el escenario). A continuacin, aada el siguiente cdigo ActionScript al primer fotograma de la lnea de tiempo principal:
this.createClassObject(mx.controls.CheckBox, "my_ch", 10, {label:"Resize CheckBox instance"}); function checkboxHandler(evt_obj:Object):Void { trace("before: " + evt_obj.target.width +"px wide"); evt_obj.target.setSize(200, evt_obj.target.height); trace("after: " + evt_obj.target.width+"px wide"); } my_ch.addEventListener("click", checkboxHandler);
Vase tambin
CheckBox.labelPlacement
148
Componente CheckBox
CheckBox.labelPlacement
Disponibilidad
Flash MX 2004.
Sintaxis
checkBoxInstance.labelPlacement
Descripcin
Propiedad; cadena que indica la posicin de la etiqueta con respecto a la casilla de verificacin. A continuacin se indican los cuatro valores posibles (las lneas discontinuas representan el rea de delimitacin del componente; son invisibles en el documento):
right La casilla de verificacin se fija en la esquina superior izquierda del rea de delimitacin. La etiqueta aparece a la derecha de la casilla. ste es el valor predeterminado.
left
La casilla de verificacin se fija en la esquina superior izquierda del rea de delimitacin. La etiqueta aparece a la izquierda de la casilla.
bottom
La etiqueta se coloca debajo de la casilla de verificacin. La casilla de verificacin y la etiqueta se centran horizontal y verticalmente.
top La etiqueta se coloca encima de la casilla de verificacin. La casilla de verificacin y la etiqueta se centran horizontal y verticalmente.
El rea de delimitacin del componente se puede cambiar durante la edicin con el comando Transformar o en tiempo de ejecucin con la propiedad UIObject.setSize(). Para ms informacin, consulte Personalizacin del componente CheckBox en la pgina 137.
CheckBox.labelPlacement
149
Ejemplo
En el ejemplo siguiente, se utiliza cdigo ActionScript para crear instancias de casilla de verificacin. La instancia de casilla de verificacin right_ch tiene su etiqueta y sus propiedades labelPlacement definidas en el mtodo UIObject.createClassObject() en la pgina 1458. La instancia de casilla de verificacin left_ch tiene su etiqueta y sus propiedades labelPlacement definidas en declaraciones independientes. Arrastre el componente CheckBox desde el panel Componentes a la biblioteca del documento actual (de modo que el componente aparezca en la biblioteca pero no en el escenario). A continuacin, aada el siguiente cdigo ActionScript al primer fotograma de la lnea de tiempo principal:
this.createClassObject(mx.controls.CheckBox, "right_ch", 1, {label:"Right", labelPlacement:"right"}); right_ch.move(10, 10); this.createClassObject(mx.controls.CheckBox, "left_ch", 2); left_ch.label= "Left"; left_ch.labelPlacement = "left"; left_ch.move(10, 30);
Vase tambin
CheckBox.label
CheckBox.selected
Disponibilidad
Flash MX 2004.
Sintaxis
checkBoxInstance.selected
Descripcin
Propiedad; valor booleano que selecciona (true) o anula la seleccin (false) de la casilla de verificacin.
150
Componente CheckBox
Ejemplo
En el ejemplo siguiente, se muestra una casilla de verificacin que tiene su propiedad seleccionada definida en true, de forma predeterminada y, a continuacin, se utiliza la propiedad selected en una funcin de controlador de eventos para responder al clic del usuario en la casilla de verificacin. Arrastre un componente CheckBox al escenario. Asigne a la instancia del componente el nombre my_ch. A continuacin, aada el siguiente cdigo al panel Acciones del primer fotograma de la lnea de tiempo principal:
my_ch.selected = true; var checkboxListener:Object = new Object(); checkboxListener.click = function(evt_obj:Object) { if (evt_obj.target.selected) { evt_obj.target.label = "Selected!"; } else { evt_obj.target.label = "Unselected!"; } }; my_ch.addEventListener("click", checkboxListener);
CheckBox.selected
151
152
Componente CheckBox
CAPTULO 7
Interfaz Collection
La clase Collection se distribuye en la biblioteca de clases comn como un smbolo de clip compilado. Para acceder a esta clase, seleccione Ventana > Bibliotecas comunes > Clases, que contiene el clip compilado UtilsClasses.
Clase Collection
Nombre de clase de ActionScript
mx.utils.Collection
La interfaz Collection permite administrar mediante programacin un grupo de elementos relacionados, denominados elementos de coleccin. Cada elemento de coleccin de este conjunto tiene propiedades que se describen en los metadatos de la definicin de clase del elemento de coleccin.
NO T A
La clase Collection slo es compatible si trabaja con un documento que especifique ActionScript 2.0 en la Configuracin de publicacin.
Los componentes pueden exponer propiedades como colecciones, que se pueden manipular durante la edicin a travs del cuadro de dilogo Valores desde el inspector de componentes. Este cuadro de dilogo permite aadir elementos, eliminar elementos, modificar propiedades de elementos y cambiar la posicin de elementos en la coleccin. Para ms informacin sobre colecciones y elementos de coleccin, consulte Etiqueta Collection en Utilizacin de componentes ActionScript 2. Generalmente se usa la interfaz Collection con componentes que usan la etiqueta de metadatos Collection para crear propiedades de coleccin. Aunque puede crear, acceder y eliminar instancias de Collection mediante programacin, las colecciones se suelen usar en el contexto de un componente. Flash proporciona implementaciones de las dos interfaces relacionadas con colecciones (CollectionImpl para Collection, y IteratorImpl para Iterator).
153
Descripcin
Aade un elemento nuevo al final de la coleccin. Indica si la coleccin contiene el elemento especificado. Elimina todos los elementos de la coleccin. Devuelve un elemento de la coleccin especificado por su ndice. Devuelve un repetidor de los elementos de la coleccin. Devuelve el nmero de elementos de la coleccin. Indica si la coleccin est vaca. Elimina el elemento especificado de la coleccin.
Collection.addItem()
Disponibilidad
Flash Player 7.
Edicin
Parmetros
item El objeto que se va a aadir a la coleccin. Si el valor de item es null, no se aade a la coleccin.
Valor devuelto
154
Interfaz Collection
Ejemplo
Collection.contains()
Disponibilidad
Flash Player 7.
Edicin
Parmetros
item
Valor devuelto
Mtodo; indica si la coleccin contiene el elemento especificado. Para que Flash considere los objetos como iguales, deben hacer referencia al mismo objeto. Si item es un objeto distinto, Collection.contains() devuelve false, aunque todas las propiedades del objeto sean iguales.
Collection.contains()
155
Ejemplo
Collection.clear()
Disponibilidad
Flash Player 7.
Edicin
Valor devuelto
Ninguno.
Descripcin
156
Interfaz Collection
Collection.getItemAt()
Disponibilidad
Flash Player 7.
Edicin
Parmetros
Nmero que indica la posicin de item en la coleccin. Es un ndice de base cero, por lo que 0 recupera el primer elemento, 1 recupera el segundo elemento, etc.
index
Valor devuelto
Un objeto que contiene una referencia al elemento de la coleccin especificado o null si el valor de index est fuera de los lmites.
Descripcin
Collection.getItemAt()
157
Collection.getIterator()
Disponibilidad
Flash Player 7.
Edicin
Valor devuelto
Mtodo; devuelve un repetidor de los elementos de la coleccin. No se sabe en qu orden se devolvern los elementos (a menos que esta coleccin sea una instancia de una clase que proporciona una garanta).
Ejemplo
158
Interfaz Collection
Collection.getLength()
Disponibilidad
Flash Player 7.
Edicin
Valor devuelto
Collection.isEmpty()
Disponibilidad
Flash Player 7.
Edicin
Valor devuelto
Collection.isEmpty()
159
Descripcin
Collection.removeItem()
Disponibilidad
Flash Player 7.
Edicin
Parmetros
item
Valor devuelto
Mtodo; elimina el elemento especificado de la coleccin. Como Collection.removeItem() reduce dinmicamente el tamao de la coleccin, no se debe llamar a este mtodo mientras se realiza un bucle mediante un repetidor.
160
Interfaz Collection
Ejemplo
Collection.removeItem()
161
162
Interfaz Collection
CAPTULO 8
Componente ComboBox
Un cuadro combinado permite al usuario hacer una sola seleccin en una lista emergente. Los cuadros combinados pueden ser estticos o editables. Un cuadro combinado editable permite al usuario introducir texto directamente en un campo de texto de la parte superior de la lista y seleccionar una opcin en una lista emergente. Si la lista emergente llega al final del documento, se abre hacia arriba en lugar de hacia abajo. El cuadro combinado se compone de tres subcomponentes: un componente Button, un componente TextInput y un componente List.
NO TA
El componente ComboBox es compatible tanto con ActionScript 2.0 como con ActionScript 3.0. En este documento, se describe el componente de la versin 2. Si utiliza el componente de la versin 3, consulte Utilizacin de ComboBox en Utilizacin de componentes ActionScript 3.0.
Cuando se hace la seleccin en la lista, la etiqueta de la seleccin se copia en el campo de texto de la parte superior del cuadro combinado. No importa si la seleccin se realiza con el ratn o con el teclado. El componente ComboBox se selecciona al hacer clic en el cuadro de texto o en el botn. Cuando un componente ComboBox est seleccionado y es editable, todas las pulsaciones del teclado se dirigen al cuadro de texto y se gestionan segn las reglas del componente TextInput (consulte Componente TextInput en la pgina 1301), con la excepcin de las teclas siguientes:
Tecla
Control+Flecha abajo Mays+Tabulador Tabulador
Descripcin
Abre la lista desplegable y la selecciona. Desplaza la seleccin al objeto anterior. Desplaza la seleccin al objeto siguiente.
163
Cuando un componente ComboBox est seleccionado y es esttico, las pulsaciones alfanumricas desplazan la seleccin hacia arriba y hacia abajo en la lista desplegable al siguiente elemento cuya inicial coincida con el carcter introducido. Tambin puede utilizar las siguientes teclas para controlar un cuadro combinado esttico:
Tecla
Control+Flecha abajo Control+Flecha arriba Flecha abajo Fin Escape Intro Inicio Av Pg Re Pg Mays+Tabulador Tabulador
Descripcin
Abre la lista desplegable y la selecciona. Cierra la lista desplegable si est abierta en las versiones autnoma y de navegador de Flash Player. Desplaza la seleccin un elemento hacia abajo. La seleccin se desplaza al final de la lista. Cierra la lista desplegable y vuelve a seleccionar el cuadro combinado en el modo de prueba. Cierra la lista desplegable y vuelve a seleccionar el cuadro combinado. Desplaza la seleccin a la parte superior de la lista. La seleccin avanza una pgina. La seleccin retrocede una pgina. Desplaza la seleccin al objeto anterior. Desplaza la seleccin al objeto siguiente.
Cuando la lista desplegable de un cuadro combinado est seleccionada, las pulsaciones alfanumricas desplazan la seleccin hacia arriba y hacia abajo en la lista al siguiente elemento cuya inicial coincida con el carcter introducido. Tambin puede utilizar las siguientes teclas para controlar una lista desplegable:
Tecla
Control+Flecha arriba
Descripcin
Si la lista desplegable est abierta, se vuelve a seleccionar el cuadro de texto y la lista desplegable se cierra en las versiones independiente y de navegador de Flash Player. Desplaza la seleccin un elemento hacia abajo. Mueve el punto de insercin al final del cuadro de texto. Si la lista desplegable est abierta, se vuelve a seleccionar el cuadro de texto y se cierra la lista desplegable. Si la lista desplegable est abierta, se vuelve a seleccionar el cuadro de texto y se cierra la lista desplegable en el modo de prueba.
164
Componente ComboBox
Tecla
Inicio Av Pg Re Pg Tabulador Mays+Fin Mays+Inicio Mays+Tabulador Flecha arriba
NO T A
Descripcin
Mueve el punto de insercin al principio del cuadro de texto. La seleccin avanza una pgina. La seleccin retrocede una pgina. Desplaza la seleccin al objeto siguiente. Selecciona el texto desde el punto de insercin a la posicin de fin. Selecciona el texto desde el punto de insercin a la posicin de inicio. Desplaza la seleccin al objeto anterior. Desplaza la seleccin un elemento hacia arriba.
Para las teclas Av Pg y Re Pg, una pgina est formada por los elementos que caben en pantalla menos uno. Por ejemplo, para avanzar por una lista desplegable que presenta las lneas de diez en diez, la pantalla muestra los elementos 0-9, 9-18, 18-27 y as sucesivamente, solapando un elemento por pgina.
Para ms informacin sobre el control de la seleccin, consulte Clase FocusManager en la pgina 763 o Creacin de un desplazamiento personalizado de la seleccin en Utilizacin de componentes ActionScript 2.0. La previsualizacin dinmica de cada instancia del componente ComboBox del escenario refleja los cambios de parmetros realizados durante la edicin en el inspector de propiedades o en el inspector de componentes. Sin embargo, la lista desplegable no se abre en la previsualizacin dinmica y el primer elemento aparece como elemento seleccionado. Cuando se aade el componente ComboBox a una aplicacin, es posible utilizar el panel Accesibilidad para que los lectores de la pantalla puedan acceder a l. En primer lugar, debe aadir la lnea de cdigo siguiente para activar la accesibilidad:
mx.accessibility.ComboBoxAccImpl.enableAccessibility();
La accesibilidad de un componente slo se activa una vez, sea cual sea su nmero de instancias. Para ms informacin, consulte Creacin de contenido accesible en Utilizacin de Flash.
165
Parmetros de ComboBox
A continuacin se indican los parmetros de edicin que se pueden definir para cada instancia del componente ComboBox en el inspector de propiedades o el inspector de componentes (opcin de men Ventana > Inspector de componentes):
data
asocia un valor de datos con cada elemento del componente ComboBox. El parmetro data es una matriz. determina si el componente ComboBox es editable (true) o slo seleccionable (false). El valor predeterminado es false. el componente ComboBox con una matriz de valores de texto.
editable
establece el nmero mximo de elementos que se pueden mostrar en la lista. El valor predeterminado es 5. A continuacin se indican los parmetros adicionales que se pueden definir para cada instancia del componente ComboBox en el inspector de componentes (Ventana > Inspector de componentes):
restrict indica el conjunto de caracteres que un usuario puede introducir en el campo de texto
es un valor booleano que indica si el componente acepta selecciones y entradas. El valor predeterminado es true.
visible es un valor booleano que indica si el objeto es visible (true) o no (false). El valor predeterminado es true.
N O TA 166
Las propiedades minHeight y minWidth se utilizan en rutinas internas de cambio de tamao. Se definen en UIObject y se sustituyen por distintos componentes segn convenga. Estas propiedades pueden utilizarse si se crea un administrador de diseo personalizado en la aplicacin. De lo contrario, establecer estas propiedades en el inspector de componentes no produce ningn efecto visible.
Puede escribir cdigo ActionScript para definir opciones adicionales para instancias de ComboBox con los mtodos, propiedades y eventos de la clase ComboBox. Para ms informacin, consulte Clase ComboBox en la pgina 173.
Componente ComboBox
Seleccione Archivo > Nuevo y, a continuacin, Archivo Flash (ActionScript 2.0). Arrastre un componente ComboBox desde el panel Componentes al escenario. Seleccione la herramienta Transformacin y cambie el tamao del componente en el escenario. Slo es posible cambiar el tamao de un cuadro combinado en el escenario durante la edicin. Normalmente slo hace falta modificar la anchura del cuadro para adaptarla al contenido.
4.
Seleccione el cuadro combinado y, en el inspector de propiedades, introduzca el nombre de instancia comboBox. En el inspector de componentes o el inspector de propiedades, haga lo siguiente:
5.
Introduzca Minneapolis, Portland y Keene en el parmetro label. Haga doble clic en el campo del parmetro label para abrir el cuadro de dilogo Valores. A continuacin, haga clic en el signo ms para aadir elementos. Introduzca MN.swf, OR.swf y NH.swf en el parmetro data. Son archivos SWF imaginarios que, por ejemplo, podran cargarse cuando el usuario seleccionara una ciudad en el cuadro combinado.
6.
Seleccione el fotograma 1 de la lnea de tiempo, abra el panel Acciones e introduzca el cdigo siguiente:
function change(evt){ trace(evt.target.selectedItem.label); } comboBox.addEventListener("change", this);
La ltima lnea de cdigo aade un controlador de eventos change a la instancia ComboBox. Para ms informacin, consulte ComboBox.change.
167
Seleccione Archivo > Nuevo y, a continuacin, Archivo Flash (ActionScript 2.0). Arrastre el componente ComboBox desde el panel Componentes a la biblioteca del documento actual. De esta manera, se aade el componente a la biblioteca, aunque ste no se vuelve visible en la aplicacin.
3.
Seleccione el primer fotograma de la lnea de tiempo principal, abra el panel Acciones e introduzca el cdigo siguiente:
this.createClassObject(mx.controls.ComboBox, "my_cb", 10); my_cb.addItem({data:1, label:"One"}); my_cb.addItem({data:2, label:"Two"});
Este script utiliza el mtodo UIObject.createClassObject() en la pgina 1458 para crear la instancia de ComboBox y, a continuacin, utiliza ComboBox.addItem() en la pgina 179 para aadir elementos de la lista al componente ComboBox.
4.
Aada un detector de eventos y una funcin de controlador de eventos para responder cuando se seleccione un elemento ComboBox:
// Crear un objeto detector. var cbListener:Object = new Object(); // Crear una funcin de controlador de eventos. cbListener.change = function (evt_obj:Object) { trace("Currently selected item is: " + evt_obj.target.selectedItem.label); } // Aadir un detector de eventos. my_cb.addEventListener("change", cbListener);
5.
Seleccione Control > Probar pelcula y haga clic en un elemento del componente ComboBox para ver un mensaje en el panel Salida.
168
Componente ComboBox
El botn es una instancia de Button y utiliza sus estilos. (Consulte Utilizacin de estilos con el componente Button en la pgina 96.) El texto es una instancia de TextInput y utiliza sus estilos. (Consulte Utilizacin de estilos con el componente TextInput en la pgina 1305.) La lista desplegable es una instancia de List y utiliza sus estilos. (Consulte Utilizacin de estilos con el componente List en la pgina 818.)
169
Tema
Halo
Descripcin
Esquema de colores base de un componente. Los valores posibles son haloGreen, haloBlue y haloOrange. El valor predeterminado es haloGreen. Color del fondo. El color predeterminado es blanco. El subcomponente Button utiliza dos instancias de RectBorder para sus bordes y responde a los estilos definidos en esa clase. Consulte Clase RectBorder en la pgina 1145. En el tema Halo, el componente ComboBox utiliza un borde redondeado personalizado para la parte contrada del componente ComboBox. Los colores de esta parte del componente ComboBox slo se pueden modificar aplicando aspectos. Consulte Utilizacin de aspectos con el componente ComboBox en la pgina 171. Color del texto. El valor predeterminado es 0x0B333C para el tema Halo y en blanco para el tema Sample. Color del texto cuando el componente est desactivado. El color predeterminado es 0x848384 (gris oscuro). Valor booleano que indica si la fuente especificada en fontFamily es una fuente incorporada. Este estilo debe definirse como true si fontFamily hace referencia a una fuente incorporada. De lo contrario, no se utiliza la fuente incorporada. Si el estilo se define como true y fontFamily no hace referencia a una fuente incorporada, no se muestra ningn texto. El valor predeterminado es false. Nombre de la fuente del texto. El valor predeterminado es _sans. Tamao de la fuente en puntos. El valor predeterminado es 10. Estilo de la fuente: puede ser normal o italic. El valor predeterminado es normal.
backgroundColor borderStyle
Ambos Ambos
color
Ambos Ambos
disabledColor
embedFonts
Ambos
fontFamily
fontSize
fontStyle
170
Componente ComboBox
Estilo
fontWeight
Tema
Ambos
Descripcin
Grosor de la fuente: puede ser none o bold. El valor predeterminado es none. Todos los componentes pueden aceptar tambin el valor normal en lugar de none durante una llamada a setStyle(), pero las llamadas posteriores a getStyle() devolvern none. Alineacin del texto; puede ser left, right o center. El valor predeterminado es left. Decoracin del texto: puede ser none o underline. El valor predeterminado es none. Duracin, en milisegundos, de la animacin de transicin. El valor predeterminado es 250. Referencia a una funcin de interpolacin que controla la animacin. De forma predeterminada es una funcin sinusoidal entrante/saliente. Para ms informacin, consulte Personalizacin de animaciones de componentes en Utilizacin de componentes ActionScript 2.0.
textAlign
textDecoration
openDuration
openEasing
En el ejemplo siguiente, se ilustra la forma de usar estilos del componente List para controlar el comportamiento de la parte emergente de un componente ComboBox.
// comboBox es una instancia del componente ComboBox en el escenario. comboBox.setStyle("alternatingRowColors", [0xFFFFFF, 0xBFBFBF]);
171
Estado presionado de la flecha abajo. El valor predeterminado es ComboDownArrowDown. Estado sin presionar de la flecha abajo. El valor predeterminado es ComboDownArrowOver. Estado de la flecha abajo cuando se desplaza el puntero sobre ella. El valor predeterminado es ComboDownArrowUp.
ComboDownArrowUpName
ComboDownArrowOverName
Seleccione Archivo > Nuevo y, a continuacin, Archivo Flash (ActionScript 2.0). Seleccione Archivo > Importar > Abrir biblioteca externa y, a continuacin, seleccione el archivo HaloTheme.fla. Este archivo se encuentra en la carpeta de configuracin a nivel de la aplicacin. Para saber cul es la ubicacin exacta en el sistema operativo, consulte Temas en Utilizacin de componentes ActionScript 2.0.
3.
En el panel Biblioteca del tema, expanda la carpeta Flash UI Components 2/Themes/ MMDefault y arrastre la carpeta ComboBox Assets a la biblioteca del documento. Expanda la carpeta ComboBox Assets/States en la biblioteca del documento. Abra los smbolos que desea personalizar. Por ejemplo, abra el smbolo ComboDownArrowDisabled. Personalice el smbolo como desee. Por ejemplo, cambie el color blanco del cuadrado interior por un gris claro. Repita los pasos 5 y 6 en todos los smbolos que desee personalizar. Haga clic en el botn Atrs para volver a la lnea de tiempo principal. Arrastre un componente ComboBox al escenario. las propiedades de la instancia de ComboBox como desee. Para este ejemplo, use cdigo ActionScript para establecer el estado desactivado del componente ComboBox.
4. 5.
6.
7. 8. 9.
10. Defina
11.
172
Componente ComboBox
Clase ComboBox
Herencia
MovieClip > Clase UIObject > Clase UIComponent > ComboBase > ComboBox mx.controls.ComboBox
El componente ComboBox combina tres subcomponentes independientes: Button, TextInput y List. La mayora de los mtodos, propiedades y eventos de cada subcomponente estn disponibles directamente desde el componente ComboBox y se muestran en las tablas de resumen para la clase ComboBox. La lista desplegable de un cuadro combinado se obtiene con una matriz o un proveedor de datos. Si utiliza un proveedor de datos, la lista cambia en tiempo de ejecucin. Puede cambiar dinmicamente el origen de los datos del ComboBox cambiando a otra matriz u otro proveedor de datos. Los elementos de una lista de un cuadro combinado se indexan por posicin a partir del nmero 0. Un elemento puede ser:
Un tipo de datos simple. Un objeto que contiene una propiedad label y una propiedad data.
N OT A
Un objeto puede utilizar la propiedad ComboBox.labelFunction o ComboBox.labelField para determinar la propiedad label.
Si el elemento es un tipo de datos simple distinto de una cadena, se convierte en una cadena. Si el elemento es un objeto, la propiedad label debe ser una cadena y la propiedad data puede ser cualquier valor de ActionScript. Los mtodos de ComboBox a los que se suministran datos tienen dos parmetros, label y data, que hacen referencia a las propiedades anteriores. Los mtodos que devuelven elementos los devuelven como objetos. Un cuadro combinado aplaza la creacin de la instancia de su lista desplegable hasta que un usuario interacte con l. Por tanto, puede parecer que la respuesta de un cuadro combinado es lenta la primera vez que se usa. Use el cdigo siguiente para acceder mediante programacin a la lista desplegable del componente ComboBox y sustituir la demora:
var foo = myComboBox.dropdown;
El acceso a la lista emergente puede provocar una pausa en la aplicacin. Esto puede suceder cuando el usuario interacta por primera vez con el cuadro combinado o cuando se ejecuta el cdigo anterior.
Clase ComboBox
173
Descripcin
Aade un elemento al final de la lista. Aade un elemento al final de la lista en el ndice especificado. Cierra la lista desplegable. Devuelve el elemento del ndice especificado. Abre la lista desplegable. Elimina todos los elementos de la lista. Elimina un elemento de la lista en la posicin especificada. Sustituye el contenido del elemento en el ndice especificado. Ordena la lista mediante una funcin de comparacin. Ordena la lista utilizando un campo de cada elemento.
ComboBox.sortItems() ComboBox.sortItemsBy()
Crea un subobjeto en un objeto. Elimina una instancia de componente. Llama a una funcin cuando se han establecido parmetros en el inspector de propiedades y el inspector de componentes. Obtiene la propiedad de estilo de la declaracin de estilo o del objeto. Marca el objeto de forma que se pueda volver a dibujar en el siguiente intervalo de fotogramas. Mueve el objeto a la posicin indicada.
UIObject.getStyle()
UIObject.invalidate()
UIObject.move()
174
Componente ComboBox
Mtodo
UIObject.redraw()
Descripcin
Fuerza la validacin del objeto, de forma que se pueda dibujar sobre el fotograma actual. Cambia el tamao del objeto al indicado. Define un aspecto en el objeto. Define la propiedad de estilo en la declaracin de estilo o en el objeto.
Descripcin
Devuelve una referencia al objeto seleccionado. Define la seleccin en la instancia de componente.
Descripcin
Modelo de datos de los elementos de la lista. Devuelve una referencia al componente List contenido en el cuadro combinado. Anchura de la lista desplegable, expresada en pxeles. Indica si un cuadro combinado es editable. Indica qu campo de datos ha de utilizarse como etiqueta para la lista desplegable. Especifica una funcin para calcular el campo de etiqueta de la lista desplegable. Slo lectura; longitud de la lista desplegable. El conjunto de caracteres que un usuario puede introducir en el campo de texto de un cuadro combinado. Nmero mximo de elementos de la lista que se muestran de una vez.
ComboBox.labelFunction
ComboBox.length ComboBox.restrict
ComboBox.rowCount
Clase ComboBox
175
Propiedad
ComboBox.selectedIndex ComboBox.selectedItem ComboBox.text ComboBox.textField ComboBox.value
Descripcin
ndice del elemento seleccionado en la lista desplegable. Valor del elemento seleccionado en la lista desplegable. La cadena de texto del cuadro de texto. Referencia al componente TextInput del cuadro combinado. Valor del cuadro de texto (editable) o lista desplegable (esttico).
Descripcin
Slo lectura; posicin del borde inferior del objeto con respecto al borde inferior de su elemento principal correspondiente. Slo lectura; altura del objeto, expresada en pxeles. Slo lectura; borde izquierdo del objeto, expresado en pxeles. Slo lectura; posicin del borde derecho del objeto con respecto al borde derecho de su elemento principal correspondiente. Nmero que indica el factor de escala en la direccin x del objeto con respecto a su elemento principal correspondiente. Nmero que indica el factor de escala en la direccin y del objeto con respecto a su elemento principal correspondiente. Slo lectura; posicin del borde superior del objeto con respecto a su elemento principal correspondiente. Valor booleano que indica si el objeto es visible (true) o no (false). Slo lectura; anchura del objeto, expresada en pxeles. Slo lectura; borde izquierdo del objeto, expresado en pxeles. Slo lectura; borde superior del objeto, expresado en pxeles.
UIObject.height UIObject.left
UIObject.right
UIObject.scaleX
UIObject.scaleY
UIObject.top
UIObject.visible
UIObject.width UIObject.x
UIObject.y
176
Componente ComboBox
Descripcin
Indica si el componente puede recibir selecciones y entradas. Nmero que indica el orden de tabulacin para un componente de un documento.
Descripcin
Se difunde cuando el valor del cuadro combinado cambia como resultado de la interaccin del usuario. Se difunde cuando la lista del cuadro combinado empieza a replegarse. Se difunde cuando se presiona la tecla Intro. Se difunde cuando el puntero se desplaza fuera de un elemento de la lista emergente. Se difunde cuando el ratn se desplaza sobre un elemento de la lista desplegable. Se difunde cuando la lista desplegable comienza a abrirse. Se difunde cuando se recorre la lista desplegable.
ComboBox.close
ComboBox.enter ComboBox.itemRollOut
ComboBox.itemRollOver
ComboBox.open ComboBox.scroll
Clase ComboBox
177
Descripcin
Se difunde cuando un objeto est a punto de dibujar sus grficos. Se difunde cuando el estado de un objeto pasa de ser visible a invisible. Se difunde cuando se crean subobjetos. Se difunde cuando se mueve el objeto. Se difunde cuando cambia el tamao de un objeto. Se difunde cuando el estado de un objeto pasa de ser invisible a visible. Se difunde durante la descarga de los subobjetos.
UIObject.hide
UIObject.unload
Descripcin
Se difunde cuando se selecciona un objeto. Se difunde cuando un objeto deja de seleccionarse. Se difunde cuando se presiona una tecla. Se difunde cuando se suelta una tecla.
178
Componente ComboBox
ComboBox.addItem()
Disponibilidad
Flash MX 2004.
Sintaxis
comboBoxInstance.addItem(label[, data]) comboBoxInstance.addItem({label:label[, data:data]}) comboBoxInstance.addItem(obj);
Parmetros
label data obj
Cadena que indica la etiqueta del elemento nuevo. Datos del elemento; pueden ser de cualquier tipo. Este parmetro es opcional. Objeto con una propiedad label y una propiedad data opcional.
Valor devuelto
Con una instancia del componente ComboBox denominada my_cb, aada el siguiente cdigo ActionScript al panel Acciones del primer fotograma de la lnea de tiempo principal. Este cdigo ActionScript crea un ComboBox con tres elementos, cada uno de los cuales tiene un valor de datos y una cadena de etiqueta. Al probar el archivo SWF y hacer clic en uno de los elementos, el panel Salida muestra la identidad del target, del valor de datos y de la etiqueta:
// Aadir elementos al my_cb.addItem("this is my_cb.addItem({data:2, my_cb.addItem({data:3, Combo Box. an Item"); label:"second value"}); label:"third value"});
// Aadir un detector de eventos y una funcin de controlador de eventos. var cbListener:Object = new Object(); cbListener.change = function(evt_obj:Object):Void { var currentlySelected:Object = evt_obj.target.selectedItem; trace(evt_obj.target); trace("data: "+currentlySelected.data); trace("label: "+currentlySelected.label); }; my_cb.addEventListener("change", cbListener);
ComboBox.addItem()
179
ComboBox.addItemAt()
Disponibilidad
Flash MX 2004.
Sintaxis
comboBoxInstance.addItemAt(index, label[, data]) comboBoxInstance.addItemAt(index, {label:label[, data:data]}) comboBoxInstance.addItemAt(index, obj);
Parmetros
index Nmero 0 o superior que indica la posicin en la que insertar el elemento (ndice del elemento nuevo). label data obj
Cadena que indica la etiqueta del elemento nuevo. Datos del elemento; pueden ser de cualquier tipo. Este parmetro es opcional. Objeto con propiedades label y data.
Valor devuelto
Mtodo; aade un elemento nuevo al final de la lista en el ndice especificado con el parmetro index. Los ndices superiores a ComboBox.length se omiten.
Ejemplo
Comience con una instancia del componente ComboBox denominada my_cb y una instancia del componente Button denominada my_btn. Aada el siguiente cdigo ActionScript al panel Acciones del primer fotograma de la lnea de tiempo principal. Cuando pruebe el archivo SWF, haga clic en el cuadro combinado para ver los dos elementos que contiene. A continuacin, haga clic en el botn y, cuando vuelva a hacer clic en el cuadro combinado, comprobar que se aadi otro elemento con la etiqueta first value:
my_cb.addItem({data:2, label:"second value"}); my_cb.addItem({data:3, label:"third value"}); var btnListener:Object = new Object(); btnListener.click = function() { my_cb.addItemAt(0, {data:1, label:"first value"}); }; my_btn.addEventListener("click", btnListener);
180
Componente ComboBox
ComboBox.change
Disponibilidad
Flash MX 2004.
Sintaxis
var listenerObject:Object = new Object(); listenerObject.change = function(eventObject:Object) { // El cdigo se escribe aqu. }; comboBoxInstance.addEventListener("change", listenerObject)
Descripcin
Evento; se difunde a todos los detectores registrados cuando la propiedad ComboBox.selectedIndex o ComboBox.selectedItem cambia como consecuencia de la interaccin con el usuario. Utilizando un modelo de evento distribuidor/detector, una instancia del componente (comboBoxInstance) distribuye un evento (en este caso, change) y ste se controla mediante una funcin, tambin denominada controlador, asociada con el objeto detector (listenerObject) que crea el usuario. Se define un mtodo con el mismo nombre que el evento del objeto detector; se llama al mtodo cuando se activa el evento. Cuando se activa el evento, ste pasa automticamente un objeto de evento (eventObject) al mtodo del objeto detector. Cada objeto de evento tiene propiedades que contienen informacin sobre el evento. Estas propiedades sirven para escribir el cdigo que controla el evento. Finalmente, se llama a addEventListener() (consulte EventDispatcher.addEventListener()) en la instancia del componente que difunde el evento para registrar el detector con la instancia. Cuando la instancia distribuya el evento, se llamar al detector. Para ms informacin, consulte Clase EventDispatcher en la pgina 527.
ComboBox.change
181
Ejemplo
Con una instancia del componente ComboBox my_cb en el escenario, en el siguiente ejemplo, se enva el nombre de la instancia del componente que gener el evento change al panel Salida:
// Aadir elemento a la lista. my_cb.addItem({data:1, label:"First Item"}); my_cb.addItem({data:2, label:"Second Item"}); // Crear un objeto detector. var cbListener:Object = new Object(); // Asignar una funcin al objeto detector. cbListener.change = function(event_obj:Object) { trace("Value changed to: "+event_obj.target.selectedItem.label); }; // Aadir detector. my_cb.addEventListener("change", cbListener);
Vase tambin
EventDispatcher.addEventListener()
ComboBox.close()
Disponibilidad
Flash MX 2004.
Sintaxis
comboBoxInstance.close()
Parmetros
Ninguno.
Valor devuelto
Ninguno.
Descripcin
182
Componente ComboBox
Ejemplo
Con una instancia del componente ComboBox denominada my_cb en el escenario y una instancia del componente Button denominada my_button, el siguiente ejemplo cierra la lista desplegable del cuadro combinado my_cb cuando se hace clic en el botn my_button:
my_cb.addItem({data:2, label:"second value"}); my_cb.addItem({data:3, label:"third value"}); var btnListener:Object = new Object(); btnListener.click = function() { my_cb.close(); }; my_button.addEventListener("click", btnListener);
Vase tambin
ComboBox.open()
ComboBox.close
Disponibilidad
Flash MX 2004.
Sintaxis
var listenerObject:Object = new Object(); listenerObject.close = function(eventObject:Object) { // El cdigo se escribe aqu. }; comboBoxInstance.addEventListener("close", listenerObject)
ComboBox.close
183
Descripcin
Evento; se difunde a todos los detectores registrados cuando la lista desplegable del cuadro combinado se repliega completamente. Utilizando un modelo de evento distribuidor/detector, una instancia del componente (comboBoxInstance) distribuye un evento (en este caso, close) y ste se controla mediante una funcin, tambin denominada controlador, asociada con el objeto detector (listenerObject) que crea el usuario. Se define un mtodo con el mismo nombre que el evento del objeto detector; se llama al mtodo cuando se activa el evento. Cuando se activa el evento, ste pasa automticamente un objeto de evento (eventObject) al mtodo del objeto detector. Cada objeto de evento tiene propiedades que contienen informacin sobre el evento. Estas propiedades sirven para escribir el cdigo que controla el evento. Finalmente, se llama al mtodo addEventListener() de la instancia del componente que difunde el evento para registrar el detector con la instancia. Cuando la instancia distribuya el evento, se llamar al detector. Para ms informacin, consulte Clase EventDispatcher en la pgina 527.
Ejemplo
Con una instancia my_cb del componente ComboBox en el escenario, el siguiente ejemplo enva un mensaje al panel Salida cuando se abre o se cierra la lista desplegable:
// Aadir elementos a la lista. my_cb.addItem({data:1, label:"First Item"}); my_cb.addItem({data:2, label:"Second Item"}); // Crear un objeto detector. var cbListener:Object = new Object(); cbListener.open = function(evt_obj:Object) { trace("The ComboBox has opened."); } cbListener.close = function(evt_obj:Object){ trace("The ComboBox has closed."); } // Aadir detector. my_cb.addEventListener("open", cbListener); my_cb.addEventListener("close", cbListener); // Abrir el cuadro combinado. my_cb.open();
Vase tambin
EventDispatcher.addEventListener()
184
Componente ComboBox
ComboBox.dataProvider
Disponibilidad
Flash MX 2004.
Sintaxis
comboBoxInstance.dataProvider
Descripcin
Propiedad; modelo de datos de los elementos que se ven en una lista. El valor de esta propiedad puede ser una matriz o cualquier objeto que implemente la API DataProvider. El valor predeterminado es []. El componente List y el componente ComboBox comparten la propiedad dataProvider; los cambios de esta propiedad estn disponibles inmediatamente para ambos componentes. El componente List, como otros componentes para datos, aade mtodos al prototipo del objeto Array para ceirse a la API DataProvider (para ms detalles, consulte DataProvider.as). Por lo tanto, cualquier matriz que exista a la vez que la lista tiene automticamente todos los mtodos necesarios (addItem(), getItemAt(), etc.) para ser el modelo de la lista y puede utilizarse para difundir cambios de modelo a varios componentes. Si la matriz contiene objetos, se accede a las propiedades labelField o labelFunction para determinar qu partes del elemento deben mostrarse. El valor predeterminado es label, por lo que, si existe este campo, es el campo que se muestra; en caso contrario, se muestra una lista de todos los campos separados por comas.
N OT A
Si la matriz contiene cadenas y no objetos en todos los ndices, la lista no puede ordenar los elementos y mantener el estado de la seleccin. Al ordenar, se pierde la seleccin.
Como proveedor de datos para un componente List pueden elegirse todas las instancias que implementen la API DataProvider. Esto incluye los objetos RecordSet de Flash Remoting, los componentes DataSet de Firefly, etc.
ComboBox.dataProvider
185
Ejemplo
En este ejemplo, se utiliza una matriz de cadenas para rellenar la lista desplegable de la instancia del componente ComboBox my_cb:
my_cb.dataProvider = [{data:1, label:"First Item"}, {data:2, label:"Second Item"}]; /* es lo mismo que my_cb.addItem({data:1, label:"First Item"}); my_cb.addItem({data:2, label:"Second Item"});
*/ En este ejemplo, se crea una matriz de proveedor de datos y se asigna dicha matriz a la propiedad dataProvider:
var myDP:Array = new Array(); list.dataProvider = myDP; for (var i:Number = 0; i < accounts.length; i++) { // Estos cambios en DataProvider se difundirn a la lista. myDP.addItem({label: accounts[i].name, data: accounts[i].accountID}); }
ComboBox.dropdown
Disponibilidad
Flash MX 2004.
Sintaxis
comboBoxInstance.dropdown
Descripcin
Propiedad (slo lectura); devuelve una referencia a la lista contenida en el cuadro combinado. No se crea una instancia en el cuadro combinado para el subcomponente List hasta que se tenga que visualizar. No obstante, cuando se accede a la propiedad dropdown, se crea la lista.
186
Componente ComboBox
Ejemplo
Con una instancia del componente ComboBox my_cb en el escenario y dos smbolos de clip de pelcula en la biblioteca con valores de identificador de vinculacin definidos en dw_id y fl_id, el siguiente cdigo ActionScript utiliza la propiedad dropdown para aadir iconos a cada elemento de la lista desplegable:
// Definir la anchura de la lista desplegable para adaptar los tamaos de la // etiqueta. my_cb.dropdownWidth = 200; // Definir el estilo de iconField en la propiedad dropdown de ComboBox. // La propiedad dropdown es una referencia para el componente List en el // ComboBox // para poder definir estilos de List para ComboBox. my_cb.dropdown.setStyle("iconField", "pIcon"); // Aadir elementos a la lista. my_cb.addItem({label:"Dreamweaver 1", pIcon:"dw_id"}); my_cb.addItem({label:"Flash 1", pIcon:"fl_id"}); my_cb.addItem({label:"Flash 2", pIcon:"fl_id"});
Vase tambin
ComboBox.dropdownWidth
ComboBox.dropdownWidth
Disponibilidad
Flash MX 2004.
Sintaxis
comboBoxInstance.dropdownWidth
Descripcin
Propiedad; lmite de anchura de la lista desplegable, expresado en pxeles. El valor predeterminado es la anchura del componente ComboBox (instancia de TextInput ms instancia de SimpleButton).
ComboBox.dropdownWidth
187
Ejemplo
Con una instancia del componente ComboBox my_cb en el escenario, el siguiente cdigo ActionScript define la anchura de la lista desplegable para que quepan las etiquetas:
// Definir la anchura de la lista desplegable para adaptar los tamaos de la // etiqueta. my_cb.dropdownWidth = 200; // Aadir elementos a la lista. my_cb.addItem("ComboBox"); my_cb.addItem({data:2, label:"This is a long label"}); my_cb.addItem({data:3, label:"This has an even longer label"});
Vase tambin
ComboBox.dropdown
ComboBox.editable
Disponibilidad
Flash MX 2004.
Sintaxis
comboBoxInstance.editable
Descripcin
Propiedad; indica si el cuadro combinado es editable (true) o no (false). En un cuadro combinado editable, un usuario puede introducir en el cuadro de texto valores que no aparecen en la lista desplegable. Si el cuadro combinado no es editable, no se puede introducir texto en el cuadro de texto. El cuadro de texto muestra el texto del elemento de la lista. El valor predeterminado es false. Si se convierte un cuadro combinado en editable, se borra el campo de texto del cuadro combinado. Adems, se establece el ndice (y el elemento) seleccionado en undefined. Para convertir un cuadro combinado en editable conservando el elemento seleccionado, utilice el cdigo siguiente:
var ix:Number = myComboBox.selectedIndex; myComboBox.editable = true; // Borra el campo de texto. myComboBox.selectedIndex = ix; // Vuelve a copiar la etiqueta en el campo de texto.
188
Componente ComboBox
Ejemplo
Con una instancia del componente ComboBox my_cb en el escenario, el siguiente cdigo ActionScript crea una lista de cuadro combinado y dos detectores. El primer detector controla las acciones del ratn (o clics) en la etiqueta Add new item para permitir la edicin en el campo del cuadro combinado. El segundo detector controla cundo el usuario presiona la tecla Intro para aadir su entrada a la lista del cuadro combinado:
// Aadir elementos a la lista del cuadro combinado. my_cb.addItem({data:1, label:"First Item"}); my_cb.addItem({data:2, label:"Second Item"}); my_cb.addItem({data:-1, label:"Add new item..."}); // Responder al usuario que hace clic en "Add new item". function changeListener(evt_obj:Object) { if (evt_obj.target.selectedItem.data == -1) { evt_obj.target.editable = true; } else if (evt_obj.target.selectedIndex != undefined) { evt_obj.target.editable = false; evt_obj.target.setFocus(); } } my_cb.addEventListener("change", changeListener); // Responder al usuario que presiona la tecla Intro despus de aadir un // nuevo nombre de elemento. function enterListener(evt_obj:Object) { if (evt_obj.target.value != '') { evt_obj.target.addItem({data:'', label:evt_obj.target.value}); } evt_obj.target.editable = false; evt_obj.target.selectedIndex = evt_obj.target.dataProvider.length-1; evt_obj.target.setFocus(); } my_cb.addEventListener("enter", enterListener);
ComboBox.editable
189
ComboBox.enter
Disponibilidad
Flash MX 2004.
Sintaxis
var listenerObject:Object = new Object(); listenerObject.enter = function(eventObject:Object) { // El cdigo se escribe aqu. }; comboBoxInstance.addEventListener("enter", listenerObject)
Descripcin
Evento; se difunde a todos los detectores registrados cuando el usuario presiona la tecla Intro en el cuadro de texto. Este evento es un evento de TextInput que slo se difunde desde cuadros combinados editables. Para ms informacin, consulte TextInput.enter. Utilizando un modelo de evento distribuidor/detector, una instancia del componente (comboBoxInstance) distribuye un evento (en este caso, enter) y ste se controla mediante una funcin, tambin denominada controlador, asociada con el objeto detector (listenerObject) que crea el usuario. Se define un mtodo con el mismo nombre que el evento del objeto detector; se llama al mtodo cuando se activa el evento. Cuando se activa el evento, ste pasa automticamente un objeto de evento (eventObject) al mtodo del objeto detector. Cada objeto de evento tiene propiedades que contienen informacin sobre el evento. Estas propiedades sirven para escribir el cdigo que controla el evento. Finalmente, se llama al mtodo addEventListener() de la instancia del componente que difunde el evento para registrar el detector con la instancia. Cuando la instancia distribuya el evento, se llamar al detector. Para ms informacin, consulte Clase EventDispatcher en la pgina 527.
190
Componente ComboBox
Ejemplo
Con una instancia del componente ComboBox my_cb en el escenario, el siguiente cdigo ActionScript crea una lista de cuadro combinado y dos detectores. El primer detector controla las acciones del ratn (o clics) en la etiqueta Add new item para permitir la edicin en el campo del cuadro combinado. El segundo detector controla cundo el usuario presiona la tecla Intro para aadir su entrada a la lista del cuadro combinado:
// Aadir elementos a la lista del cuadro combinado. my_cb.addItem({data:1, label:"First Item"}); my_cb.addItem({data:2, label:"Second Item"}); my_cb.addItem({data:-1, label:"Add new item..."}); // Responder al usuario que hace clic en "Add new item". function changeListener(evt_obj:Object) { if (evt_obj.target.selectedItem.data == -1) { evt_obj.target.editable = true; } else if (evt_obj.target.selectedIndex != undefined) { evt_obj.target.editable = false; evt_obj.target.setFocus(); } } my_cb.addEventListener("change", changeListener); // Responder al usuario que presiona la tecla Intro despus de aadir un // nuevo nombre de elemento. function enterListener(evt_obj:Object) { if (evt_obj.target.value != '') { evt_obj.target.addItem({data:'', label:evt_obj.target.value}); } evt_obj.target.editable = false; evt_obj.target.selectedIndex = evt_obj.target.dataProvider.length-1; evt_obj.target.setFocus(); } my_cb.addEventListener("enter", enterListener);
Vase tambin
EventDispatcher.addEventListener()
ComboBox.enter
191
ComboBox.getItemAt()
Disponibilidad
Flash MX 2004.
Sintaxis
comboBoxInstance.getItemAt(index)
Parmetros
index
El ndice del elemento que se va a recuperar. El ndice debe ser un nmero mayor o igual que 0, y menor que el valor de ComboBox.length.
Valor devuelto
Valor u objeto del elemento indexado. Si el ndice est fuera de rango, el valor es undefined.
Descripcin
Con una instancia my_cb del componente ComboBox en el escenario, el siguiente cdigo ActionScript muestra la etiqueta del primer elemento del cuadro combinado en el panel Salida:
// Aadir elemento a la lista. my_cb.addItem({data:1, label:"First Item"}); my_cb.addItem({data:2, label:"Second Item"}); trace(my_cb.getItemAt(1).label);
192
Componente ComboBox
ComboBox.itemRollOut
Disponibilidad
Flash MX 2004.
Sintaxis
var listenerObject:Object = new Object(); listenerObject.itemRollOut = function(eventObject:Object) { // El cdigo se escribe aqu. }; comboBoxInstance.addEventListener("itemRollOut", listenerObject)
Objeto de evento
Adems de las propiedades estndar del objeto de evento, el evento itemRollOut tiene una propiedad index adicional. El ndice es el nmero del elemento desde el que se desplaz el puntero.
Descripcin
Evento; se difunde a todos los detectores registrados cuando el puntero deja de estar sobre los elementos de la lista emergente. ste es un evento List que se difunde desde un cuadro combinado. Para ms informacin, consulte List.itemRollOut. Utilizando un modelo de evento distribuidor/detector, una instancia del componente (comboBoxInstance) distribuye un evento (en este caso, itemRollOut) y ste se controla mediante una funcin, tambin denominada controlador, asociada con el objeto detector (listenerObject) que crea el usuario. Se define un mtodo con el mismo nombre que el evento del objeto detector; se llama al mtodo cuando se activa el evento. Cuando se activa el evento, ste pasa automticamente un objeto de evento (eventObject) al mtodo del objeto detector. Cada objeto de evento tiene propiedades que contienen informacin sobre el evento. Estas propiedades sirven para escribir el cdigo que controla el evento. Para ms informacin, consulte Clase EventDispatcher en la pgina 527. Finalmente, se llama al mtodo addEventListener() de la instancia del componente que difunde el evento para registrar el detector con la instancia. Cuando la instancia distribuya el evento, se llamar al detector.
ComboBox.itemRollOut
193
Ejemplo
Con una instancia de ComboBox my_cb en el escenario, el siguiente cdigo ActionScript enva un mensaje al panel Salida que indica el ndice de elemento y el evento cuando el puntero del ratn se desplaza o deja de desplazarse por encima de un elemento:
my_cb.addItem({data:1, label:"First Item"}); my_cb.addItem({data:2, label:"Second Item"}); // Crear un objeto detector. var cbListener:Object = new Object(); cbListener.itemRollOver = function(evt_obj:Object) { trace("index: "+evt_obj.index+", event: "+evt_obj.type); }; cbListener.itemRollOut = function(evt_obj:Object) { trace("index: "+evt_obj.index+", event: "+evt_obj.type); }; // Aadir detector. my_cb.addEventListener("itemRollOver", cbListener); my_cb.addEventListener("itemRollOut", cbListener);
Vase tambin
ComboBox.itemRollOver, EventDispatcher.addEventListener()
ComboBox.itemRollOver
Disponibilidad
Flash MX 2004.
Sintaxis
var listenerObject:Object = new Object(); listenerObject.itemRollOver = function(eventObject:Object) { // El cdigo se escribe aqu. }; comboBoxInstance.addEventListener("itemRollOver", listenerObject)
Objeto de evento
Adems de las propiedades estndar del objeto de evento, el evento itemRollOver tiene una propiedad index adicional. El ndice es el nmero del elemento sobre el que se desplaz el puntero.
194
Componente ComboBox
Descripcin
Evento; se difunde a todos los detectores registrados cuando el puntero se desplaza sobre los elementos de la lista emergente. ste es un evento List que se difunde desde un cuadro combinado. Para ms informacin, consulte List.itemRollOver. Utilizando el modelo de evento distribuidor/detector, una instancia del componente (comboBoxInstance) distribuye un evento (en este caso, itemRollOver) y ste se controla mediante una funcin, tambin denominada controlador, asociada con el objeto detector (listenerObject) que crea el usuario. Se define un mtodo con el mismo nombre que el evento del objeto detector; se llama al mtodo cuando se activa el evento. Cuando se activa el evento, ste pasa automticamente un objeto de evento (eventObject) al mtodo del objeto detector. Cada objeto de evento tiene propiedades que contienen informacin sobre el evento. Estas propiedades sirven para escribir el cdigo que controla el evento. Para ms informacin, consulte Clase EventDispatcher en la pgina 527. Finalmente, se llama al mtodo addEventListener() de la instancia del componente que difunde el evento para registrar el detector con la instancia. Cuando la instancia distribuya el evento, se llamar al detector.
Ejemplo
Con una instancia de ComboBox my_cb en el escenario, el siguiente cdigo ActionScript enva un mensaje al panel Salida que indica el ndice de elemento y el evento cuando el puntero del ratn se desplaza o deja de desplazarse por encima de un elemento:
my_cb.addItem({data:1, label:"First Item"}); my_cb.addItem({data:2, label:"Second Item"}); // Crear un objeto detector. var cbListener:Object = new Object(); cbListener.itemRollOver = function(evt_obj:Object) { trace("index: " + evt_obj.index + ", event: " + evt_obj.type); }; cbListener.itemRollOut = function(evt_obj:Object) { trace("index: " + evt_obj.index + ", event: " + evt_obj.type); }; // Aadir detector. my_cb.addEventListener("itemRollOver", cbListener); my_cb.addEventListener("itemRollOut", cbListener);
Vase tambin
ComboBox.itemRollOut, EventDispatcher.addEventListener()
ComboBox.itemRollOver
195
ComboBox.labelField
Disponibilidad
Flash MX 2004.
Sintaxis
comboBoxInstance.labelField
Descripcin
Propiedad; nombre del campo de los objetos de matriz dataProvider que se utilizar como campo de etiqueta. sta es una propiedad del componente List que est disponible desde una instancia del componente ComboBox. Para ms informacin, consulte List.labelField. El valor predeterminado es undefined.
Ejemplo
En el ejemplo siguiente, se define la propiedad dataProvider en una matriz de cadenas y la propiedad labelField para que indique que el campo name debe utilizarse como etiqueta de la lista desplegable:
my_cb.dataProvider = [ {name:"Gary", gender:"male"}, {name:"Susan", gender:"female"} ]; my_cb.labelField = "name";
Vase tambin
List.labelFunction
196
Componente ComboBox
ComboBox.labelFunction
Disponibilidad
Flash MX 2004.
Sintaxis
comboBoxInstance.labelFunction
Descripcin
Propiedad; funcin que calcula la etiqueta de un elemento proveedor de datos. Es preciso definir la funcin. El valor predeterminado es undefined.
Ejemplo
En el ejemplo siguiente, se crea un proveedor de datos y despus se define una funcin que especifica qu debe utilizarse como etiqueta en la lista desplegable:
myComboBox.dataProvider = [ {firstName:"Nigel", lastName:"Pegg", age:"really young"}, {firstName:"Gary", lastName:"Grossman", age:"young"}, {firstName:"Chris", lastName:"Walcott", age:"old"}, {firstName:"Greg", lastName:"Yachuk", age:"really old"} ]; myComboBox.labelFunction = function(itemObj){ return (itemObj.lastName + ", " + itemObj.firstName); }
Vase tambin
List.labelField
ComboBox.labelFunction
197
ComboBox.length
Disponibilidad
Flash MX 2004.
Sintaxis
comboBoxInstance.length
Descripcin
Propiedad (slo lectura); longitud de la lista desplegable. sta es una propiedad del componente List que est disponible desde una instancia del componente ComboBox. Para ms informacin, consulte List.length. El valor predeterminado es 0.
Ejemplo
ComboBox.open()
Disponibilidad
Flash MX 2004.
Sintaxis
comboBoxInstance.open()
Parmetros
Ninguno.
Valor devuelto
Ninguno.
Descripcin
198
Componente ComboBox
Ejemplo
Con una instancia del componente ComboBox denominada my_cb en el escenario y una instancia del componente Button denominada my_button, el siguiente ejemplo abre la lista desplegable del cuadro combinado my_cb cuando se hace clic en el botn my_button :
my_cb.addItem({data:2, label:"second value"}); my_cb.addItem({data:3, label:"third value"}); var btnListener:Object = new Object(); btnListener.click = function() { my_cb.open(); }; my_button.addEventListener("click", btnListener);
Vase tambin
ComboBox.close()
ComboBox.open
Disponibilidad
Flash MX 2004.
Sintaxis
var listenerObject:Object = new Object(); listenerObject.open = function(eventObject:Object) { // El cdigo se escribe aqu. }; comboBoxInstance.addEventListener("open", listenerObject)
ComboBox.open
199
Descripcin
Evento; se difunde a todos los detectores registrados cuando la lista desplegable se abre completamente. Utilizando el modelo de evento distribuidor/detector, una instancia del componente (comboBoxInstance) distribuye un evento (en este caso, open) y ste se controla mediante una funcin, tambin denominada controlador, asociada con el objeto detector (listenerObject) que crea el usuario. Se define un mtodo con el mismo nombre que el evento del objeto detector; se llama al mtodo cuando se activa el evento. Cuando se activa el evento, ste pasa automticamente un objeto de evento (eventObject) al mtodo del objeto detector. Cada objeto de evento tiene propiedades que contienen informacin sobre el evento. Estas propiedades sirven para escribir el cdigo que controla el evento. Para ms informacin, consulte Clase EventDispatcher en la pgina 527. Finalmente, se llama al mtodo addEventListener() de la instancia del componente que difunde el evento para registrar el detector con la instancia. Cuando la instancia distribuya el evento, se llamar al detector.
Ejemplo
Con una instancia my_cb del componente ComboBox en el escenario, el siguiente ejemplo enva un mensaje al panel Salida cuando se abre o se cierra la lista desplegable:
// Aadir elementos a la lista. my_cb.addItem({data:1, label:"First Item"}); my_cb.addItem({data:2, label:"Second Item"}); // Crear un objeto detector. var cbListener:Object = new Object(); cbListener.open = function(evt_obj:Object) { trace("The ComboBox has opened."); } cbListener.close = function(evt_obj:Object){ trace("The ComboBox has closed."); } // Aadir detector. my_cb.addEventListener("open", cbListener); my_cb.addEventListener("close", cbListener); // Abrir el cuadro combinado. my_cb.open();
Vase tambin
ComboBox.close, EventDispatcher.addEventListener()
200
Componente ComboBox
ComboBox.removeAll()
Disponibilidad
Flash MX 2004.
Sintaxis
comboBoxInstance.removeAll()
Parmetros
Ninguno.
Valor devuelto
Ninguno.
Descripcin
Mtodo; elimina todos los elementos de la lista. ste es un mtodo del componente List que est disponible desde una instancia del componente ComboBox.
Ejemplo
Con una instancia de ComboBox my_cb en el escenario y una instancia del componente Button clear_button en el escenario, el siguiente cdigo ActionScript coloca el cuadro combinado y el botn uno junto al otro. Cuando haga clic en el cuadro combinado, ver una lista de elementos. Cuando haga clic en el botn, se borrarn los elementos del cuadro combinado:
my_cb.move(10, 10); clear_button.move(120, 10); // Crear proveedor de datos. var myDP_array:Array = new Array(); myDP_array.push({data:1, label:"First Item"}); myDP_array.push({data:2, label:"Second Item"}); my_cb.dataProvider = myDP_array; // Definir un objeto de detector de eventos. var clearListener:Object = new Object(); clearListener.click = function(evt_obj:Object){ my_cb.removeAll(); } // Aadir detector. clear_button.addEventListener("click", clearListener);
Vase tambin
ComboBox.removeItemAt(), ComboBox.replaceItemAt()
ComboBox.removeAll() 201
ComboBox.removeItemAt()
Disponibilidad
Flash MX 2004.
Sintaxis
comboBoxInstance.removeItemAt(index)
Parmetros
Nmero que indica la posicin del elemento que va a eliminarse. El ndice tiene base cero.
index
Valor devuelto
Mtodo; elimina el elemento de la posicin de ndice especificada. Los ndices de la lista a partir del ndice que indica el parmetro index se contraen una posicin. ste es un mtodo del componente List que est disponible desde una instancia del componente ComboBox.
Ejemplo
Con una instancia de ComboBox my_cb en el escenario y una instancia del componente Button clear_button en el escenario, el siguiente cdigo ActionScript coloca el cuadro combinado y el botn uno junto al otro. Cuando haga clic en el cuadro combinado, ver una lista de dos elementos. Cuando haga clic en el botn, se borrar el segundo elemento del cuadro combinado (en la posicin de ndice 1, porque el valor est basado en cero):
my_cb.move(10, 10); clear_button.move(120, 10); // Crear proveedor de datos. var myDP_array:Array = new Array(); myDP_array.push({data:1, label:"First Item"}); myDP_array.push({data:2, label:"Second Item"}); my_cb.dataProvider = myDP_array; // Definir un objeto de detector de eventos. var clearListener:Object = new Object(); clearListener.click = function(evt_obj:Object){ my_cb.removeItemAt(1); }
202
Componente ComboBox
Vase tambin
ComboBox.removeAll(), ComboBox.replaceItemAt()
ComboBox.replaceItemAt()
Disponibilidad
Flash MX 2004.
Sintaxis
comboBoxInstance.replaceItemAt(index, label[, data]) comboBoxInstance.replaceItemAt(index, {label:label[, data:data]}) comboBoxInstance.replaceItemAt(index, obj);
Parmetros
Nmero 0 o superior que indica la posicin en la que insertar el elemento (ndice del elemento nuevo).
index label data obj
Cadena que indica la etiqueta del elemento nuevo. Datos del elemento. Este parmetro es opcional. Objeto con propiedades label y data.
Valor devuelto
Ninguno.
Descripcin
Mtodo; sustituye el contenido del elemento en el ndice especificado. ste es un mtodo del componente List que est disponible desde el componente ComboBox.
ComboBox.replaceItemAt()
203
Ejemplo
Con una instancia del componente ComboBox my_cb y una instancia del componente TextInput label_ti en el escenario, el siguiente cdigo ActionScript aade la entrada de usuario al cuadro combinado cuando el usuario presiona la tecla Intro:
// Aadir elementos a la lista. my_cb.addItem({data:1, label:"First Item"}); my_cb.addItem({data:2, label:"Second Item"}); // Crear detector de la accin del usuario al presionar la tecla Intro en el // campo de entrada de texto. var tiListener:Object = new Object(); tiListener.enter = function(evt_obj:Object) { my_cb.replaceItemAt(my_cb.selectedIndex, {label:evt_obj.target.text}); // Es necesario para actualizar la entrada de ComboBox modificada // recientemente my_cb.selectedIndex = my_cb.selectedIndex; }; label_ti.addEventListener("enter", tiListener);
Vase tambin
ComboBox.removeAll(), ComboBox.removeItemAt()
ComboBox.restrict
Disponibilidad
Flash MX 2004.
Sintaxis
comboBoxInstance.restrict
Descripcin
Propiedad; indica el conjunto de caracteres que un usuario puede introducir en el campo de texto de un cuadro combinado. El valor predeterminado es undefined. Si el valor de esta propiedad es null o una cadena vaca (""), el usuario puede introducir cualquier carcter. Si esta propiedad contiene una cadena de caracteres, el usuario slo puede introducir caracteres en la cadena; la cadena se explora de izquierda a derecha. Puede especificarse un rango utilizando un guin (-).
204
Componente ComboBox
Si la cadena empieza con un smbolo de intercalacin (^), todos los caracteres que sigan al smbolo de intercalacin se considerarn caracteres no vlidos. Si la cadena no empieza por un smbolo de intercalacin, se aceptan los caracteres de la cadena. Puede utilizar la barra diagonal inversa (\) para introducir un guin (-), el smbolo de intercalacin (^) o el carcter de barra diagonal inversa (\), como se muestra a continuacin:
\^ \\\
Cuando se introduce una barra diagonal inversa en el panel Acciones entre comillas dobles, tiene un significado especial para el intrprete de comillas dobles del panel Acciones. Significa que el carcter que va a continuacin de la barra diagonal debe interpretarse literalmente. Por ejemplo, se podra utilizar el siguiente cdigo para introducir una comilla sencilla:
var leftQuote = "\";
El intrprete restrict del panel Acciones tambin utiliza la barra diagonal inversa como carcter de escape. Por tanto, es posible que crea que la siguiente expresin debe funcionar:
myText.restrict = "0-9\-\^\\";
Sin embargo, como esta expresin est escrita entre comillas dobles, se enva el valor 0-9-^\ al intrprete restrict, que no comprender este valor. Debe escribir esta expresin entre comillas dobles; no slo debe enviarla al intrprete restrict, sino que tambin debe escribir una barra diagonal inversa antes de las comillas dobles en el intrprete incorporado del panel Acciones, para interpretarlas literalmente. Para enviar el valor 0-9\-\^\\ al intrprete restrict, debe introducir el siguiente cdigo:
myCombo.restrict = "0-9\\-\\^\\\\";
La propiedad restrict slo limita la interaccin del usuario; un script puede introducir cualquier texto en el campo de texto. Esta propiedad no se sincroniza con las casillas de verificacin Incorporar contornos de fuentes del inspector de propiedades.
Ejemplo
Con una instancia del componente ComboBox my_cb, el siguiente cdigo ActionScript restringe la entrada de caracteres a nmeros de 0 a 9, guiones y puntos:
// Aadir elementos a la lista. my_cb.addItem({data:1, label:"First Item"}); my_cb.addItem({data:2, label:"Second Item"}); // Permitir la edicin del cuadro combinado. my_cb.editable = true; // Restringir los caracteres que pueden introducirse en el cuadro combinado. my_cb.restrict = "0-9\\-\\.\\ ";
ComboBox.restrict
205
En el ejemplo siguiente, la primera lnea del cdigo limita el campo de texto a letras en maysculas, nmeros y espacios. La segunda lnea del cdigo admite todos los caracteres excepto letras en minsculas.
my_combo.restrict = "A-Z 0-9"; my_combo.restrict = "^a-z";
El cdigo siguiente permite al usuario introducir los caracteres 0 1 2 3 4 5 6 7 8 9 - ^ \ en la instancia myCombo. Debe utilizar dos barras diagonales inversas para interpretar literalmente los caracteres -, ^ y \. El primer carcter \ interpreta literalmente las comillas dobles y el segundo carcter \ indica al intrprete que el carcter que va a continuacin no debe interpretarse como un carcter especial.
myCombo.restrict = "0-9\\-\\^\\\\";
ComboBox.rowCount
Disponibilidad
Flash MX 2004.
Sintaxis
comboBoxInstance.rowCount
Descripcin
Propiedad; el nmero mximo de filas visible en la lista desplegable antes de que el cuadro combinado inserte una barra de desplazamiento. El valor predeterminado es 5. Si el nmero de elementos de la lista desplegable es mayor que el valor de la propiedad rowCount, se ajustar el tamao de la lista y se mostrar una barra de desplazamiento si es necesario. Si la lista desplegable contiene menos elementos que la propiedad rowCount, adapta su tamao al nmero de elementos de la lista. Este comportamiento difiere del componente List, que siempre muestra el nmero de filas que especifique la propiedad rowCount aunque quede espacio vaco. Si el valor es negativo o fraccionario, el comportamiento es indefinido.
206
Componente ComboBox
Ejemplo
Con una instancia del componente ComboBox my_cb, el siguiente cdigo ActionScript hace que el cuadro combinado muestre los tres primeros elementos y aade una barra de desplazamiento para ver el cuarto:
// Aadir elementos a la lista. my_cb.addItem({data:1, label:"First Item"}); my_cb.addItem({data:2, label:"Second Item"}); my_cb.addItem({data:3, label:"Third Item"}); my_cb.addItem({data:4, label:"Fourth Item"}); // Mostrar barra de desplazamiento si ComboBox tiene ms de 3 elementos. my_cb.rowCount = 3;
ComboBox.scroll
Disponibilidad
Flash MX 2004.
Sintaxis
var listenerObject:Object = new Object(); listenerObject.scroll = function(eventObject:Object) { // El cdigo se escribe aqu. }; comboBoxInstance.addEventListener("scroll", listenerObject);
Objeto de evento
Adems de las propiedades estndar del objeto de evento, el evento scroll tiene una propiedad adicional, direction. Es una cadena con dos valores posibles, horizontal o vertical. En los eventos scroll de ComboBox, el valor siempre es vertical.
ComboBox.scroll
207
Descripcin
Evento; se difunde a todos los detectores registrados cuando se recorre la lista desplegable. ste es un evento del componente List disponible para el componente ComboBox. Utilizando un modelo de evento distribuidor/detector, una instancia del componente (comboBoxInstance) distribuye un evento (en este caso, scroll) y ste se controla mediante una funcin, tambin denominada controlador, asociada con el objeto detector (listenerObject) que crea el usuario. Se define un mtodo con el mismo nombre que el evento del objeto detector; se llama al mtodo cuando se activa el evento. Cuando se activa el evento, ste pasa automticamente un objeto de evento (eventObject) al mtodo del objeto detector. Cada objeto de evento tiene propiedades que contienen informacin sobre el evento. Estas propiedades sirven para escribir el cdigo que controla el evento. Para ms informacin, consulte Clase EventDispatcher en la pgina 527. Finalmente, se llama al mtodo addEventListener() de la instancia del componente que difunde el evento para registrar el detector con la instancia. Cuando la instancia distribuya el evento, se llamar al detector.
Ejemplo
Con una instancia del componente ComboBox my_cb, en el ejemplo siguiente, se enva un mensaje al panel Salida que indica el ndice del elemento al que se desplaza la lista:
// Aadir elementos a la lista. my_cb.addItem({data:1, label:"First Item"}); my_cb.addItem({data:2, label:"Second Item"}); my_cb.addItem({data:3, label:"Third Item"}); my_cb.addItem({data:4, label:"Fourth Item"}); // Mostrar barra de desplazamiento si ComboBox tiene ms de 2 elementos. my_cb.rowCount = 3; // Crear un objeto detector. var cbListener:Object = new Object(); cbListener.scroll = function(evt_obj:Object) { trace("The list had been scrolled to item # "+evt_obj.position); }; // Aadir detector. my_cb.addEventListener("scroll", cbListener);
Vase tambin
EventDispatcher.addEventListener()
208
Componente ComboBox
ComboBox.selectedIndex
Disponibilidad
Flash MX 2004.
Sintaxis
comboBoxInstance.selectedIndex
Descripcin
Propiedad; el nmero de ndice del elemento seleccionado en la lista desplegable. El valor predeterminado es 0. Cuando se asigna esta propiedad, se borra la seleccin actual, se selecciona el elemento indicado y el cuadro de texto del cuadro combinado muestra la etiqueta del elemento indicado. Si asigna un valor fuera de rango a esta propiedad, Flash lo omitir. Cuando se introduce texto en el campo de texto de un cuadro combinado editable, selectedIndex se establece en undefined.
Ejemplo
Con una instancia del componente ComboBox my_cb, el siguiente cdigo selecciona el ltimo elemento de la lista (si no, aparecera de forma predeterminada el primer elemento):
// Aadir elementos a la lista. my_cb.addItem({data:1, label:"First Item"}); my_cb.addItem({data:2, label:"Second Item"}); my_cb.addItem({data:3, label:"Third Item"}); my_cb.addItem({data:4, label:"Fourth Item"}); // Seleccionar el ltimo elemento de la lista. my_cb.selectedIndex = my_cb.length-1;
Vase tambin
ComboBox.selectedItem
ComboBox.selectedIndex
209
ComboBox.selectedItem
Disponibilidad
Flash MX 2004.
Sintaxis
comboBoxInstance.selectedItem
Descripcin
Propiedad; valor del elemento seleccionado en la lista desplegable. Si el cuadro combinado es editable, selectedItem devolver undefined cuando el usuario introduzca texto en el cuadro de texto. Esta propiedad slo tiene un valor si se selecciona un elemento de la lista desplegable o se establece mediante cdigo ActionScript. Si el cuadro combinado es esttico, el valor de selectedItem siempre es vlido; devuelve undefined si no hay elementos en la lista.
Ejemplo
Con una instancia del componente ComboBox my_cb, el siguiente ejemplo muestra los valores para las propiedades de datos y de etiqueta selectedItem:
// Aadir elementos a la lista. my_cb.addItem({data:1, label:"First Item"}); my_cb.addItem({data:2, label:"Second Item"}); my_cb.addItem({data:3, label:"Third Item"}); my_cb.addItem({data:4, label:"Fourth Item"}); var cbListener:Object = new Object(); cbListener.change = function(evt_obj:Object) { var item_obj:Object = my_cb.selectedItem; var i:String; for (i in item_obj) { trace(i + ":\t" + item_obj[i]); } trace(""); }; my_cb.addEventListener("change", cbListener);
Vase tambin
ComboBox.dataProvider, ComboBox.selectedIndex
210
Componente ComboBox
ComboBox.sortItems()
Disponibilidad
Flash Player 7.
Edicin
Parmetros
compareFunc
Referencia a una funcin que se utiliza para comparar dos elementos y determinar su orden de clasificacin. Para ver ms detalles, consulte Array.sort() en Referencia del lenguaje ActionScript 2.0. Este parmetro es opcional.
optionsFlag
Permite realizar varios tipos de ordenacin distintos en una matriz individual sin tener que replicar la matriz completa ni volver a ordenarla repetidamente. Este parmetro es opcional. Los valores posibles de optionsFlag son:
Array.DESCENDING,
que ordena de mayor a menor. que ordena sin distinguir entre maysculas y minsculas.
Array.CASEINSENSITIVE, Array.NUMERIC,
que ordena numricamente si los dos elementos comparados son nmeros. Si no se trata de nmeros, utilice la comparacin de cadenas, que se puede realizar sin distinguir entre maysculas y minsculas si se ha especificado esa etiqueta.
Array.UNIQUESORT, que devuelve un cdigo de error (0) en lugar de una matriz ordenada si dos objetos de la matriz son idnticos o lo son sus campos de ordenacin. Array.RETURNINDEXEDARRAY, que devuelve una matriz de ndice de nmero entero que es
el resultado de la ordenacin. Por ejemplo, la siguiente matriz devolvera la segunda lnea de cdigo y la matriz no cambiara:
["a", "d", "c", "b"] [0, 3, 2, 1]
Estas opciones se pueden combinar en un valor nico. Por ejemplo, en el cdigo siguiente se combinan las opciones 3 y 1:
array.sort (Array.NUMERIC | Array.DESCENDING)
Valor devuelto
Ninguno.
ComboBox.sortItems()
211
Descripcin
Mtodo; ordena los elementos del cuadro combinado segn la funcin de comparacin o las opciones de ordenacin especificadas.
Ejemplo
En este ejemplo, la ordenacin se basa en las etiquetas en maysculas. Los elementos a y b se pasan a la funcin y contienen campos label y data:
myComboBox.sortItems(upperCaseFunc); function upperCaseFunc(a,b){ return a.label.toUpperCase() > b.label.toUpperCase(); }
En el ejemplo siguiente, se usa la funcin upperCaseFunc() (definida arriba) y el parmetro optionsFlag para ordenar los elementos de una instancia de ComboBox denominada myComboBox:
myComboBox.addItem("Mercury"); myComboBox.addItem("Venus"); myComboBox.addItem("Earth"); myComboBox.addItem("planet"); myComboBox.sortItems(upperCaseFunc, Array.DESCENDING); // La ordenacin de myComboBox resultante ser: // Venus // planet // Mercury // Earth
ComboBox.sortItemsBy()
Disponibilidad
Flash Player 7.
Edicin
Parmetros
fieldName
Cadena que especifica el nombre del campo que se va a utilizar para la ordenacin. Normalmente, este valor es label o data.
order
Cadena que especifica si los elementos deben clasificarse en orden ascendente (ASC) o descendente (DESC).
212
Componente ComboBox
optionsFlag
Permite realizar varios tipos de ordenacin distintos en una matriz individual sin tener que replicar la matriz completa ni volver a ordenarla repetidamente. Este parmetro es opcional pero, si se usa, debe reemplazar al parmetro order. Los valores posibles de optionsFlag son:
Array.DESCENDING,
que ordena de mayor a menor. que ordena sin distinguir entre maysculas y minsculas.
Array.CASEINSENSITIVE, Array.NUMERIC,
que ordena numricamente si los dos elementos comparados son nmeros. Si no se trata de nmeros, utilice la comparacin de cadenas, que se puede realizar sin distinguir entre maysculas y minsculas si se ha especificado esa etiqueta.
una matriz ordenada si dos objetos de la matriz son idnticos o lo son sus campos de ordenacin.
Array.RETURNINDEXEDARRAY, que devuelve una matriz de ndice de nmero entero que es
el resultado de la ordenacin. Por ejemplo, la siguiente matriz devolvera la segunda lnea de cdigo y la matriz no cambiara:
["a", "d", "c", "b"] [0, 3, 2, 1]
Estas opciones se pueden combinar en un valor nico. Por ejemplo, en el cdigo siguiente se combinan las opciones 3 y 1:
array.sort (Array.NUMERIC | Array.DESCENDING)
Valor devuelto
Ninguno.
Descripcin
Mtodo; ordena los elementos del cuadro combinado alfabtica o numricamente y en el orden especificado mediante el nombre de campo especificado. Si los elementos de fieldName son una combinacin de cadenas de texto y enteros, los enteros aparecen en primer lugar. El parmetro fieldName suele ser label o data, pero los programadores avanzados pueden especificar cualquier valor primitivo. Si lo desea, puede utilizar el parmetro optionsFlag para especificar un estilo de ordenacin.
ComboBox.sortItemsBy()
213
Ejemplo
Los ejemplos siguientes se basan en una instancia de ComboBox denominada myComboBox, que contiene cuatro elementos denominados Apples, Bananas, cherries y Grapes:
// En primer lugar, llene el componente ComboBox con los elementos. myComboBox.addItem("Bananas"); myComboBox.addItem("Apples"); myComboBox.addItem("cherries"); myComboBox.addItem("Grapes"); // La sentencia siguiente ordena con el parmetro order establecido en "ASC" // y produce una ordenacin que coloca "cherries" al final de la lista // porque la ordenacin distingue maysculas de minsculas. myComboBox.sortItemsBy("label", "ASC"); // orden resultante: Apples, Bananas, Grapes, cherries // La sentencia siguiente ordena con el parmetro order establecido en // "DESC" y produce una ordenacin que coloca "cherries" al principio // de la lista porque la ordenacin distingue maysculas de minsculas. myComboBox.sortItemsBy("label", "DESC"); // orden resultante: cherries, Grapes, Bananas, Apples // La sentencia siguiente ordena con el parmetro optionFlag establecido // en "ASC" Array.CASEINSENSITIVE. Observe que el valor predeterminado es // un orden ascendente. myComboBox.sortItemsBy("label", Array.CASEINSENSITIVE); // orden resultante: Apples, Bananas, cherries, Grapes // La sentencia siguiente ordena con el parmetro optionFlag establecido // en "ASC" Array.CASEINSENSITIVE | Array.DESCENDING. myComboBox.sortItemsBy("label", Array.CASEINSENSITIVE | Array.DESCENDING); // orden resultante: Grapes, cherries, Bananas, Apples
214
Componente ComboBox
ComboBox.text
Disponibilidad
Flash MX 2004.
Sintaxis
comboBoxInstance.text
Descripcin
Propiedad; texto del cuadro de texto. Este valor se puede obtener y definir con cuadros combinados editables. Con cuadros combinados estticos, el valor es de slo lectura.
Ejemplo
ComboBox.textField
Disponibilidad
Flash MX 2004.
Sintaxis
comboBoxInstance.textField
Descripcin
Propiedad (slo lectura); referencia al componente TextInput contenido en el componente ComboBox. Esta propiedad permite acceder al componente TextInput subyacente para manipularlo. Por ejemplo, quiz desee cambiar la seleccin del cuadro de texto o limitar los caracteres que se pueden introducir en l.
ComboBox.textField
215
Ejemplo
El cdigo siguiente restringe el cuadro de texto de myComboBox para que slo acepte nmeros hasta un mximo de seis caracteres:
// Aadir elementos a la lista. my_cb.addItem({data:0xFFFFFF, label:"white"}); my_cb.addItem({data:0x000000, label:"black"}); my_cb.editable = true; // Restringir lo que se puede introducir en el campo de texto a 0-9. my_cb.restrict = "0-9"; // Limitar entradas a 6 caracteres. my_cb.textField.maxChars = 6;
ComboBox.value
Disponibilidad
Flash MX 2004.
Sintaxis
comboBoxInstance.value
Descripcin
Propiedad de slo lectura; si el cuadro combinado es editable, value devuelve la etiqueta del elemento. Si el cuadro combinado es esttico, value devuelve los datos del elemento.
Ejemplo
En el ejemplo siguiente, se introducen los datos en el cuadro combinado al definir la propiedad dataProvider. Despus muestra value en el panel Salida. Por ltimo, se selecciona California y se muestra en el panel Salida mientras el cuadro combinado sea editable; despus, se muestra CA cuando el cuadro combinado ya no es editable.
my_cb.dataProvider = [ {label:"Alaska", data:"AK"}, {label:"California", data:"CA"}, {label:"Washington", data:"WA"}]; my_cb.editable = true; my_cb.selectedIndex = 1; trace('Editable value is "California": ' + my_cb.value); my_cb.editable = false; my_cb.selectedIndex = 1; trace('Non-editable value is "CA": ' + my_cb.value);
216
Componente ComboBox
CAPTULO 9
Las clases de vinculacin de datos slo son compatible si trabaja con un documento que especifique ActionScript 2.0 en la Configuracin de publicacin.
Para ver informacin general sobre la vinculacin de datos y cmo crear visualmente vinculaciones de datos en la herramienta de edicin Flash, consulte Vinculacin de datos en Utilizacin de Flash.
217
Confirme que se especifica ActionScript 2.0 en la Configuracin de publicacin. Seleccione la biblioteca Clases (Ventana > Bibliotecas comunes > Clases). Abra la biblioteca del documento (Ventana > Biblioteca). Arrastre los archivos SWC apropiados (DataBindingClasses, WebServiceClasses o ambos) desde la biblioteca Clases a la biblioteca del documento.
Para ms informacin sobre estas clases, consulte Clase Binding en la pgina 219 y Clases de servicios Web en la pgina 1511.
Descripcin
Crea una vinculacin entre dos puntos finales. Aade funcionalidad de vinculacin de datos a los componentes. Clase base para crear clases de formateador personalizado. Clase base para crear clases de validador personalizado. Ofrece un acceso de lectura y escritura a los campos de datos de una propiedad de componente. Define el origen o el destino de una vinculacin. Contiene un valor de datos e informacin sobre el tipo de datos del valor.
218
Clase Binding
Nombre de clase de ActionScript
mx.data.binding.Binding
La clase Binding define una asociacin entre dos puntos finales: un origen y un destino. Detecta cambios en el punto final de origen y copia los datos modificados en el punto final de destino cada vez que el origen cambia.
NO T A
La clase Binding slo es compatible si trabaja con un documento que especifique ActionScript 2.0 en la Configuracin de publicacin.
Puede escribir vinculaciones personalizadas mediante la clase Binding (y las clases de soporte) o usar la ficha Vinculaciones del inspector de componentes. Para que esta clase est disponible en tiempo de ejecucin, debe incluir clases de vinculacin de datos en el archivo FLA. Para ms informacin, consulte Disponibilidad de las clases de vinculacin de datos en tiempo de ejecucin en la pgina 217. Para ver informacin general sobre las clases del paquete mx.data.binding, consulte Clases del paquete mx.data.binding en la pgina 218.
Descripcin
Recoge los datos del componente de origen, les da formato y los asigna al componente de destino.
Clase Binding
219
Parmetros
Punto final de origen de la vinculacin. Este parmetro es nominalmente de tipo mx.data.binding.EndPoint, pero puede ser cualquier objeto ActionScript que cuente con los campos EndPoint necesarios (consulte Clase EndPoint en la pgina 232).
source
Punto final de destino de la vinculacin. Este parmetro es nominalmente de tipo mx.data.binding.EndPoint, pero puede ser cualquier objeto ActionScript que cuente con los campos EndPoint necesarios.
destination
Objeto opcional que contiene informacin de formato. El objeto debe tener las propiedades siguientes:
format
cls
settings
Objeto cuyas propiedades proporcionan una configuracin opcional para la clase de formateador especificada por cls.
isTwoWay
Valor booleano opcional que especifica si el nuevo objeto Binding es bidireccional (true) o no lo es (false). El valor predeterminado es false.
Valor devuelto
Ninguno.
220
Descripcin
Constructor; crea un objeto Binding. Puede vincular datos a cualquier objeto ActionScript que tenga propiedades y emita eventos como los componentes (entre otros). Un objeto de vinculacin existir mientras el clip de pelcula ms interior contenga los componentes de origen y de destino. Por ejemplo, si un clip de pelcula denominado A contiene los componentes X e Y, y existe una vinculacin entre X e Y, la vinculacin existir mientras exista el clip de pelcula A.
NO T A
No es necesario conservar una referencia al nuevo objeto Binding. En cuanto se crea, el objeto Binding empieza inmediatamente a detectar eventos modificados emitidos por cada punto final. Sin embargo, en algunos casos deber guardar una referencia al nuevo objeto Binding para poder llamar a su mtodo execute() ms adelante (consulte Binding.execute()).
Ejemplo
En este ejemplo, la propiedad text de un componente TextInput (src_txt) est vinculada a la propiedad text de otro componente TextInput (dest_txt). Cuando el campo de texto src_txt deja de estar seleccionado (es decir, cuando se genera el evento focusOut), el valor de su propiedad text se copia en dest_txt.text.
import mx.data.binding.*; var src = new EndPoint(); src.component = src_txt; src.property = "text"; src.event = "focusOut"; var dest = new EndPoint(); dest.component = dest_txt; dest.property = "text"; new Binding(src, dest);
En este ejemplo, se muestra cmo crear un objeto Binding que utiliza una clase personalizada de formateador. Para ms informacin, consulte Clase CustomFormatter en la pgina 223.
import mx.data.binding.*; var src = new EndPoint(); src.component = src_txt; src.property = "text"; src.event = "focusOut"; var dest = new EndPoint(); dest.component = text_dest; dest.property = "text"; new Binding(src, dest, {cls: mx.data.formatters.Custom, settings: {classname: "com.mycompany.SpecialFormatter"}});
221
Binding.execute()
Disponibilidad
Flash Player 6.
Edicin
Parmetros
Valor booleano que especifica si la vinculacin debe ejecutarse tambin desde el destino al origen (true) o slo desde el origen al destino (false). El valor predeterminado es false.
reverse
Valor devuelto
Valor null si la vinculacin se ejecut correctamente; de lo contrario, el mtodo devuelve una matriz de cadenas de mensajes de error que describen los errores que impidieron la ejecucin de la vinculacin.
Descripcin
Mtodo; recoge los datos del componente de origen y los asigna al componente de destino. Si la vinculacin utiliza un formateador, se da formato a los datos antes de asignarlos al destino. Este mtodo tambin valida los datos y provoca un evento valid o invalid que deben emitir los componentes de origen y de destino. Los datos se asignan al destino aunque no sea vlido, a no ser que el destino sea de slo lectura. Si el valor del parmetro reverse es true y la vinculacin es bidireccional, sta se ejecuta a la inversa (desde el destino al origen).
Ejemplo
El cdigo siguiente, asociado con una instancia de componente Button, ejecuta la vinculacin a la inversa (desde el componente de destino al componente de origen) cuando se hace clic en el botn.
on(click) { _root.myBinding.execute(true); }
222
Clase CustomFormatter
Nombre de clase de ActionScript
mx.data.binding.CustomFormatter
La clase CustomFormatter define dos mtodos, format() y unformat(), que proporcionan la capacidad de transformar valores de datos de un tipo de datos determinado en una cadena y viceversa. De forma predeterminada, estos mtodos no realizan ninguna funcin. Debe implementarlos en una subclase de mx.data.binding. Para que esta clase est disponible en tiempo de ejecucin, debe incluir clases de vinculacin de datos en el archivo FLA. Para ms informacin, consulte Disponibilidad de las clases de vinculacin de datos en tiempo de ejecucin en la pgina 217.
N OT A
La clase CustomFormatter slo es compatible si trabaja con un documento que especifique ActionScript 2.0 en la Configuracin de publicacin.
Para crear su propio formateador personalizado, primero se ha de crear una subclase de CustomFormatter que implemente los mtodos format() y unformat(). A continuacin, asigne esta clase a una vinculacin entre componentes mediante la creacin de un objeto Binding con ActionScript (consulte Clase Binding en la pgina 219) o a travs de la ficha Vinculaciones del inspector de componentes. Para obtener informacin sobre cmo asignar una clase de formateador mediante el inspector de componentes, consulte Formateadores de esquema en Utilizacin de Flash. Tambin puede asignar una clase de formateador a una propiedad de componente en la ficha Esquema del inspector de componentes. En este caso, sin embargo, el formateador slo se utilizar cuando sea necesario aplicar a los datos formato de cadena. En cambio, los formateadores que se asignan mediante el panel Vinculaciones o que se crean con ActionScript se utilizan siempre que se ejecuta la vinculacin. Para ver un ejemplo en el que se muestra cmo escribir y asignar un formateador personalizado mediante ActionScript, consulte Ejemplo de formateador personalizado en la pgina 224. Para ver informacin general sobre las clases del paquete mx.data.binding, consulte Clases del paquete mx.data.binding en la pgina 218.
Clase CustomFormatter
223
Seleccione Archivo > Nuevo y, a continuacin, Archivo ActionScript. Aada el siguiente cdigo al archivo:
// NumberFormatter.as class NumberFormatter extends mx.data.binding.CustomFormatter { // Aplicar formato a un valor numrico, devolver una cadena function format(rawValue) { var returnValue; var strArray = new Array('one', 'two', 'three'); var numArray = new Array(1, 2, 3); returnValue = 0; for (var i = 0; i<strArray.length; i++) { if (rawValue == numArray[i]) { returnValue = strArray[i]; break; } } return returnValue; } // convertir un valor con formato, devolver un valor sin formato function unformat(formattedValue) { var returnValue; var strArray = new Array('one', 'two', 'three'); var numArray = new Array(1, 2, 3); returnValue = "invalid"; for (var i = 0; i<strArray.length; i++) { if (formattedValue == strArray[i]) { returnValue = numArray[i]; break; } } return returnValue; } }
3. 4.
Guarde el archivo con el nombre NumberFormatter.as. Seleccione Archivo > Nuevo y, a continuacin, Archivo Flash (ActionScript 2.0).
224
5.
Arrastre un componente TextInput desde el panel Componentes al escenario y asgnele el nombre textInput. A continuacin, arrastre un componente NumericStepper al escenario y asgnele el nombre stepper. Abra la lnea de tiempo y seleccione el primer fotograma de la capa 1. En el panel Acciones, aada el cdigo siguiente:
import mx.data.binding.*; var x:NumberFormatter; var customBinding = new Binding({component:stepper, property:"value", event:"change"}, {component:textInput, property:"text", event:"enter,change"}, {cls:mx.data.formatters.Custom, settings:{classname:"NumberFormatter"}});
6. 7.
La segunda lnea de cdigo (var x:NumberFormatter) garantiza que el cdigo de bytes de la clase de formateador personalizado se incluya en el archivo SWF compilado. 8. Seleccione Ventana > Bibliotecas comunes > Clases para abrir la biblioteca Clases.
9.
Seleccione Ventana > Biblioteca para abrir la biblioteca del documento. DataBindingClasses desde la biblioteca Clases a la biblioteca del documento. De este modo, las clases en tiempo de ejecucin de vinculacin de datos estn disponibles para el documento.
10. Arrastre
11.
Guarde el archivo FLA en la misma carpeta que contiene NumberFormatter.as. el archivo (Control > Probar pelcula). Haga clic en los botones del componente NumericStepper y observe el contenido de la actualizacin del componente TextInput.
12. Pruebe
Descripcin
Convierte un tipo de datos sin formato en un nuevo objeto. Convierte de una cadena u otro tipo de datos a un tipo de datos sin formato.
CustomFormatter.unformat()
Clase CustomFormatter
225
CustomFormatter.format()
Disponibilidad
Valor devuelto
Mtodo; convierte un tipo de datos sin formato en un nuevo objeto. Este mtodo no se implementa de forma predeterminada. Debe definirlo en la subclase de mx.data.binding.CustomFormatter. Para ms informacin, consulte Ejemplo de formateador personalizado en la pgina 224.
CustomFormatter.unformat()
Disponibilidad
formato.
226
Valor devuelto
Mtodo; convierte una cadena, u otro tipo de datos, en un tipo de datos sin formato. Esta transformacin debe ser la transformacin inversa exacta de CustomFormatter.format(). Este mtodo no se implementa de forma predeterminada. Debe definirlo en la subclase de mx.data.binding.CustomFormatter. Para ms informacin, consulte Ejemplo de formateador personalizado en la pgina 224.
Clase CustomValidator
Nombre de clase de ActionScript
mx.data.binding.CustomValidator
La clase CustomValidator se utiliza para realizar una validacin personalizada de un campo de datos contenido en un componente. Para que esta clase est disponible en tiempo de ejecucin, debe incluir clases de vinculacin de datos en el archivo FLA. Para ms informacin, consulte Disponibilidad de las clases de vinculacin de datos en tiempo de ejecucin en la pgina 217.
N OT A
La clase CustomValidator slo es compatible si trabaja con un documento que especifique ActionScript 2.0 en la Configuracin de publicacin.
Para crear una clase de validador personalizada, primero debe crearse una subclase de mx.data.binding.CustomValidator que implemente un mtodo denominado validate(). Este mtodo recibe automticamente un valor para validarlo. Para ms informacin sobre cmo implementar este mtodo, consulte CustomValidator.validate(). A continuacin, debe asignarse una clase de validador personalizada a un campo de un componente mediante la ficha Esquema del inspector de componentes. Para ver un ejemplo de creacin y utilizacin de una clase de validador personalizada, consulte el apartado Ejemplo en la entrada de CustomValidator.validate().
Clase CustomValidator
227
Confirme que se especifica ActionScript 2.0 en la Configuracin de publicacin. En el inspector de componentes, haga clic en la ficha Esquema. Seleccione el campo que desea validar y, a continuacin, seleccione Personalizado en el men emergente Tipo de datos. Haga doble clic en el campo Opciones de validacin para abrir el cuadro de dilogo Configuracin de validacin personalizada. En el cuadro de texto Clase de ActionScript, especifique el nombre de la clase de validador personalizada que ha creado. Para que la clase que ha especificado se incluya en el archivo SWF publicado, debe guardarla en la ruta de clases.
4.
5.
Para ver informacin general sobre las clases del paquete mx.data.binding, consulte Clases del paquete mx.data.binding en la pgina 218.
Descripcin
Lleva a cabo la validacin de los datos.
CustomValidator.validate()
Disponibilidad
228
Valor devuelto
Ninguno.
Descripcin
Mtodo; se llama de forma automtica para validar los datos que contiene el parmetro value. Debe implementar este mtodo en la subclase de CustomValidator; la implementacin predeterminada no realiza ninguna accin. Puede utilizar cdigo ActionScript para examinar y validar los datos. Si los datos no son vlidos, este mtodo debe llamar a this.validationError() con el mensaje pertinente. Puede llamar a this.validationError() ms de una vez si se detectan varios problemas de validacin de los datos. Como se puede llamar a validate() repetidamente, evite aadir cdigo que tarde mucho tiempo en ejecutarse. La implementacin de este mtodo slo debe comprobar la validacin y notificar cualquier error mediante CustomValidator.validationError(). Asimismo, la implementacin no debe realizar ninguna accin como resultado de la prueba de validacin, como por ejemplo advertir al usuario final. En su lugar, cree detectores de eventos para los eventos valid e invalid y advierta al usuario final desde estos detectores de eventos (consulte el ejemplo que se muestra a continuacin).
Ejemplo
En el siguiente procedimiento, se muestra cmo crear y utilizar una clase de validador personalizada. El mtodo validate() de la clase CustomValidator OddNumbersOnly.as clasifica como no vlido cualquier valor que no sea un nmero impar. La validacin se realiza siempre que se produzca un cambio en el valor de un componente NumericStepper vinculado a la propiedad text de un componente Label.
Para crear y utilizar una clase de validador personalizada:
1. 2.
Seleccione Archivo > Nuevo y, a continuacin, Archivo ActionScript. Aada el siguiente cdigo al archivo:
class OddNumbersOnly extends mx.data.binding.CustomValidator { public function validate(value) { // comprobar que el valor es de tipo Number var n = Number(value); if (String(n) == "NaN") { this.validationError("'" + value + "' is not a number."); return; } // comprobar que el nmero es impar if (n % 2 == 0) { this.validationError("'" + value + "' is not an odd number.");
CustomValidator.validate()
229
return; } // los datos son correctos, no debe realizarse ninguna accin, slo // devolver } } 3.
4. 5. 6.
Seleccione Archivo > Nuevo y, a continuacin, Archivo Flash (ActionScript 2.0). Abra el panel Componentes. Arrastre un componente NumericStepper desde el panel Componentes al escenario y asgnele el nombre stepper. Arrastre un componente Label al escenario y asgnele el nombre textLabel. Arrastre un componente TextArea al escenario y denomnelo status. Seleccione el componente NumericStepper y abra el inspector de componentes. la ficha Vinculaciones en el inspector de componentes y haga clic en el botn Aadir vinculacin (+). Seleccione la propiedad Value (la nica) en el cuadro de dilogo Aadir vinculaciones y haga clic en Aceptar. doble clic en el campo Vinculado a para abrir el cuadro de dilogo Vinculado a. En el cuadro de dilogo Vinculado a, seleccione el componente Label del panel Ruta del componente y su propiedad text en el panel Ubicacin del esquema. Haga clic en Aceptar. de componentes.
7. 8. 9.
10. Seleccione
11.
14. Seleccione el componente Label del escenario y haga clic en la ficha Esquema del inspector
15.
En el panel Atributos de esquema, seleccione Personalizado en el men emergente de tipo de datos. Haga doble clic en el campo Opciones de validacin del panel Atributos de esquema para abrir el cuadro de dilogo Configuracin de validacin personalizada. En el cuadro de texto Clase de ActionScript, especifique OddNumbersOnly, que es el nombre de la clase de ActionScript que ha creado anteriormente. Haga clic en Aceptar. Abra la lnea de tiempo y seleccione el primer fotograma de la capa 1. el panel Acciones.
16.
17.
18.
19. Abra
230
20.Aada
function dataIsInvalid(evt) { if (evt.property == "text") { status.text = evt.messages; } } function dataIsValid(evt) { if (evt.property == "text") { status.text = "OK"; } } textLabel.addEventListener("valid", dataIsValid); textLabel.addEventListener("invalid", dataIsInvalid); 21. Guarde 22.Pruebe
el archivo FLA como OddOnly.fla en la misma carpeta que contiene OddNumbersOnly.as. el archivo SWF (Control > Probar pelcula).
Haga clic en las flechas del componente NumericStepper para modificar su valor. Observe el mensaje que aparece en el componente TextArea cuando selecciona nmeros pares e impares.
CustomValidator.validationError()
Disponibilidad
Este mtodo slo puede invocarse desde una clase de validador personalizada; la palabra clave this hace referencia al objeto CustomValidator actual.
Parmetros
errorMessage
Valor devuelto
Ninguno.
CustomValidator.validationError()
231
Descripcin
Mtodo; se llama desde el mtodo validate() de la subclase de CustomValidator para notificar los errores de validacin. Si no se llama a validationError(), se genera un evento valid cuando finalice la ejecucin de validate(). Si se llama a validationError() una o ms veces desde validate(), se genera un evento invalid cuando finalice la ejecucin de validate(). Todos los mensajes que se pasan a validationError() estn disponibles en la propiedad messages del objeto de evento que se ha pasado al controlador de eventos invalid.
Ejemplo
Clase EndPoint
Nombre de clase de ActionScript
mx.data.binding.EndPoint
La clase EndPoint define el origen o el destino de una vinculacin. Los objetos EndPoint definen un valor constante, una propiedad de componente o un campo concreto de una propiedad de componente desde los que se pueden obtener datos o a los que se pueden asignar datos. Tambin pueden definir un evento, o una lista de eventos, que detecta un objeto Binding; cuando el evento especificado tiene lugar, se ejecuta la vinculacin. Para que esta clase est disponible en tiempo de ejecucin, debe incluir clases de vinculacin de datos en el archivo FLA. Para ms informacin, consulte Disponibilidad de las clases de vinculacin de datos en tiempo de ejecucin en la pgina 217.
N OT A 232
La clase EndPoint slo es compatible si trabaja con un documento que especifique ActionScript 2.0 en la Configuracin de publicacin.
Cuando se crea una vinculacin con el constructor de la clase Binding, se pasan dos objetos EndPoint: uno para el origen y uno para el destino.
new mx.data.binding.Binding(srcEndPoint, destEndPoint);
El cdigo anterior significa que cuando el texto de origen deja de estar seleccionado, debe copiarse el valor de su propiedad text en la propiedad text del campo de texto de destino. Tambin puede pasar objetos ActionScript genricos al constructor Binding, en lugar de pasar objetos EndPoint construidos explcitamente. El nico requisito es que los objetos definan las propiedades de EndPoint necesarias, concretamente component y property. El cdigo siguiente es equivalente al mostrado anteriormente.
var srcEndPoint = {component:source_txt, property:"text"}; var destEndPoint = {component:dest_txt, property:"text"}; new mx.data.binding.Binding(srcEndPoint, destEndPoint);
Para ver informacin general sobre las clases del paquete mx.data.binding, consulte Clases del paquete mx.data.binding en la pgina 218.
Descripcin
Referencia a una instancia de componente. Valor constante. Nombre del evento o matriz de nombres de evento que emitir el componente cuando los datos cambien. Ubicacin de un campo de datos dentro de la propiedad de la instancia de componente. Nombre de una propiedad de la instancia de componente especificada por EndPoint.component.
EndPoint.location
EndPoint.property
Valor devuelto
Ninguno.
Constructor de la clase EndPoint 233
Descripcin
En este ejemplo, se crea un objeto EndPoint denominado source_obj y se asignan valores a sus propiedades component y property:
var source_obj = new mx.data.binding.EndPoint(); source_obj.component = myTextField; source_obj.property = "text";
EndPoint.component
Disponibilidad
Descripcin
En este ejemplo, se asigna una instancia del componente List (listBox1) como parmetro de componente de un objeto EndPoint.
var sourceEndPoint = new mx.data.binding.EndPoint(); sourceEndPoint.component = listBox1;
234
EndPoint.constant
Disponibilidad
Descripcin
Propiedad; valor constante asignado a un objeto EndPoint. Esta propiedad slo se puede aplicar a objetos EndPoint que sean el origen, y no el destino, de una vinculacin entre componentes. El valor puede ser cualquier tipo de datos compatible con el destino de la vinculacin. Si se especifica esta propiedad, se omitirn todas las dems propiedades de EndPoint para el objeto EndPoint especificado.
Ejemplo
En este ejemplo, se asigna el valor constante de tipo cadena hello a la propiedad constant de un objeto EndPoint:
var sourceEndPoint = new mx.data.binding.EndPoint(); sourceEndPoint.constant = "hello";
EndPoint.event
Disponibilidad
EndPoint.event
235
Descripcin
Propiedad; especifica el nombre de un evento, o una matriz de nombres de evento, generado por el componente cuando se modifican los datos asignados a la propiedad vinculada. Cuando tiene lugar un evento, se ejecuta la vinculacin. El evento especificado slo se aplica a los componentes que se utilizan como origen de una vinculacin o como destino de una vinculacin bidireccional. Para ms informacin sobre la creacin de vinculaciones bidireccionales, consulte Clase Binding en la pgina 219.
Ejemplo
En este ejemplo, necesita aadir dos instancias de TextInput en el escenario. Un campo de texto deber tener el nombre de instancia de first_textInput, y en el otro campo deber aparecer el nombre de instancoa second_textInput. Tambin deber aadir el componente DataBindingClasses a la biblioteca.
import mx.data.binding.Binding; var src:Object = {component:first_textInput, property:"text", event:["enter", "focusOut"]}; var dst:Object = {component:second_textInput, property:"text"}; var my_binding:Binding = new Binding(src, dst); first_textInput.addEventListener("enter", doEnter); function doEnter(eventObject) {}
EndPoint.location
Disponibilidad
Descripcin
Propiedad; especifica la ubicacin de un campo de datos en la propiedad de la instancia de componente. Existen cuatro maneras de especificar una ubicacin: como una cadena que contiene una expresin XPath, como una cadena que contiene una ruta de ActionScript, como una matriz de cadenas o como un objeto.
236
Las expresiones XPath slo se pueden utilizar cuando los datos son un objeto XML. Consulte el ejemplo 1 que aparece ms adelante. Para ver una lista de expresiones XPath admitidas, consulte Creacin de vinculaciones utilizando expresiones de ruta en Utilizacin de Flash. Para los objetos XML y ActionScript, tambin puede especificar una cadena que contenga una ruta ActionScript. Una ruta ActionScript contiene los nombres de los campos separados por puntos (por ejemplo, a.b.c). Tambin puede especificar una matriz de cadenas como ubicacin. Cada cadena de la matriz pasa a otro nivel de anidacin. Puede utilizar esta tcnica tanto con los datos XML como con los datos ActionScript. Consulte el ejemplo 2 que aparece ms adelante. Cuando se utiliza con datos ActionScript, una matriz de cadenas es equivalente a utilizar cdigo ActionScript; es decir, la matriz ["a","b","c"] es equivalente a a.b.c. Si especifica un objeto como ubicacin, el objeto debe especificar dos propiedades: path e indices. La propiedad path es una matriz de cadenas, como se ha indicado anteriormente, excepto que una o varias de las cadenas especificadas puede ser el smbolo especial [n]. Para cada instancia de este smbolo en path, debe haber el elemento de ndice correspondiente en indices. Mientras se evala la ruta, los ndices se utilizan para indexar las matrices. El elemento de ndice puede ser cualquier objeto EndPoint. Este tipo de ubicacin slo se puede aplicar a los datos ActionScript, no a XML. Consulte el ejemplo 3 que aparece ms adelante.
Ejemplo
Ejemplo 1: en este ejemplo, se utiliza una expresin XPath para especificar la ubicacin de un nodo denominado zip en un objeto XML:
var sourceEndPoint = new mx.databinding.EndPoint(); var sourcObj = new Object(); sourceObj.xml = new XML("<zip>94103</zip>"); sourceEndPoint.component = sourceObj; sourceEndPoint.property = "xml"; sourceEndPoint.location = "/zip";
Ejemplo 2: en este ejemplo, se utiliza una matriz de cadenas para pasar a una propiedad de un clip de pelcula anidado:
var sourceEndPoint = new mx.data.binding.EndPoint(); // Presuponer que existe movieClip1.ball.position. sourceEndPoint.component = movieClip1; sourceEndPoint.property = "ball"; // Acceder a movieClip1.ball.position.x. sourceEndPoint.location = ["position","x"];
EndPoint.location
237
Ejemplo 3: en este ejemplo, se muestra cmo utilizar un objeto para especificar la ubicacin de un campo de datos en una estructura de datos compleja:
var city = new Object(); city.theaters = [{theater: "t1", movies: [{name: "Good,Bad,Ugly"}, {name:"Matrix Reloaded"}]}, {theater: "t2", movies: [{name: "Gladiator"}, {name: "Catch me if you can"}]}]; var srcEndPoint = new EndPoint(); srcEndPoint.component = city; srcEndPoint.property = "theaters"; srcEndPoint.location = {path: ["[n]","movies","[n]","name"], indices: [{constant:0},{constant:0}]};
EndPoint.property
Disponibilidad
Descripcin
Propiedad; especifica un nombre de propiedad de la instancia de componente especificada por EndPoint.component que contiene los datos que pueden vincularse.
NO T A 238 EndPoint.component y EndPoint.property deben combinarse para formar una combinacin vlida de objeto/propiedad de ActionScript.
Ejemplo
En este ejemplo, se vincula la propiedad text de un componente TextInput (text_1) a la misma propiedad de otro componente TextInput (text_2).
var sourceEndPoint = {component:text_1, property:"text"}; var destEndPoint = {component:text_2, property:"text"}; new Binding(sourceEndPoint, destEndPoint);
Clase ComponentMixins
Nombre de clase de ActionScript
mx.data.binding.ComponentMixins
La clase ComponentMixins define las propiedades y los mtodos que se aaden automticamente a cualquier objeto que sea origen o destino de una vinculacin o a cualquier componente que sea destino de una llamada al mtodo ComponentMixins.initComponent(). Estas propiedades y estos mtodos no afectan a las funciones normales de los componentes, sino que aaden funciones tiles para la vinculacin de datos. Para que esta clase est disponible en tiempo de ejecucin, debe incluir clases de vinculacin de datos en el archivo FLA. Para ms informacin, consulte Disponibilidad de las clases de vinculacin de datos en tiempo de ejecucin en la pgina 217.
N OT A
La clase ComponentMixins slo es compatible si trabaja con un documento que especifique ActionScript 2.0 en la Configuracin de publicacin.
Para ver informacin general sobre las clases del paquete mx.data.binding, consulte Clases del paquete mx.data.binding en la pgina 218.
Descripcin
Devuelve un objeto para obtener y configurar el valor de un campo en una ubicacin especfica de una propiedad de componente. Aade los mtodos ComponentMixins a un componente. Ejecuta todas las vinculaciones que tengan a este objeto como punto final de origen. Ejecuta todas las vinculaciones que tengan a este componente como punto final de destino. Comprueba si los datos de la propiedad indicada son vlidos.
ComponentMixins.initComponent()
ComponentMixins.refreshDestinations()
ComponentMixins.refreshFromSources()
ComponentMixins.validateProperty()
Clase ComponentMixins
239
ComponentMixins.getField()
Disponibilidad
Parmetros
propertyName
especificado. Parmetro opcional que indica la ubicacin de un campo en la propiedad de componente. Resulta til cuando propertyName especifica una estructura de datos compleja y le interesa un campo concreto de esa estructura. La propiedad location puede tener las tres formas siguientes:
location
Una cadena que contiene una expresin XPath. Esto slo es vlido para estructuras de datos XML. Para ver una lista de expresiones XPath admitidas, consulte Creacin de vinculaciones utilizando expresiones de ruta en Utilizacin de Flash. Una cadena que contiene nombres de campo, separados por puntos (por ejemplo a.b.c). Esta forma puede utilizarse con datos complejos (ActionScript o XML). Una matriz de cadenas, en la que cada cadena es un nombre de campo (por ejemplo [a, b, c]). Esta forma puede utilizarse con datos complejos (ActionScript o XML).
Valor devuelto
Un objeto DataType.
Descripcin
Mtodo; devuelve un objeto DataType cuyos mtodos pueden utilizarse para obtener o establecer el valor de datos en la propiedad de componente en la ubicacin de campo especificada. Para ms informacin, consulte Clase DataType en la pgina 245.
240
Ejemplo
Este ejemplo utiliza el mtodo DataType.setAsString() para establecer el valor de un campo ubicado en la propiedad de un componente. En este caso, la propiedad (results) es una estructura de datos complejos.
import mx.data.binding.*; var field : DataType = myComponent.getField("results", "po.address.name1"); field.setAsString("Teri Randall");
Vase tambin
DataType.setAsString()
ComponentMixins.initComponent()
Disponibilidad
Parmetros
componentInstance
Valor devuelto
Ninguno.
Descripcin
Mtodo (esttico); aade todos los mtodos ComponentMixins al componente especificado por componentInstance. Se llama automticamente a este mtodo para todos los componentes implicados en una vinculacin de datos. Para que los mtodos ComponentMixins estn disponibles para un componente no implicado en una vinculacin de datos, debe llamar explcitamente a este mtodo para dicho componente.
Ejemplo
El cdigo siguiente hace que los mtodos ComponentMixins estn disponibles para un componente DataSet:
mx.data.binding.ComponentMixins.initComponent(_root.myDataSet);
ComponentMixins.initComponent()
241
ComponentMixins.refreshDestinations()
Disponibilidad
Parmetros
Ninguno.
Valor devuelto
Ninguno.
Descripcin
Mtodo; ejecuta todas las vinculaciones para las que componentInstance es el objeto EndPoint de origen. Este mtodo permite ejecutar vinculaciones cuyas fuentes no emiten ningn evento de modificacin de datos.
Ejemplo
En el ejemplo siguiente, se ejecutan todas las vinculaciones para las que la instancia del componente DataSet denominada user_data es el objeto EndPoint de origen:
user_data.refreshDestinations();
ComponentMixins.refreshFromSources()
Disponibilidad
Parmetros
Ninguno.
242
Valor devuelto
Ninguno.
Descripcin
Mtodo; ejecuta todas las vinculaciones para las que componentInstance es el objeto EndPoint de destino. Este mtodo permite ejecutar vinculaciones que tienen fuentes constantes o fuentes que no emiten ningn evento de modificacin de datos.
Ejemplo
En el ejemplo siguiente, se ejecutan todas las vinculaciones para las que la instancia de componente ListBox denominada cityList es el objeto EndPoint de destino:
cityList.refreshFromSources();
ComponentMixins.validateProperty()
Disponibilidad
Parmetros
propertyName
componentInstance.
Valor devuelto
Mtodo; determina si los datos de propertyName son vlidos segn la configuracin de esquema de la propiedad. La configuracin de esquema de la propiedad es la que se especifica en la ficha Esquema del inspector de componentes. El mtodo devuelve el valor null si los datos son vlidos; de lo contrario, devuelve una matriz de mensajes de error en forma de cadenas.
ComponentMixins.validateProperty()
243
La validacin slo se aplica a los campos cuya informacin de esquema se encuentra disponible. Si un campo es un objeto que contiene otros campos, se validar cada campo secundario de forma recursiva. Cada campo individual distribuir un evento valid o invalid, segn sea necesario. Para cada campo de datos que contenga propertyName, este mtodo distribuir eventos valid o invalid de la forma siguiente:
Si el valor del campo es null y no es obligatorio, el mtodo devolver el valor null. No se genera ningn evento. Si el valor del campo es null y es obligatorio, se devolver un error y se generar un evento invalid. Si el valor del campo no es null y el esquema del campo no tiene un validador, el mtodo devuelve null; no se genera ningn evento. Si el valor no es null y el esquema del campo define un validador, el objeto validador procesa los datos. Si los datos son vlidos, se generar un evento valid y se devolver el valor null; de lo contrario, se generar un evento invalid y se devolver una matriz de cadenas de error.
Ejemplo
En el ejemplo siguiente, se muestra cmo utilizar validateProperty() para garantizar que la longitud del texto introducido por el usuario sea vlida. La longitud vlida se determina configurando las Opciones de validacin para el tipo de datos String en la ficha Esquema del inspector de componentes. Si el usuario introduce en el campo de texto una cadena cuya longitud no es vlida, se muestran en el panel Salida los mensajes de error devueltos por validateProperty().
Para validar el texto introducido por un usuario en un componente TextInput:
1. 2.
Seleccione Archivo > Nuevo y, a continuacin, Archivo Flash (ActionScript 2.0). Arrastre un componente TextInput desde el panel Componentes al escenario y asgnele el nombre zipCode_txt. Seleccione el componente TextInput y, en el inspector de componentes, haga clic en la ficha Esquema. En el panel rbol de esquema (panel superior de la ficha Esquema) seleccione la propiedad text. En el panel Atributos de esquema (panel inferior de la ficha Esquema), seleccione ZipCode en el men emergente de tipo de datos. Si la lnea de tiempo no est abierta, brala. Haga clic en el primer fotograma de la Capa 1 de la lnea de tiempo y abra el panel Acciones (Ventana > Acciones).
3.
4.
5.
6. 7.
244
8.
9.
Seleccione Ventana > Bibliotecas comunes > Clases para abrir la biblioteca Clases. Ventana > Biblioteca para abrir la biblioteca del documento. Arrastre DataBindingClasses desde la biblioteca Clases a la biblioteca del documento. Este paso hace que las clases de vinculacin de datos en tiempo de ejecucin estn disponibles para el archivo SWF en tiempo de ejecucin.
12. Para
En el componente TextInput del escenario, introduzca un cdigo no vlido de Estados Unidos, por ejemplo, uno que contenga slo letras o uno que contenga menos de cinco nmeros. Observe los mensajes de error que aparecen en el panel Salida.
Clase DataType
Nombre de clase de ActionScript
mx.data.binding.DataType
La clase DataType ofrece un acceso de lectura y escritura a los campos de datos de una propiedad de componente. Para obtener un objeto DataType, llame al mtodo ComponentMixins.getField() de un componente. A continuacin, puede llamar a mtodos del objeto DataType para obtener y definir el valor del campo. Para que esta clase est disponible en tiempo de ejecucin, debe incluir clases de vinculacin de datos en el archivo FLA. Para ms informacin, consulte Disponibilidad de las clases de vinculacin de datos en tiempo de ejecucin en la pgina 217.
N OT A
La clase DataType slo es compatible si trabaja con un documento que especifique ActionScript 2.0 en la Configuracin de publicacin.
Clase DataType
245
Si obtiene y establece valores de campos directamente en la instancia de componente en lugar de usar mtodos de la clase DataType, se proporcionarn datos sin formato. En cambio, si se obtienen o establecen valores de campos mediante mtodos de DataType, los valores se procesan segn la configuracin de esquema del campo. Por ejemplo, mediante el cdigo siguiente se obtiene el valor de una propiedad de componente directamente, que se asigna a una variable. La variable, propVar, contiene el valor actual sin formato de la propiedad propName.
var propVar = myComponent.propName;
En el ejemplo siguiente, se obtiene el valor de la misma propiedad mediante el mtodo DataType.getAsString(). En este caso, el valor asignado a stringVar es el valor de propName una vez que se haya procesado segn la configuracin de su esquema y, a continuacin, se devuelve en forma de cadena.
var dataTypeObj:mx.data.binding.DataType = myComponent.getField("propName"); var stringVar: String = dataTypeObj.getAsString();
Para ms informacin sobre cmo especificar la configuracin de esquema de un campo, consulte Trabajo con esquemas en la ficha Esquema en Utilizacin de Flash. Tambin puede utilizar los mtodos de la clase DataType para obtener o definir campos en diferentes tipos de datos. La clase DataType convierte automticamente los datos sin formato al tipo deseado, si es posible. Por ejemplo, en el ejemplo anterior de cdigos, los datos recuperados se convierten en el tipo String, aunque los datos sin formato sean de otro tipo. El mtodo ComponentMixins.getField() se encuentra disponible para los componentes que se han incluido en una vinculacin de datos (ya sea como origen, destino o ndice) o que se han inicializado mediante el mtodo ComponentMixins.initComponent(). Para ms informacin, consulte Clase ComponentMixins en la pgina 239. Para ver informacin general sobre las clases del paquete mx.data.binding, consulte Clases del paquete mx.data.binding en la pgina 218.
246
Descripcin
Recoge el valor actual del campo. Recoge el valor actual del campo como valor booleano. Recoge el valor actual del campo como un nmero. Recoge el valor actual del campo como valor de cadena. Recoge el valor actual del campo con el formato del tipo de datos solicitado. Establece un nuevo valor en el campo. Establece el campo segn el nuevo valor, que se proporciona en forma de valor booleano. Establece el campo segn el nuevo valor, que se proporciona en forma de nmero. Establece el campo segn el nuevo valor, que se proporciona en forma de cadena. Establece un nuevo valor en el campo.
DataType.setAnyTypedValue() DataType.setAsBoolean()
DataType.setAsNumber()
DataType.setAsString()
DataType.setTypedValue()
Descripcin
Proporciona una referencia para el objeto Encoder asociado con este campo. Proporciona una referencia para el objeto Formatter asociado con este campo. Proporciona una referencia para el objeto Kind asociado con este campo.
DataType.formatter
DataType.kind
Clase DataType
247
DataType.encoder
Disponibilidad
Descripcin
Propiedad; proporciona una referencia para el objeto Encoder asociado con este campo, en caso de que exista. Puede utilizar esta propiedad para acceder a todas las propiedades y los mtodos definidos mediante el codificador especfico aplicado al campo de la ficha Esquema del inspector de componentes. Si no se ha aplicado ningn codificador al campo en cuestin, esta propiedad devolver el valor undefined. Para ms informacin sobre los codificadores proporcionados con Flash, consulte Codificadores de esquema en Utilizacin de Flash.
Ejemplo
En el ejemplo siguiente, se supone que el campo al que se accede (isValid) utiliza un codificador Boolean (mx.data.encoders.Bool). Este codificador se proporciona con Flash y contiene una propiedad denominada trueStrings que especifica las cadenas que deben interpretarse como valores true. El cdigo siguiente establece que la propiedad trueStrings del codificador de un campo sean las cadenas Yes y Oui.
var myField:mx.data.binding.DataType = dataSet.getField("isValid"); myField.encoder.trueStrings = "Yes,Oui";
248
DataType.formatter
Disponibilidad
Descripcin
Propiedad; proporciona una referencia para el objeto formateador asociado con este campo, en caso de que exista. Puede utilizar esta propiedad para acceder a todas las propiedades y mtodos del objeto Formatter que se aplica al campo en la ficha Esquema del inspector de componentes. Si no se ha aplicado ningn formateador al campo en cuestin, esta propiedad devolver el valor undefined. Para ms informacin sobre los formateadores proporcionados con Flash, consulte Formateadores de esquema en Utilizacin de Flash.
Ejemplo
En este ejemplo, se supone que el campo al que se accede est utilizando el formateador de nmero (mx.data.formatters.NumberFormatter) que se proporciona con Flash. Este formateador contiene una propiedad denominada precision que especifica el nmero de dgitos que deben visualizarse despus de una coma decimal. Este cdigo establece la propiedad precision en dos cifras decimales para el campo que utiliza dicho formateador.
var myField:DataType = dataGrid.getField("currentBalance"); myField.formatter.precision = 2;
DataType.formatter
249
DataType.getAnyTypedValue()
Disponibilidad
Parmetros
Matriz de cadenas que especifica, en el orden descendente que desee, los tipos de datos preferidos para el campo.
suggestedTypes
Valor devuelto
Valor actual del campo, con el formato de uno de los tipos de datos especificados en la matriz suggestedTypes.
Descripcin
Mtodo; recoge el valor actual del campo, utilizando la informacin del esquema del campo, para procesar el valor. Si el campo puede proporcionar un valor como primer tipo de datos especificado en la matriz suggestedTypes, el mtodo devuelve el valor del campo con ese tipo de datos. De lo contrario, el mtodo intentar extraer el valor del campo como segundo tipo de datos especificado en la matriz suggestedTypes, etc. Si especifica null como uno de los elementos de la matriz suggestedTypes, el mtodo devolver el valor del campo del tipo de datos especificado en el panel Esquema del inspector de componentes. Si especifica null siempre se devolver un valor; por lo tanto, utilice null slo al final de la matriz. Si un valor no puede devolverse con el formato de uno de los tipos sugeridos, se devolver en el tipo especificado en la ficha Esquema.
250
Ejemplo
En este ejemplo, se intenta obtener el valor de un campo (productInfo.available) en la propiedad results de un componente XMLConnector, primero como un nmero y, si no funciona, como una cadena.
import mx.data.binding.DataType; import mx.data.binding.TypedValue; var f: DataType = myXmlConnector.getField("results", "productInfo.available"); var b: TypedValue = f.getAnyTypedValue(["Number", "String"]);
Vase tambin
ComponentMixins.getField()
DataType.getAsBoolean()
Disponibilidad
Parmetros
Ninguno.
Valor devuelto
Un valor booleano.
Descripcin
Mtodo; recoge el valor actual del campo y lo convierte a forma booleana si es necesario.
Ejemplo
En este ejemplo, el campo denominado propName que pertenece a un componente denominado myComponent se recupera como valor booleano y se asigna a una variable:
var dataTypeObj:mx.data.binding.DataType = myComponent.getField("propName"); var propValue:Boolean = dataTypeObj.getAsBoolean();
DataType.getAsBoolean()
251
DataType.getAsNumber()
Disponibilidad
Flash Player 6.
Edicin
Parmetros
Ninguno.
Valor devuelto
Un nmero.
Descripcin
Mtodo; recoge el valor actual del campo y lo convierte a forma numrica si es necesario.
Ejemplo
En este ejemplo, el campo denominado propName que pertenece a un componente denominado myComponent se recupera en forma de nmero y se asigna a una variable:
var dataTypeObj:mx.data.binding.DataType = myComponent.getField("propName"); var propValue:Number = dataTypeObj.getAsNumber();
Vase tambin
DataType.getAnyTypedValue()
252
DataType.getAsString()
Disponibilidad
Parmetros
Ninguno.
Valor devuelto
Una cadena.
Descripcin
Mtodo; recoge el valor actual del campo y lo convierte en una cadena si es necesario.
Ejemplo
En este ejemplo, una propiedad denominada propName que pertenece a un componente denominado myComponent se recupera en forma de cadena y se asigna a una variable:
var dataTypeObj:mx.data.binding.DataType = myComponent.getField("propName"); var propValue:String = dataTypeObj.getAsString();
Vase tambin
DataType.getAnyTypedValue()
DataType.getAsString()
253
DataType.getTypedValue()
Disponibilidad
Parmetros
requestedType
Valor devuelto
Mtodo; devuelve el valor del campo en el formulario especificado, si el campo puede proporcionar su valor en ese formulario. Si el campo no puede proporcionar su valor en el formulario solicitado, el mtodo devuelve null. Si se especifica null como requestedType, el mtodo devolver el valor del campo en su tipo predeterminado.
Ejemplo
En el ejemplo siguiente, se devuelve el valor del campo convertido al tipo de datos Boolean. Este valor se almacena en la variable bool.
var bool:TypedValue = field.getTypedValue("Boolean");
254
DataType.kind
Disponibilidad
Descripcin
Propiedad; proporciona una referencia al objeto Kind asociado con este campo. Puede utilizar esta propiedad para acceder a las propiedades y los mtodos del objeto Kind.
DataType.setAnyTypedValue()
Disponibilidad
Parmetros
newTypedValue Valor del objeto TypedValue que debe definirse en el campo. Para ms informacin, consulte Clase TypedValue en la pgina 260.
Valor devuelto
Matriz de cadenas que describen los errores que se producen mientras se intenta definir un valor nuevo. Los errores pueden producirse en una de las condiciones siguientes:
Los datos proporcionados no pueden convertirse en el tipo de datos de este campo (por ejemplo, abc no puede convertirse en un tipo de datos Number). El tipo de los datos es correcto pero no cumple con los criterios de validacin del campo. El campo es de slo lectura.
N O TA
El texto de un mensaje de error vara en funcin del tipo de datos, los formateadores y los codificadores definidos en el esquema del campo.
DataType.setAnyTypedValue()
255
Descripcin
Mtodo; define un valor nuevo en el campo, utilizando la informacin del esquema del campo para procesar el campo. Este mtodo funciona llamando primero a DataType.setTypedValue() para establecer el valor. Si no funciona, el mtodo comprueba si el objeto de destino aceptar datos String, Boolean o Number; en tal caso, los intentos de utilizar la conversin en ActionScript funcionarn correctamente.
Ejemplo
En este ejemplo, se crea un nuevo objeto TypedValue (valor booleano) y, a continuacin, se asigna dicho valor al objeto DataType denominado field. Todos los errores que se produzcan se asignan a la matriz errors.
import mx.data.binding.*; var t:TypedValue = new TypedValue (true, "Boolean"); var errors: Array = field.setAnyTypedValue (t);
Vase tambin
DataType.setTypedValue()
DataType.setAsBoolean()
Disponibilidad
Parmetros
newBooleanValue
Valor booleano.
Valor devuelto
Ninguno.
Descripcin
Mtodo; establece el campo segn el valor nuevo, que se proporciona como un valor booleano. El valor se convierte en el tipo de datos adecuado para este campo y se almacena como tal.
256
Ejemplo
En el ejemplo siguiente, se establece una variable denominada bool en el valor booleano true. A continuacin, se establece el valor al que hace referencia field en true.
var bool: Boolean = true; field.setAsBoolean (bool);
DataType.setAsNumber()
Disponibilidad
Parmetros
newNumberValue
Nmero.
Valor devuelto
Ninguno.
Descripcin
Mtodo; establece el campo segn el valor nuevo, que se proporciona en forma de nmero. El valor se convierte en el tipo de datos adecuado para este campo y se almacena como tal.
Ejemplo
En el ejemplo siguiente, se establece una variable denominada num en el valor numrico 32. A continuacin, se establece el valor al que hace referencia field en num.
var num: Number = 32; field.setAsNumber (num);
DataType.setAsNumber()
257
DataType.setAsString()
Disponibilidad
Parmetros
newStringValue
Cadena.
Valor devuelto
Ninguno.
Descripcin
Mtodo; establece el campo segn el valor nuevo, que se proporciona en forma de cadena. El valor se convierte en el tipo de datos adecuado para este campo y se almacena como tal.
Ejemplo
En el ejemplo siguiente, se establece la variable stringVal en la cadena The new value. A continuacin, se establece el valor field en la cadena.
var stringVal: String = "The new value"; field.setAsString (stringVal);
DataType.setTypedValue()
Disponibilidad
258
Parmetros
newTypedValue
Para ms informacin acerca de los objetos TypedValue, consulte Clase TypedValue en la pgina 260.
Valor devuelto
Matriz de cadenas que describen los errores que se producen mientras se intenta definir un valor nuevo. Los errores pueden producirse en una de las condiciones siguientes:
El tipo de datos que se proporciona no es aceptable. Los datos proporcionados no pueden convertirse en el tipo de datos de este campo (por ejemplo, abc no puede convertirse en un tipo de datos Number). El tipo de los datos es correcto pero no cumple con los criterios de validacin del campo. El campo es de slo lectura.
N OT A
El texto de un mensaje de error vara en funcin del tipo de datos, los formateadores y los codificadores definidos en el esquema del campo.
Descripcin
Mtodo; define un valor nuevo en el campo, utilizando la informacin del esquema del campo para procesar el campo. Este mtodo se comporta de forma similar a DataType.setAnyTypedValue(), salvo en que no realiza tantos intentos de convertir los datos en un tipo de datos aceptable. Para ms informacin, consulte DataType.setAnyTypedValue().
Ejemplo
En este ejemplo, se crea un nuevo objeto TypedValue (valor booleano) y, a continuacin, se asigna dicho valor al objeto DataType denominado field. Todos los errores que se produzcan se asignan a la matriz errors.
import mx.data.binding.*; var bool:TypedValue = new TypedValue (true, "Boolean"); var errors: Array = field.setTypedValue (bool);
Vase tambin
DataType.setTypedValue()
DataType.setTypedValue()
259
Clase TypedValue
Nombre de clase de ActionScript
mx.data.binding.TypedValue
Un objeto TypedValue contiene un valor de datos e informacin sobre el tipo de datos del valor. Varios mtodos de la clase DataType devuelven objetos TypedValue. Estos objetos se proporcionan en forma de parmetros para dichos mtodos. La informacin de tipo de datos del objeto TypedValue resulta til para que los objetos DataType decidan el momento y el modo en los que se debe llevar a cabo la conversin de tipo. Para que esta clase est disponible en tiempo de ejecucin, debe incluir clases de vinculacin de datos en el archivo FLA. Para ms informacin, consulte Disponibilidad de las clases de vinculacin de datos en tiempo de ejecucin en la pgina 217.
N OT A 260
La clase TypedValue slo es compatible si trabaja con un documento que especifique ActionScript 2.0 en la Configuracin de publicacin.
Para ver informacin general sobre las clases del paquete mx.data.binding, consulte Clases del paquete mx.data.binding en la pgina 218.
Descripcin
Contiene el esquema asociado con el valor del objeto TypedValue. Asigna un nombre al tipo de datos del valor del objeto TypedValue. Contiene el valor de datos del objeto TypedValue.
Parmetros
value
Un valor de datos de cualquier tipo. Una cadena que contiene el nombre del tipo de datos del valor.
typeName type
Objeto opcional del esquema que describe el esquema de los datos ms detalladamente. Este campo slo es obligatorio en determinadas circunstancias, como por ejemplo, al establecer los datos en la propiedad dataProvider de un componente DataSet.
Descripcin
TypedValue.type
Disponibilidad
Descripcin
TypedValue.type
261
TypedValue.typeName
Disponibilidad
Descripcin
Propiedad; contiene el nombre del tipo de datos del valor del objeto TypedValue.
Ejemplo
TypedValue.value
Disponibilidad
Descripcin
262
CAPTULO 10
Componente DataGrid
El componente DataGrid permite crear visualizaciones y aplicaciones de datos con muchas posibilidades. Puede utilizar el componente DataGrid para crear instancias de un juego de registros (recuperado de una consulta de base de datos de Adobe ColdFusion, Java o .Net) mediante Adobe Flash Remoting y mostrarlo en columnas. Tambin puede utilizar datos de un juego de datos o de una matriz para definir un componente DataGrid.
N OT A
10
El componente DataGrid es compatible tanto con ActionScript 2.0 como con ActionScript 3.0. En este documento, se describe el componente de la versin 2. Si utiliza el componente de la versin 3, consulte Utilizacin de DataGrid en Utilizacin de componentes ActionScript 3.0.
Puede cambiar el tamao y personalizar caractersticas como la fuente, el color y los bordes de columna de una cuadrcula. Puede utilizar un clip de pelcula personalizado como procesador de celdas para cualquier columna de una cuadrcula. Los procesadores de celdas muestran el contenido de una celda. Puede utilizar las barras de desplazamiento para mover los datos de una cuadrcula; tambin puede desactivar las barras de desplazamiento y utilizar los mtodos DataGrid para crear una visualizacin de estilo de vista de pgina. Para ms informacin sobre la personalizacin, consulte Clase DataGridColumn en la pgina 320. Si aade el componente DataGrid a una aplicacin, puede utilizar el panel Accesibilidad para que los lectores de pantalla puedan acceder al componente. En primer lugar, debe aadir la lnea de cdigo siguiente para activar la accesibilidad del componente DataGrid:
mx.accessibility.DataGridAccImpl.enableAccessibility();
La accesibilidad de un componente slo se activa una vez, sea cual sea su nmero de instancias. Para ms informacin, consulte Creacin de contenido accesible en Utilizacin de Flash.
263
Descripcin
Cuando se edita una celda, el punto de insercin se desplaza al final del texto de la celda. Si una celda no puede editarse, la tecla de flecha abajo permite gestionar la seleccin tal como lo hace el componente List. Cuando se edita una celda, el punto de insercin se desplaza al principio del texto de la celda. Si una celda no puede editarse, la tecla de flecha arriba permite gestionar la seleccin tal como lo hace el componente List. Cuando se edita una celda, el punto de insercin se desplaza un carcter hacia la derecha. Si una celda no puede editarse, la tecla de flecha derecha no har nada. Cuando se edita una celda, el punto de insercin se desplaza un carcter hacia la izquierda. Si una celda no puede editarse, la tecla de flecha izquierda no har nada. Si una celda puede editarse, se lleva a cabo el cambio y el punto de insercin se desplaza a la celda de la misma columna, en la fila siguiente (arriba o abajo, en funcin del sentido de desplazamiento activado). Desplaza la seleccin al elemento anterior. Si presiona la tecla Tabulador, la seleccin de la ltima columna de la cuadrcula pasa a la primera columna de la lnea siguiente. Si se presiona Mays+Tabulador, el ajuste se llevar a cabo al revs. Se seleccionar todo el texto de la celda seleccionada.
Flecha arriba
Flecha derecha
Flecha izquierda
Retorno/Intro/ Mays+Intro
Mays+Tabulador/ Tabulador
264
Componente DataGrid
Cliente de correo Web Pginas de resultados de bsqueda Aplicaciones de hojas de clculo, como las calculadoras de prstamos y las aplicaciones de impresos de declaracin de la renta.
Cuanto ms pequeo, rpido y simple, mejor. Es preferible no hacer algo ms complicado de lo que sea absolutamente necesario. sta ha sido la directiva de diseo ms importante; la mayora de los requisitos que se enumeran a continuacin se basan en esta directiva.
Las listas tienen alturas de fila uniformes. Cada fila debe tener la misma altura; sta se puede definir durante la edicin o en tiempo de ejecucin.
La escala de las listas debe ajustarse a miles de registros. Las listas no miden el texto. Esto crea un problema de desplazamiento horizontal para componentes List y Tree; para obtener ms informacin, consulte Introduccin al diseo del componente List en la pgina 813. Sin embargo, el componente DataGrid admite auto como valor de hScrollPolicy, ya que mide columnas (que tienen la misma anchura por elemento), no texto. El hecho de que las listas no midan texto explica por qu las listas tienen alturas de fila uniformes. Cambiar el tamao de cada fila para que se ajuste al texto precisa demasiadas mediciones. Por ejemplo, si desea mostrar de forma precisa las barras de desplazamiento de una lista con altura de fila no uniforme, no es necesario medir previamente cada fila.
265
Las listas funcionan peor como funcin de sus filas visibles. Aunque hay listas que pueden mostrar 5000 registros, no pueden representar 5000 registros a la vez. Cuantas ms filas visibles (especificadas por la propiedad rowCount) tenga en el escenario, ms trabajo deber llevar a cabo la lista para generar sus representaciones. Limitar el nmero de filas visibles, si es posible, es la mejor solucin.
Las listas no son tablas. Los componentes DataGrid proporcionan una interfaz para muchos registros. No estn diseados para mostrar toda la informacin, sino para mostrar la suficiente informacin como para que los usuarios puedan ampliarla posteriormente. La vista de mensajes en Microsoft Outlook es un excelente ejemplo. No se lee todo el mensaje de correo electrnico en la cuadrcula; resultara difcil leerlo y el rendimiento del cliente sera bajo. Outlook muestra suficiente informacin para que el usuario vaya al elemento expuesto y vea ms detalles.
DataProvider Lista de elementos con los que se rellena una cuadrcula de datos. A las matrices que se encuentran en el mismo fotograma en forma de componente DataGrid se les asignan mtodos automticamente (desde la API de DataProvider) que permiten manipular datos y difundir cambios en varias vistas. Todos los objetos que implementen la API DataProvider pueden asignarse a la propiedad DataGrid.dataProvider, incluidos los juegos de registros, los juegos de datos, etc. El cdigo siguiente crea un proveedor de datos llamado myDP:
myDP = new Array({name:"Chris", price:"Priceless"}, {name:"Nigel", price:"Cheap"});
Elemento Objeto de ActionScript que sirve para almacenar las unidades de informacin en las celdas de una columna. En realidad, una cuadrcula de datos es una lista que puede mostrar ms de una columna de datos. Una lista puede concebirse como una matriz; cada espacio indexado de la lista es un elemento. En el caso del componente DataGrid, cada elemento est formado por campos. En el cdigo siguiente, el contenido que se encuentra entre llaves ({}) es un elemento:
myDP = new Array({name:"Chris", price:"Priceless"}, {name:"Nigel", price:"Cheap"});
266
Componente DataGrid
Campo Los campos son identificadores que indican los nombres de las columnas de los elementos. Esto corresponde a la propiedad columnNames de la lista de columnas. En el componente List, los campos suelen ser label y data, pero en el caso del componente DataGrid los campos pueden ser cualquier identificador. En el cdigo siguiente, los campos son name y price:
myDP = new Array({name:"Chris", price:"Priceless"}, {name:"Nigel", price:"Cheap"});
Fila Se trata de un objeto de la vista que se ocupa de presentar los elementos de la cuadrcula estableciendo celdas. Cada fila est dispuesta de forma horizontal debajo de la anterior.
Columna Las columnas son campos que se muestran en la cuadrcula; cada campo corresponde a la propiedad columnName de cada columna. Cada columna es un objeto de vista (una instancia de la clase DataGridColumn) que se encarga de mostrar cada columna (por ejemplo, la anchura, el color, el tamao, etc.). Existen tres formas de aadir columnas a una cuadrcula de datos: asignar un objeto DataProvider a DataGrid.dataProvider (de este modo se genera automticamente una columna para cada campo del primer elemento), establecer DataGrid.columnNames para especificar los campos que se mostrarn o utilizar el constructor de la clase DataGridColumn para crear columnas y llamar a DataGrid.addColumn() para aadirlas a la cuadrcula. Para aplicar formato a las columnas, configure las propiedades de estilo para toda la cuadrcula de datos o defina los objetos DataGridColumn, configure los formatos de estilo de los mismos de forma individual y adalos a la cuadrcula de datos.
Celda Se trata de un objeto de la vista que se encarga de presentar los campos individuales para cada elemento. Para comunicarse con la cuadrcula de datos, estos componentes deben implementar la API CellRenderer (consulte Interfaz API CellRenderer en la pgina 113). En el caso de las cuadrculas de datos bsicas, las celdas son objetos TextField de ActionScript incorporados.
267
Parmetros de DataGrid
A continuacin se indican los parmetros de edicin que se pueden definir para cada instancia del componente DataGrid en el inspector de propiedades o en el inspector de componentes:
editable es un valor booleano que indica si la cuadrcula es editable (true) o no (false). El valor predeterminado es false. multipleSelection es un valor booleano que indica si pueden seleccionarse varios elementos (true) o no (false). El valor predeterminado es false. rowHeight
indica la altura de cada una de las filas, en pxeles. Al modificar el tamao de fuente no se altera la altura de la fila. El valor predeterminado es 20.
Es posible escribir ActionScript para controlar stas y otras opciones adicionales para el componente DataGrid mediante sus propiedades, mtodos y eventos. Para ms informacin, consulte Clase DataGrid en la pgina 278.
Cuando se vinculan datos al componente DataGrid mediante componentes Data, el objeto vincula columnas hacia atrs (similar a la reproduccin indefinida de un objeto o matriz). Por lo tanto, para ordenar los datos en el componente DataGrid de forma diferente, es necesario definir de forma explcita las columnas.
Componente DataGrid
Para utilizar Flash Remoting para aadir un componente DataGrid a una aplicacin:
1. 2.
Seleccione Archivo > Nuevo y, a continuacin, Archivo Flash (ActionScript 2.0). En el panel Componentes, haga doble clic en el componente DataGrid para aadirlo al escenario. En el inspector de propiedades, introduzca el nombre de instancia myDataGrid. En el panel Acciones del fotograma 1, introduzca el cdigo siguiente:
myDataGrid.dataProvider = recordSetInstance;
3. 4.
Para utilizar un proveedor de datos local para aadir un componente DataGrid a una aplicacin:
1. 2.
Seleccione Archivo > Nuevo y, a continuacin, Archivo Flash (ActionScript 2.0). En el panel Componentes, haga doble clic en el componente DataGrid para aadirlo al escenario. En el inspector de propiedades, introduzca el nombre de instancia myDataGrid. En el panel Acciones del fotograma 1, introduzca el cdigo siguiente:
myDP = new Array({name:"Chris", price:"Priceless"}, {name:"Nigel", price:"Cheap"}); myDataGrid.dataProvider = myDP;
3. 4.
Los campos name y price se utilizan como encabezados de columna y sus valores sirven para rellenar las celdas de cada fila.
5.
269
Seleccione Archivo > Nuevo y elija Archivo de Flash (ActionScript 2.0). En el panel Componentes, haga doble clic en el componente DataGrid para aadirlo al escenario. En el inspector de propiedades, introduzca el nombre de instancia myDataGrid. En el panel Acciones del fotograma 1, introduzca el cdigo siguiente:
var myDataGrid:mx.controls.DataGrid; // Crear columnas para permitir la ordenacin de datos. myDataGrid.addColumn("name"); myDataGrid.addColumn("score"); var myDP_array:Array = new Array({name:"Clark", score:3135}, {name:"Bruce", score:403}, {name:"Peter", score:25}) myDataGrid.dataProvider = myDP_array; // Crear un objeto detector para DataGrid. var listener_obj:Object = new Object(); listener_obj.headerRelease = function(evt_obj:Object) { switch (evt_obj.target.columns[evt_obj.columnIndex].columnName) { case "name" : myDP_array.sortOn("name", Array.CASEINSENSITIVE); break; case "score" : myDP_array.sortOn("score", Array.NUMERIC); break; } }; // Aadir un detector a DataGrid. myDataGrid.addEventListener("headerRelease", listener_obj);
3. 4.
5.
270
Componente DataGrid
Para crear una instancia del componente DataGrid mediante cdigo ActionScript:
1. 2.
Seleccione Archivo > Nuevo y, a continuacin, Archivo Flash (ActionScript 2.0). Arrastre el componente DataGrid desde el panel Componentes a la biblioteca del documento actual. De esta manera, se aade el componente a la biblioteca, aunque ste no se vuelve visible en la aplicacin.
3.
Seleccione el primer fotograma de la lnea de tiempo principal, abra el panel Acciones e introduzca el cdigo siguiente:
this.createClassObject(mx.controls.DataGrid, "my_dg", 10, {columnNames:["name", "score"]}); my_dg.setSize(140, 100); my_dg.move(10, 40);
Este script utiliza el mtodo UIObject.createClassObject() para crear la instancia de DataGrid y, a continuacin, cambia de tamao y coloca la cuadrcula.
4.
Cree una matriz, adale datos e identifique la matriz como el proveedor de datos para la cuadrcula de datos:
var myDP_array:Array = new Array(); myDP_array.push({name:"Clark", score:3135}); myDP_array.push({name:"Bruce", score:403}); myDP_array.push({name:"Peter", score:25}); my_dg.dataProvider = myDP_array;
5.
271
Cree y vincule una estructura de datos en lugar de aadir las columnas directamente. Existen dos formas de aadir columnas y datos al componente DataGrid: vincular estructuras de datos creadas previamente (una matriz de objetos) mediante la propiedad DataGrid.dataProvider o utilizar mtodos de la clase DataGrid como DataGrid.addColumn() y DataGrid.addItem(). Siempre que sea posible, se debe vincular una estructura de datos creada previamente con la propiedad DataGrid.dataProvider porque permite al componente DataGrid crear todas las columnas que necesita antes de intentar dibujarlas en la pantalla. Es posible que tenga la tentacin de crear un bucle for para llamar a DataGrid.addColumn() en todas las columnas necesarias. Aunque pueda parecer un enfoque simple y obvio, debe evitarse. Cada vez que se llama a DataGrid.addColumn(), la cuadrcula de datos aade detectores de eventos, se ordena y se vuelve a dibujar para presentar la columna nueva. Si se crean 20 columnas con DataGrid.addColumn(), el componente DataGrid se ordena y se vuelve a dibujar 20 veces sin necesidad. Si se vincula la estructura de datos en ActionScript, no es necesario tener en cuenta ninguna representacin ni evento. Cuando se asigna a la propiedad dataProvider del componente DataGrid, se completa todo el dibujo en una sola pasada.
Proporcione un mecanismo de ampliacin para datos detallados. La interfaz del componente DataGrid permite a los usuarios realizar bsquedas ms rpidas y detalladas. Proporcione nicamente los datos necesarios para realizar la bsqueda inicial y reserve la informacin detallada de una determinada fila o columna para el segundo paso de la bsqueda. Este proceso minimiza tanto los datos iniciales necesarios para completar la cuadrcula de datos como la cantidad de informacin que los usuarios tienen que leer para encontrar lo que buscan. Una vez que se ha seleccionado una fila o elemento de inters en la cuadrcula de datos, se puede realizar una segunda llamada al origen de datos para obtener informacin relacionada. Esta informacin se mostrar mejor en algn otro mecanismo de la IU como pueda ser una coleccin de grficos y campos de texto de varias lneas.
272
Componente DataGrid
Evite la manipulacin de ciclos de datos entre el origen de datos y la cuadrcula de datos. Si es posible y se siguen satisfaciendo las necesidades de la base de datos a largo plazo, almacenar los datos en el mismo formato y orden en el que se van a visualizar puede evitar aumentar innecesariamente la asignacin de memoria y el tiempo de procesamiento en el equipo del usuario, as como acelerar el tiempo de respuesta de la cuadrcula de datos.
Evite las consultas que devuelven todas las filas de la base de datos. Normalmente, un usuario no desea ver todos los registros cada vez que accede a los datos. Hay que saber lo que buscar el consumidor de los datos y ofrecerle los medios para que pueda acotar la bsqueda adecuadamente. Si normalmente se buscan slo los registros ms recientes de la semana para un tema determinado, muestre ese grupo menor de datos de forma predeterminada, de modo que se pueda ampliar la vista de los datos. Piense en la posibilidad de paginar grandes cantidades de datos para limitar su tamao, mediante un subconjunto de datos que normalmente se devolvera de una consulta. Por ejemplo, en lugar de visualizar las 10.000 filas de datos que podran devolverse de una consulta en la base de datos, se puede llamar a un subconjunto de las primeras 20 filas y unos botones de navegacin adicionales pueden activar una llamada para rellenar la cuadrcula de datos con los siguientes 20 registros.
Separe el procesamiento de datos del procesamiento de CellRenderer. La API CellRenderer permite mostrar contenido de celdas personalizado en una cuadrcula de datos. Un requisito funcional puede obligar al usuario a rellenar la cuadrcula de datos con un componente ComboBox u otro control de IU de forma condicional. Por ejemplo, en funcin de una seleccin de la columna dos, es posible volver a rellenar o seleccionar de forma automtica opciones de la columna cuatro. Siempre que sea posible, es importante separar esta lgica condicional y volver a rellenar los controles del proceso de representacin del contenido de la celda. Cada vez que el puntero del ratn pasa por encima de la celda, que sta se selecciona o que cambian los datos, es probable que el contenido de la celda o que toda ella se vuelva a dibujar para mantenerla actualizada. Esto significa que cualquier cdigo que incluya en CellRenderer se repetir una y otra vez, por lo que debera mantener el procesamiento en CellRenderer lo ms sencillo posible. Si necesita aadir cdigo a CellRenderer, es mejor llamar a una funcin desde CellRenderer que detecte las actualizaciones necesarias y las lleve a cabo de la forma ms eficaz.
273
Utilice UIObject.doLater() para acceder a las propiedades cuando haya terminado de dibujarse la cuadrcula de datos. Para poder acceder a todas las propiedades de la cuadrcula de datos (por ejemplo, entre otras), es necesario que la instancia de cuadrcula de datos se termine de dibujar y cargue los datos. Dado que no hay ningn evento de finalizacin de un componente DataGrid, puede utilizar UIObject.doLater() en su lugar para llamar a una funcin que acceda a las propiedades de la cuadrcula de datos. UIObject.doLater() ejecutar la funcin nicamente cuando las propiedades de la cuadrcula de datos estn disponibles. Consulte DataGrid.focusedCell para ver un ejemplo.
focusedCell,
Tema
Ambos Ambos
Descripcin
El color de fondo, que se puede establecer para toda la cuadrcula o para cada columna. Color de fondo cuando el valor de la propiedad
enabled del componente es false. El valor
backgroundDisabledColor
274
Componente DataGrid
Estilo
borderStyle
Tema
Ambos
Descripcin
El componente DataGrid utiliza una instancia de RectBorder como borde y responde a los estilos definidos en dicha clase. Consulte Clase RectBorder en la pgina 1145. El estilo de borde predeterminado es inset. Color de los encabezados de columna. El valor predeterminado es 0xEAEAEA (gris claro) Declaracin de estilo CSS para el encabezado de columna que se puede aplicar a una cuadrcula o columna con el fin de personalizar los estilos del encabezado. Color del texto. El valor predeterminado es 0x0B333C para el tema Halo y en blanco para el tema Sample. Color del texto cuando el componente est desactivado. El color predeterminado es 0x848384 (gris oscuro). Valor booleano que indica si la fuente especificada en fontFamily es una fuente incorporada. Este estilo debe definirse como true si fontFamily hace referencia a una fuente incorporada. Por ejemplo (utilizando una instancia de DataGrid my_dg):
my_dg.setStyle("fontFamily", "yourFont"); my_dg.embedFonts=true;
headerColor
Ambos Ambos
headerStyle
color
Ambos
disabledColor
Ambos
embedFonts
Ambos
De lo contrario, no se utiliza la fuente incorporada. Si el estilo se define como true y fontFamily no hace referencia a una fuente incorporada, no se muestra ningn texto. El valor predeterminado es false.
fontFamily
Nombre de la fuente del texto. El valor predeterminado es _sans. Tamao de la fuente en puntos. El valor predeterminado es 10. Estilo de la fuente: puede ser normal o italic. El valor predeterminado es normal. Grosor de la fuente: puede ser none o bold. El valor predeterminado es none. Todos los componentes pueden aceptar tambin el valor normal en lugar de none durante una llamada a setStyle(), pero las llamadas posteriores a getStyle() devolvern none.
fontSize
fontStyle
fontWeight
275
Estilo
textAlign
Tema
Ambos Ambos Ambos
Descripcin
Alineacin del texto: puede ser left, right o center. El valor predeterminado es left. Decoracin del texto: puede ser none o underline. El valor predeterminado es none. Valor booleano que indica si deben mostrarse las lneas verticales de la cuadrcula (true) o no (false). El valor predeterminado es true. Valor booleano que indica si deben mostrarse las lneas horizontales de la cuadrcula (true) o no (false). El valor predeterminado es false. Color de las lneas verticales de la cuadrcula. El valor predeterminado es 0x666666 (gris medio). Color de las lneas horizontales de la cuadrcula. El valor predeterminado es 0x666666 (gris medio).
textDecoration
vGridLines
hGridLines
Ambos
vGridLineColor
Ambos Ambos
hGridLineColor
276
Componente DataGrid
Para definir una propiedad de estilo slo en el componente DataGrid, puede crear una nueva instancia de CSSStyleDeclaration y almacenarla en _global.styles.DataGrid.
import mx.styles.CSSStyleDeclaration; if (_global.styles.DataGrid == undefined) { _global.styles.DataGrid = new CSSStyleDeclaration(); } _global.styles.DataGrid.setStyle("backgroundColor", 0xFF00AA);
Al crear una nueva declaracin de estilo de nivel de clase, perder todos los valores predeterminados proporcionados por la declaracin de ScrollSelectList, incluido el de backgroundColor, que es necesario para los eventos del ratn. Para crear una declaracin de estilo de clase y conservar los valores predeterminados, utilice un bucle for..in para copiar los valores anteriores a la nueva declaracin.
var source = _global.styles.ScrollSelectList; var target = _global.styles.DataGrid; for (var style in source) { target.setStyle(style, source.getStyle(style)); }
Para ms informacin sobre los estilos de clase, consulte Definicin de los estilos de una clase de componente en Utilizacin de componentes ActionScript 2.0.
277
Clase DataGrid
MovieClip > Clase UIObject > Clase UIComponent > View > ScrollView > ScrollSelectList > Componente List > DataGrid
Herencia Nombre de clase de ActionScript
mx.controls.DataGrid
Cada clase de componente tiene una propiedad version, que es una propiedad de clase. Las propiedades de clase slo estn disponibles en la propia clase. La propiedad version devuelve una cadena que indica la versin del componente. Para acceder a esta propiedad, utilice el cdigo siguiente:
trace(mx.controls.DataGrid.version);
NO T A 278
Descripcin
Aade una columna a la cuadrcula de datos. Aade una columna a la cuadrcula de datos en una ubicacin especificada. Aade un elemento a la cuadrcula de datos. Aade un elemento a la cuadrcula de datos en una ubicacin especificada. Reemplaza los datos de celda en una ubicacin especificada. Obtiene una referencia a una columna en una ubicacin especificada. Obtiene una referencia al objeto DataGridColumn en el ndice especificado. Elimina todas las columnas de una cuadrcula de datos. Elimina una columna de una cuadrcula de datos en una ubicacin especificada. Reemplaza un elemento de una ubicacin especificada por otro.
DataGrid.addItem() DataGrid.addItemAt()
DataGrid.editField()
DataGrid.getColumnAt()
DataGrid.getColumnIndex()
DataGrid.removeAllColumns() DataGrid.removeColumnAt()
DataGrid.replaceItemAt()
Componente DataGrid
Descripcin
Crea un objeto en la clase especificada. Crea un subobjeto en un objeto. Elimina una instancia de componente. Llama a una funcin cuando se han establecido parmetros en el inspector de propiedades y el inspector de componentes. Obtiene la propiedad de estilo de la declaracin de estilo o del objeto. Marca el objeto de forma que se pueda volver a dibujar en el siguiente intervalo de fotogramas. Mueve el objeto a la posicin indicada. Fuerza la validacin del objeto, de forma que se pueda dibujar sobre el fotograma actual. Cambia el tamao del objeto al indicado. Define un aspecto en el objeto. Define la propiedad de estilo en la declaracin de estilo o en el objeto.
UIObject.getStyle()
UIObject.invalidate()
UIObject.move() UIObject.redraw()
Descripcin
Devuelve una referencia al objeto seleccionado. Define la seleccin en la instancia de componente.
Clase DataGrid
279
Descripcin
Aade un elemento al final de la lista. Aade un elemento a la lista en el ndice especificado. Devuelve el elemento del ndice especificado. Elimina todos los elementos de la lista. Elimina el elemento en el ndice especificado. Sustituye por otro el elemento del ndice especificado. Aplica las propiedades especificadas al elemento especificado. Ordena los elementos de la lista segn la funcin de comparacin especificada. Ordena los elementos de la lista segn la propiedad especificada.
List.sortItems()
List.sortItemsBy()
Descripcin
Slo lectura; el nmero de columnas que se muestran. Matriz de nombres de campo de cada elemento que aparecen en forma de columnas. Modelo de datos de la cuadrcula de datos. Valor booleano que indica si la cuadrcula de datos es editable (true) o no (false). Define la celda que est seleccionada. Altura de los encabezados de columna, expresada en pxeles. Indica si la barra de desplazamiento horizontal est activa (on), no lo est (off) o aparece cuando es necesario (auto). Valor booleano que indica si puede cambiarse el tamao de las columnas (true) o no (false).
DataGrid.dataProvider DataGrid.editable
DataGrid.focusedCell DataGrid.headerHeight
DataGrid.hScrollPolicy
DataGrid.resizableColumns
280
Componente DataGrid
Propiedad
DataGrid.selectable
Descripcin
Valor booleano que indica si la cuadrcula de datos es seleccionable (true) o no (false). Valor booleano que indica que los encabezados de columna estn visibles (true) o no (false). Valor booleano que indica si las columnas pueden clasificarse (true) o no (false).
DataGrid.showHeaders
DataGrid.sortableColumns
Descripcin
Posicin del borde inferior del objeto con respecto al borde inferior de su elemento principal correspondiente. Slo lectura. Altura del objeto, expresada en pxeles. Slo lectura. Borde izquierdo del objeto, expresado en pxeles. Slo lectura. Posicin del borde derecho del objeto con respecto al borde derecho de su elemento principal correspondiente. Slo lectura. Nmero que indica el factor de escala en la direccin x del objeto con respecto a su elemento principal correspondiente. Nmero que indica el factor de escala en la direccin y del objeto con respecto a su elemento principal correspondiente. Posicin del borde superior del objeto con respecto a su elemento principal correspondiente. Slo lectura. Valor booleano que indica si el objeto es visible (true) o no (false). Anchura del objeto, expresada en pxeles. Slo lectura. Borde izquierdo del objeto, expresado en pxeles. Slo lectura. Borde superior del objeto, expresado en pxeles. Slo lectura.
UIObject.height UIObject.left
UIObject.right
UIObject.scaleX
UIObject.scaleY
UIObject.top
UIObject.visible
UIObject.width UIObject.x
UIObject.y
Clase DataGrid
281
Descripcin
Indica si el componente puede recibir selecciones y entradas. Nmero que indica el orden de tabulacin para un componente de un documento.
Descripcin
Asigna la clase o el smbolo que se va utilizar para mostrar cada fila de la lista. Origen de los elementos de la lista. Posicin horizontal de la lista. Indica si la barra de desplazamiento horizontal se muestra (on) o no (off). Campo de cada elemento que se utiliza para especificar iconos. Funcin que determina qu icono se debe utilizar. Especifica el campo de cada elemento que se utilizar como texto de etiqueta. Funcin que determina qu campos de cada elemento se utilizarn para el texto de etiqueta. Nmero de elementos de la lista. Es una propiedad de slo lectura. Nmero de pxeles que la lista puede desplazarse a la derecha cuando List.hScrollPolicy est definida en on. Indica si en la lista se permite la seleccin mltiple (true) o no (false). Nmero de filas que son al menos parcialmente visibles en la lista.
List.labelFunction
List.length
List.maxHPosition
List.multipleSelection
List.rowCount
282
Componente DataGrid
Propiedad
List.rowHeight List.selectable List.selectedIndex List.selectedIndices
Descripcin
Altura de las filas de la lista, expresada en pxeles. Indica si la lista es seleccionable (true) o no (false). ndice de una seleccin en una lista de seleccin nica. Matriz de los elementos seleccionados en una lista de seleccin mltiple. Elemento seleccionado en una lista de seleccin nica. Es una propiedad de slo lectura. Objetos del elemento seleccionado en una lista de seleccin mltiple. Es una propiedad de slo lectura. Desplaza la lista para que el elemento visible en la parte superior sea el nmero asignado. Indica si la barra de desplazamiento vertical se muestra (on), no se muestra (off) o se muestra cuando es necesario (auto).
List.selectedItem
List.selectedItems
List.vPosition
List.vScrollPolicy
Descripcin
Se difunde cuando se modifica el valor de celda. Se difunde cuando se selecciona una celda. Se difunde cuando se anula la seleccin de una celda. Se difunde cuando se presiona (se hace clic en) una celda. Se difunde cuando se ha seleccionado un elemento. Se difunde cuando un usuario cambia el tamao de una columna horizontalmente. Se difunde cuando un usuario hace clic (se suelta el botn del ratn) en un encabezado.
DataGrid.headerRelease
Clase DataGrid
283
Descripcin
Se difunde cuando un objeto est a punto de dibujar sus grficos. Se difunde cuando el estado de un objeto pasa de ser visible a invisible. Se difunde cuando se crean subobjetos. Se difunde cuando se mueve el objeto. Se difunde cuando cambia el tamao de un objeto. Se difunde cuando el estado de un objeto pasa de ser invisible a visible. Se difunde durante la descarga de los subobjetos.
UIObject.hide
UIObject.unload
Descripcin
Se difunde cuando se selecciona un objeto. Se difunde cuando un objeto deja de seleccionarse. Se difunde cuando se presiona una tecla. Se difunde cuando se suelta una tecla.
Descripcin
Se difunde cuando la interaccin del usuario provoca un cambio en la seleccin. Se difunde cuando el puntero del ratn se desplaza sobre elementos de la lista y despus sale de ellos. Se difunde cuando el puntero del ratn se desplaza sobre elementos de la lista. Se difunde cuando se recorre la lista.
List.itemRollOut
List.itemRollOver
List.scroll
284
Componente DataGrid
DataGrid.addColumn()
Disponibilidad
Parmetros
dataGridColumn name
Cadena que indica el nombre de un nuevo objeto DataGridColumn que debe insertarse.
Valor devuelto
Una referencia al objeto DataGridColumn que se ha aadido o la cadena que indica el nombre de la nueva columna.
Descripcin
Mtodo; aade una columna nueva al final de la cuadrcula de datos. Para ms informacin, consulte Clase DataGridColumn en la pgina 320.
Ejemplo
En este ejemplo, se muestran tres formas diferentes de crear columnas para un componente DataGrid. Con una instancia del componente DataGrid denominada my_dg en el escenario, pegue el siguiente cdigo en el primer fotograma de la lnea de tiempo principal (observe que importa primero la clase DataGridColumn):
import mx.controls.gridclasses.DataGridColumn; var my_dg:mx.controls.DataGrid; my_dg.setSize(320, 240); // Aadir columnas a la cuadrcula. my_dg.addColumn("Red"); // Aadir otra columna a la cuadrcula. my_dg.addColumn(new DataGridColumn("Green")); // Aadir una tercera columna a la cuadrcula. var blue_dgc:DataGridColumn = new DataGridColumn("Blue"); blue_dgc.width = 140; blue_dgc.headerText = "Blue Column:"; my_dg.addColumn(blue_dgc);
DataGrid.addColumn()
285
DataGrid.addColumnAt()
Disponibilidad
Parmetros
index name
Posicin de ndice en la que se aade el objeto DataGridColumn. La primera posicin es 0. Cadena que indica el nombre del objeto DataGridColumn. Instancia de la clase DataGridColumn.
dataGridColumn
Valor devuelto
Una referencia al objeto DataGridColumn que se ha aadido o la cadena que indica el nombre de la nueva columna.
Descripcin
Mtodo; aade una columna nueva en la posicin especificada. Las columnas se desplazan a la derecha y sus ndices se incrementan. Para ms informacin, consulte Clase DataGridColumn en la pgina 320.
Ejemplo
En este ejemplo, se muestran dos formas de utilizar addColumnAt() y se definen las anchuras de columna. Con una instancia del componente DataGrid denominada my_dg en el escenario, pegue el siguiente cdigo en el primer fotograma de la lnea de tiempo principal (observe que importa primero la clase DataGridColumn):
import mx.controls.gridclasses.DataGridColumn; var my_dg:mx.controls.DataGrid; my_dg.setSize(320, 240); // Aadir columnas a la cuadrcula. my_dg.addColumnAt(0, "Orange"); var orange_dgc:DataGridColumn = my_dg.getColumnAt(0); orange_dgc.width = 125; var blue_dgc:DataGridColumn = new DataGridColumn("Blue"); blue_dgc.width = 75; my_dg.addColumnAt(1, blue_dgc);
286
Componente DataGrid
DataGrid.addItem()
Disponibilidad
Parmetros
item
Valor devuelto
Mtodo; aade un elemento al final de la cuadrcula (despus del ltimo ndice del elemento).
N OT A
Este mtodo difiere del mtodo List.addItem() en que se pasa un objeto en lugar de una cadena.
Ejemplo
En este ejemplo, se crea una columna con el encabezado name y, a continuacin, se inserta el valor item_obj para name. Observe que el valor age se omite porque slo se ha definido la columna name. Si no se especifica una columna (borre la lnea addColumn), el componente DataGrid crea de forma automtica las columnas apropiadas. Con una instancia del componente DataGrid denominada my_dg en el escenario, pegue el siguiente cdigo en el primer fotograma de la lnea de tiempo principal:
// Aadir columnas a la cuadrcula y aadir datos. my_dg.addColumn("name"); var item_obj:Object = {name:"Jim", age:30}; my_dg.addItem(item_obj);
DataGrid.addItem()
287
DataGrid.addItemAt()
Disponibilidad
Parmetros
index
Posicin de ndice (entre los nodos secundarios) en la que debe aadirse el nodo. La primera posicin es 0. Cadena que muestra el nodo.
item
Valor devuelto
En este ejemplo, se crea una columna con el encabezado name, se rellena la columna desde una matriz y, a continuacin, se aade el nombre Chase a la primera fila. Observe que el valor age se omite porque slo se ha definido la columna name. Si no se especifica una columna (borre la lnea addColumn), el componente DataGrid crea de forma automtica las columnas apropiadas. Con una instancia del componente DataGrid denominada my_dg en el escenario, pegue el siguiente cdigo en el primer fotograma de la lnea de tiempo principal:
var my_dg:mx.controls.DataGrid; // Aadir columnas a la cuadrcula y aadir datos. my_dg.addColumn("name"); var myDP_array:Array = new Array({name:"John", age:33}, {name:"Jose", age:41}); my_dg.dataProvider = myDP_array; var item_obj:Object = {name:"Chase", age:30}; my_dg.addItemAt(0, item_obj);
288
Componente DataGrid
DataGrid.cellEdit
Disponibilidad
Descripcin
Evento; se difunde a todos los detectores registrados cuando se ha modificado un valor de celda. Los componentes utilizan un modelo de evento distribuidor/detector. El componente DataGrid distribuye un evento cellEdit cuando se ha modificado el valor de una celda y el evento se controla mediante una funcin (tambin denominada controlador) asociada con el objeto detector (listenerObject) que crea el usuario. Llame al mtodo addEventListener() y pase el nombre del controlador como parmetro. Cuando se activa el evento, ste pasa automticamente un objeto de evento (eventObject) al controlador. Cada objeto de evento tiene propiedades que contienen informacin sobre el evento. Estas propiedades sirven para escribir el cdigo que controla el evento. El objeto del evento DataGrid.cellEdit tiene cuatro propiedades adicionales:
columnIndex itemIndex oldValue type
Nmero que indica el ndice de la columna de destino. Nmero que indica el ndice de la fila de destino.
Cadena cellEdit.
DataGrid.cellEdit
289
Ejemplo
En el ejemplo siguiente, se define un controlador denominado myDataGridListener y se pasa al mtodo myDataGrid.addEventListener() como segundo parmetro. El objeto de evento se captura mediante el controlador cellEdit del parmetro eventObject. Cuando se difunde el evento cellEdit (despus de haber modificado un valor score y haber presionado Intro) se enva una sentencia trace al panel Salida. Con una instancia del componente DataGrid denominada my_dg en el escenario, pegue el siguiente cdigo en el primer fotograma de la lnea de tiempo principal:
my_dg.setSize(320, 240); my_dg.editable = true; // Aadir columnas y hacer que la primera no sea editable. my_dg.addColumn("name"); my_dg.getColumnAt(0).editable = false; my_dg.addColumn("score"); var myDP_array:Array = new Array(); myDP_array.push({name:"Clark", score:3135}); myDP_array.push({name:"Bruce", score:403}); myDP_array.push({name:"Peter", score:25}); // Definir origen de datos de DataGrid. my_dg.dataProvider = myDP_array; // Crear un objeto detector. var myListener_obj:Object = new Object(); myListener_obj.cellEdit = function(evt_obj:Object) { // Recuperar ubicacin de celda modificada. var cell_obj:Object = "("+evt_obj.columnIndex+", "+evt_obj.itemIndex+")"; // Recuperar valor de celda modificada. var value_obj:Object = evt_obj.target.selectedItem.score; trace("The value of the cell at "+cell_obj+" has changed to "+value_obj); }; // Aadir objeto detector. my_dg.addEventListener("cellEdit", myListener_obj);
290
Componente DataGrid
DataGrid.cellFocusIn
Disponibilidad
Descripcin
Evento; se difunde a todos los detectores registrados cuando se selecciona una celda determinada. Este evento se difunde cuando se difunden todos los eventos editCell y cellFocusOut de las celdas editadas anteriormente. Los componentes utilizan un modelo de evento distribuidor/detector. Cuando un componente DataGrid distribuye un evento cellFocusIn, el evento se controla mediante una funcin (tambin denominada controlador) asociada con el objeto detector (listenerObject) que crea el usuario. Llame al mtodo addEventListener() y pase el nombre del controlador como parmetro. Cuando se activa el evento, ste pasa automticamente un objeto de evento (eventObject) al controlador. Cada objeto de evento tiene propiedades que contienen informacin sobre el evento. Estas propiedades sirven para escribir el cdigo que controla el evento. El objeto del evento DataGrid.cellFocusIn tiene tres propiedades adicionales:
columnIndex itemIndex type
Nmero que indica el ndice de la columna de destino. Nmero que indica el ndice de la fila de destino.
Cadena cellFocusIn.
DataGrid.cellFocusIn
291
Ejemplo
En el ejemplo siguiente, se define un controlador denominado dgListener y se pasa al mtodo my_dg.addEventListener() como segundo parmetro. Cuando se difunde el evento cellFocusIn, se enva una sentencia trace al panel Salida. Con una instancia del componente DataGrid denominada my_dg en el escenario, pegue el siguiente cdigo en el primer fotograma de la lnea de tiempo principal:
// Configurar datos de ejemplo. var myDP_array:Array = new Array(); myDP_array.push({name:"Clark", score:3135}); myDP_array.push({name:"Bruce", score:403}); myDP_array.push({name:"Peter", score:25}); my_dg.dataProvider = myDP_array; // Hacer que DataGrid sea editable. my_dg.editable = true; // Crear un objeto detector. var dgListener:Object = new Object(); dgListener.cellFocusIn = function(evt_obj:Object) { var cell_str:String = "(" + evt_obj.columnIndex + ", " + evt_obj.itemIndex + ")"; trace("The cell at " + cell_str + " has gained focus"); }; // Aadir detector. my_dg.addEventListener("cellFocusIn", dgListener);
NO T A 292
La cuadrcula debe ser editable para que este cdigo funcione y el evento slo se difunda para celdas editables. Por tanto, si tiene dos columnas y slo una de ellas es editable (supongamos que score), entonces, al hacer clic en una fila en la columna nombre no se activar este evento.
Componente DataGrid
DataGrid.cellFocusOut
Disponibilidad
Descripcin
Evento; se difunde a todos los detectores registrados cuando un usuario sale de una celda que est seleccionada. Puede utilizar las propiedades del objeto de evento para aislar la celda de la que se ha salido. Este evento se difunde despus del evento cellEdit y antes de que los eventos cellFocusIn posteriores se difundan para la celda siguiente. Los componentes utilizan un modelo de evento distribuidor/detector. Cuando el componente DataGrid distribuye un evento cellFocusOut, ste se controla mediante una funcin (tambin denominada controlador) asociada con el objeto detector que crea el usuario. Llame al mtodo addEventListener() y pase el nombre del controlador como parmetro. Cuando se activa el evento, ste pasa automticamente un objeto de evento (eventObject) al controlador. Cada objeto de evento tiene propiedades que contienen informacin sobre el evento. Estas propiedades sirven para escribir el cdigo que controla el evento. El objeto del evento DataGrid.cellFocusOut tiene tres propiedades adicionales:
columnIndex
Nmero que indica el ndice de la columna de destino. La primera Nmero que indica el ndice de la fila de destino. La primera posicin es 0.
posicin es 0.
itemIndex type
La cadena cellFocusOut.
DataGrid.cellFocusOut
293
Ejemplo
En el ejemplo siguiente, se define un controlador denominado dgListener y se pasa al mtodo my_dg.addEventListener() como segundo parmetro. Cuando se difunde el evento cellFocusOut, se enva una sentencia trace al panel Salida. Con una instancia del componente DataGrid denominada my_dg en el escenario, pegue el siguiente cdigo en el primer fotograma de la lnea de tiempo principal:
// Configurar datos de ejemplo. var myDP_array:Array = new Array(); myDP_array.push({name:"Clark", score:3135}); myDP_array.push({name:"Bruce", score:403}); myDP_array.push({name:"Peter", score:25}); my_dg.dataProvider = myDP_array; // Hacer que DataGrid sea editable. my_dg.editable = true; // Crear un objeto detector. var dgListener:Object = new Object(); dgListener.cellFocusOut = function(evt_obj:Object) { var cell_str:String = "(" + evt_obj.columnIndex + ", " + evt_obj.itemIndex + ")"; trace("The cell at " + cell_str + " has lost focus"); }; // Aadir detector. my_dg.addEventListener("cellFocusOut", dgListener);
NO T A 294
La cuadrcula debe ser editable para que este cdigo funcione y el evento slo se difunda para celdas editables. Por tanto, si tiene dos columnas y slo una de ellas es editable (supongamos que score), al hacer clic en una fila en la columna nombre no se activar este evento.
Componente DataGrid
DataGrid.cellPress
Disponibilidad
Descripcin
Evento; se difunde a todos los detectores registrados cuando un usuario presiona el botn del ratn en una celda. Los componentes utilizan un modelo de evento distribuidor/detector. Cuando el componente DataGrid difunde un evento cellPress, ste se controla mediante una funcin (tambin denominada controlador) asociada con el objeto detector (listenerObject) que crea el usuario. Llame al mtodo addEventListener() y pase el nombre del controlador como parmetro. Cuando se activa el evento, ste pasa automticamente un objeto de evento (eventObject) al controlador. Cada objeto de evento tiene propiedades que contienen informacin sobre el evento. Estas propiedades sirven para escribir el cdigo que controla el evento. El objeto del evento DataGrid.cellPress tiene tres propiedades adicionales:
columnIndex
Nmero que indica el ndice de la columna que se presion. La primera Nmero que indica el ndice de la fila que se presion. La primera posicin es 0.
posicin es 0.
itemIndex type
Cadena cellPress.
DataGrid.cellPress
295
Ejemplo
En el ejemplo siguiente, se define un controlador denominado dgListener y se pasa al mtodo grid.addEventListener() como segundo parmetro. El objeto del evento se captura mediante el controlador cellPress del parmetro evt_obj. Cuando se difunde el evento cellPress, se enva una sentencia trace al panel Salida. Con una instancia del componente DataGrid denominada my_dg en el escenario, pegue el siguiente cdigo en el primer fotograma de la lnea de tiempo principal:
// Configurar datos de ejemplo. my_dg.dataProvider = [{name:"Clark", score:3135}, {name:"Bruce", score:403}, {name:"Peter", score:25}]; // Crear un objeto detector. var dgListener:Object = new Object(); dgListener.cellPress = function(evt_obj:Object) { var cell_str:String = "("+evt_obj.columnIndex+", "+evt_obj.itemIndex+")"; trace("The cell at "+cell_str+" has been clicked"); }; // Aadir detector. my_dg.addEventListener("cellPress", dgListener);
DataGrid.change
Disponibilidad
296
Componente DataGrid
Descripcin
Evento; se difunde a todos los detectores registrados cuando se ha seleccionado un elemento. Los componentes utilizan un modelo de evento distribuidor/detector. Cuando un componente DataGrid distribuye un evento change, ste se controla mediante una funcin (tambin denominada controlador) asociada con el objeto detector (listenerObject) que crea el usuario. Llame al mtodo addEventListener() y pase el nombre del controlador como parmetro. Cuando se activa el evento, ste pasa automticamente un objeto de evento (eventObject) al controlador. Cada objeto de evento tiene propiedades que contienen informacin sobre el evento. Estas propiedades sirven para escribir el cdigo que controla el evento. El objeto del evento DataGrid.change tiene una propiedad adicional, type, cuyo valor es change. Para ms informacin, consulte Clase EventDispatcher en la pgina 527.
Ejemplo
En el ejemplo siguiente, se define un controlador denominado dgListener y se pasa al mtodo grid.addEventListener() como segundo parmetro. El objeto del evento se captura mediante el controlador change del parmetro evt_obj. Cuando se difunde el evento change, se enva una sentencia trace al panel Salida. Con una instancia del componente DataGrid denominada my_dg en el escenario, pegue el siguiente cdigo en el primer fotograma de la lnea de tiempo principal:
// Configurar datos de ejemplo. my_dg.dataProvider = [{name:"Clark", score:3135}, {name:"Bruce", score:403}, {name:"Peter", score:25}]; // Crear un objeto detector. var dgListener:Object = new Object(); dgListener.change = function(evt_obj:Object) { trace("The selection has changed to " + evt_obj.target.selectedIndex); }; // Aadir detector. my_dg.addEventListener("change", dgListener);
DataGrid.change
297
DataGrid.columnCount
Disponibilidad
Descripcin
En el siguiente ejemplo, se muestra el nmero total de columnas en el panel Salida. Con una instancia del componente DataGrid denominada my_dg en el escenario, pegue el siguiente cdigo en el primer fotograma de la lnea de tiempo principal:
// Aadir columnas a la cuadrcula y aadir datos. my_dg.addColumn("a"); my_dg.addColumn("b"); my_dg.addItem({a:"one", b:"two"}); // Obtener nmero de columnas de la cuadrcula. var colCount_num:Number = my_dg.columnCount; trace("Number of columns: "+colCount_num);
298
Componente DataGrid
DataGrid.columnNames
Disponibilidad
Descripcin
Propiedad; matriz de los nombres de campo de cada elemento que aparecen en forma de columnas.
Ejemplo
En el siguiente ejemplo, se muestra el nombre de la columna del panel Salida al hacer clic en el ttulo. Con una instancia del componente DataGrid denominada my_dg en el escenario, pegue el siguiente cdigo en el primer fotograma de la lnea de tiempo principal:
my_dg.setSize(200, 100); my_dg.columnNames = ["Name", "Description", "Price"]; var dgListener:Object = new Object(); dgListener.headerRelease = function (evt_obj:Object) { trace("You clicked on the \"" + my_dg.columnNames[evt_obj.columnIndex] + "\" column."); } my_dg.addEventListener("headerRelease", dgListener);
DataGrid.columnNames
299
DataGrid.columnStretch
Disponibilidad
Descripcin
Evento; se difunde a todos los detectores registrados cuando un usuario cambia el tamao de una columna horizontalmente. Los componentes utilizan un modelo de evento distribuidor/detector. Cuando un componente DataGrid distribuye un evento columnStretch, ste se controla mediante una funcin (tambin denominada controlador) asociada con el objeto detector (listenerObject) que crea el usuario. Llame al mtodo addEventListener() y pase el nombre del controlador como parmetro. Cuando se activa el evento, ste pasa automticamente un objeto de evento (eventObject) al controlador. Cada objeto de evento tiene propiedades que contienen informacin sobre el evento. Estas propiedades sirven para escribir el cdigo que controla el evento. El objeto del evento DataGrid.columnStretch tiene dos propiedades adicionales:
columnIndex
posicin es 0.
type
Cadena columnStretch.
300
Componente DataGrid
Ejemplo
En el siguiente ejemplo, se muestra el nmero de ndice de la columna del panel Salida al cambiar el tamao del ttulo. Con una instancia del componente DataGrid denominada my_dg en el escenario, pegue el siguiente cdigo en el primer fotograma de la lnea de tiempo principal:
my_dg.setSize(240, 100); // Configurar datos de var myDP_array:Array = myDP_array.push({id:0, myDP_array.push({id:1, myDP_array.push({id:2, ejemplo. new Array(); name:"Clark", score:3135}); name:"Bruce", score:403}); name:"Peter", score:25});
my_dg.dataProvider = myDP_array; // Crear un objeto detector. var dgListener:Object = new Object(); dgListener.columnStretch = function(evt_obj:Object) { trace("column " + evt_obj.columnIndex + " was resized"); }; // Aadir detector. my_dg.addEventListener("columnStretch", dgListener);
DataGrid.dataProvider
Disponibilidad
DataGrid.dataProvider
301
Descripcin
Propiedad; modelo de datos de los elementos que se ven en el componente DataGrid. La cuadrcula de datos aade mtodos al prototipo de la clase Array de modo que cada objeto Array se adapta a la API DataProvider (consulte el archivo DataProvider.as en la carpeta Classes/mx/controls/listclasses). Una matriz que se encuentre en el mismo fotograma o pantalla en forma de cuadrcula de datos tendr todos los mtodos (addItem(), getItemAt(), etc.) necesarios para que dicha cuadrcula sea el modelo de datos de una cuadrcula de datos. Asimismo, puede utilizarse para difundir cambios del modelo de datos en varios componentes.
DataGrid.columnNames.
En el componente DataGrid debe especificar los campos que aparecern en la propiedad Si no define la columna que se ha establecido (estableciendo la propiedad DataGrid.columnNames o llamando a DataGrid.addColumn()) para la cuadrcula de datos antes de que se haya establecido la propiedad DataGrid.dataProvider, dicha cuadrcula generar columnas para cada campo en el primer elemento del proveedor de datos, una vez que haya llegado dicho elemento. Cualquier objeto que implemente la API DataProvider puede utilizarse como un proveedor de datos para una cuadrcula de datos (incluidos las matrices, los juegos de datos y los juegos de registros de Flash Remoting). Por ejemplo, consulte DataSet.dataProvider en la pgina 404. Use un proveedor de datos de la cuadrcula para la comunicacin con los datos de la cuadrcula; el proveedor de datos funcionar de forma coherente, a pesar de la posicin de desplazamiento.
Ejemplo
En el ejemplo siguiente, se crea una matriz que se utilizar como proveedor de datos y se le asigna directamente la propiedad dataProvider:
my_dg.dataProvider = [{name:"Chris", price:"Priceless"}, {name:"Nigel", price:"cheap"}];
En el ejemplo siguiente, se crea un nuevo objeto Array con la API DataProvider. Utiliza un bucle for para aadir 20 elementos a la cuadrcula:
var myDP:Array = new Array(); for (var i=0; i<20; i++) myDP.addItem({id:i, name:"Dave", price:"Priceless"}); my_dg.dataProvider = myDP
302
Componente DataGrid
DataGrid.editable
Disponibilidad
Descripcin
Propiedad; determina si el usuario puede editar la cuadrcula de datos (true) o no (false). Esta propiedad debe ser true para que puedan editarse columnas individuales y puedan seleccionarse celdas. El valor predeterminado es false. Si desea no permitir la edicin de columnas individuales, use la propiedad
DataGridColumn.editable.
P R E C A UC I N
El componente DataGrid no se podr editar ni ordenar si se vincula directamente a un componente WebServiceConnector o XMLConnector. Debe vincular el componente DataGrid con el componente DataSet y vincular el componente DataSet con el componente WebServiceConnector o XMLConnector si desea que la cuadrcula se pueda editar u ordenar.
Ejemplo
En el ejemplo siguiente, se permite a los usuarios editar todas las columnas de la cuadrcula excepto la primera. Con una instancia del componente DataGrid denominada my_dg en el escenario, pegue el siguiente cdigo en el primer fotograma de la lnea de tiempo principal:
my_dg.setSize(140, 100); // Aadir columnas a la cuadrcula y aadir datos. my_dg.addColumn("a"); my_dg.addColumn("b"); my_dg.addItem({a:"one", b:1}); my_dg.addItem({a:"two", b:2}); // Hacer que DataGrid sea editable. my_dg.editable = true; // Hacer que la primera columna sea de slo lectura. my_dg.getColumnAt(0).editable = false;
Vase tambin
DataGridColumn.editable
DataGrid.editable
303
DataGrid.editField()
Disponibilidad
Parmetros
index colName
ndice de la celda de destino. El valor est basado en cero. Cadena que indica el nombre de la columna (campo) que contiene la celda de
destino.
data Valor que debe almacenarse en la celda de destino. Este parmetro puede ser cualquier tipo de datos.
Valor devuelto
Mtodo; reemplaza los datos de celda en la ubicacin especificada y actualiza la cuadrcula de datos con el nuevo valor. En cualquier celda presente para ese valor se activar el mtodo setValue().
Ejemplo
En el siguiente ejemplo, se coloca un valor en la cuadrcula de la primera fila de la primera columna (valor de ndice 0) al hacer clic en el botn. Con una instancia del componente DataGrid denominada my_dg y una instancia del componente Button denominada my_btn en el escenario, pegue el siguiente cdigo en el primer fotograma de la lnea de tiempo principal:
my_dg.setSize(140, 100); // Configurar datos de ejemplo. my_dg.dataProvider = [{name:"Clark", score:3135}, {name:"Bruce", score:403}, {name:"Peter", score:25}]; // Crear un objeto detector. var btnListener:Object = new Object(); btnListener.click = function() { //Reemplazar el primer campo con valores nuevos. my_dg.editField(0, "name", "Arthur"); }; // Aadir un detector de botn. my_btn.addEventListener("click", btnListener);
304 Componente DataGrid
DataGrid.focusedCell
Disponibilidad
Descripcin
Propiedad; nicamente en el modo editable, instancia de objeto que define la celda que est seleccionada. El objeto debe tener los campos columnIndex e itemIndex, los cuales son nmeros enteros que indican el ndice de la columna y el elemento de la celda. El origen es (0,0). El valor predeterminado es undefined.
Ejemplo
En el ejemplo siguiente, se establece la celda seleccionada en la segunda columna, decimoprimera fila (con el nmero 10 porque la primera fila es la 0). Como no es posible acceder a las celdas hasta que haya terminado de dibujarse el componente DataGrid, utilice UIObject.doLater() para provocar una demora mediante la propiedad focusedCell:
// Crear un proveedor de datos con 3 columnas y 50 filas. var myDP:Array = new Array(); for (var i=0; i<50; i++) myDP.addItem({id:i, name:"Dave", price:"Priceless"}); // Asignar el proveedor de datos a la instancia de DataGrid y establecerlo // como editable. my_dg.dataProvider = myDP; my_dg.editable = true; /* Utilizar UIObject.doLater() en la lnea de tiempo actual para llamar a la funcin despus que la cuadrcula de datos haya establecido todas sus propiedades.*/ my_dg.doLater(this, "select"); function select() { my_dg.focusedCell = {columnIndex:1, itemIndex:10}; }
DataGrid.focusedCell
305
DataGrid.getColumnAt()
Disponibilidad
Parmetros
index
ndice del objeto DataGridColumn que debe devolverse. El valor est basado en cero.
Valor devuelto
Un objeto DataGridColumn.
Descripcin
En el ejemplo siguiente, se coloca el objeto DataGridColumn en el ndice 0 y se cambia el texto. Con una instancia del componente DataGrid denominada my_dg y una instancia del componente Button denominada my_btn en el escenario, pegue el siguiente cdigo en el primer fotograma de la lnea de tiempo principal:
my_dg.setSize(140, 100); // Configurar datos de ejemplo. my_dg.dataProvider = [{name:"Clark", score:3135}, {name:"Bruce", score:403}, {name:"Peter", score:25}]; // Crear un objeto detector. var btnListener:Object = new Object(); btnListener.click = function() { // Colocar columna en ubicacin 0. var a_dgc = my_dg.getColumnAt(0); // Cambiar texto de encabezado. a_dgc.headerText = "c"; }; // Aadir un detector de botn. my_btn.addEventListener("click", btnListener);
306
Componente DataGrid
DataGrid.getColumnIndex()
Disponibilidad
Parmetros
columnName
Valor devuelto
En el ejemplo siguiente, se muestra el nmero de ndice de la columna score. Con una instancia del componente DataGrid denominada my_dg en el escenario, pegue el siguiente cdigo en el primer fotograma de la lnea de tiempo principal:
my_dg.setSize(150, 100); // Configurar datos de ejemplo. var myDP_array:Array = new Array(); myDP_array.push({name:"Clark", score:3135}); myDP_array.push({name:"Bruce", score:403}); myDP_array.push({name:"Peter", score:25}); my_dg.dataProvider = myDP_array; var column_num:Number = my_dg.getColumnIndex("score"); trace("Column that has name of 'score': " + column_num);
DataGrid.getColumnIndex()
307
DataGrid.headerHeight
Disponibilidad
Descripcin
Propiedad; altura de la barra de encabezado de la cuadrcula de datos, en pxeles. El valor predeterminado es 20.
Ejemplo
En el ejemplo siguiente, se define la altura de la barra de encabezado en 40. Con una instancia del componente DataGrid en el escenario denominada my_dg, pegue el siguiente cdigo en el primer fotograma de la lnea de tiempo principal:
// Definir atributos de cuadrcula. my_dg.setSize(240, 100); my_dg.spaceColumnsEqually(); // Configurar datos de ejemplo. var myDP_array:Array = new Array(); myDP_array.push({name:"Clark", score:3135}); myDP_array.push({name:"Bruce", score:403}); myDP_array.push({name:"Peter", score:25}); my_dg.dataProvider = myDP_array; my_dg.headerHeight = 40;
308
Componente DataGrid
DataGrid.headerRelease
Disponibilidad
Descripcin
Evento; se difunde a todos los detectores registrados cuando se libera un encabezado de columna. Puede utilizar este evento con la propiedad DataGridColumn.sortOnHeaderRelease para que no se ordene automticamente, sino que se realice segn se desee. Los componentes utilizan un modelo de evento distribuidor/detector. Cuando el componente DataGrid distribuye un evento headerRelease, ste se controla mediante una funcin (tambin denominada controlador) asociada con el objeto detector (listenerObject) que crea el usuario. Llame al mtodo addEventListener() y pase el nombre del controlador como parmetro. Cuando se activa el evento, ste pasa automticamente un objeto de evento (eventObject) al controlador. Cada objeto de evento tiene propiedades que contienen informacin sobre el evento. Estas propiedades sirven para escribir el cdigo que controla el evento. El objeto del evento DataGrid.headerRelease tiene dos propiedades adicionales:
columnIndex type
Cadena headerRelease.
DataGrid.headerRelease
309
Ejemplo
En el ejemplo siguiente, se define un controlador denominado myListener y se pasa al mtodo grid.addEventListener() como segundo parmetro. El objeto del evento se captura mediante el controlador headerRelease en el parmetro eventObject. Cuando se difunde el evento headerRelease, se enva una sentencia trace al panel Salida.
var myListener = new Object(); myListener.headerRelease = function(event) { trace("column " + event.columnIndex + " header was pressed"); }; grid.addEventListener("headerRelease", myListener);
En el ejemplo siguiente, se cambia el sentido de ordenacin mediante una columna. Con una instancia del componente DataGrid denominada my_dg en el escenario, pegue el siguiente cdigo en el primer fotograma de la lnea de tiempo principal:
var my_dg:mx.controls.DataGrid; my_dg.setSize(150, 100); my_dg.spaceColumnsEqually(); var myListener:Object = new Object(); myListener.headerRelease = function(evt:Object) { trace("column "+evt.columnIndex+" header was pressed"); trace("\t current sort order is: "+evt.target.sortDirection); trace(""); }; my_dg.addEventListener("headerRelease", myListener); my_dg.addColumn("a"); my_dg.addColumn("b"); my_dg.addItem({a:'one', b:1}); my_dg.addItem({a:'two', b:2});
Puede establecer si la ordenacin es ascendente o descendente accediendo a la propiedad sortDirection. La propiedad sortDirection es una cadena que puede tener el valor ASC o DESC.
310
Componente DataGrid
DataGrid.hScrollPolicy
Disponibilidad
Descripcin
Propiedad; especifica si la cuadrcula de datos tiene una barra de desplazamiento horizontal. Esta propiedad puede tener el valor on, off o auto. El valor predeterminado es off. Si establece hScrollPolicy en off, las columnas se escalarn de forma proporcional y se adaptarn a la anchura finita.
NO TA
Esto es distinto que en el componente List, en el que no se puede establecer hScrollPolicy en auto.
Ejemplo
En el ejemplo siguiente, se establece la poltica de desplazamiento horizontal en automtica, que significa que la barra de desplazamiento horizontal aparece si es necesario mostrar todo el contenido:
my_dg.setSize(150, 100); // Aadir columnas a la cuadrcula y aadir datos. var myDP_array:Array = new Array(); myDP_array.push({name:"Clark", score:3135}); myDP_array.push({name:"Bruce", score:403}); myDP_array.push({name:"Peter", score:25}); my_dg.dataProvider = myDP_array; my_dg.hScrollPolicy = "on";
DataGrid.hScrollPolicy
311
DataGrid.removeAllColumns()
Disponibilidad
Parmetros
Ninguno.
Valor devuelto
Ninguno.
Descripcin
Mtodo; elimina todos los objetos DataGridColumn de la cuadrcula de datos. La llamada a este mtodo no afecta al proveedor de datos. Se debe llamar a este mtodo si se est configurando un nuevo proveedor de datos con campos distintos de los del proveedor de datos anterior y se desea borrar los campos mostrados.
Ejemplo
En el ejemplo siguiente, se eliminan todos los objetos DataGridColumn del componente DataGrid al hacer clic en el botn. Con una instancia del componente DataGrid denominada my_dg y una instancia del componente Button denominada clear_button en el escenario, pegue el siguiente cdigo en el primer fotograma de la lnea de tiempo principal:
my_dg.setSize(140, 100); my_dg.move(10, 40); this.createClassObject(mx.controls.Button, "clear_button", 20, {label:"Clear"}); clear_button.move(10, 10); // Configurar datos de ejemplo. var myDP_array:Array = new Array(); myDP_array.push({name:"Clark", score:3135}); myDP_array.push({name:"Bruce", score:403}); myDP_array.push({name:"Peter", score:25}); my_dg.dataProvider = myDP_array; var buttonListener:Object = new Object(); buttonListener.click = function (evt_obj:Object) { my_dg.removeAllColumns(); } clear_button.addEventListener("click", buttonListener);
312 Componente DataGrid
DataGrid.removeColumnAt()
Disponibilidad
Parmetros
index
Valor devuelto
En el ejemplo siguiente, se elimina el primer objeto DataGridColumn cuando se hace clic en el botn. Con una instancia del componente DataGrid denominada my_dg y una instancia del componente Button denominada name_button en el escenario, pegue el siguiente cdigo en el primer fotograma de la lnea de tiempo principal:
my_dg.setSize(140, 100); my_dg.move(10, 40); name_button.setSize(140, name_button.height); name_button.move(10, 10); // Configurar datos de ejemplo. var myDP_array:Array = new Array(); myDP_array.push({name:"Clark", score:3135}); myDP_array.push({name:"Bruce", score:403}); myDP_array.push({name:"Peter", score:25}); my_dg.dataProvider = myDP_array; // Crear un objeto detector. var buttonListener:Object = new Object(); buttonListener.click = function(evt_obj:Object) { my_dg.removeColumnAt(my_dg.getColumnIndex("name")); evt_obj.target.enabled = false; }; // Aadir un detector de botn. name_button.addEventListener("click", buttonListener);
DataGrid.removeColumnAt()
313
DataGrid.replaceItemAt()
Disponibilidad
Parmetros
index item
ndice del elemento que se va a reemplazar. Objeto que es el valor de elemento que se va a utilizar como sustitucin.
Valor devuelto
El valor anterior.
Descripcin
En el ejemplo siguiente, se reemplaza el elemento en el ndice de fila 2 por entradas nuevas. Con una instancia del componente DataGrid denominada my_dg y una instancia del componente Button denominada replace_button en el escenario, pegue el siguiente cdigo en el primer fotograma de la lnea de tiempo principal:
my_dg.setSize(140, 100); my_dg.move(10, 40); replace_button.move(10, 10); // Configurar datos de ejemplo. var myDP_array:Array = new Array(); myDP_array.push({name:"Clark", score:3135}); myDP_array.push({name:"Bruce", score:403}); myDP_array.push({name:"Peter", score:25}); my_dg.dataProvider = myDP_array; // Crear un objeto detector. var buttonListener:Object = new Object(); buttonListener.click = function(evt_obj:Object) {
314
Componente DataGrid
//Reemplazar valor anterior var prevValue_obj:Object = my_dg.replaceItemAt(2, {name:"Frank", score:949}); my_dg.selectedIndex = 2; }; // Aadir un detector de botn. replace_button.addEventListener("click", buttonListener);
DataGrid.resizableColumns
Disponibilidad
Descripcin
Propiedad; valor booleano que determina si el usuario puede (true) o no puede (false) expandir las columnas de la cuadrcula. Esta propiedad debe ser true para que el usuario pueda cambiar el tamao de columnas individuales. El valor predeterminado es true.
Ejemplo
En el ejemplo siguiente, se impide a los usuarios la posibilidad de cambiar el tamao de las columnas. Con una instancia del componente DataGrid denominada my_dg en el escenario, pegue el siguiente cdigo en el primer fotograma de la lnea de tiempo principal:
my_dg.setSize(140, 100); // Configurar datos de ejemplo. var myDP_array:Array = new Array(); myDP_array.push({name:"Clark", score:3135}); myDP_array.push({name:"Bruce", score:403}); myDP_array.push({name:"Peter", score:25}); my_dg.dataProvider = myDP_array; // No permitir que se cambie el tamao de las columnas. my_dg.resizableColumns = false;
DataGrid.resizableColumns
315
DataGrid.selectable
Disponibilidad
Descripcin
Propiedad; valor booleano que determina si el usuario puede seleccionar una cuadrcula de datos (true) o no (false). El valor predeterminado es true. Si se devuelve el valor false, un elemento de la cuadrcula no permanece seleccionado cuando el usuario hace clic en el elemento y mueve el puntero.
Ejemplo
En el ejemplo siguiente, se impide seleccionar la cuadrcula. Con una instancia del componente DataGrid denominada my_dg en el escenario, pegue el siguiente cdigo en el primer fotograma de la lnea de tiempo principal:
my_dg.setSize(140, 100); // Configurar datos de ejemplo. var myDP_array:Array = new Array(); myDP_array.push({name:"Clark", score:3135}); myDP_array.push({name:"Bruce", score:403}); myDP_array.push({name:"Peter", score:25}); my_dg.dataProvider = myDP_array; my_dg.selectable = false;
316
Componente DataGrid
DataGrid.showHeaders
Disponibilidad
Descripcin
Propiedad; valor booleano que determina si la cuadrcula de datos muestra los encabezados de columna (true) o no (false). Los encabezados de columna aparecen sombreados para distinguirlos de las dems filas de la cuadrcula. El usuario puede hacer clic en un encabezado de columna para ordenar el contenido de dicha columna si el valor de DataGrid.sortableColumns se establece en true. El valor predeterminado de showHeaders es true.
Ejemplo
Vase tambin
DataGrid.sortableColumns
DataGrid.showHeaders
317
DataGrid.sortableColumns
Disponibilidad
Descripcin
Propiedad; valor booleano que determina si las columnas de una cuadrcula de datos pueden ordenarse (true) o no (false) cuando el usuario hace clic en un encabezado de columna. Esta propiedad debe ser true para que se pueda ordenar columnas individuales y para que se difunda el evento headerRelease. El valor predeterminado es true.
PRECAUCIN 318
El componente DataGrid no se podr editar ni ordenar si se vincula directamente a un componente WebServiceConnector o XMLConnector. Debe vincular el componente DataGrid con el componente DataSet y vincular el componente DataSet con el componente WebServiceConnector o XMLConnector si desea que la cuadrcula se pueda editar u ordenar.
Ejemplo
Vase tambin
DataGrid.headerRelease
Componente DataGrid
DataGrid.spaceColumnsEqually()
Disponibilidad
Parmetros
Ninguno.
Valor devuelto
Ninguno.
Descripcin
En el ejemplo siguiente, se vuelven a espaciar las columnas de my_dg al hacer clic en el botn. Con una instancia del componente DataGrid denominada my_dg y una instancia del componente Button denominada resize_button en el escenario, pegue el siguiente cdigo en el primer fotograma de la lnea de tiempo principal:
my_dg.move(10, 40); my_dg.setSize(200, 100); resize_button.move(10, 10); resize_button.setSize(200, resize_button.height); my_dg.addColumn("guitar"); my_dg.addColumn("name"); // Configurar datos de ejemplo. my_dg.addItem({guitar:"Flying V", name:"maggot"}); my_dg.addItem({guitar:"SG", name:"dreschie"}); my_dg.addItem({guitar:"jagstang", name:"vitapup"}); // Crear un objeto detector. var buttonListener:Object = new Object(); buttonListener.click = function() { my_dg.spaceColumnsEqually(); }; // Aadir un detector de botn. resize_button.addEventListener("click", buttonListener);
DataGrid.spaceColumnsEqually()
319
Clase DataGridColumn
Nombre de clase de ActionScript
mx.controls.gridclasses.DataGridColumn
Se pueden crear y configurar objetos DataGridColumn para utilizarlos como columnas de una cuadrcula de datos. Muchos de los mtodos de la clase DataGrid tienen la funcin de administrar objetos DataGridColumn. Los objetos DataGridColumn se almacenan en una matriz basada en cero en la cuadrcula de datos, donde 0 indica la columna situada en el extremo izquierdo. Despus de aadir o crear columnas, puede acceder a dichas columnas llamando a DataGrid.getColumnAt(index). Existen tres formas de aadir o crear columnas en una cuadrcula. Si desea configurar las columnas, es mejor utilizar el segundo o el tercer mtodo antes de aadir datos a la cuadrcula, de manera que no haya que crear las columnas dos veces.
Aada un proveedor de datos o un elemento con varios campos a una cuadrcula en la que no se haya configurado ningn objeto DataGridColumn. De este modo, se generarn automticamente columnas en cada campo en orden inverso al del bucle for..in. Por ejemplo, para una instancia de DataGrid denominada my_dg:
my_dg.dataProvider = [{guitar:"Flying V", name:"maggot"}, {guitar:"SG", name:"dreschie"}, {guitar:"jagstang", name:"vitapup"}]; Utilice DataGrid.columnNames para crear los nombres de campo de los campos de
elemento deseados y generar en orden objetos DataGridColumn para cada uno de los campos enumerados. Este sistema permite seleccionar y ordenar columnas rpidamente, lo cual reduce al mnimo las necesidades de configuracin. Adems, se elimina la informacin anterior de las columnas. Por ejemplo, para una instancia de DataGrid denominada my_dg:
my_dg.columnNames = ["guitar","name"];
Genere previamente los objetos DataGridColumn y adalos a la cuadrcula de datos mediante DataGrid.addColumn(). Este mtodo es til, y el ms flexible, porque permite aadir columnas con el tamao y formato adecuados antes de que las columnas se incluyan en la cuadrcula (con lo que se reduce el consumo de recursos del procesador). Para ms informacin, consulte Constructor de la clase DataGridColumn en la pgina 322. Por ejemplo, para una instancia de DataGrid denominada my_dg:
// Crear un objeto de columna. var location_dgc:DataGridColumn = new DataGridColumn("Location"); location_dgc.width = 100; // Aadir una columna a DataGrid. my_dg.addColumn(location_dgc);
320
Componente DataGrid
Descripcin
Identificador de la vinculacin de un smbolo que se va a utilizar para mostrar las celdas de la columna. Slo lectura; el nombre del campo asociado a la columna. Valor booleano que indica si la columna es editable (true) o no (false). Nombre de una clase que se utilizar para mostrar el encabezado de la columna. Texto del encabezado de la columna. Funcin que determina qu campo de un elemento va a mostrarse. Valor booleano que indica si puede cambiarse el tamao de la columna (true) o no (false). Valor booleano que indica si la columna puede ordenarse (true) o no (false). (true) o no (false) cuando un usuario hace clic en un encabezado de columna.
DataGridColumn.columnName
DataGridColumn.editable
DataGridColumn.headerRenderer
DataGridColumn.headerText DataGridColumn.labelFunction
DataGridColumn.resizable
DataGridColumn.sortable
DataGridColumn.width
Clase DataGridColumn
321
Parmetros
Cadena que indica el nombre del objeto DataGridColumn. Este parmetro corresponde al campo que se mostrar de cada elemento.
name
Valor devuelto
Ninguno.
Descripcin
Constructor; crea un objeto DataGridColumn. Utilice este constructor para crear columnas y aadirlas al componente DataGrid. Despus de crear objetos DataGridColumn podr aadirlos a la cuadrcula de datos mediante una llamada a DataGrid.addColumn().
Ejemplo
322
Componente DataGrid
DataGridColumn.cellRenderer
Disponibilidad
Descripcin
Propiedad; identificador de la vinculacin de un smbolo que se va a utilizar para mostrar las celdas de la columna. Todas las clases que se utilicen con esta propiedad deben implementar la API CellRenderer (consulte Interfaz API CellRenderer en la pgina 113). El valor predeterminado es undefined.
Ejemplo
En el ejemplo siguiente, se utiliza un identificador de vinculacin para definir un nuevo procesador de celdas:
myGrid.getColumnAt(3).cellRenderer = "MyCellRenderer";
DataGridColumn.columnName
Disponibilidad
Descripcin
Propiedad (slo lectura); nombre del campo asociado con la columna. El valor predeterminado es el nombre al que se llama en el constructor DataGridColumn.
DataGridColumn.columnName
323
Ejemplo
Vase tambin
324
Componente DataGrid
DataGridColumn.editable
Disponibilidad
Descripcin
Propiedad; determina si el usuario puede editar la columna (true) o no (false). La propiedad DataGrid.editable debe tener un valor de true para que puedan editarse las distintas columnas, incluso cuando el valor de DataGridColumn.editable sea true. El valor predeterminado es true.
PRECAUCIN
El componente DataGrid no se podr editar ni ordenar si se vincula directamente a un componente WebServiceConnector o XMLConnector. Debe vincular el componente DataGrid con el componente DataSet y vincular el componente DataSet con el componente WebServiceConnector o XMLConnector si desea que la cuadrcula se pueda editar u ordenar.
Ejemplo
En el ejemplo siguiente, se impide que se puedan editar los elementos de la primera columna de una cuadrcula:
// Definir atributos de cuadrcula. my_dg.setSize(150, 100); my_dg.editable = true; // Aadir columnas a la cuadrcula. my_dg.addColumn("name"); my_dg.addColumn("score"); // Configurar datos de ejemplo. my_dg.addItem({name:"Clark", score:3135}); my_dg.addItem({name:"Bruce", score:403}); my_dg.addItem({name:"Peter", score:25}); // No permitir que la primera columna sea editable. my_dg.getColumnAt(0).editable = false;
Vase tambin
DataGrid.editable
DataGridColumn.editable
325
DataGridColumn.headerRenderer
Disponibilidad
Descripcin
Propiedad; cadena que indica el nombre de clase que se utilizar para mostrar el encabezado de la columna. Todas las clases que se utilicen con esta propiedad deben implementar la API CellRenderer (consulte Interfaz API CellRenderer en la pgina 113). El valor predeterminado es undefined.
Ejemplo
En el ejemplo siguiente, se utiliza un identificador de vinculacin para definir un nuevo procesador de encabezados:
myGrid.getColumnAt(3).headerRenderer = "MyHeaderRenderer";
DataGridColumn.headerText
Disponibilidad
Descripcin
Propiedad; texto del encabezado de la columna. El valor predeterminado es el nombre de la columna. Esta propiedad permite mostrar algo ms que el nombre del campo como encabezado.
326
Componente DataGrid
Ejemplo
DataGridColumn.labelFunction
Disponibilidad
Descripcin
Propiedad; especifica una funcin para determinar qu campo (o combinacin de campos) de cada elemento va a mostrarse. Esta funcin recibe un parmetro item, que es el elemento que se va a representar, y debe devolver una cadena que represente el texto que va a mostrarse. Esta propiedad puede utilizarse para crear columnas virtuales que no tengan campos equivalentes en el elemento.
N OT A
DataGridColumn.labelFunction
327
Ejemplo
DataGridColumn.resizable
Disponibilidad
Descripcin
Propiedad; valor booleano que determina si el usuario puede cambiar el tamao de la columna (true) o no (false). Para que esta propiedad pueda aplicarse, el valor de la propiedad DataGrid.resizableColumns debe establecerse en true. El valor predeterminado es true.
328
Componente DataGrid
Ejemplo
DataGridColumn.sortable
Disponibilidad
Descripcin
Propiedad; valor booleano que indica si el usuario puede ordenar una columna (true) o no (false). Para que esta propiedad pueda aplicarse, el valor de la propiedad DataGrid.sortableColumns debe establecerse en true. El valor predeterminado es true.
PR EC A U CIN
El componente DataGrid no se podr editar ni ordenar si se vincula directamente a un componente WebServiceConnector o XMLConnector. Debe vincular el componente DataGrid con el componente DataSet y vincular el componente DataSet con el componente WebServiceConnector o XMLConnector si desea que la cuadrcula se pueda editar u ordenar.
DataGridColumn.sortable
329
Ejemplo
DataGridColumn.sortOnHeaderRelease
Disponibilidad
Descripcin
Propiedad; valor booleano que indica si la columna se ordenar automticamente cuando el usuario haga clic en el encabezado (true) o no (false). El valor de esta propiedad slo puede ser true si el de DataGridColumn.sortable es true. Si el valor de DataGridColumn.sortOnHeaderRelease est establecido en false, el usuario puede capturar el evento headerRelease para realizar su propia ordenacin. El valor predeterminado es true.
PRECAUCIN 330
El componente DataGrid no se podr editar ni ordenar si se vincula directamente a un componente WebServiceConnector o XMLConnector. Debe vincular el componente DataGrid con el componente DataSet y vincular el componente DataSet con el componente WebServiceConnector o XMLConnector si desea que la cuadrcula se pueda editar u ordenar.
Componente DataGrid
Ejemplo
DataGridColumn.width
Disponibilidad
Descripcin
Propiedad; nmero que indica la anchura de la columna, expresada en pxeles. El valor predeterminado es 50.
Ejemplo
DataGridColumn.width
331
332
Componente DataGrid
CAPTULO 11
Componente DataHolder
El componente DataHolder es un depsito para datos y un medio de generar eventos cuando se modifican dichos datos. Su funcin principal consiste en almacenar datos y actuar como conector entre otros componentes que utilizan vinculacin de datos.
NO T A
11
El componente DataHolder slo es compatible si trabaja con un documento que especifique ActionScript 2.0 en la Configuracin de publicacin.
Inicialmente, el componente DataHolder tiene una nica propiedad que puede vincularse denominada data. Es posible aadir ms propiedades con la ficha Esquema del inspector de componentes. Para ms informacin sobre el uso del esquema, consulte Trabajo con esquemas en Utilizacin de Flash. El usuario puede asignar cualquier tipo de datos a una propiedad DataHolder, ya sea creando una vinculacin entre los datos y otra propiedad o utilizando su propio cdigo ActionScript. Cuando el valor de los datos cambia, el componente DataHolder emite un evento cuyo nombre coincide con el de la propiedad y se ejecutan las vinculaciones asociadas con dicha propiedad. En la mayora de los casos, no utilizar este componente para crear una aplicacin. Slo es necesario cuando no pueda vincular datos externos directamente a otro componente y no desee utilizar un componente DataSet. El componente DataHolder resulta de utilidad cuando no es posible vincular componentes directamente entre s (por ejemplo conectores, componentes de interfaz de usuario o componentes DataSet). A continuacin se muestran algunos supuestos en los que se utiliza un componente DataHolder: Si un valor de datos se genera mediante ActionScript, es posible que haya que vincularlo a otros componentes. En este caso, puede obtenerse un componente DataHolder que contenga propiedades vinculadas de la forma deseada. Cuando se asignen nuevos valores a esas propiedades (mediante ActionScript, por ejemplo), dichos valores se distribuirn al objeto que est vinculado a los datos.
333
Es posible que exista un valor de datos resultante de una vinculacin de datos indexada compleja, como se muestra en el diagrama siguiente.
En este caso, es conveniente vincular el valor de datos a un componente DataHolder (denominado DataModel en esta ilustracin) y, a continuacin, utilizarlo para realizar vinculaciones a la interfaz de usuario.
N OT A 334
El componente DataHolder no est pensado para tener el mismo tipo de control sobre los datos que el componente DataSet. No administra ni rastrea datos y tampoco puede actualizarlos. Es un repositorio para almacenar datos y generar eventos cuando se modifican estos datos.
Componente DataHolder
Seleccione Archivo > Nuevo y, a continuacin, Archivo Flash (ActionScript 2.0). Abra el panel Componentes, arrastre un componente DataHolder al escenario y asgnele el nombre dataHolder. Arrastre un componente DataGrid al escenario y asgnele el nombre namesGrid. Seleccione el componente DataHolder y abra el inspector de componentes. Haga clic en la ficha Esquema del inspector de componentes. Haga clic en el botn Aadir una propiedad de componente (+) situado en el panel superior de la ficha Esquema. En el panel inferior de la ficha Esquema, escriba namesArray en el campo de nombre y seleccione Array en el men emergente de tipo de datos. Haga clic en la ficha Vinculaciones del inspector de componentes y aada una vinculacin entre la propiedad namesArray del componente DataHolder y la propiedad dataProvider del componente DataGrid. Para ms informacin sobre la creacin de vinculaciones con la ficha Vinculaciones, consulte Trabajo con vinculaciones en Utilizacin de Flash.
3. 4. 5. 6.
7.
8.
9.
En la lnea de tiempo, seleccione el primer fotograma de la capa 1 y abra el panel Acciones. el cdigo siguiente en el panel Acciones:
dataHolder.namesArray = [{name:"Tim"},{name:"Paul"},{name:"Jason"}];
10. Introduzca
Con este cdigo se llena la matriz namesArray con varios objetos. Cuando se ejecuta esta asignacin de variables, se ejecuta tambin la vinculacin que se estableci con anterioridad entre el componente DataHolder y el componente DataGrid.
11.
335
Clase DataHolder
Herencia
El componente DataHolder es un repositorio para datos y un medio de generar eventos cuando se modifican dichos datos. Su funcin principal consiste en almacenar datos y actuar como conector entre otros componentes que utilizan vinculacin de datos. Inicialmente, el componente DataHolder tiene una nica propiedad que puede vincularse denominada data. Es posible aadir ms propiedades con la ficha Esquema del inspector de componentes.
Descripcin
Propiedad vinculable predeterminada del componente DataHolder.
DataHolder.data
Disponibilidad
Descripcin
Propiedad; elemento predeterminado del esquema de un objeto DataHolder. Esta propiedad no es una parte permanente del componente DataHolder. Se trata, por el contrario, de una propiedad vinculable predeterminada para cada instancia del componente. El usuario puede aadir propiedades vinculables propias o eliminar la propiedad data predeterminada utilizando la ficha Esquema del inspector de componentes. Para ms informacin sobre el uso de la ficha Esquema, consulte Trabajo con esquemas en Utilizacin de Flash.
336
Componente DataHolder
Ejemplo
Para ver un ejemplo paso a paso de cmo utilizar este componente, consulte Creacin de aplicaciones con el componente DataHolder en la pgina 335. En el cdigo siguiente, se muestra un ejemplo simple de cmo rellenar el componente DataHolder con datos que son variables. Para probar la aplicacin, es necesario introducir un valor en el campo de entrada de texto y hacer clic en la instancia addDate_btn, que aade el valor al componente DataHolder. Haga clic en la instancia dumpDataHolder_btn para rastrear el contenido del componente DataHolder.
// Arrastrar dos componentes Button al escenario (addDate_btn y dumpDataHolder_btn), un TextInput (myDate_txt) y un DataHolder (myDataHolder). Aadir el siguiente cdigo ActionScript al fotograma 1: var dhListener:Object = new Object(); dhListener.click = function() { trace("dumping DataHolder"); trace(" " + myDataHolder.myDate); trace(""); }; var dateListener:Object = new Object(); dateListener.click = function() { myDataHolder.myDate = myDate_txt.text; trace("added value"); }; this.dumpDataHolder_btn.addEventListener("click", dhListener); this.addDate_btn.addEventListener("click", dateListener);
DataHolder.data
337
338
Componente DataHolder
CAPTULO 12
12
La API CellRenderer slo es compatible si trabaja con un documento que especifique ActionScript 2.0 en la Configuracin de publicacin.
Clase DataProvider
Nombre de clase de ActionScript
mx.controls.listclasses.DataProvider
Los mtodos de la clase DataProvider permiten consultar y modificar datos de los componentes que muestren datos (tambin denominados vistas). La interfaz API de DataProvider tambin difunde eventos change si cambian los datos. Distintas vistas pueden utilizar el mismo proveedor de datos y recibir eventos change. Un proveedor de datos es una coleccin lineal (como una matriz) de elementos. Cada elemento es un objeto compuesto de muchos campos de datos. Se puede acceder a cada elemento a travs del ndice (tal como se hara en una matriz) mediante DataProvider.getItemAt(). Los proveedores de datos suelen utilizarse con matrices. Los componentes para datos aplican todos los mtodos de la interfaz API de DataProvider a Array.prototype cuando hay un objeto Array en el mismo fotograma o en la misma pantalla donde est el componente para datos. De esta forma, se puede utilizar una matriz existente como datos para vistas que tengan una propiedad dataProvider.
339
Gracias a la interfaz API de DataProvider, los componentes que permiten obtener vistas de datos (DataGrid, List, Tree, etc.) tambin pueden mostrar objetos RecordSet de Flash Remoting y datos del componente DataSet. La interfaz API de DataProvider es el lenguaje con el que los componentes para datos se comunican con sus proveedores de datos. En la documentacin de Adobe Flash, DataProvider es el nombre de la clase, dataProvider es una propiedad de cada componente que permite obtener una vista de los datos y proveedor de datos es la expresin genrica que se emplea para indicar el origen de datos.
Descripcin
Aade un elemento al final del proveedor de datos. Aade un elemento al proveedor de datos en la posicin especificada. Cambia un campo del proveedor de datos. de datos.
DataProvider.editField()
DataProvider.getItemAt()
Obtiene una referencia para el elemento en una posicin especificada. Devuelve el ID exclusivo del elemento. Elimina todos los elementos de un proveedor de datos. Elimina un elemento del proveedor de datos en una posicin especificada. Sustituye por otro el elemento de una posicin especificada. Ordena los elementos en el proveedor de datos segn una funcin de comparacin u opciones de clasificacin. Ordena los elementos del proveedor de datos alfabtica o numricamente, en el orden especificado, mediante el nombre de campo especificado.
DataProvider.replaceItemAt() DataProvider.sortItems()
DataProvider.sortItemsBy()
340
Descripcin
Nmero de elementos de un proveedor de datos.
Descripcin
Se difunde cuando cambia el proveedor de datos.
DataProvider.addItem()
Disponibilidad
Parmetros
item
Valor devuelto
Ninguno.
Descripcin
Mtodo; aade un elemento nuevo al final del proveedor de datos. Este mtodo activa el evento modelChanged con el nombre de evento addItems.
Ejemplo
DataProvider.addItem()
341
DataProvider.addItemAt()
Disponibilidad
Parmetros
index
Nmero igual o mayor que 0. Este nmero indica la posicin en la que se debe insertar el elemento; es el ndice del nuevo elemento. Objeto que contiene los datos del elemento.
item
Valor devuelto
Ninguno.
Descripcin
Mtodo; aade un nuevo elemento al proveedor de datos en el ndice especificado. Se omiten los ndices cuya longitud sea mayor que la del proveedor de datos. Este mtodo activa el evento modelChanged con el nombre de evento addItems.
Ejemplo
342
DataProvider.editField()
Disponibilidad
Parmetros
index
Nmero mayor o igual que 0; el ndice del elemento. Cadena que indica el nombre de campo del elemento que se modificar. Nuevos datos que se colocarn en el proveedor de datos.
fieldName newData
Valor devuelto
Ninguno.
Descripcin
Mtodo; cambia un campo del proveedor de datos. Este mtodo activa el evento modelChanged con el nombre de evento updateField.
Ejemplo
DataProvider.editField()
343
DataProvider.getEditingData()
Disponibilidad
Parmetros
Nmero mayor o igual que 0 y menor que DataProvider.length. Este nmero es el ndice del elemento que debe recuperarse.
index fieldName
Valor devuelto
Mtodo; recupera los datos para su edicin desde un proveedor de datos. De esta forma el modelo de datos puede proporcionar distintos formatos de datos para su edicin y visualizacin.
Ejemplo
Con el cdigo siguiente se obtiene una cadena editable para el campo de precio:
trace(myDP.getEditingData(4, "price");
344
DataProvider.getItemAt()
Disponibilidad
Parmetros
Nmero mayor o igual que 0 y menor que DataProvider.length. Este nmero es el ndice del elemento que debe recuperarse.
index
Valor devuelto
DataProvider.getItemAt()
345
DataProvider.getItemID()
Disponibilidad
Parmetros
index
Valor devuelto
Mtodo; devuelve un ID exclusivo del elemento. Este mtodo se emplea principalmente en el seguimiento de una seleccin. Este ID se utiliza en componentes para datos con el fin de conservar listas de los elementos que estn seleccionados.
Ejemplo
346
DataProvider.length
Disponibilidad
Descripcin
En este ejemplo, se enva al panel Salida una cantidad de elementos equivalente al nmero especificado en el proveedor de datos myArray:
trace(myArray.length);
DataProvider.modelChanged
Disponibilidad
Descripcin
Evento; se difunde a todos los detectores de vistas cuando se modifica el proveedor de datos. Normalmente, un detector se aade a un modelo mediante la asignacin de su propiedad dataProvider.
DataProvider.modelChanged
347
Los componentes utilizan un modelo de evento distribuidor/detector. Cuando el proveedor de datos experimenta algn cambio, difunde un evento modelChanged y los componentes para datos lo capturan para actualizar sus vistas, de forma que queden reflejados los cambios que hayan sufrido los datos. El objeto del evento Menu.modelChanged tiene cinco propiedades adicionales:
eventName La propiedad eventName se utiliza para dividir los eventos modelChanged en subcategoras. Los componentes para datos utilizan esta informacin para evitar tener que actualizar completamente la instancia (vista) del componente que est utilizando el proveedor de datos. La propiedad eventName admite los siguientes valores: updateAll Es necesario actualizar toda la vista, excluida la posicin de desplazamiento. addItems Se ha aadido una serie de elementos. removeItems Se ha eliminado una serie de elementos. updateItems Es necesario actualizar una serie de elementos. sort Se han ordenado los datos. updateField Un campo de un elemento debe cambiarse y actualizarse. updateColumn Es necesario actualizar la definicin de la totalidad de un campo del proveedor de datos. filterModel El modelo se ha filtrado y es necesario actualizar la vista (restablecer la posicin de desplazamiento). schemaLoaded Se ha declarado la definicin del campo del proveedor de datos. firstItem ndice del primer elemento afectado. lastItem ndice del ltimo elemento afectado. El valor es igual al de firstItem si se ve afectado un nico elemento. removedIDs Matriz de los identificadores de elemento que se han eliminado. fieldName Cadena que indica el nombre del campo que se ver afectado.
En el ejemplo siguiente, se define un controlador denominado listener y luego se pasa a addEventListener() como segundo parmetro. El controlador modelChanged captura el objeto de evento en el parmetro evt. Cuando se difunde el evento modelChanged, se enva una sentencia trace al panel Salida.
listener = new Object(); listener.modelChanged = function(evt){ trace(evt.eventName); } myList.addEventListener("modelChanged", listener);
348
DataProvider.removeAll()
Disponibilidad
Parmetros
Ninguno.
Valor devuelto
Ninguno.
Descripcin
Mtodo; elimina todos los elementos del proveedor de datos. Este mtodo activa el evento modelChanged con el nombre de evento removeItems.
Ejemplo
DataProvider.removeItemAt()
Disponibilidad
Parmetros
index
Nmero mayor o igual que 0. Este nmero es el ndice del elemento que se va a
eliminar.
DataProvider.removeItemAt()
349
Valor devuelto
Ninguno.
Descripcin
Mtodo; elimina el elemento del ndice especificado. Los ndices que se encuentran despus del ndice eliminado se contraern una posicin. Este mtodo activa el evento modelChanged con el nombre de evento removeItems.
Ejemplo
DataProvider.replaceItemAt()
Disponibilidad
Parmetros
index
Nmero mayor o igual que 0. Este nmero es el ndice del elemento que se va a Objeto que es el nuevo elemento.
cambiar.
item
Valor devuelto
Ninguno.
Descripcin
Mtodo; sustituye el contenido del elemento en el ndice especificado. Este mtodo activa el evento modelChanged con el nombre de evento updateItems.
Ejemplo
En este ejemplo, se sustituye el elemento del ndice 3 por el elemento que tiene la etiqueta new label:
myDP.replaceItemAt(3, {label : "new label"});
350
DataProvider.sortItems()
Disponibilidad
Flash Player 7.
Edicin
Parmetros
Referencia a una funcin que se utiliza para comparar dos elementos y determinar su orden de clasificacin. Para ms informacin, consulte el mtodo Array.sort() en Referencia del lenguaje ActionScript 2.0. Este parmetro es opcional.
compareFunc optionsFlag
Permite realizar muchos tipos distintos de ordenaciones en una nica matriz sin necesidad de duplicar toda la matriz ni de volver a ordenarla repetidas veces. Este parmetro es opcional. Los valores posibles de optionsFlag son:
Array.DESCENDING,
que ordena de mayor a menor. que ordena sin distinguir entre maysculas y minsculas.
Array.CASEINSENSITIVE, Array.NUMERIC,
que ordena numricamente si los dos elementos comparados son nmeros. Si no se trata de nmeros, utilice la comparacin de cadenas, que se puede realizar sin distinguir entre maysculas y minsculas si se ha especificado esa etiqueta.
Array.UNIQUESORT, que devuelve un cdigo de error (0) en lugar de una matriz ordenada si dos objetos de la matriz son idnticos o lo son sus campos de ordenacin. Array.RETURNINDEXEDARRAY, que devuelve una matriz de ndice de nmero entero que es
el resultado de la ordenacin. Por ejemplo, la siguiente matriz devolvera la segunda lnea de cdigo y la matriz no cambiara:
["a", "d", "c", "b"] [0, 3, 2, 1]
Estas opciones se pueden combinar en un nico valor. Por ejemplo, en el cdigo siguiente se combinan las opciones 3 y 1:
array.sort (Array.NUMERIC | Array.DESCENDING)
Valor devuelto
Ninguno.
DataProvider.sortItems()
351
Descripcin
Mtodo; ordena los elementos del proveedor de datos segn la funcin de comparacin especificada o una o varias opciones de clasificacin especificadas. Este mtodo activa el evento modelChanged con el nombre de evento sort.
Ejemplo
En este ejemplo, la ordenacin se basa en las etiquetas en maysculas. Los elementos a y b se pasan a la funcin y contienen campos label y data:
myList.sortItems(upperCaseFunc); function upperCaseFunc(a,b){ return a.label.toUpperCase() > b.label.toUpperCase(); }
DataProvider.sortItemsBy()
Disponibilidad
Flash Player 7.
Edicin
Parmetros
fieldName
Cadena que especifica el nombre del campo que se va a utilizar para la ordenacin. Normalmente, este valor es label o data.
order
Cadena que especifica si los elementos deben clasificarse en orden ascendente (ASC) o descendente (DESC).
optionsFlag
Permite realizar muchos tipos distintos de ordenaciones en una nica matriz sin necesidad de duplicar toda la matriz ni de volver a ordenarla repetidas veces. Este parmetro es opcional.
352
Array.DESCENDING:
Array.CASEINSENSITIVE:
no se trata de nmeros, utilice la comparacin de cadenas, que se puede realizar sin distinguir entre maysculas y minsculas si se ha especificado esa etiqueta.
Array.UNIQUESORT:
si dos objetos de la matriz son idnticos o lo son sus campos de ordenacin, este mtodo devuelve un cdigo de error (0) en lugar de una matriz ordenada.
Array.RETURNINDEXEDARRAY: devuelve una matriz de ndice de nmero entero que es el resultado de la ordenacin. Por ejemplo, la siguiente matriz devolvera la segunda lnea de cdigo y la matriz no cambiara: ["a", "d", "c", "b"] [0, 3, 2, 1]
Estas opciones se pueden combinar en un nico valor. Por ejemplo, en el cdigo siguiente se combinan las opciones 3 y 1:
array.sort (Array.NUMERIC | Array.DESCENDING)
Valor devuelto
Ninguno.
Descripcin
Mtodo; ordena los elementos del proveedor de datos en el orden especificado mediante el nombre de campo especificado. Si los elementos de fieldName son una combinacin de cadenas de texto y enteros, los enteros aparecen en primer lugar. El parmetro fieldName suele ser label o data, pero los programadores avanzados pueden especificar cualquier valor primitivo. Este mtodo activa el evento modelChanged con el nombre de evento sort. sta es la forma ms rpida para ordenar datos en un componente. Tambin mantiene el estado de seleccin del componente. El mtodo sortItemsBy() es rpido porque no ejecuta ningn cdigo ActionScript mientras ordena. El mtodo sortItems() necesita ejecutar una funcin de comparacin de ActionScript y, por tanto, es ms lento.
Ejemplo
En el cdigo siguiente, los elementos de una lista se ordenan en sentido ascendente por sus etiquetas:
myDP.sortItemsBy("label", "ASC");
DataProvider.sortItemsBy()
353
354
CAPTULO 13
Componente DateChooser
El componente DateChooser es un calendario que permite a los usuarios seleccionar una fecha. Tiene botones que permiten al usuario desplazarse por los meses y hacer clic en cualquier fecha para seleccionarla. Pueden establecerse parmetros que indican el nombre del mes y del da, el primer da de la semana o las fechas desactivadas. Tambin es posible resaltar la fecha actual.
N OT A
13
El componente DateChooser slo es compatible si trabaja con un documento que especifique ActionScript 2.0 en la Configuracin de publicacin.
La previsualizacin dinmica de cada instancia de DateChooser refleja los valores indicados durante la edicin en el inspector de propiedades o el inspector de componentes.
Parmetros de DateChooser
A continuacin se indican los parmetros de edicin que se pueden definir para cada instancia del componente DateChooser en el inspector de propiedades o el inspector de componentes (opcin de men Ventana > Inspector de componentes): establece el nombre de los das de la semana. El valor es una matriz y el valor predeterminado es [S, M, T, W, T, F, S].
dayNames disabledDays
indica los das de la semana que estn desactivados. Este parmetro es una matriz que puede tener hasta siete valores. El valor predeterminado es [] (matriz vaca).
355
firstDayOfWeek
indica el da de la semana que se muestra en la primera columna de selector de fechas (0-6, con 0 como primer elemento de la matriz de dayNames). Esta propiedad cambia el orden de visualizacin de las columnas de los das.
monthNames establece el nombre de los meses que se muestran en la fila de encabezado del calendario. El valor es una matriz y el valor predeterminado es [January, February, March, April, May, June, July, August, September, October,November, December]. showToday
A continuacin se indican los parmetros adicionales que se pueden definir para cada instancia del componente DateChooser en el inspector componentes (Ventana > Inspector de componentes):
enabled
es un valor booleano que indica si el componente acepta selecciones y entradas. El valor predeterminado es true.
visible es un valor booleano que indica si el objeto es visible (true) o no (false). El valor predeterminado es true.
N OT A 356
Las propiedades minHeight y minWidth se utilizan en rutinas internas de cambio de tamao. Se definen en UIObject y se sustituyen por distintos componentes segn convenga. Estas propiedades pueden utilizarse si se crea un administrador de diseo personalizado en la aplicacin. De lo contrario, establecer estas propiedades en el inspector de componentes no producir ningn efecto visible.
Puede escribir cdigo ActionScript para controlar stas y otras opciones adicionales para los componentes de DateChooser utilizando sus propiedades, mtodos y eventos. Para ms informacin, consulte Clase DateChooser en la pgina 362.
Componente DateChooser
Seleccione Archivo > Nuevo y, a continuacin, Archivo Flash (ActionScript 2.0). En el panel Componentes, haga doble clic en el componente DateChooser para aadirlo al escenario. En el inspector de propiedades, introduzca el nombre de instancia flightCalendar. En el panel Acciones, introduzca el cdigo siguiente en el fotograma 1 de la lnea de tiempo para establecer un rango de fechas seleccionables:
flightCalendar.selectableRange = {rangeStart:new Date(2003, 9, 15), rangeEnd:new Date(2003, 11, 31)}
3. 4.
Este cdigo asigna un valor a la propiedad selectableRange de un objeto ActionScript que contenga dos objetos Date con los nombres de variable rangeStart y rangeEnd. De esta forma, se definen los lmites superior e inferior de un rango dentro del cual el usuario puede seleccionar una fecha.
5.
En el panel Acciones, introduzca el cdigo siguiente en el fotograma 1 de la lnea de tiempo para establecer un rango de fechas desactivadas de das festivos:
flightCalendar.disabledRanges = [{rangeStart: new Date(2003, 11, 15), rangeEnd: new Date(2003, 11, 26)}];
6.
En el panel Acciones, introduzca el cdigo siguiente en el fotograma 1 de la lnea de tiempo para que los lunes queden desactivados:
flightCalendar.disabledDays=[1];
7.
Para crear una instancia del componente DateChooser mediante cdigo ActionScript:
1. 2.
Seleccione Archivo > Nuevo y, a continuacin, Archivo Flash (ActionScript 2.0). Arrastre el componente DateChooser desde el panel Componentes a la biblioteca del documento actual. Seleccione el primer fotograma de la lnea de tiempo principal, abra el panel Acciones e introduzca el cdigo siguiente:
this.createClassObject(mx.controls.DateChooser, "my_dc", 1);
3.
Este script utiliza el mtodo UIObject.createClassObject() en la pgina 1458 para crear la instancia DateChooser y, a continuacin, cambia de tamao y coloca la cuadrcula.
4.
357
Tema
Halo
Descripcin
Color de la iluminacin cuando las fechas estn seleccionadas y se pasa el puntero sobre ellas. Los valores posibles son haloGreen, haloBlue y haloOrange. El valor predeterminado es haloGreen. Color del fondo. El valor predeterminado es 0xEFEBEF (gris claro). Color del borde. El valor predeterminado es 0x919999. El componente DateChooser utiliza una lnea slida de un solo pxel como borde. Este borde no puede modificarse con estilos o aspectos.
backgroundColor
Ambos Ambos
borderColor
headerColor
Ambos Ambos
El color de fondo para el encabezado del componente. El color predeterminado es blanco. Color de fondo de una fecha por la que se desplaza el puntero. El valor predeterminado es 0xE3FFD6 (verde brillante) con el tema Halo y 0xAAAAAA (gris claro) con el tema Sample.
rollOverColor
358
Componente DateChooser
Estilo
selectionColor
Tema
Ambos
Descripcin
Color de fondo de la fecha seleccionada. El valor predeterminado es 0xCDFFC1 (verde claro) con el tema Halo y 0xEEEEEE (gris muy claro) con el tema Sample. El color de fondo para la fecha de hoy. El valor predeterminado es 0x666666 (gris oscuro). Color del texto. El valor predeterminado es 0x0B333C para el tema Halo y en blanco para el tema Sample. Color del texto cuando el componente est desactivado. El color predeterminado es 0x848384 (gris oscuro). Valor booleano que indica si la fuente especificada en fontFamily es una fuente incorporada. Este estilo debe definirse como true si fontFamily hace referencia a una fuente incorporada. De lo contrario, no se utiliza la fuente incorporada. Si el estilo se define como true y fontFamily no hace referencia a una fuente incorporada, no se muestra ningn texto. El valor predeterminado es false. Nombre de la fuente del texto. El valor predeterminado es _sans. Tamao de la fuente en puntos. El valor predeterminado es 10. Estilo de la fuente: puede ser normal o italic. El valor predeterminado es normal. Grosor de la fuente: puede ser none o bold. El valor predeterminado es none. Todos los componentes pueden aceptar adems el valor normal en lugar de none durante una llamada a setStyle(), pero las llamadas posteriores a getStyle() devolvern none. Decoracin del texto: puede ser none o underline. El valor predeterminado es none.
todayColor
color
disabledColor
embedFonts
fontFamily
fontSize
fontStyle
fontWeight
textDecoration
Ambos
359
El componente DateChooser utiliza cuatro categoras de texto para mostrar el nombre del mes, los das de la semana, la fecha de hoy y las fechas habituales. Las propiedades de estilo de texto establecidas en el componente DateChooser controlan el texto de la fecha habitual y proporcionan estilos predeterminados para los dems textos. Si se desea establecer estilos de texto para categoras de texto especficas, es necesario utilizar las siguientes declaraciones de estilo de clase.
Nombre de la declaracin
HeaderDateText WeekDayStyle TodayStyle
Descripcin
Nombre del mes. Das de la semana. Fecha de hoy.
En el ejemplo siguiente, se muestra cmo establecer el nombre del mes y los das de la semana en rojo oscuro.
_global.styles.HeaderDateText.setStyle("color", 0x660000); _global.styles.WeekDayStyle.setStyle("color", 0x660000);
Descripcin
Estado sin presionar del botn de mes anterior. El valor predeterminado es backMonthUp. Estado presionado del botn de mes anterior. El valor predeterminado es backMonthDown. Estado desactivado del botn de mes anterior. El valor predeterminado es backMonthDisabled.
backMonthButtonDownSymbolName
backMonthButtonDisabledSymbolName
360
Componente DateChooser
Propiedad
fwdMonthButtonUpSymbolName
Descripcin
Estado sin presionar del botn de mes siguiente. El valor predeterminado es fwdMonthUp. Estado presionado del botn de mes siguiente. El valor predeterminado es fwdMonthDown. Estado desactivado del botn de mes siguiente. El valor predeterminado es fwdMonthDisabled.
fwdMonthButtonDownSymbolName
fwdMonthButtonDisabledSymbolName
Los smbolos de botn se utilizan exactamente as, sin aplicar colores ni cambiar tamaos. El tamao lo determina el smbolo durante la edicin.
Para crear smbolos de clip de pelcula para aspectos de DateChooser:
1. 2.
Seleccione Archivo > Nuevo y, a continuacin, Archivo Flash (ActionScript 2.0). Seleccione Archivo > Importar > Abrir biblioteca externa y, a continuacin, seleccione el archivo HaloTheme.fla. Este archivo se encuentra en la carpeta de configuracin a nivel de la aplicacin. Para saber cul es la ubicacin exacta en el sistema operativo, consulte Temas en Utilizacin de componentes ActionScript 2.0.
3.
En el panel Biblioteca del tema, expanda la carpeta Flash UI Components 2/Themes/ MMDefault y arrastre la carpeta DateChooser Assets a la biblioteca del documento. Expanda la carpeta DateChooser Assets/States de la biblioteca del documento. Abra los smbolos que desea personalizar. Por ejemplo, abra el smbolo backMonthDown. Personalice el smbolo como desee. Por ejemplo, cambie el color de la flecha a rojo. Repita los pasos 5 y 6 en todos los smbolos que desee personalizar. Por ejemplo, cambie el color del smbolo abajo de flecha siguiente para que coincida con la flecha anterior.
4. 5.
6.
7.
8. 9.
Haga clic en el botn Atrs para volver a la lnea de tiempo principal. Arrastre un componente DateChooser al escenario.
361
10. Seleccione
N OT A 362 N OT A
La carpeta DateChooser Assets/States tambin contiene una carpeta de aspectos diarios con un nico elemento de aspecto, cal_todayIndicator. Este elemento puede modificarse durante la edicin para personalizar el indicador de fecha de hoy. Sin embargo, no puede cambiarse dinmicamente en una instancia de DataChooser particular para utilizar un smbolo diferente. Adems, el smbolo cal_todayIndicator debe ser un grfico de un nico color slido porque el componente DateChooser aplicar el color todayColor al grfico como un todo. El grfico puede tener recortes, pero hay que recordar que el color de texto predeterminado para la fecha de hoy es el blanco y que el color de fondo para el componente DateChooser es el blanco, por lo que un recorte en mitad del elemento de aspecto del indicador de fecha de hoy hara imposible la lectura de la fecha de hoy, a menos que se cambiara el color de fondo o el color de texto de la misma.
Clase DateChooser
Herencia
MovieClip > Clase UIObject > Clase UIComponent > DateChooser mx.controls.DateChooser
Las propiedades de la clase DateChooser permiten acceder a la fecha seleccionada y al mes y da mostrados. Tambin se puede indicar el nombre de los das y los meses, las fechas desactivadas y seleccionables, establecer el primer da de la semana y decidir si debe resaltarse o no la fecha actual. Si una propiedad de la clase DateChooser se define con ActionScript, sustituye al parmetro del mismo nombre definido en el inspector de propiedades o el inspector de componentes. Cada clase de componente tiene una propiedad version que es una propiedad de clase. Las propiedades de clase slo estn disponibles en la propia clase. La propiedad version devuelve una cadena que indica la versin del componente. Para acceder a esta propiedad, utilice el cdigo siguiente:
trace(mx.controls.DateChooser.version); El cdigo trace(myDC.version); devuelve undefined.
Componente DateChooser
Crea un subobjeto en un objeto. Elimina una instancia de componente. Llama a una funcin cuando se han establecido parmetros en el inspector de propiedades y el inspector de componentes. Obtiene la propiedad de estilo de la declaracin de estilo o del objeto. Marca el objeto de forma que se pueda volver a dibujar en el siguiente intervalo de fotogramas. Mueve el objeto a la posicin indicada. Fuerza la validacin del objeto, de forma que se pueda dibujar sobre el fotograma actual. Cambia el tamao del objeto al indicado. Define un aspecto en el objeto. Define la propiedad de estilo en la declaracin de estilo o en el objeto.
UIObject.getStyle()
UIObject.invalidate()
UIObject.move() UIObject.redraw()
Descripcin
Devuelve una referencia al objeto seleccionado. Define la seleccin en la instancia de componente.
Clase DateChooser
363
Descripcin
Matriz que indica el nombre de los das de la semana. Matriz que indica los das de la semana desactivados para todas las fechas aplicables del selector de fechas. Rango de fechas desactivadas o fecha nica desactivada. Nmero que indica un elemento de la matriz monthNames para mostrarlo en el selector de fechas. Nmero que indica el ao que se mostrar. Nmero que indica un elemento de la matriz dayNames que se mostrar en la primera columna del selector de fechas. Matriz de cadenas que indica el nombre de los meses.
DateChooser.disabledRanges DateChooser.displayedMonth
DateChooser.displayedYear DateChooser.firstDayOfWeek
DateChooser.monthNames
Objeto Date que indica la fecha seleccionada. Valor booleano que indica si debe resaltarse o no la fecha actual.
Descripcin
Posicin del borde inferior del objeto con respecto al borde inferior de su elemento principal correspondiente. Slo lectura. Altura del objeto, expresada en pxeles. Slo lectura. Borde izquierdo del objeto, expresado en pxeles. Slo lectura. Posicin del borde derecho del objeto con respecto al borde derecho de su elemento principal correspondiente. Slo lectura. Nmero que indica el factor de escala en la direccin x del objeto con respecto a su elemento principal correspondiente.
UIObject.height UIObject.left
UIObject.right
UIObject.scaleX
364
Componente DateChooser
Propiedad
UIObject.scaleY
Descripcin
Nmero que indica el factor de escala en la direccin y del objeto con respecto a su elemento principal correspondiente. Posicin del borde superior del objeto con respecto a su elemento principal correspondiente. Slo lectura. Valor booleano que indica si el objeto es visible (true) o no (false). Anchura del objeto, expresada en pxeles. Slo lectura. Borde izquierdo del objeto, expresado en pxeles. Slo lectura. Borde superior del objeto, expresado en pxeles. Slo lectura.
UIObject.top
UIObject.visible
UIObject.width UIObject.x
UIObject.y
Descripcin
Indica si el componente puede recibir selecciones y entradas. Nmero que indica el orden de tabulacin para un componente de un documento.
Descripcin
Se difunde cuando se selecciona una fecha. Se difunde cuando se hace clic en los botones de mes.
Clase DateChooser
365
Descripcin
Se difunde cuando un objeto est a punto de dibujar sus grficos. Se difunde cuando el estado de un objeto pasa de ser visible a invisible. Se difunde cuando se crean subobjetos. Se difunde cuando se mueve el objeto. Se difunde cuando cambia el tamao de un objeto. Se difunde cuando el estado de un objeto pasa de ser invisible a visible. Se difunde durante la descarga de los subobjetos.
UIObject.hide
UIObject.unload
Descripcin
Se difunde cuando se selecciona un objeto. Se difunde cuando un objeto deja de seleccionarse. Se difunde cuando se presiona una tecla. Se difunde cuando se suelta una tecla.
366
Componente DateChooser
DateChooser.change
Disponibilidad
Sintaxis 1:
var listenerObject:Object = new Object(); listenerObject.change = function(eventObject:Object) { // ... }; dateChooserInstance.addEventListener("change", listenerObject);
Sintaxis 2:
on (change) { //... }
Descripcin
Evento; se difunde a todos los detectores registrados cuando se selecciona una fecha. El primer ejemplo de sintaxis utiliza un modelo de eventos distribuidor/detector. Una instancia de componente (dataChooserInstance) distribuye un evento (en este caso, change) y ste se controla mediante una funcin, tambin denominada controlador, asociada con el objeto detector (listenerObject) que crea el usuario. Se define un mtodo con el mismo nombre que el evento del objeto detector; se llama al mtodo cuando se activa el evento. Cuando se activa el evento, ste pasa automticamente un objeto de evento (eventObject) al mtodo del objeto detector. Cada objeto de evento tiene propiedades que contienen informacin sobre el evento. Estas propiedades sirven para escribir el cdigo que controla el evento. Finalmente, se llama al mtodo EventDispatcher.addEventListener() de la instancia del componente que difunde el evento para registrar el detector con la instancia. Cuando la instancia distribuya el evento, se llamar al detector. Para ms informacin, consulte Clase EventDispatcher en la pgina 527. El segundo ejemplo de sintaxis utiliza un controlador on() que debe asociarse directamente con una instancia de DateChooser. La palabra clave this, utilizada en un controlador on() asociado con un componente, hace referencia a la instancia del componente. Por ejemplo, el cdigo siguiente, asociado con el selector de fechas my_dc, enva _level0.my_dc al panel Salida:
on (change) { trace(this); }
DateChooser.change
367
Ejemplo
Este ejemplo, escrito en un fotograma de la lnea de tiempo, enva un mensaje al panel Salida cuando se cambia una instancia de DateChooser denominada my_dc. La primera lnea de cdigo crea un objeto detector denominado form. La segunda lnea define una funcin para el evento change en el objeto detector. Dentro de la funcin hay una sentencia trace() que utiliza el objeto de evento pasado automticamente a la funcin, en este ejemplo eventObj, para generar un mensaje. La propiedad target de un objeto de evento es el componente que ha generado el evento (en este ejemplo my_dc).
//Crear un objeto detector. var dcListener:Object = new Object(); dcListener.change = function(evt_obj:Object) { var thisDate:Date = evt_obj.target.selectedDate; trace("date selected: " + thisDate); }; // Aadir objeto detector al selector de fecha. my_dc.addEventListener("change", dcListener);
DateChooser.dayNames
Disponibilidad
Descripcin
Propiedad; matriz que contiene el nombre de los das de la semana. El domingo es el primer da (en la posicin de ndice 0) y el resto de los nombres de da siguen en el orden habitual. El valor predeterminado es [S, M, T, W, T, F, S].
Ejemplo
368
Componente DateChooser
DateChooser.disabledDays
Disponibilidad
Descripcin
Propiedad; matriz que indica cules son los das de la semana que estn desactivados. Todas las fechas del mes que coincidan con el da especificado quedarn desactivadas. Los valores de los elementos de esta matriz pueden estar comprendidos entre el 0, para el domingo, y el 6, para el sbado. El valor predeterminado es [] (matriz vaca).
Ejemplo
En el ejemplo siguiente, se desactivan los domingos y los sbados de forma que los usuarios slo puedan seleccionar el resto de los das:
my_dc.disabledDays = [0, 6];
DateChooser.disabledRanges
Disponibilidad
DateChooser.disabledRanges
369
Descripcin
Propiedad; desactiva un nico da o un rango de das. Esta propiedad es una matriz de objetos. Cada objeto de la matriz debe ser un objeto Date, que especifique una fecha nica para desactivarla, o bien un objeto que contenga las propiedades rangeStart y rangeEnd (o al menos una de ellas), cuyos valores deben ser un objeto Date. Las propiedades rangeStart y rangeEnd describen los lmites del rango de fechas. Si se omite alguna de dichas propiedades, el rango quedar abierto por la fecha correspondiente. El valor predeterminado de disabledRanges es undefined. Especifique una fecha completa al definir fechas para la propiedad disabledRanges. Por ejemplo, especifique new Date(2003,6,24) en lugar de new Date(). Si no se especifica una fecha completa, el objeto Date devuelve la fecha y hora actuales. Si no se especifica una hora, la hora devuelta es 00:00:00.
Ejemplo
En el ejemplo siguiente, se define una matriz con los objetos Date rangeStart y rangeEnd, que desactivan las fechas comprendidas entre el 7 de mayo y el 7 de junio:
my_dc.disabledRanges = [{rangeStart: new Date(2003, 4, 7), rangeEnd: new Date(2003, 5, 7)}];
DateChooser.displayedMonth
Disponibilidad
370
Componente DateChooser
Descripcin
Propiedad; nmero que indica el mes que se visualiza. El nmero indica un elemento de la matriz monthNames, donde 0 indica el primer mes. El valor predeterminado es el mes correspondiente a la fecha actual.
Ejemplo
Vase tambin
DateChooser.displayedYear
DateChooser.displayedYear
Disponibilidad
Descripcin
Propiedad; nmero de cuatro dgitos que indica el ao que se visualiza. El valor predeterminado es el ao actual.
Ejemplo
Vase tambin
DateChooser.displayedMonth
DateChooser.displayedYear
371
DateChooser.firstDayOfWeek
Disponibilidad
Descripcin
Propiedad; nmero que indica el da de la semana (de 0 a 6, donde 0 indica el primer elemento de la matriz dayNames) que se visualiza en la primera columna del componente DateChooser. Si se cambia esta propiedad se cambiar el orden de las columnas de da pero no se modificar el orden de la propiedad dayNames. El valor predeterminado es 0 (domingo).
Ejemplo
Vase tambin
DateChooser.dayNames
372
Componente DateChooser
DateChooser.monthNames
Disponibilidad
Descripcin
Propiedad; matriz de cadenas que indica los nombres de mes en la parte superior del componente DateChooser. El valor predeterminado es [January, February,
March, April, May, June, July, August, September, October, November, December].
Ejemplo
DateChooser.scroll
Disponibilidad
Sintaxis 1:
var listenerObject:Object = new Object(); listenerObject.scroll = function(eventObject:Object) { //... } dateChooserInstance.addEventListener("scroll", listenerObject)
Sintaxis 2:
on (scroll) { //... }
DateChooser.scroll
373
Descripcin
Evento; se difunde a todos los detectores registrados cuando se hace clic en un botn de mes. El primer ejemplo de sintaxis utiliza un modelo de eventos distribuidor/detector. Una instancia de componente (myDC) distribuye un evento (en este caso, scroll) y ste se controla mediante una funcin, tambin denominada controlador, asociada con el objeto detector (listenerObject) que crea el usuario. Se define un mtodo con el mismo nombre que el evento del objeto detector; se llama al mtodo cuando se activa el evento. Cuando se activa el evento, ste pasa automticamente un objeto de evento (eventObject) al mtodo del objeto detector. Cada objeto de evento tiene propiedades que contienen informacin sobre el evento. Estas propiedades sirven para escribir el cdigo que controla el evento. El objeto de evento del evento scroll tiene una propiedad adicional, detail, que puede tener uno de los valores siguientes: nextMonth, previousMonth, nextYear, previousYear. Finalmente, se llama al mtodo EventDispatcher.addEventListener() de la instancia del componente que difunde el evento para registrar el detector con la instancia. Cuando la instancia distribuya el evento, se llamar al detector. Para ms informacin, consulte Clase EventDispatcher en la pgina 527. El segundo ejemplo de sintaxis utiliza un controlador on() que debe asociarse directamente con una instancia de DateChooser. La palabra clave this, utilizada en un controlador on() asociado con un componente, hace referencia a la instancia del componente. Por ejemplo, el cdigo siguiente, asociado con el selector de fechas myDC, enva _level0.myDC al panel Salida:
on (scroll) { trace(this); }
Ejemplo
En este ejemplo, escrito en un fotograma de la lnea de tiempo, se enva un mensaje al panel Salida cuando se hace clic en un botn de mes en una instancia de DateChooser denominada my_dc. La primera lnea de cdigo crea un objeto detector denominado form. La segunda lnea define una funcin para el evento scroll en el objeto detector. Dentro de la funcin hay una sentencia trace() que utiliza el objeto de evento pasado automticamente a la funcin, en este ejemplo evt_obj, para generar un mensaje.
//Crear un objeto detector. var dcListener:Object = new Object(); dcListener.scroll = function(evt_obj:Object) { trace(evt_obj.detail); }; // Aadir objeto detector al selector de fecha. my_dc.addEventListener("scroll", dcListener);
374
Componente DateChooser
DateChooser.selectableRange
Disponibilidad
Descripcin
Propiedad; establece una fecha nica seleccionable o un rango de fechas seleccionables. El usuario no puede desplazarse fuera del rango seleccionable. El valor de esta propiedad es un objeto compuesto por dos objetos Date denominados rangeStart y rangeEnd. Las propiedades rangeStart y rangeEnd describen los lmites del rango de fechas seleccionables. Si slo se define rangeStart, se activarn todas las fechas posteriores a la sealada en rangeStart. Si slo se define rangeEnd, se activarn todas las fechas anteriores a la sealada en rangeEnd. El valor predeterminado es undefined. Si lo que se desea es activar un nico da, puede utilizarse un nico objeto Date como valor de selectableRange. Especifique una fecha completa cuando defina fechas, por ejemplo, new Date(2003,6,24) en lugar de new Date(). Si no se especifica una fecha completa, el objeto Date devuelve la fecha y hora actuales. Si no se especifica una hora, la hora devuelta es 00:00:00. El valor de DateChooser.selectedDate queda establecido como undefined si cae fuera del rango seleccionable. Los valores de DateChooser.displayedMonth y DateChooser.displayedYear se establecen en el ltimo mes ms prximo del rango seleccionable si el mes actual cae fuera de dicho rango. Por ejemplo, si el mes que se muestra como actual es agosto (August) y el rango seleccionable comprende el periodo que va desde junio de 2003 a julio de 2003, el mes que se mostrar cambiar a julio de 2003 (July).
DateChooser.selectableRange
375
Ejemplo
En el ejemplo siguiente, se define como rango seleccionable las fechas comprendidas entre el 7 de mayo y el 7 de junio, ambas inclusive:
my_dc.selectableRange = {rangeStart: new Date(2001, 4, 7), rangeEnd: new Date(2003, 5, 7)};
En el ejemplo siguiente, se define como rango seleccionable el 7 de mayo y las fechas posteriores a ese da:
my_dc.selectableRange = {rangeStart: new Date(2005, 4, 7)};
En el ejemplo siguiente, se define como rango seleccionable el 7 de junio y las fechas anteriores a ese da:
my_dc.selectableRange = {rangeEnd: new Date(2005, 5, 7)};
DateChooser.selectedDate
Disponibilidad
Descripcin
Propiedad; objeto Date que indica la fecha seleccionada si el valor se encuentra dentro del valor especificado en la propiedad selectableRange. El valor predeterminado es undefined. No es posible establecer la propiedad selectedDate dentro de un rango desactivado, fuera de un rango seleccionable ni en un da que se ha desactivado. Si se establece esta propiedad en una de estas fechas, el valor es undefined.
Ejemplo
376
Componente DateChooser
DateChooser.showToday
Disponibilidad
Descripcin
Propiedad; valor booleano que indica si debe resaltarse o no la fecha actual. El valor predeterminado es true.
Ejemplo
DateChooser.showToday
377
378
Componente DateChooser
CAPTULO 14
CAPTULO 14
Componente DataSet
El componente DataSet permite al usuario trabajar con datos como colecciones de objetos con los que se pueden realizar operaciones tales como indexar, ordenar, buscar, filtrar y modificar.
N OT A
14
El componente DataSet slo es compatible si trabaja con un documento que especifique Flash Player 7 o posterior y ActionScript 2.0 en la Configuracin de publicacin.
Entre las funciones del componente DataSet estn DataSetIterator, un conjunto de mtodos que permite atravesar y manipular una coleccin de datos, y DeltaPacket, un conjunto de interfaces y clases que permiten trabajar con actualizaciones de colecciones de datos. En la mayora de los casos, dichas clases e interfaces no se utilizan directamente sino indirectamente mediante mtodos establecidos por la clase DataSet. Los elementos administrados por el componente DataSet tambin se denominan objetos de transferencia. Un objeto de transferencia muestra los datos de negocio que se encuentran en el servidor con atributos pblicos o mtodos de descriptores de acceso para la lectura y escritura de datos. El componente DataSet permite a los desarrolladores trabajar con objetos sofisticados de la parte del cliente que reflejan su correspondiente de la parte del servidor; o, en su forma ms sencilla, una coleccin de objetos annimos con atributos pblicos que representan los campos de un registro de datos. Para obtener informacin ms detallada sobre los objetos de transferencia, consulte Core J2EE Patterns Transfer Object en http://java.sun.com/blueprints/corej2eepatterns/Patterns/TransferObject.html.
379
Parmetros de DataSet
Se pueden establecer los siguientes parmetros para el componente DataSet:
itemClassName es una cadena que indica el nombre de la clase del objeto de transferencia para el que se genera una instancia cada vez que se crea un elemento nuevo en el componente DataSet.
El componente DataSet utiliza objetos de transferencia para representar los datos que se recuperan de un origen de datos externo. Si deja este parmetro en blanco, el juego de datos crea un objeto de transferencia annimo. Si le asigna un valor a este parmetro, el juego de datos crea una instancia para el objeto de transferencia cuando se aaden nuevos datos.
N OT A 388
Debe realizar una referencia completa a esta clase en algn lugar del cdigo para asegurarse de que se compila en la aplicacin (como private var myItem:my.package.myItem;).
logChanges es un valor booleano que se establece de forma predeterminada como true. Si este parmetro se establece como true, el juego de datos registra todos los cambios realizados en sus datos y cualquier llamada de mtodo efectuada en los objetos de transferencia asociados.
readOnly es un valor booleano que se establece de forma predeterminada como false. Si se establece este parmetro como true, el juego de datos no puede modificarse.
Puede escribir cdigo ActionScript para utilizar las propiedades, mtodos y eventos del componente DataSet para controlar estas opciones y otras adicionales. Para ms informacin, consulte Clase DataSet en la pgina 384.
Confirme que se especifica ActionScript 2.0 en la Configuracin de publicacin. Aada una instancia del componente DataSet a su aplicacin y asgnele un nombre de instancia. Seleccione la ficha Esquema para el componente DataSet y cree propiedades de componente para representar los campos continuos del juego de datos. Cargue el componente DataSet con datos de un origen de datos externo. (Para ms informacin, consulte Carga de datos en el componente DataSet en Utilizacin de Flash.) Utilice la ficha Vinculaciones del inspector de componentes para vincular los campos del juego de datos a componentes de la interfaz de usuario de su aplicacin. Los controles de interfaz de usuario se notifican cuando se seleccionan o modifican registros (objetos de transferencia) en el componente DataSet y se actualizan como corresponde. Adems, el componente DataSet recibe notificacin de los cambios realizados en el control de la interfaz de usuario; el juego de datos lleva a cabo un seguimiento de dichos cambios, que pueden extraerse con un paquete delta.
3.
4.
5.
6.
Llame a los mtodos del componente DataSet en su aplicacin para administrar los datos.
N OT A
Adems de estos pasos, tambin puede vincular el componente DataSet a un componente Connector o Resolver para obtener una solucin completa para acceder, administrar y actualizar datos de un origen de datos externo.
DataSet.loadFromSharedObj()
385
Seleccione Archivo > Nuevo y, a continuacin, Archivo Flash (ActionScript 2.0). En el panel Componentes, arrastre un componente DataSet desde el panel Componentes hasta el escenario. En el inspector de propiedades, asgnele el nombre de instancia user_ds. Arrastre un componente DataGrid al escenario y asgnele el nombre de instancia user_dg. Cambie el tamao del componente DataGrid para que tenga aproximadamente 300 pxeles de ancho y 100 de alto. Arrastre un componente Button al escenario y asgnele el nombre de instancia next_button. En la lnea de tiempo, seleccione el primer fotograma de la capa 1 y abra el panel Acciones. Aada el cdigo siguiente al panel Acciones:
var recData_array:Array = [{id:0, firstName:"Mick", lastName:"Jones"}, {id:1, firstName:"Joe", lastName:"Strummer"}, {id:2, firstName:"Paul", lastName:"Simonon"}]; user_ds.items = recData_array;
3. 4.
5.
6. 7.
De esta forma, se llena la propiedad items del objeto DataSet con una matriz de objetos que tienen tres propiedades cada uno: id, firstName y lastName.
388
8.
Aada las tres propiedades y sus tipos de datos necesarios al esquema DataSet:
a.
Seleccione el componente DataSet del escenario, abra el inspector de componentes y haga clic en la ficha Esquema. Haga clic en Aadir una propiedad de componente y aada tres propiedades nuevas, con los nombres de campo id, firstName y lastName, y los tipos de datos Number, String y String, respectivamente.
b.
Si prefiere aadir al cdigo las propiedades y sus tipos de datos necesarios, puede aadir la siguiente lnea de cdigo en el panel Acciones, en lugar de los pasos a y b anteriormente mencionados:
// Aadir los tipos de esquema necesarios. var i:mx.data.types.Str; var j:mx.data.types.Num; 9.
Para vincular el contenido del componente DataSet con el del componente DataGrid, abra el inspector de componentes y haga clic en la ficha Vinculaciones. el componente DataGrid (user_dg) en el escenario y haga clic en el botn Aadir vinculacin (+) del inspector de componentes.
10. Seleccione
11.
En el cuadro de dilogo Aadir vinculacin, seleccione dataProvider : Array y haga clic en Aceptar. doble clic en el campo Vinculado a del inspector de componentes. En el cuadro de dilogo Vinculado a que aparece, seleccione DataSet <user_ds> en la columna Ruta del componente y, a continuacin, seleccione dataProvider : Array en la columna Ubicacin del esquema. vincular el ndice seleccionado del componente DataSet al ndice seleccionado del componente DataGrid, seleccione el componente DataGrid en el escenario y haga clic nuevamente en el botn Aadir vinculacin (+) del inspector de componentes. En el cuadro de dilogo que aparece, seleccione selectedIndex : Number. Haga clic en Aceptar. Haga doble clic en el campo Vinculado a del inspector de componentes para abrir el cuadro de dilogo Vinculado a. En el campo Ruta del componente, seleccione DataSet <user_ds> en la columna Ruta del componente y, a continuacin, seleccione selectedIndex : Number en la columna Ubicacin del esquema.
14. Para
15.
16.
17.
DataSet.loadFromSharedObj()
385
18.
En este cdigo se utiliza el mtodo DataSet.next() para desplazarse al siguiente elemento de la coleccin de elementos del objeto DataSet. Como ya se haba vinculado con anterioridad la propiedad selectedIndex del objeto DataGrid a la misma propiedad del objeto DataSet, si se cambia el elemento actual del objeto DataSet, tambin cambiar el elemento actual (seleccionado) del objeto DataGrid.
19. Guarde
el archivo y seleccione Control > Probar pelcula para probar el archivo SWF.
El objeto DataGrid se llenar con los elementos especificados. Fjese en cmo al hacer clic en el botn cambia el elemento seleccionado en el objeto DataGrid.
Clase DataSet
Herencia
El componente DataSet permite al usuario trabajar con datos como colecciones de objetos con los que se pueden realizar operaciones tales como indexar, ordenar, buscar, filtrar y modificar. Entre las funciones del componente DataSet estn DataSetIterator, un conjunto de mtodos que permite atravesar y manipular una coleccin de datos, y DeltaPacket, un conjunto de interfaces y clases que permiten trabajar con actualizaciones de colecciones de datos. En la mayora de los casos, dichas clases e interfaces no se utilizan directamente sino indirectamente mediante mtodos establecidos por la clase DataSet.
388
Descripcin
Aade el elemento especificado a la coleccin. Aade un elemento al juego de datos en la posicin especificada. Crea una nueva vista ordenada de los elementos de la coleccin. Emite una seal que indica que la propiedad deltaPacket tiene un valor al que se puede acceder mediante la vinculacin de datos o utilizando ActionScript. Indica si la coleccin tiene cambios pendientes que no se hayan enviado an a un paquete delta. Elimina todos los elementos de la vista actual de la coleccin. Devuelve un elemento de la coleccin que acaba de inicializarse. Detiene el envo de eventos DataSet a los detectores. Reanuda el envo de eventos DataSet a los detectores. Busca un elemento en la vista actual de la coleccin. Busca la primera vez que aparece un elemento en la vista actual de la coleccin. Busca la ltima vez que aparece un elemento en la vista actual de la coleccin. Se desplaza al primer elemento de la vista actual de la coleccin. Devuelve el ID exclusivo del elemento especificado. Devuelve un clon del repetidor actual. Devuelve el nmero de elementos del juego de datos. Indica si el repetidor actual se encuentra o no al final de la vista correspondiente de la coleccin. Indica si el repetidor actual se encuentra o no al principio de la vista correspondiente de la coleccin. Indica si la ordenacin especificada existe o no. Indica si la coleccin contiene elementos o no.
DataSet.addSort()
DataSet.applyUpdates()
DataSet.changesPending()
DataSet.clear() DataSet.createItem()
DataSet.findLast()
DataSet.first()
DataSet.hasPrevious()
DataSet.hasSort() DataSet.isEmpty()
DataSet.loadFromSharedObj()
385
Mtodo
DataSet.last()
Descripcin
Se desplaza al ltimo elemento de la vista actual de la coleccin. coleccin DataSet a partir de un objeto compartido.
DataSet.locateById()
Desplaza el repetidor actual al elemento que tenga el ID especificado. Se desplaza al siguiente elemento de la vista actual de la coleccin. Se desplaza al elemento anterior de la vista actual de la coleccin. Elimina todos los elementos de la coleccin. Elimina el elemento especificado de la coleccin. Elimina un elemento de juego de datos en una posicin especificada. Elimina la configuracin del rango del repetidor actual. Elimina el orden especificado del objeto DataSet. Guarda los datos del objeto DataSet en un objeto compartido. Establece el repetidor actual del objeto DataSet. Establece la configuracin del rango del repetidor actual. Se desplaza hacia adelante o hacia atrs un nmero especificado de elementos en la vista actual de la coleccin. Convierte en ordenacin activa la que se haya especificado.
DataSet.next()
DataSet.previous()
DataSet.useSort()
388
Descripcin
Devuelve el elemento actual de la coleccin. Devuelve el proveedor de datos. Devuelve los cambios realizados en la coleccin o asigna los cambios que se realizarn en la coleccin. Indica si los elementos estn filtrados o no. Funcin definida por el usuario para filtrar elementos de la coleccin. Elementos de la coleccin. Nombre del objeto que va a crearse al asignar elementos. Especifica el nmero de elementos de la vista actual de la coleccin. Indica si se registran o no los cambios realizados en la coleccin o en sus elementos. Contiene las propiedades (campos) de los objetos de transferencia que existen en esta coleccin. Indica si la coleccin puede modificarse o no. Especifica el esquema de la coleccin en formato XML. Contiene el ndice del elemento actual en la coleccin.
DataSet.filtered DataSet.filterFunc
DataSet.logChanges
DataSet.properties
DataSet.loadFromSharedObj()
385
Descripcin
Se difunde antes de aadir un elemento a la coleccin. Se difunde despus de asignar la propiedad items. Se difunde cuando deben actualizarse los campos calculados. Se difunde cuando el paquete delta del objeto DataSet ha sufrido alteraciones y est preparado para utilizarse. Se difunde cuando cambia la posicin del repetidor. Se difunde cuando se ha realizado algn cambio en los elementos de la coleccin. Se difunde cuando el objeto DataSet genera un nuevo objeto de transferencia, pero antes de aadirlo a la coleccin. Se difunde antes de eliminar un elemento. Se difunde cuando se asigna un paquete delta al objeto DataSet que contiene mensajes.
DataSet.deltaPacketChanged
DataSet.iteratorScrolled DataSet.modelChanged
DataSet.newItem
DataSet.removeItem DataSet.resolveDelta
DataSet.addItem
Disponibilidad
Flash Player 7.
Edicin
Sintaxis 1:
var listenerObject:Object = new Object(); listenerObject.addItem = function (eventObj:Object) { // ... }; dataSetInstance.addEventListener("addItem", listenerObject);
Sintaxis 2:
on (addItem) { // ... }
388
Descripcin
Evento; se genera justo antes de insertar un nuevo registro (objeto de transferencia) en esta coleccin. Si se especifica el valor false en la propiedad result del objeto en el que se ha producido el evento, se cancelar la operacin de adicin; en cambio si se establece el valor true, podr realizarse dicha operacin. El objeto de evento (eventObj) contiene las propiedades siguientes:
target type item result
Objeto DataSet que gener el evento. Cadena addItem. Referencia al elemento de la coleccin que se va a aadir.
Valor booleano que especifica si el elemento especificado debe aadirse o no. De forma predeterminada, este valor es true.
Ejemplo
El controlador de eventos addItem siguiente cancela la adicin del nuevo elemento si una funcin definida por el usuario denominada userHasAdminPrivs() devuelve el valor false; de lo contrario, s se admite la adicin.
function userHasAdminPrivs():Boolean { return false; // Cambiar esto a true para permitir inserciones. } my_ds.addEventListener("addItem", addItemListener); my_ds.addItem({name:"Bobo", occupation:"clown"}); function addItemListener(evt_obj:Object):Void { if (userHasAdminPrivs()) { // Permitir la adicin del elemento. evt_obj.result = true; trace("Item added"); } else { // No permitir la adicin del elemento; el usuario no tiene privilegios // de administrador. evt_obj.result = false; trace("Error, insufficient permissions"); } }
Vase tambin
DataSet.removeItem
DataSet.loadFromSharedObj()
385
DataSet.addItem()
Disponibilidad
Flash Player 7.
Edicin
Parmetros
obj
Valor devuelto
Mtodo; aade a la coleccin el registro (objeto de transferencia) especificado para que pueda administrarse. El elemento recin aadido se convierte en el elemento actual del juego de datos. Si no se especifica ningn parmetro obj, se crea automticamente un nuevo objeto mediante DataSet.createItem(). La ubicacin del nuevo elemento en la coleccin depende de si se ha especificado o no una ordenacin para el repetidor actual. Si no se est utilizando ninguna ordenacin, el elemento se aade al final de la coleccin. Si se est utilizando una ordenacin, el elemento se aade a la coleccin en funcin de la posicin que ocupe en la ordenacin actual. Para ms informacin sobre la inicializacin y generacin de objetos de transferencia, consulte DataSet.createItem().
Ejemplo
En el siguiente ejemplo, se utiliza DataSet.addItem() para generar un elemento nuevo y aadirlo al juego de datos:
my_ds.addEventListener("addItem", addItemListener); my_ds.addItem({name:"Bobo", occupation:"clown"}); function addItemListener(evt_obj:Object):Void { trace("adding item"); }
388
En el siguiente ejemplo, se demuestra cmo se puede aceptar o rechazar una insercin de elemento en DataSet estableciendo el resultado en true o en false en el controlador del evento addItem. Arrastre un componente DataSet al escenario y asgnele el nombre de instancia my_ds. Arrastre un componente DataGrid al escenario y asgnele el nombre de instancia my_dg. Arrastre un componente CheckBox al escenario y asgnele el nombre de instancia my_ch. Arrastre un componente Button al escenario y asgnele el nombre de instancia submit_button. Aada dos propiedades, name y occupation, al componente DataSet mediante la ficha Esquema del inspector de componentes. Cree una vinculacin entre la propiedad my_ds.dataProvider y la propiedad my_dg.dataProvider mediante el panel Vinculaciones del inspector de componentes. Aada el siguiente cdigo ActionScript al fotograma 1 de la lnea de tiempo principal:
my_ds.addEventListener("addItem", addItemListener); submit_button.addEventListener("click", submitListener); function userHasAdminPrivs():Boolean { return my_ch.selected; } function addItemListener(evt_obj:Object):Void { if (userHasAdminPrivs()) { // Permitir la adicin del elemento. evt_obj.result = true; trace("Item added"); } else { // No permitir la adicin del elemento; el usuario no tiene privilegios // de administrador. evt_obj.result = false; trace("Error, insufficient permissions"); } } function submitListener(evt_obj:Object):Void { my_ds.addItem({name:"bobo", occupation:"clown"}); }
Vase tambin
DataSet.createItem()
DataSet.loadFromSharedObj()
385
DataSet.addItemAt()
Disponibilidad
Flash Player 7.
Edicin
Parmetros
index
Nmero igual o mayor que 0. Este nmero indica la posicin en la que se debe insertar el elemento; es el ndice del nuevo elemento. Objeto que contiene los datos del elemento.
item
Valor devuelto
Un valor booleano que indica si el elemento se ha aadido o no: true indica que el elemento se ha aadido y false indica que el elemento ya existe en el juego de datos.
Descripcin
Mtodo; aade un nuevo elemento al juego de datos en el ndice especificado. Se omiten los ndices cuya longitud sea mayor que la del proveedor de datos. Este mtodo activa el evento modelChanged con el tipo de evento addItem.
Ejemplo
En el siguiente ejemplo, se utiliza el mtodo addItemAt() para aadir un elemento al componente DataSet en la primera posicin:
my_ds.addItem({name:"Milton", years:3}); my_ds.addItem({name:"Mark", years:3}); my_ds.addItem({name:"Sarah", years:1}); my_ds.addItem({name:"Michael", years:2}); my_ds.addItem({name:"Frank", years:2}); my_ds.addItemAt(0, {name:"Bobo", years:1});
388
DataSet.addSort()
Disponibilidad
Flash Player 7.
Edicin
Parmetros
name
Cadena que especifica el nombre de la ordenacin. Matriz de cadenas que especifica los nombres de campo en los que basar la
fieldList
ordenacin.
sortOptions
Uno o varios de los valores enteros (constantes) siguientes, que indican las opciones que se utilizan en esta ordenacin. Separe los distintos valores mediante el operador OR en modo bit (|). Especifique uno o varios de los siguientes valores:
DataSetIterator.Ascending Ordena los elementos en sentido ascendente. Esta es la opcin de ordenacin predeterminada si no se especifica ninguna. DataSetIterator.Descending Ordena los elementos en sentido descendente en funcin de las propiedades de elemento especificadas. DataSetIterator.Unique
idnticos.
No distingue entre maysculas y minsculas al comparar dos cadenas durante la ordenacin. De forma predeterminada, la ordenacin distingue entre maysculas y minsculas cuando la propiedad en la que se basa es una cadena.
DataSetIterator.CaseInsensitive
Se emite una excepcin DataSetError cuando se especifica DataSetIterator.Unique como opcin de ordenacin y los datos que se van a ordenar no son exclusivos, cuando ya se ha aadido el nombre de ordenacin especificado o cuando la propiedad especificada en la matriz fieldList no existe en este juego de datos.
Valor devuelto
Ninguno.
DataSet.loadFromSharedObj()
385
Descripcin
Mtodo; crea un nuevo orden ascendente o descendente para el repetidor actual en funcin de las propiedades especificadas en el parmetro fieldList. Flash asigna la nueva ordenacin automticamente al repetidor actual tras su creacin y, a continuacin, la guarda en la coleccin de ordenaciones para poder recuperarla en otro momento.
Ejemplo
En el cdigo siguiente se crea una nueva ordenacin denominada nameSort que realiza una ordenacin en sentido descendente y que no distingue entre maysculas y minsculas en el campo name del objeto DataSet.
import mx.data.components.datasetclasses.DataSetIterator; my_ds.addItem({name:"Milton", years:3}); my_ds.addItem({name:"mark", years:3}); my_ds.addItem({name:"Sarah", years:1}); my_ds.addItem({name:"michael", years:2}); my_ds.addItem({name:"Frank", years:2}); my_ds.addSort("nameSort", ["name"], DataSetIterator.Descending | DataSetIterator.Unique | DataSetIterator.CaseInsensitive);
En el siguiente ejemplo, se pueden aadir datos de forma dinmica al componente DataSet introduciendo el nombre y apellido en las instancias del componente TextInput del escenario y haciendo clic en el botn Enviar. Tras haber aadido elementos al componente DataSet, se puede borrar el juego de datos haciendo clic en el botn Borrar del escenario. Arrastre un componente DataGrid al escenario y asgnele el nombre de instancia my_dg. Arrastre dos instancias del componente Button al escenario y asgneles los nombres de instancia submit_button y clear_button. Arrastre un componente DataSet al escenario y asgnele el nombre de instancia my_ds. Arrastre dos componentes TextInput al escenario y asgneles los nombres de instancia firstName_ti y lastName_ti. Arrastre un componente Alert a la biblioteca del documento actual. Aada dos propiedades de componente, firstName y lastName, al esquema del componente DataSet mediante la ficha Esquema del inspector de componentes. A continuacin, aada una vinculacin de datos desde la propiedad dataProvider del componente DataSet hasta la propiedad dataProvider del componente DataGrid mediante la ficha Vinculaciones del inspector de componentes. Por ltimo, pegue el siguiente cdigo al primer fotograma de la lnea de tiempo principal:
import mx.controls.Alert; my_ds.addSort("lastFirst", ["lastName", "firstName"]); my_dg.enabled = false; clear_button.enabled = false; submit_button.label = "Submit"; clear_button.label = "Clear";
388
my_ds.addEventListener("addItem", addItemListener); my_ds.addEventListener("modelChanged", modelChangedListener); submit_button.addEventListener("click", submitListener); clear_button.addEventListener("click", clearListener); function modelChangedListener(evt_obj:Object):Void { my_dg.enabled = (evt_obj.target.length > 0); clear_button.enabled = my_dg.enabled; } function submitListener(evt_obj:Object):Void { my_ds.addItem({firstName:firstName_ti.text, lastName:lastName_ti.text}); } function addItemListener(evt_obj:Object):Void { if ((evt_obj.item.firstName.length == 0) || (evt_obj.item.lastName.length == 0)) { Alert.show("Error, first name or last name cannot be blank.", "Error", Alert.OK, _level0); evt_obj.result = false; } else { firstName_ti.text = ""; lastName_ti.text = ""; } } function clearListener(evt_obj:Object):Void { Alert.show("Are you sure you want to clear the data?", "Warning", Alert.OK | Alert.CANCEL, _level0, clearConfirmListener); } function clearConfirmListener(evt_obj:Object):Void { switch (evt_obj.detail) { case Alert.OK: my_ds.clear(); break; case Alert.CANCEL: break; } }
Seleccione Control > Probar pelcula para probar el documento en el entorno de edicin. Introduzca algn texto en ambas instancias de TextInput y haga clic en el botn Enviar. Debera aadirse un nuevo elemento a la instancia de DataGrid. Al hacer clic en el botn Borrar, debera aparecer una instancia del componente Alert con un mensaje de confirmacin donde se le pregunte si desea borrar el contenido de DataGrid. Si hace clic en Aceptar, se borrar la propiedad dataProvider del componente DataSet (y luego la propiedad dataProvider del componente DataGrid, debido a la vinculacin). Si hace clic en Cancelar, se descarta la instancia del componente Alert.
Vase tambin
DataSet.removeSort()
DataSet.loadFromSharedObj()
385
DataSet.afterLoaded
Disponibilidad
Flash Player 7.
Edicin
Sintaxis 1:
var listenerObject:Object = new Object(); listenerObject.afterLoaded = function (eventObj:Object):Void { // ... }; dataSetInstance.addEventListener("afterLoaded", listenerObject);
Sintaxis 2:
on (afterLoaded) { // ... }
Descripcin
Evento; se difunde inmediatamente despus de asignar la propiedad DataSet.items. El objeto de evento (eventObj) contiene las propiedades siguientes:
target type
Ejemplo
En el siguiente ejemplo, aparece un formulario denominado contactForm (que no se muestra) cuando ya se han asignado los elementos del juego de datos contact_ds.
contact_ds.addEventListener("afterLoaded", loadListener); var loadListener:Object = new Object(); loadListener.afterLoaded = function (evt_obj:Object) { if (evt_obj.target == "contact_ds") { contactForm.visible = true; } };
388
En el siguiente ejemplo, se utiliza el evento afterLoaded del componente DataSet para llenar la propiedad dataProvider de un componente List en el escenario. Arrastre un componente List y un componente DataSet al escenario y asgneles los nombres de instancia my_list y my_ds, respectivamente. Aada el siguiente cdigo ActionScript al fotograma 1 de la lnea de tiempo principal:
my_list.labelField = "name"; var itemsListener:Object = new Object(); itemsListener.afterLoaded = function (evt_obj:Object):Void { trace("After loaded"); my_list.dataProvider = evt_obj.target.items; } my_ds.addEventListener("afterLoaded", itemsListener); var item_array:Array = [{name:"Douglas"}, {name:"Vinnie"}, {name:"Katherine"}, {name:"David"}]; my_ds.items = item_array;
DataSet.applyUpdates()
Disponibilidad
Flash Player 7.
Edicin
Valor devuelto
Ninguno.
Descripcin
Mtodo; emite una seal que indica que la propiedad DataSet.deltaPacket tiene un valor al que se puede acceder mediante la vinculacin de datos o directamente utilizando ActionScript. Antes de llamar a este mtodo, el valor de la propiedad DataSet.deltaPacket es null. Este mtodo no tiene ninguna consecuencia si se han desactivado los eventos mediante el mtodo DataSet.disableEvents(). Al llamar a este mtodo tambin se crea un ID de transaccin para la propiedad DataSet.deltaPacket actual y se emite un evento deltaPacketChanged. Para ms informacin, consulte DataSet.deltaPacket.
DataSet.loadFromSharedObj()
385
Ejemplo
En el siguiente ejemplo, se aaden cuatro elementos a la instancia my_ds de DataSet en el escenario y se muestra cada elemento en el nivel superior de la propiedad deltaPacket:
my_ds.addItem({name:"Thomas", age:35, gender:"M"}); my_ds.addItem({name:"Orville", age:33, gender:"M"}); my_ds.addItem({name:"Jonathan", age:48, gender:"M"}); my_ds.addItem({name:"Carol", age:31, gender:"F"}); my_ds.applyUpdates(); var i:String; for (i in my_ds.deltaPacket) { trace(i + ":\t" + my_ds.deltaPacket[i]); }
Vase tambin
DataSet.deltaPacket
DataSet.calcFields
Disponibilidad
Flash Player 7.
Edicin
Sintaxis 1:
var listenerObject:Object = new Object(); listenerObject.calcFields = function (eventObj:Object):Void { // ... }; dataSetInstance.addEventListener("calcFields", listenerObject);
Sintaxis 2:
on (calcFields) { // ... }
388
Descripcin
Evento; se genera cuando deben determinarse los valores de los campos calculados del elemento actual de la coleccin. Un campo calculado es un campo que tiene la propiedad Kind establecida en Calculated en la ficha Esquema del inspector de componentes. El detector de eventos calcFields creado por el usuario debe realizar el clculo necesario y establecer el valor correspondiente al campo calculado. Tambin se llama a este evento cuando se actualiza el valor de un campo no calculado (es decir, un campo cuya propiedad Kind est establecida en Data en la ficha Esquema del inspector de componentes). Para ms informacin sobre la propiedad Kind, consulte Tipos de esquema en Utilizacin de Flash.
PRECAUCIN
No cambie ninguno de los valores de los campos no calculados de este evento, ya que ello provocara un bucle infinito. Establezca nicamente los valores de los campos calculados dentro del evento calcFields.
DataSet.changesPending()
Disponibilidad
Flash Player 7.
Edicin
Valor devuelto
Un valor booleano.
Descripcin
Mtodo; devuelve true si la coleccin, o cualquier elemento de la coleccin, tiene cambios pendientes de enviar en un paquete delta; de lo contrario, devuelve false.
DataSet.loadFromSharedObj()
385
Ejemplo
En el cdigo siguiente se activa el botn Guardar cambios (que no se muestra) si la coleccin DataSet, o cualquier elemento de la coleccin, ha sufrido modificaciones no confirmadas todava en un paquete delta.
my_ds.addItem({name:"Milton", years:3}); my_ds.addItem({name:"Mark", years:3}); my_ds.addItem({name:"Sarah", years:1}); my_ds.addItem({name:"Michael", years:2}); my_ds.addItem({name:"Frank", years:2}); my_ds.addEventListener("modelChanged", modelChangedListener); function modelChangedListener(evt_obj:Object):Void { if (evt_obj.target.changesPending()) { trace("changes pending"); submitChanges_button.enabled = true; } } submitChanges_button.enabled = false; my_ds.addItem({name:"Hal", years:4});
DataSet.clear()
Disponibilidad
Flash Player 7.
Edicin
Valor devuelto
Ninguno.
Descripcin
Mtodo; elimina los elementos de la vista actual de la coleccin. La consideracin de un elemento como apto para ser visto depende de la configuracin de filtro y de rango actual especificada en el repetidor actual. Por tanto, es posible que la llamada a este mtodo no borre la totalidad de los elementos de la coleccin. Si se desea borrar la totalidad de los elementos de una coleccin, con independencia de la vista del repetidor actual, utilice DataSet.removeAll(). Si el valor de DataSet.logChanges es true al invocar este mtodo, las entradas eliminadas se aaden a DataSet.deltaPacket para todos los elementos que se encuentran dentro de la coleccin.
388 Diccionario de componentes de ActionScript 2.0
Ejemplo
En el siguiente ejemplo, se eliminan todos los elementos de la vista actual de la coleccin DataSet. La eliminacin de los elementos se registrar porque la propiedad logChanges tiene establecido el valor true.
my_ds.addItem({name:"Milton", years:3}); my_ds.addItem({name:"Mark", years:3}); my_ds.addItem({name:"Sarah", years:1}); my_ds.addItem({name:"Michael", years:2}); my_ds.addItem({name:"Frank", years:2}); my_ds.addSort("nameSort", ["name"]); my_ds.filtered = true; my_ds.filterFunc = function(item:Object):Boolean { return (item.years >= 3); }; my_ds.logChanges = true; my_ds.clear(); // Eliminar elementos filtrados del juego de datos. my_ds.removeSort("nameSort");
Vase tambin
DataSet.deltaPacket, DataSet.logChanges
DataSet.createItem()
Disponibilidad
Flash Player 7.
Edicin
Parmetros
itemData
Valor devuelto
DataSet.loadFromSharedObj()
385
Descripcin
Mtodo; genera un elemento que no est asociado con la coleccin. Es posible especificar la clase de objeto creada con la propiedad DataSet.itemClassName. Si no se especifica un valor DataSet.itemClassName y se omite el parmetro itemData, se generar un objeto annimo. Las propiedades de este objeto annimo tienen los valores predeterminados en funcin del esquema actual que se haya especificado en DataSet.schema. Al invocar este mtodo se enva una notificacin a los detectores del evento DataSet.newItem, que pueden entonces manipular el elemento antes de que el mtodo lo devuelva. Los datos opcionales del elemento se utilizan para inicializar la clase especificada con la propiedad DataSet.itemClassName o se utilizan como elemento si DataSet.itemClassName est en blanco. Se emite una excepcin DataSetError cuando la clase especificada con la propiedad DataSet.itemClassName no puede cargarse.
Ejemplo
my_ds.addEventListener("newItem", newItemListener); function newItemListener(evt_obj:Object):Void { trace("new item was added: {name:'" + evt_obj.item.name + "', years:" + evt_obj.item.years + "}"); } my_ds.addItem(my_ds.createItem({name:"Wilson", years:3})); my_ds.addItem({name:"Tom", years:2}); my_ds.filtered = true; my_ds.filterFunc = function(item:Object):Boolean { return (item.years % 2 == 0); };
Vase tambin
DataSet.itemClassName, DataSet.newItem, DataSet.schema
388
DataSet.currentItem
Disponibilidad
Flash Player 7.
Edicin
Descripcin
Propiedad (slo lectura); devuelve el elemento actual de la coleccin DataSet, o null si est vaca la coleccin o la vista del repetidor actual de la coleccin. Esta propiedad permite el acceso directo al elemento de la coleccin. No se realiza ningn seguimiento de los cambios realizados a causa del acceso directo a este objeto (en la propiedad DataSet.deltaPacket), ni tampoco de la configuracin del esquema que se haya aplicado a las propiedades de este objeto.
Ejemplo
En el ejemplo siguiente, se muestra el valor de la propiedad name definido en el elemento actual del juego de datos denominado customers_ds.
customers_ds.addItem({name:"Milton", years:3}); customers_ds.addItem({name:"Mark", years:3}); customers_ds.addItem({name:"Sarah", years:1}); customers_ds.addItem({name:"Michael", years:2}); customers_ds.addItem({name:"Frank", years:2}); trace(customers_ds.currentItem.name); // Frank
DataSet.loadFromSharedObj()
385
DataSet.dataProvider
Disponibilidad
Flash Player 7.
Edicin
Descripcin
Propiedad; proveedor de datos para este juego de datos. Esta propiedad proporciona datos a los controles de interfaz de usuario, como los componentes List y DataGrid. Para ms informacin sobre la interfaz API de DataProvider, consulte Interfaz API de DataProvider en la pgina 339.
Ejemplo
En el cdigo siguiente se asigna la propiedad dataProvider de un objeto DataSet a la propiedad correspondiente de un componente DataGrid.
my_dg.dataProvider = my_ds.dataProvider;
DataSet.deltaPacket
Disponibilidad
Flash Player 7.
Edicin
Descripcin
Propiedad; devuelve un paquete delta que contiene todas las operaciones de cambio realizadas en la coleccin dataSet y en sus elementos. El valor de esta propiedad es null hasta que se llama a DataSet.applyUpdates() en dataSet.
388
Cuando se llama a DataSet.applyUpdates(), se asigna un ID de transaccin al paquete delta. Este ID de transaccin se utiliza para identificar el paquete delta en un proceso de actualizacin de ida y vuelta entre el servidor y el cliente. Cualquier asignacin posterior que realice el paquete delta a la propiedad deltaPacket con un ID de transaccin coincidente tiene la funcin de respuesta del servidor a los cambios enviados con anterioridad. Se utiliza un paquete delta con un ID coincidente para actualizar la coleccin e informar de los errores especificados dentro del paquete. Los errores o mensajes del servidor se notifican a los detectores del evento DataSet.resolveDelta. Observe que se omite la configuracin de DataSet.logChanges cuando se asigna un paquete delta con ID coincidente a DataSet.deltaPacket. Si un paquete delta no tiene un ID de transaccin coincidente se actualiza la coleccin, como si la interfaz API de DataSet se utilizara directamente. Es posible que se creen entonces ms entradas delta, lo cual depender de la configuracin actual de DataSet.logChanges de dataSet y del paquete delta. Se emitir una excepcin DataSetError si se asigna un paquete delta con un ID de transaccin coincidente y si no se encuentra uno de los elementos recin asignados del paquete delta en el mismo.
Vase tambin
DataSet.applyUpdates(), DataSet.logChanges, DataSet.resolveDelta
DataSet.deltaPacketChanged
Disponibilidad
Flash Player 7.
Edicin
Sintaxis 1:
var listenerObject:Object = new Object(); listenerObject.deltaPacketChanged = function (eventObj:Object):Void { // ... }; dataSetInstance.addEventListener("deltaPacketChanged", listenerObject);
Sintaxis 2:
on (deltaPacketChanged) { // ... }
DataSet.loadFromSharedObj()
385
Descripcin
Evento; se difunde cuando la propiedad deltaPacket del objeto DataSet especificado ha sufrido cambios y est preparada para utilizarse.
Vase tambin
DataSet.deltaPacket
DataSet.disableEvents()
Disponibilidad
Flash Player 7.
Edicin
Valor devuelto
Ninguno.
Descripcin
Mtodo; desactiva eventos para el objeto DataSet. Mientras los eventos estn desactivados no se actualiza ningn control de interfaz de usuario (como el componente DataGrid) cuando se realizan cambios en los elementos de la coleccin o se desplaza el objeto DataSet hasta otro elemento de la coleccin. Para volver a activar los eventos, es necesario llamar a DataSet.enableEvents(). El mtodo disableEvents() puede llamarse varias veces y, para volver a activar la distribucin de eventos, es necesario llamar al mtodo enableEvents() el mismo nmero de veces.
Ejemplo
En el siguiente ejemplo, los eventos se desactivan antes de que los elementos de la coleccin sufran cambios, de forma que el rendimiento del sistema no se vea perjudicado porque el objeto DataSet intente actualizar los controles:
my_ds.addEventListener("modelChanged", onModelChanged); function onModelChanged(evt_obj:Object):Void { trace("model changed, DataSet now has " + evt_obj.target.items.length + " items"); } // Desactivar eventos para el juego de datos. my_ds.disableEvents();
388
my_ds.addItem({name:"Apples", price:14}); my_ds.addItem({name:"Bananas", price:8}); trace("Before:"); traceItems(); my_ds.last(); while(my_ds.hasPrevious()) { my_ds.price *= 0.5; // Todo al 50% my_ds.previous(); } trace("After:"); traceItems(); // Indicar al juego de datos que ahora hay que actualizar los controles. my_ds.enableEvents(); function traceItems():Void { for (var i:Number = 0; i < my_ds.items.length; i++) { trace("\t" + my_ds.items[i].name + " - $" + my_ds.items[i].price); } trace(""); }
Vase tambin
DataSet.enableEvents()
DataSet.enableEvents()
Disponibilidad
Flash Player 7.
Edicin
Valor devuelto
Ninguno.
DataSet.loadFromSharedObj()
385
Descripcin
Mtodo; reactiva los eventos de los objetos DataSet despus de que dichos eventos se hayan desactivado mediante una llamada a DataSet.disableEvents(). Para reactivar eventos para el objeto DataSet, debe llamarse al mtodo enableEvents() un nmero de veces igual o mayor que el nmero de veces que se haya llamado a disableEvents().
Ejemplo
En el siguiente ejemplo, los eventos se desactivan antes de que los elementos de la coleccin sufran cambios, de forma que el rendimiento del sistema no se vea perjudicado porque el objeto DataSet intente actualizar los controles.
my_ds.addEventListener("modelChanged", onModelChanged); function onModelChanged(evt_obj:Object):Void { trace("model changed, DataSet now has " + evt_obj.target.items.length + " items"); } // Desactivar eventos para el juego de datos. my_ds.disableEvents(); my_ds.addItem({name:"Apples", price:14}); my_ds.addItem({name:"Bananas", price:8}); trace("Before:"); traceItems(); my_ds.last(); while(my_ds.hasPrevious()) { my_ds.price *= 0.5; // Todo al 50% my_ds.previous(); } trace("After:"); traceItems(); // Indicar al juego de datos que ahora hay que actualizar los controles. my_ds.enableEvents(); function traceItems():Void { for (var i:Number = 0; i < my_ds.items.length; i++) { trace("\t" + my_ds.items[i].name + " - $" + my_ds.items[i].price); } trace(""); }
Vase tambin
DataSet.disableEvents()
388
DataSet.filtered
Disponibilidad
Flash Player 7.
Edicin
Descripcin
Propiedad; valor booleano que indica si los datos del repetidor actual estn filtrados o no. El valor predeterminado es false. Cuando esta propiedad es true, se llama a la funcin de filtro especificada por DataSet.filterFunc para todos los elementos de la coleccin.
Ejemplo
En el ejemplo siguiente, se ha activado el filtrado en el objeto DataSet denominado employee_ds. Supongamos que cada registro de la coleccin DataSet contiene un campo denominado empType. La funcin de filtro siguiente devuelve true si el campo empType del elemento actual se ha establecido en management; de lo contrario, devuelve false.
employee_ds.filtered = true; employee_ds.filterFunc = function (item:Object) { // Filtrar a los empleados que ocupan cargos directivos. return(item.empType != "management"); };
En el ejemplo siguiente, se llena un componente DataGrid con contenido cargado dinmicamente mediante el componente XMLConnector. Cuando un usuario hace clic en una instancia de CheckBox en el escenario, el contenido del componente DataSet se filtra y se actualiza automticamente en el componente DataGrid. Arrastre los siguientes componentes al escenario y asgneles los siguientes nombres de instancia:
DataSet.loadFromSharedObj()
385
Descargue una copia del siguiente documento XML y gurdelo en su disco duro local: http://www.helpexamples.com/flash/xml/reviews.xml. Este documento XML se cargar dinmicamente mediante el componente XMLConnector, pero el usuario utilizar la copia local para importar el esquema de XML al componente DataSet. Seleccione la instancia de XMLConnector del escenario y seleccione la ficha Esquema del inspector de componentes. Seleccione la propiedad results y haga clic en el botn Importar un esquema de un archivo XML de muestra. Seleccione el documento XML que descarg en su disco duro local y haga clic en Abrir. El esquema del documento XML debera importarse en el componente DataSet. Con la instancia de XMLConnector reviews_xmlconn an seleccionada en el escenario, aada una vinculacin entre la matriz reviews_xmlconn.results.reviews.review y la propiedad dataProvider de la instancia reviews_ds del componente DataSet. Defina la direccin de la vinculacin de datos en out en la ficha Vinculaciones. Seleccione la instancia reviews_ds del componente DataSet en el escenario y aada otra vinculacin para la propiedad dataProvider. Con la instancia reviews_ds seleccionada, seleccione la ficha Vinculaciones del inspector de componentes. Haga clic en el botn Aadir vinculacin y aada una vinculacin desde la propiedad dataProvider del componente DataSet a la propiedad dataProvider de la instancia reviews_dg de DataGrid. Aada el cdigo siguiente al fotograma 1 de la lnea de tiempo principal:
editorsChoice_ch.label = "Editor's Choice"; reviews_xmlconn.direction = "receive"; reviews_xmlconn.multipleSimultaneousAllowed = false; reviews_xmlconn.URL = "http://www.helpexamples.com/flash/xml/reviews.xml"; reviews_xmlconn.trigger(); reviews_dg.setSize(320, 240); reviews_dg.addColumn("name"); reviews_dg.addColumn("rating"); reviews_dg.addColumn("reviewDate"); reviews_dg.getColumnAt(0).width = 100; reviews_dg.getColumnAt(1).width = 100; reviews_dg.getColumnAt(2).width = 100; reviews_dg.setStyle("alternatingRowColors", [0xFFFFFF, 0xF6F6F6]); editorsChoice_ch.addEventListener("click", editorsChoiceListener); function editorsChoiceListener(evt_obj:Object):Void { reviews_ds.filtered = evt_obj.target.selected; reviews_ds.filterFunc = function(item:Object):Boolean { return (item.editorsChoice == 1); }; }
388
Seleccione Control > Probar pelcula. De forma predeterminada, el componente DataGrid debera mostrar todas la revisiones del documento XML externo. Si hace clic en el componente CheckBox elegido por el editor, se filtrar el componente DataSet y slo se mostrarn las revisiones especficas marcadas como elegidas por el editor.
Vase tambin
DataSet.filterFunc
DataSet.filterFunc
Disponibilidad
Flash Player 7.
Edicin
Descripcin
Propiedad; especifica una funcin que determina los elementos que se incluyen en la vista actual de la coleccin. Cuando DataSet.filtered se establece en true, se llama a la funcin asignada a esta propiedad para cada registro (objeto de transferencia) de la coleccin. Para cada elemento que se pase a la funcin, deber devolver el valor true si el elemento debe incluirse en la vista actual, o false si no debe incluirse. Al cambiar la funcin de filtro del juego de datos, es necesario establecer la propiedad en false y, a continuacin, en true de nuevo para que se genere el evento modelChanged apropiado. El cambio de la propiedad filterFunc no generar el evento.
filtered
Adems, si ya hay filtro cuando se cargan los datos en (modelChanged o updateAll), ste no se aplica hasta que filtered se establece en false y de nuevo en true.
DataSet.loadFromSharedObj()
385
Ejemplo
En el ejemplo siguiente, se ha activado el filtrado en el objeto DataSet denominado employee_ds. La funcin de filtro especificada devuelve true si el campo empType de cada elemento se ha establecido en management; de lo contrario, devuelve false.
employee_ds.filtered = true; employee_ds.filterFunc = function (item:Object):Boolean { // Filtrar a los empleados que ocupan cargos directivos. return(item.empType != "management"); };
En el siguiente ejemplo, el usuario filtra el contenido de un componente DataSet en funcin del elemento seleccionado en un componente ComboBox. El componente ComboBox permite seleccionar todas las personas, slo hombres o slo mujeres. Arrastre un componente DataSet, DataGrid y ComboBox al escenario y asgneles los nombres de instancia my_ds, data_dg y filter_cb, respectivamente. Seleccione la instancia my_ds de DataSet en el escenario y aada las dos propiedades nuevas: name y gender. Cree una vinculacin de datos entre la propiedad dataProvider de DataSet y la propiedad dataProvider del componente DataGrid mediante el panel Vinculaciones del inspector de componentes. Aada el siguiente cdigo ActionScript al fotograma 1 de la lnea de tiempo principal:
my_ds.dataProvider = new Array({name:"Charles", gender:"M"}, {name:"Buddy", gender:"M"}, {name:"Walter", gender:"M"}, {name:"Ellen", gender:"F"}, {name:"Jamie", gender:"F"}, {name:"Sarah", gender:"F"}, {name:"Adam", gender:"M"}); my_ds.addSort("nameSort", ["name"]); my_ds.addSort("genderSort", ["gender", "name"]); my_ds.useSort("genderSort"); filter_cb.dataProvider = [{label:"All", value:""} , {label:"Male only", value:"M"}, {label:"Female only", value:"F"}]; filter_cb.addEventListener("change", filterListener); function filterListener(evt_obj:Object):Void { var selItem:Object = evt_obj.target.selectedItem; if (selItem.value.length == 0) { my_ds.filtered = false; } else { my_ds.filtered = true; my_ds.filterFunc = function(item:Object):Boolean { return (item.gender == selItem.value); } } }
388
En el ejemplo siguiente, se llena un componente DataGrid con contenido cargado dinmicamente mediante el componente XMLConnector. Cuando un usuario hace clic en una instancia de CheckBox en el escenario, el contenido del componente DataSet se filtra y se actualiza automticamente en el componente DataGrid. Arrastre los siguientes componentes al escenario y asgneles los siguientes nombres de instancia:
Descargue una copia del siguiente documento XML y gurdelo en su disco duro local: www.helpexamples.com/flash/xml/reviews.xml. Este documento XML se carga dinmicamente mediante el componente XMLConnector. Utilizar la copia local para importar el esquema XML en el componente DataSet. Seleccione la instancia de XMLConnector del escenario y seleccione la ficha Esquema del inspector de componentes. Seleccione la propiedad results y haga clic en Importar un esquema de un archivo XML de muestra. Seleccione el documento XML que descarg en su disco duro local y haga clic en Abrir. El esquema del documento XML debera importarse en el componente DataSet. Con la instancia de XMLConnector reviews_xmlconn an seleccionada en el escenario, aada una vinculacin entre la matriz reviews_xmlconn.results.reviews.review y la propiedad dataProvider de la instancia reviews_ds del componente DataSet. Defina la direccin de la vinculacin de datos en Out en la ficha Vinculaciones. Seleccione la instancia reviews_ds del componente DataSet en el escenario y aada otra vinculacin para la propiedad dataProvider. Con la instancia reviews_ds seleccionada, seleccione la ficha Vinculaciones del inspector de componentes. Haga clic en el botn Aadir vinculacin y aada una vinculacin desde la propiedad dataProvider del componente DataSet a la propiedad dataProvider de la instancia reviews_dg de DataGrid. Aada el cdigo siguiente al fotograma 1 de la lnea de tiempo principal:
editorsChoice_ch.label = "Editor's Choice"; reviews_xmlconn.direction = "receive"; reviews_xmlconn.multipleSimultaneousAllowed = false; reviews_xmlconn.URL = "http://www.helpexamples.com/flash/xml/reviews.xml"; reviews_xmlconn.trigger(); reviews_dg.setSize(320, 240); reviews_dg.addColumn("name"); reviews_dg.addColumn("rating"); reviews_dg.addColumn("reviewDate"); reviews_dg.getColumnAt(0).width = 100;
DataSet.loadFromSharedObj()
385
reviews_dg.getColumnAt(1).width = 100; reviews_dg.getColumnAt(2).width = 100; reviews_dg.setStyle("alternatingRowColors", [0xFFFFFF, 0xF6F6F6]); editorsChoice_ch.addEventListener("click", editorsChoiceListener); function editorsChoiceListener(evt_obj:Object):Void { reviews_ds.filtered = evt_obj.target.selected; reviews_ds.filterFunc = function(item:Object):Boolean { return (item.editorsChoice == 1); }; }
Seleccione Control > Probar pelcula. De forma predeterminada, el componente DataGrid debera mostrar todas la revisiones del documento XML externo. Si hace clic en el componente CheckBox elegido por el editor, se filtrar el componente DataSet y slo se mostrarn las revisiones especficas marcadas como elegidas por el editor.
Vase tambin
DataSet.filtered
DataSet.find()
Disponibilidad
Flash Player 7.
Edicin
Parmetros
searchValues
Matriz que contiene uno o varios valores de campo que se encontrarn en la clasificacin actual.
Valor devuelto
388
Descripcin
Mtodo; busca en la vista actual de la coleccin un elemento que tenga los valores de campo especificados por searchValues. Los elementos que aparecen en la vista actual dependen de la configuracin de filtro y de rango especificada. Si se encuentra algn elemento, ste se convierte en el elemento actual del objeto DataSet. Los valores especificados por searchValues deben estar en el mismo orden que la lista de campos especificada por la clasificacin actual (consulte el ejemplo siguiente). Si la clasificacin actual no es exclusiva, el registro (objeto de transferencia) encontrado no es determinante. Si desea encontrar el primero o el ltimo objeto de transferencia que aparezca en una clasificacin no exclusiva, utilice DataSet.findFirst() o DataSet.findLast(). La conversin de los datos especificados se realiza en funcin del tipo de campo subyacente. Por ejemplo, si se especifica [05-02-02] como valor de bsqueda, el campo de fecha subyacente se utiliza para convertir el valor utilizando el mtodo DataType.setAsString() de la fecha. Si se especifica [new Date().getTime()], se utiliza el mtodo DataType.setAsNumber() de la fecha.
Ejemplo
En el ejemplo siguiente, se busca en la coleccin actual un elemento cuyos campos name e id contengan los valores Bobby y 105, respectivamente. Si se encuentra, se utilizar el mtodo DataSet.getItemId() para obtener un identificador exclusivo del elemento de la coleccin y el mtodo DataSet.locateById() para colocar el repetidor actual en dicho elemento.
var studentID:String = null; student_ds.addSort("id", ["name","id"]); // Buscar el objeto de transferencia identificado mediante Bobby y 105. // Obsrvese que el orden de los campos de bsqueda coincide con // el de los campos especificados en addSort(). if (student_ds.find(["Bobby", 105])) { studentID = student_ds.getItemId(); } // Utilizar ahora el mtodo locateByID() para colocar el // repetidor actual en el elemento de la coleccin cuyo ID coincida con // studentID. if (studentID != null) { student_ds.locateById(studentID); }
Vase tambin
DataSet.applyUpdates(), DataSet.getItemId(), DataSet.locateById()
DataSet.loadFromSharedObj()
385
DataSet.findFirst()
Disponibilidad
Flash Player 7.
Edicin
Parmetros
searchValues
Matriz que contiene uno o varios valores de campo que se encontrarn en la clasificacin actual.
Valor devuelto
Mtodo; busca en la vista actual de la coleccin el primer elemento que tenga los valores de campo especificados por searchValues. Los elementos que aparecen en la vista actual dependen de la configuracin de filtro y de rango especificada. Los valores especificados por searchValues deben estar en el mismo orden que la lista de campos especificada por la clasificacin actual (consulte el ejemplo siguiente). La conversin de los datos especificados se realiza en funcin del tipo de campo subyacente. Por ejemplo, si el valor de bsqueda especificado es [05-02-02], el campo de fecha subyacente se utiliza para convertir el valor con el mtodo setAsString() de la fecha. Si el valor especificado es [new Date().getTime()], se utiliza el mtodo setAsNumber() de la fecha.
Ejemplo
En el siguiente ejemplo, se utiliza DataSet.find() para buscar en la coleccin actual un elemento cuyos campos name e id contengan los valores Bobby y 105, respectivamente. Si se encuentra, se utilizar DataSet.getItemId() para obtener un identificador exclusivo de dicho elemento y DataSet.locateById() para colocar el repetidor actual en dicho elemento.
388
Para probar este ejemplo, arrastre un componente DataSet al escenario y asgnele un nombre de instancia student_ds. Aada dos propiedades, name (tipo de datos: String) e id (tipo de datos: Number) al componente DataSet mediante la ficha Esquema del inspector de componentes. Si an no tiene una copia del clip compilado DataBindingClasses en su biblioteca, arrastre una copia del clip compilado desde la biblioteca Clases (Ventana > Bibliotecas comunes > Clases). Aada el siguiente cdigo ActionScript al fotograma 1 de la lnea de tiempo principal:
student_ds.addItem({name:"Barry", id:103}); student_ds.addItem({name:"Bobby", id:105}); student_ds.addItem({name:"Billy", id:107}); trace("Before find() > " + student_ds.currentItem.name); // Billy var studentID:String; student_ds.addSort("id", ["name","id"]); if (student_ds.find(["Bobby", 105])) { studentID = student_ds.getItemId(); student_ds.locateById(studentID); trace("After find() > " + student_ds.currentItem.name); // Bobby } else { trace("We lost Billy!"); }
Vase tambin
DataSet.applyUpdates(), DataSet.getItemId(), DataSet.locateById()
DataSet.findLast()
Disponibilidad
Flash Player 7.
Edicin
Parmetros
searchValues
Matriz que contiene uno o varios valores de campo que se encontrarn en la clasificacin actual.
DataSet.loadFromSharedObj()
385
Valor devuelto
Mtodo; busca en la vista actual de la coleccin el ltimo elemento que tenga los valores de campo especificados por searchValues. Los elementos que aparecen en la vista actual dependen de la configuracin de filtro y de rango especificada. Los valores especificados por searchValues deben estar en el mismo orden que la lista de campos especificada por la clasificacin actual (consulte el ejemplo siguiente). La conversin de los datos especificados se realiza en funcin del tipo de campo subyacente. Por ejemplo, si el valor de bsqueda especificado es [05-02-02], el campo de fecha subyacente se utiliza para convertir el valor con el mtodo setAsString() de la fecha. Si el valor especificado es [new Date().getTime()], se utiliza el mtodo setAsNumber() de la fecha.
Ejemplo
En el siguiente ejemplo, se busca en la coleccin actual el ltimo elemento cuyos campos name y age contengan Bobby y 13. Si se encuentra, se utilizar el mtodo DataSet.getItemId() para obtener un identificador exclusivo del elemento de la coleccin y el mtodo DataSet.locateById() para colocar el repetidor actual en dicho elemento.
var studentID:String = null; student_ds.addSort("nameAndAge", ["name", "age"]); // Buscar el ltimo objeto de transferencia que tenga los valores // especificados. // Obsrvese que el orden de los campos de bsqueda coincide con // el de los campos especificados en addSort(). if (student_ds.findLast(["Bobby", "13"])) { studentID = student_ds.getItemId(); } // // // if } Utilizar ahora el mtodo locateByID() para colocar el repetidor actual en el elemento de la coleccin cuyo ID coincida con studentID. (studentID != null) { student_ds.locateById(studentID);
Vase tambin
DataSet.applyUpdates(), DataSet.getItemId(), DataSet.locateById()
388
DataSet.first()
Disponibilidad
Flash Player 7.
Edicin
Valor devuelto
Ninguno.
Descripcin
Mtodo; convierte el primer elemento de la vista actual de la coleccin en el elemento actual. Los elementos que aparecen en la vista actual dependen de la configuracin de filtro y de rango especificada.
Ejemplo
En el siguiente cdigo se coloca el juego de datos inventory_ds en el primer elemento de su coleccin y, a continuacin, se muestra el valor de la propiedad price que dicho elemento contiene mediante la propiedad DataSet.currentItem.
inventory_ds.first(); trace("The price of the first item is:" + inventory_ds.currentItem.price);
En el siguiente ejemplo, se repiten todos los elementos de la vista actual de la coleccin (empezando por el principio) y se realiza un clculo en la propiedad price de cada elemento.
my_ds.addItem({name:"item a", price:16}); my_ds.addItem({name:"item b", price:9}); my_ds.first(); while (my_ds.hasNext()) { my_ds.currentItem.price *= 0.5; // Todo al 50% my_ds.next(); } for (var i in my_ds.items) { trace(my_ds.items[i].name + ": " + my_ds.items[i].price); }
Vase tambin
DataSet.last()
DataSet.loadFromSharedObj()
385
DataSet.getItemId()
Disponibilidad
Flash Player 7.
Edicin
Parmetros
Nmero que especifica el elemento de la vista actual de elementos para obtener el ID. Este parmetro es opcional.
index
Valor devuelto
Una cadena.
Descripcin
Mtodo; devuelve el identificador del elemento actual de la coleccin o el del elemento especificado por index. Dicho identificador es exclusivo slo dentro de esta coleccin determinada y DataSet.addItem() lo asigna automticamente.
Ejemplo
El cdigo siguiente obtiene el ID exclusivo correspondiente al elemento actual de la coleccin y, a continuacin, lo muestra en el panel Salida.
var itemNo:String = my_ds.getItemId(); trace("Employee id(" + itemNo + ")");
En el siguiente ejemplo, se utiliza DataSet.find() para buscar en la coleccin actual un elemento cuyos campos name e id contengan los valores Bobby y 105, respectivamente. Si se encuentra, se utilizar DataSet.getItemId() para obtener un identificador exclusivo de dicho elemento y DataSet.locateById() para colocar el repetidor actual en dicho elemento.
388
Para probar este ejemplo, arrastre un componente DataSet al escenario y asgnele un nombre de instancia student_ds. Aada dos propiedades, name (tipo de datos: String) e id (tipo de datos: Number) al componente DataSet mediante la ficha Esquema del inspector de componentes. Si an no tiene una copia del clip compilado DataBindingClasses en su biblioteca, arrastre una copia del clip compilado desde la biblioteca Clases (Ventana > Bibliotecas comunes > Clases). Aada el siguiente cdigo ActionScript al fotograma 1 de la lnea de tiempo principal:
student_ds.addItem({name:"Barry", id:103}); student_ds.addItem({name:"Bobby", id:105}); student_ds.addItem({name:"Billy", id:107}); trace("Before find() > " + student_ds.currentItem.name); // Billy var studentID:String; student_ds.addSort("id", ["name","id"]); if (student_ds.find(["Bobby", 105])) { studentID = student_ds.getItemId(); student_ds.locateById(studentID); trace("After find() > " + student_ds.currentItem.name); // Bobby } else { trace("We lost Billy!"); }
Vase tambin
DataSet.addItem()
DataSet.getIterator()
Disponibilidad
Flash Player 7.
Edicin
Valor devuelto
Un objeto ValueListIterator.
DataSet.loadFromSharedObj()
385
Descripcin
Mtodo; devuelve un nuevo repetidor para esta coleccin. Dicho repetidor es una copia del repetidor actual que est utilizndose y conserva la misma posicin dentro de la coleccin. Este mtodo est diseado especialmente para usuarios avanzados que necesiten acceder a varias vistas de una misma coleccin de forma simultnea.
Ejemplo
En el siguiente ejemplo, se utiliza DataSet.find() para buscar un elemento en la coleccin actual cuyo campo name contenga el valor Bobby. Aunque el repetidor myIterator apunta al registro de Bobby, el repetidor principal de student_ds sigue apuntando al ltimo registro, Billy. Para probar este ejemplo, arrastre un componente DataSet al escenario y asgnele un nombre de instancia student_ds. Aada dos propiedades, name (tipo de datos: String) e id (tipo de datos: Number) al componente DataSet mediante la ficha Esquema del inspector de componentes. Si an no tiene una copia del clip compilado DataBindingClasses en su biblioteca, arrastre una copia del clip compilado desde la biblioteca Clases (Ventana > Bibliotecas comunes > Clases). Aada el siguiente cdigo ActionScript al fotograma 1 de la lnea de tiempo principal:
import mx.data.to.ValueListIterator; student_ds.addItem({name:"Barry", id:103}); student_ds.addItem({name:"Bobby", id:105}); student_ds.addItem({name:"Billy", id:107}); var myIterator:ValueListIterator = student_ds.getIterator(); myIterator.sortOn(["name"]); myIterator.find({name:"Bobby"}).id = "999"; trace(student_ds.currentItem.name + " [" + student_ds.currentItem.id + "]"); // Billy [107] student_ds.addSort("id", ["name", "id"]); if (student_ds.find({name:"Bobby", id:999})) { student_ds.locateById(student_ds.getItemId()); trace(student_ds.currentItem.name + " [" + student_ds.currentItem.id + "]"); // Bobby [999] } else { trace("We lost Billy!"); }
388
DataSet.getLength()
Disponibilidad
Flash Player 7.
Edicin
Valor devuelto
DataSet.hasNext()
Disponibilidad
Flash Player 7.
Edicin
Valor devuelto
Un valor booleano.
Descripcin
Mtodo; devuelve false si el repetidor actual se encuentra al final de la vista correspondiente de la coleccin y true en caso contrario.
DataSet.loadFromSharedObj() 385
Ejemplo
En el siguiente ejemplo, se repiten todos los elementos de la vista actual de la coleccin (empezando por el principio) y se realiza un clculo en la propiedad price de cada elemento.
my_ds.addItem({name:"item a", price:16}); my_ds.addItem({name:"item b", price:9}); my_ds.first(); while (my_ds.hasNext()) { my_ds.currentItem.price *= 0.5; // Todo al 50% my_ds.next(); } for (var i in my_ds.items) { trace(my_ds.items[i].name + ": " + my_ds.items[i].price); }
Vase tambin
DataSet.currentItem, DataSet.first(), DataSet.next()
DataSet.hasPrevious()
Disponibilidad
Flash Player 7.
Edicin
Valor devuelto
Valor booleano.
Descripcin
Mtodo; devuelve false si el repetidor actual se encuentra al principio de la vista correspondiente de la coleccin y true en caso contrario.
388
Ejemplo
En el siguiente ejemplo, se repiten todos los elementos de la vista actual de la coleccin (empezando por el ltimo elemento) y se realiza un clculo en la propiedad price de cada elemento:
my_ds.addItem({name:"item a", price:16}); my_ds.addItem({name:"item b", price:9}); my_ds.last(); while (my_ds.hasPrevious()) { my_ds.currentItem.price *= 0.5; // Todo al 50% my_ds.previous(); } for (var i in my_ds.items) { trace(my_ds.items[i].name + ": " + my_ds.items[i].price); }
Vase tambin
DataSet.currentItem, DataSet.skip(), DataSet.previous()
DataSet.hasSort()
Disponibilidad
Flash Player 7.
Edicin
Parmetros
sortName
DataSet.addSort().
Valor devuelto
Valor booleano.
Descripcin
Mtodo; devuelve true si la clasificacin especificada por sortName existe, y false en caso contrario.
DataSet.loadFromSharedObj()
385
Ejemplo
El cdigo siguiente comprueba si existe una clasificacin denominada nameSort. Si la clasificacin ya existe, se convierte en la clasificacin actual mediante DataSet.useSort(). Si no existe una clasificacin con ese nombre, se crear una mediante DataSet.addSort(). Para probar este ejemplo, arrastre un componente List y un componente DataSet al escenario y asgneles los nombres de instancia my_list y my_ds respectivamente. Cree una vinculacin de datos entre la propiedad dataProvider del componente DataSet y la propiedad dataProvider del componente List mediante el panel Vinculaciones del inspector de componentes. Cree dos propiedades en el esquema de la instancia my_ds de DataSet mediante la ficha Esquema del inspector de componentes: name (tipo de datos: String) y years (tipo de datos: Number). Aada el cdigo siguiente al fotograma 1 de la lnea de tiempo:
import mx.data.components.datasetclasses.DataSetIterator; my_list.labelField = "name"; my_ds.addItem({name:"Milton", years:3}); my_ds.addItem({name:"Mark", years:3}); my_ds.addItem({name:"Sarah", years:1}); my_ds.addItem({name:"Michael", years:2}); my_ds.addItem({name:"Frank", years:2}); if (my_ds.hasSort("nameSort")) { my_ds.useSort("nameSort"); } else { my_ds.addSort("nameSort", ["name"], DataSetIterator.Descending); }
Vase tambin
DataSet.addSort(), DataSet.applyUpdates(), DataSet.useSort()
388
DataSet.isEmpty()
Disponibilidad
Flash Player 7.
Edicin
Valor devuelto
Un valor booleano.
Descripcin
Mtodo; devuelve true si el objeto DataSet especificado no contiene ningn elemento (es decir, si dataSet.length == 0).
Ejemplo
El siguiente cdigo desactiva el botn Eliminar registro (que no se muestra) si el objeto DataSet correspondiente est vaco:
if (my_ds.isEmpty()) { delete_button.enabled = false; }
Vase tambin
DataSet.length
DataSet.items
Disponibilidad
Flash Player 7.
Edicin
Descripcin
Ejemplo
En el ejemplo siguiente, se asigna una matriz de objetos a la propiedad items de un objeto DataSet:
var recData:Array = [{id:0, firstName:"Mick", lastName:"Jones"}, {id:1, firstName:"Joe", lastName:"Strummer"}, {id:2, firstName:"Paul", lastName:"Simonon"}]; my_ds.items = recData;
DataSet.itemClassName
Disponibilidad
Flash Player 7.
Edicin
Descripcin
Propiedad; cadena que indica el nombre de la clase que se crear cuando se aadan elementos a la coleccin. La clase que se especifique debe implementar la interfaz TransferObject, tal como se muestra a continuacin.
interface mx.data.to.TransferObject { function clone():Object; function getPropertyData():Object; function setPropertyData(propData:Object):Void; }
Tambin es posible establecer la propiedad en el inspector de propiedades. Para que la clase especificada est disponible en tiempo de ejecucin, tambin es necesario hacer una referencia completa a la clase en algn lugar del cdigo del archivo SWF, como se muestra en el siguiente fragmento de cdigo:
var myItem:my.package.myItem;
Se emite la excepcin DataSetError si se intenta modificar el valor de esta propiedad despus de que se haya cargado la matriz DataSet.items. Para ms informacin, consulte Interfaz TransferObject en la pgina 1325.
388
DataSet.iteratorScrolled
Disponibilidad
Flash Player 7.
Edicin
Sintaxis 1:
var listenerObject:Object = new Object(); listenerObject.iteratorScrolled = function (eventObj:Object) { // ... }; dataSetInstance.addEventListener("iteratorScrolled", listenerObject);
Sintaxis 2:
on (iteratorScrolled) { // ... }
Descripcin
Evento; se genera inmediatamente despus de que el repetidor actual se haya desplazado hasta un nuevo elemento de la coleccin. El objeto de evento (eventObj) contiene las propiedades siguientes:
target type
scrolled
Nmero que especifica la cantidad de elementos por los que se ha desplazado un repetidor; un valor positivo indica que el repetidor se ha desplazado hacia adelante en la coleccin, mientras que un valor negativo indica que el desplazamiento se ha realizado hacia atrs.
DataSet.loadFromSharedObj()
385
Ejemplo
En el siguiente ejemplo, la barra de estado de una aplicacin (que no se muestra) se actualiza cuando cambia la posicin del repetidor actual:
my_ds.addItem({name:"Milton", years:3}); my_ds.addItem({name:"Mark", years:3}); my_ds.addItem({name:"Sarah", years:1}); my_ds.addItem({name:"Michael", years:2}); my_ds.addItem({name:"Frank", years:2}); my_ds.addEventListener("iteratorScrolled", iteratorScrolledListener); my_ds.first(); // Activar el evento iteratorScrolled. function iteratorScrolledListener(evt_obj:Object):Void { trace("The iterator was scrolled."); }
DataSet.last()
Disponibilidad
Flash Player 7.
Edicin
Valor devuelto
Ninguno.
Descripcin
388
Ejemplo
El siguiente cdigo, asociado con un componente Button, se dirige al ltimo elemento de la coleccin DataSet:
function goLast(evt_obj:obj):Void { inventory_ds.last(); } goLast_button.addEventListener("click", goLast);
En el siguiente ejemplo, se repiten todos los elementos de la vista actual de la coleccin (empezando por el ltimo elemento) y se realiza un clculo en la propiedad price de cada elemento:
my_ds.addItem({name:"item a", price:16}); my_ds.addItem({name:"item b", price:9}); my_ds.last(); while (my_ds.hasPrevious()) { my_ds.currentItem.price *= 0.5; // Todo al 50% my_ds.previous(); } for (var i in my_ds.items) { trace(my_ds.items[i].name + ": " + my_ds.items[i].price); }
Vase tambin
DataSet.first()
DataSet.length
Disponibilidad
Flash Player 7.
Edicin
Descripcin
Propiedad (slo lectura); especifica el nmero de elementos de la vista actual de la coleccin. El nmero de elementos que puede verse depende de la configuracin actual del filtro y del rango.
DataSet.loadFromSharedObj()
385
Ejemplo
En el siguiente ejemplo, los eventos se desactivan antes de que los elementos de la coleccin sufran cambios, de forma que el rendimiento del sistema no se vea perjudicado porque el objeto DataSet intente actualizar los controles:
my_ds.addEventListener("modelChanged", onModelChanged); function onModelChanged(evt_obj:Object):Void { trace("model changed, DataSet now has " + evt_obj.target.length + " items"); } // Desactivar eventos para el juego de datos. my_ds.disableEvents(); my_ds.addItem({name:"Apples", price:14}); my_ds.addItem({name:"Bananas", price:8}); trace("Before:"); traceItems(); my_ds.last(); while(my_ds.hasPrevious()) { my_ds.price *= 0.5; // Todo al 50% my_ds.previous(); } trace("After:"); traceItems(); // Indicar al juego de datos que ahora hay que actualizar los controles. my_ds.enableEvents(); function traceItems(label:String):Void { for (var i:Number = 0; i < my_ds.length; i++) { trace("\t" + my_ds.items[i].name + " - $" + my_ds.items[i].price); } trace(""); }
388
DataSet.loadFromSharedObj()
Disponibilidad
Flash Player 7.
Edicin
Parmetros
Cadena que especifica el nombre del objeto compartido que debe recuperarse. El nombre puede incluir barras diagonales (/) (por ejemplo, direcciones/trabajo). No se permite el uso de espacios ni de los siguientes caracteres en el nombre que se especifique:
objName ~ % & \ ; : " ' , < > ? # localPath
Parmetro de cadena opcional que especifica la ruta completa o parcial al archivo SWF que ha creado el objeto compartido. Esta cadena se utiliza para determinar la ubicacin del equipo del usuario en la que se encuentra almacenado el objeto. El valor predeterminado es la ruta completa del archivo SWF.
Valor devuelto
Ninguno.
Descripcin
Mtodo; carga todos los datos necesarios para restaurar esta coleccin DataSet a partir de un objeto compartido. Para guardar una coleccin DataSet en un objeto compartido, utilice DataSet.saveToSharedObj(). El mtodo DataSet.loadFromSharedObject() sobrescribe los datos o cambios pendientes que existan dentro de esta coleccin DataSet. Tenga en cuenta que el nombre de instancia de esta coleccin DataSet se utiliza para identificar los datos dentro de un objeto compartido determinado. Este mtodo emite una excepcin DataSetError si no se encuentra el objeto compartido especificado o si surge un problema al recuperar los datos de dicho objeto.
DataSet.loadFromSharedObj()
385
Ejemplo
En el siguiente ejemplo, se intenta cargar un objeto compartido denominado webapp/ customerInfo asociado con el juego de datos denominado my_ds. La llamada al mtodo se realiza dentro de un bloque de cdigo try...catch.
import mx.data.components.datasetclasses.DataSetError; try { my_ds.loadFromSharedObj("webapp/customerInfo"); } catch(e:DataSetError) { trace("Unable to load shared object."); }
Vase tambin
DataSet.saveToSharedObj()
DataSet.locateById()
Disponibilidad
Flash Player 7.
Edicin
Parmetros
id
Valor devuelto
Valor booleano.
Descripcin
Mtodo; coloca el repetidor actual en el elemento de la coleccin cuyo ID coincida con id. El mtodo devuelve true si el ID especificado puede correlacionarse con un elemento de la coleccin, y false en caso contrario.
388
Ejemplo
En el siguiente ejemplo, se utiliza DataSet.find() para buscar en la coleccin actual un elemento cuyos campos name e id contengan los valores Bobby y 105, respectivamente. Si se encuentra, se utilizar DataSet.getItemId() para obtener un identificador exclusivo de dicho elemento y DataSet.locateById() para colocar el repetidor actual en dicho elemento. Para probar este ejemplo, arrastre un componente DataSet al escenario y asgnele un nombre de instancia student_ds. Aada dos propiedades, name (String) e id (Number) al componente DataSet mediante la ficha Esquema del inspector de componentes. Si an no tiene una copia del clip compilado DataBindingClasses en su biblioteca, arrastre una copia del clip compilado desde la biblioteca Clases (Ventana > Bibliotecas comunes > Clases). Aada el siguiente cdigo ActionScript al fotograma 1 de la lnea de tiempo principal:
student_ds.addItem({name:"Barry", id:103}); student_ds.addItem({name:"Bobby", id:105}); student_ds.addItem({name:"Billy", id:107}); trace("Before find() > " + student_ds.currentItem.name); // Billy var studentID:String; student_ds.addSort("id", ["name","id"]); if (student_ds.find(["Bobby", 105])) { studentID = student_ds.getItemId(); student_ds.locateById(studentID); trace("After find() > " + student_ds.currentItem.name); // Bobby } else { trace("We lost Billy!"); }
Vase tambin
DataSet.applyUpdates(), DataSet.find(), DataSet.getItemId()
DataSet.logChanges
Disponibilidad
Flash Player 7.
Edicin
DataSet.loadFromSharedObj()
385
Descripcin
Propiedad; valor booleano que especifica si deben (true) o no deben (false) registrarse en DataSet.deltaPacket los cambios realizados en el juego de datos. Cuando esta propiedad se establece en true se registran las operaciones realizadas en los niveles de coleccin y elemento. Los cambios realizados en el nivel de coleccin incluyen las operaciones realizadas para aadir o eliminar elementos de la coleccin. Los cambios realizados en el nivel de elementos incluyen los cambios de propiedad realizados en los elementos y las llamadas a mtodos realizadas en los elementos mediante el componente DataSet.
Ejemplo
Vase tambin
DataSet.deltaPacket
DataSet.modelChanged
Disponibilidad
Flash Player 7.
Edicin
Sintaxis 1:
var listenerObject:Object = new Object(); listenerObject.modelChanged = function (eventObj:Object):Void { // ... }; dataSetInstance.addEventListener("modelChanged", listenerObject);
Sintaxis 2:
on (modelChanged) { // ... }
388
Descripcin
Evento; se difunde cuando se produce algn cambio en la coleccin; por ejemplo, cuando se aaden elementos a la coleccin o se eliminan elementos de ella, cuando el valor de la propiedad de un elemento vara o cuando se filtra u ordena la coleccin. El objeto de evento (eventObj) contiene las propiedades siguientes:
target type
Objeto DataSet que gener el evento. Cadena iteratorScrolled. ndice (nmero) del primer elemento de la coleccin afectado por el cambio.
firstItem
lastItem ndice (nmero) del ltimo elemento de la coleccin afectado por el cambio (es igual a firstItem si slo se ve afectado un elemento).
Cadena que contiene el nombre del campo afectado. Esta propiedad no est definida (es decir, tiene un valor de undefined) salvo si el cambio se ha efectuado en una propiedad del objeto DataSet.
fieldName eventName
Cadena que describe el cambio realizado. Puede tratarse de cualquiera de los valores siguientes:
Valor de la cadena
"addItems" "filterModel"
Descripcin
Se ha aadido una serie de elementos. El modelo se ha filtrado y es necesario actualizar la vista (restablecer la posicin de desplazamiento) Se ha eliminado una serie de elementos. Se ha declarado la definicin de los campos del proveedor de datos. Se han ordenado los datos. Es necesario actualizar toda la vista, excluida la posicin de desplazamiento. Es necesario actualizar la definicin de la totalidad de un campo del proveedor de datos. Un campo de un elemento ha cambiado y debe actualizarse. Es necesario actualizar una serie de elementos.
"updateColumn"
"updateField" "updateItems"
DataSet.loadFromSharedObj()
385
Ejemplo
En el siguiente ejemplo, se distribuye el evento modelChanged siempre que se aade o se elimina un elemento del juego de datos:
my_ds.addEventListener("modelChanged", onModelChanged); function onModelChanged(evt_obj:Object):Void { trace("[event =" + evt_obj.eventName + "] the data set now has " + evt_obj.target.items.length + " items."); } my_ds.addItem({name:"Apples", price:14}); my_ds.addItem({name:"Bananas", price:8}); my_ds.removeItemAt(0);
En el siguiente ejemplo, el botn que sirve para eliminar elementos est desactivado si se han eliminado los elementos de la coleccin y si el objeto DataSet de destino no tiene ms elementos:
my_ds.addEventListener("modelChanged", onModelChanged); function onModelChanged(evt_obj:Object):Void { trace("model changed, DataSet now has " + evt_obj.target.items.length + " items"); } // Desactivar eventos para el juego de datos. my_ds.disableEvents(); my_ds.addItem({name:"Apples", price:14}); my_ds.addItem({name:"Bananas", price:8}); trace("Before:"); traceItems(); my_ds.last(); while (my_ds.hasPrevious()) { my_ds.price *= 0.5; // Todo al 50% my_ds.previous(); } trace("After:"); traceItems(); // Indicar al juego de datos que ahora hay que actualizar los controles. my_ds.enableEvents(); function traceItems(label:String):Void { for (var i:Number = 0; i < my_ds.items.length; i++) { trace("\t" + my_ds.items[i].name + " - $" + my_ds.items[i].price); } trace(""); }
Vase tambin
DataSet.isEmpty()
388 Diccionario de componentes de ActionScript 2.0
DataSet.newItem
Disponibilidad
Flash Player 7.
Edicin
Sintaxis 1:
var listenerObject:Object = new Object(); listenerObject.newItem = function (eventObj:Object) { // ... }; dataSetInstance.addEventListener("newItem", listenerObject);
Sintaxis 2:
on (newItem) { // ... }
Descripcin
Evento; se difunde cuando se construye un nuevo objeto de transferencia mediante DataSet.createItem(). Un detector de este evento puede realizar modificaciones en el elemento antes de aadirlo a la coleccin. El objeto de evento (eventObj) contiene las propiedades siguientes:
target type item
Objeto DataSet que gener el evento. Cadena iteratorScrolled. Referencia al elemento creado.
Ejemplo
En el siguiente ejemplo, se realizan modificaciones en un elemento recin creado antes de aadirlo a la coleccin:
function newItemEvent(evt_obj:Object):Void { var employee:Object = evt_obj.item; employee.name = "newGuy"; // Los datos de la propiedad son XML. employee.zip = employee.getPropertyData().firstChild.childNodes[1].attributes.zip; } employees_ds.addEventListener("newItem", newItemEvent);
DataSet.loadFromSharedObj()
385
DataSet.next()
Disponibilidad
Flash Player 7.
Edicin
Valor devuelto
Ninguno.
Descripcin
Mtodo; convierte el siguiente elemento de la vista actual de la coleccin en el elemento actual. Los elementos que aparecen en la vista actual dependen de la configuracin de filtro y de rango especificada.
Ejemplo
En el siguiente ejemplo, se repiten todos los elementos de la vista actual de la coleccin (empezando por el principio) y se realiza un clculo en la propiedad price de cada elemento:
my_ds.addItem({name:"item a", price:16}); my_ds.addItem({name:"item b", price:9}); my_ds.first(); while (my_ds.hasNext()) { my_ds.currentItem.price *= 0.5; // Todo al 50% my_ds.next(); } for (var i in my_ds.items) { trace(my_ds.items[i].name + ": " + my_ds.items[i].price); }
Vase tambin
DataSet.first(), DataSet.hasNext()
388
DataSet.previous()
Disponibilidad
Flash Player 7.
Edicin
Valor devuelto
Ninguno.
Descripcin
Mtodo; convierte el elemento anterior de la vista actual de la coleccin en el elemento actual. Los elementos que aparecen en la vista actual dependen de la configuracin de filtro y de rango especificada.
Ejemplo
En el siguiente ejemplo, se repite indefinidamente cada elemento de un juego de datos y se rastrea el precio de cada elemento:
my_ds.addItem({name:"item a", price:16}); my_ds.addItem({name:"item b", price:9}); my_ds.last(); while (my_ds.hasPrevious()) { trace(my_ds.currentItem.price); my_ds.previous(); }
En el siguiente ejemplo, se repiten indefinidamente todos los elementos de la vista actual de la coleccin, empezando por el ltimo, y se realiza un clculo en un campo de cada elemento:
my_ds.last(); while (my_ds.hasPrevious()) { my_ds.price *= 0.5; // Todo al 50% my_ds.previous(); }
Vase tambin
DataSet.first(), DataSet.hasNext()
DataSet.loadFromSharedObj()
385
DataSet.properties
Disponibilidad
Flash Player 7.
Edicin
Descripcin
Propiedad (slo lectura); devuelve un objeto que contiene todas las propiedades expuestas (campos) correspondientes a cualquier objeto de transferencia que se encuentre dentro de esta coleccin.
Ejemplo
En el siguiente ejemplo, se muestran todos los nombres de las propiedades del objeto DataSet denominado my_ds:
var i:String; for (i in my_ds.properties) { trace("field '" + i + "' has value " + my_ds.properties[i]); }
DataSet.readOnly
Disponibilidad
Flash Player 7.
Edicin
Descripcin
Propiedad; valor booleano que especifica si la coleccin puede modificarse (false) o es de slo lectura (true). Si la propiedad se establece en true no podrn realizarse actualizaciones de la coleccin. El valor predeterminado es false. Tambin es posible establecer la propiedad en el inspector de propiedades.
388
Ejemplo
En el ejemplo siguiente, se convierte el objeto DataSet denominado my_ds en un objeto de slo lectura y, a continuacin, se intenta modificar el valor de una propiedad que pertenece al elemento actual de la coleccin. Este intento emite una excepcin DataSetError.
import mx.data.components.datasetclasses.DataSetError; my_ds.readOnly = true; try { // Con esta accin se emitir una excepcin. my_ds.addItem({name:'Joe'}); } catch (e:DataSetError) { // Clasificacin especificada 'name' no existe para DataSet 'my_ds'. trace("DataSetError >> " + e.message); }
Vase tambin
DataSet.currentItem
DataSet.removeAll()
Disponibilidad
Flash Player 7.
Edicin
Valor devuelto
Ninguno.
Descripcin
DataSet.loadFromSharedObj()
385
DataSet.removeItem
Disponibilidad
Flash Player 7.
Edicin
Sintaxis 1:
var listenerObject:Object = new Object(); listenerObject.removeItem = function (eventObj:Object):Void { // ... }; dataSetInstance.addEventListener("removeItem", listenerObject);
Sintaxis 2:
on (removeItem) { // ... }
Descripcin
Evento; generado justo antes de eliminar un nuevo elemento de esta coleccin. Si se especifica el valor false en la propiedad result del objeto en el que se ha producido el evento, se cancelar la operacin de eliminacin; en cambio, si se establece el valor true, podr realizarse dicha operacin. El objeto de evento (eventObj) contiene las propiedades siguientes:
target type item
Objeto DataSet que gener el evento. Cadena removeItem. Referencia al elemento de la coleccin que se va a eliminar.
result Valor booleano que especifica si el elemento debe o no eliminarse. De forma predeterminada, este valor es true.
388
Ejemplo
En el siguiente ejemplo, un controlador de eventos on(removeItem) cancela la eliminacin del nuevo elemento si una funcin definida por el usuario denominada userHasAdminPrivs() devuelve false; de lo contrario se permite llevar a cabo la eliminacin:
on (removeItem) { if (globalObj.userHasAdminPrivs()) { // Permitir la eliminacin del elemento. eventObj.result = true; } else { // No permitir la eliminacin del elemento; el usuario no tiene // privilegios de administrador. eventObj.result = false; } }
El controlador de eventos addItem siguiente cancela la eliminacin del elemento existente si una funcin definida por el usuario denominada userHasAdminPrivs() devuelve el valor false; de lo contrario, s se admite la eliminacin.
function userHasAdminPrivs():Boolean { return false; // cambiar esto a true para permitir inserciones } function removeItemListener(evt_obj:Object):Void { if (userHasAdminPrivs()) { // Allow the item removal. evt_obj.result = true; trace("Item removed"); } else { // No permitir la eliminacin del elemento; el usuario no tiene // privilegios de administrador. evt_obj.result = false; trace("Error, insufficient permissions"); } } my_ds.addEventListener("removeItem", removeItemListener); my_ds.addItem({name:"item a", price:16}); my_ds.addItem({name:"item b", price:9}); my_ds.removeItemAt(0);
Vase tambin
DataSet.addItem
DataSet.loadFromSharedObj()
385
DataSet.removeItem()
Disponibilidad
Flash Player 7.
Edicin
Parmetros
item
Valor devuelto
Valor booleano. Devuelve true si el elemento se elimin con xito, y false en caso contrario.
Descripcin
Mtodo; elimina el elemento especificado de la coleccin, o bien elimina el elemento actual si se omite el parmetro item . Est operacin se registra en DataSet.deltaPacket si el valor de DataSet.logChanges es true.
Ejemplo
El cdigo siguiente elimina el elemento de la posicin actual del repetidor. Para probar este ejemplo, aada un componente DataSet al escenario y asgnele un nombre de instancia my_ds. Aada el cdigo siguiente al fotograma 1 de la lnea de tiempo principal:
my_ds.addItem({name:"Milton", years:3}); my_ds.addItem({name:"Mark", years:3}); my_ds.addItem({name:"Sarah", years:1}); my_ds.addItem({name:"Michael", years:2}); my_ds.addItem({name:"Frank", years:2}); trace(my_ds.getLength()); // 5 trace(my_ds.currentItem.name); // Frank my_ds.removeItem(); trace(my_ds.getLength()); // 4 trace(my_ds.currentItem.name); // Michael
Vase tambin
DataSet.deltaPacket, DataSet.logChanges
388
DataSet.removeItemAt()
Disponibilidad
Flash Player 7.
Edicin
Parmetros
index
Nmero mayor o igual que 0. Este nmero es el ndice del elemento que se va a
eliminar.
Valor devuelto
Mtodo; elimina el elemento del ndice especificado. Los ndices que se encuentran despus del ndice eliminado se contraern una posicin. Este mtodo activa el evento modelChanged con el nombre de evento removeItems. Adems, activa el evento DataSet.removeItem, que contiene las propiedades result y item. La propiedad result se utiliza para determinar si el elemento al que hace referencia la propiedad item del evento puede eliminarse. De forma predeterminada, la propiedad result est establecida en true. Si no se especifica ningn detector de eventos para el evento removeItem, el elemento se elimina de forma predeterminada. Un detector de eventos puede evitar que el elemento se elimine mediante la deteccin del evento removeItem y la configuracin de la propiedad result del evento en false, como se muestra en el siguiente ejemplo:
function removeItem(evt_obj:Object):Void { // No permitir a nadie eliminar el elemento con customerId == 0. evt_obj.result = (evt_obj.item.customerId != 0); }
DataSet.loadFromSharedObj()
385
Ejemplo
DataSet.removeRange()
Disponibilidad
Flash Player 7.
Edicin
Valor devuelto
Ninguno.
Descripcin
Mtodo; elimina la configuracin especificada del punto final actual mediante DataSet.setRange() para el repetidor actual.
Ejemplo
my_ds.addSort("name_id", ["name", "id"]); my_ds.setRange(["Bobby", 105],["Cathy", 110]); while (my_ds.hasNext()) { my_ds.gradeLevel ="5"; // Cambiar todas las calificaciones de este rango. my_ds.next(); } my_ds.removeRange(); my_ds.removeSort("name_id");
Vase tambin
DataSet.applyUpdates(), DataSet.hasNext(), DataSet.next(), DataSet.removeSort(), DataSet.setRange()
388
DataSet.removeSort()
Disponibilidad
Flash Player 7.
Edicin
Parmetros
sortName
Valor devuelto
Ninguno.
Descripcin
Mtodo; elimina la clasificacin especificada de este objeto DataSet si dicha clasificacin existe. Si la clasificacin especificada no existe, el mtodo emitir una excepcin DataSetError.
Ejemplo
En el siguiente ejemplo, se crea un rango de elementos en el componente DataSet y se modifica la propiedad gradeLevel de cada elemento. Para probar este ejemplo, aada un componente DataSet al escenario y asgnele un nombre de instancia my_ds. Con el componente DataSet seleccionado, cree tres propiedades nuevas en el esquema del componente DataSet mediante la ficha Esquema del inspector de componentes. Asigne a las nuevas propiedades los nombres name, id y gradeLevel y los tipos de datos String, Number y Number, respectivamente. Aada una copia del clip compilado DataBindingClasses desde la biblioteca comn Clases (Ventana > Bibliotecas comunes > Clases) y aada el siguiente cdigo ActionScript al fotograma 1 de la lnea de tiempo principal:
my_ds.addItem({name:"Billy", id:104, gradeLevel:4}); my_ds.addItem({name:"Bobby", id:105, gradeLevel:4}); my_ds.addItem({name:"Carrie", id:106, gradeLevel:4}); my_ds.addItem({name:"Cathy", id:110, gradeLevel:4}); my_ds.addItem({name:"Mally", id:112, gradeLevel:3}); my_ds.addSort("name_id", ["name", "id"]); my_ds.setRange(["Bobby", 105], ["Cathy", 110]);
DataSet.loadFromSharedObj()
385
while (my_ds.hasNext()) { my_ds.gradeLevel = "5"; // Cambiar todas las calificaciones de este rango. my_ds.next(); } my_ds.removeRange(); my_ds.removeSort("name_id"); for (var i=0; i<my_ds.length; i++) { trace(my_ds.items[i].name + " > " + my_ds.items[i].gradeLevel); }
Vase tambin
DataSet.applyUpdates(), DataSet.hasNext(), DataSet.next(), DataSet.removeRange(), DataSet.setRange()
DataSet.resolveDelta
Disponibilidad
Flash Player 7.
Edicin
Sintaxis 1:
var listenerObject:Object = new Object(); listenerObject.resolveDelta = function (eventObj:Object):Void { // ... }; dataSetInstance.addEventListener("resolveDelta", listenerObject);
Sintaxis 2:
on (resolveDelta) { // ... }
388
Descripcin
Evento; se difunde cuando se asigna un paquete delta a DataSet.deltaPacket, cuyo ID de transaccin coincide con el de un paquete delta previamente recuperado a partir del objeto DataSet, y que tiene mensajes asociados con cualquiera de los objetos Delta o DeltaItem que contiene el paquete delta. Este evento permite enmendar los errores devueltos desde el servidor al intentar aplicar los cambios enviados anteriormente. Normalmente, este evento se utiliza para mostrar un cuadro de dilogo de soluciones con los valores incorrectos, de forma que el usuario pueda realizar las modificaciones pertinentes en los datos y los pueda volver a enviar. El objeto de evento (eventObj) contiene las propiedades siguientes:
target type data
Matriz de deltas y objetos DeltaItem asociados con mensajes de longitud distinta de cero.
Ejemplo
En el siguiente ejemplo, se muestra un formulario denominado reconcileForm (que no se muestra) y se llama a un mtodo de ese objeto Form (setReconcileData()) que permite al usuario corregir los valores devueltos como incorrectos por el servidor:
import mx.data.components.datasetclasses.*; my_ds.addEventListener("resolveDelta", onResolveDelta); function onResolveDelta(eventObj:Object) { reconcileForm.visible = true; reconcileForm.setReconcileData(eventObj.data); } // en el cdigo de reconcileForm function setReconcileData(data:Array):Void { var di:DeltaItem; var ops:Array = ["property", "method"]; var cl:Array; // change list var msg:String; for (var i = 0; i<data.length; i++) { cl = data[i].getChangeList(); for (var j = 0; j<cl.length; j++) { di = cl[j]; msg = di.message; if (msg.length>0) { trace("The following problem occurred '"+msg+"' while performing a '"+ops[di.kind]+"' modification on/with '"+di.name+"' current server value ["+di.curValue+"], value sent ["+di.newValue+"] Please fix!"); } } } }
DataSet.loadFromSharedObj() 385
DataSet.saveToSharedObj()
Disponibilidad
Flash Player 7.
Edicin
Parmetros
Cadena que especifica el nombre del objeto compartido que va a crearse. El nombre puede incluir barras diagonales (/) (por ejemplo, direcciones/trabajo). No se permite el uso de espacios ni de los siguientes caracteres en el nombre que se especifique:
objName ~ % & \ ; : " ' , < > ? # localPath
Parmetro de cadena opcional que especifica la ruta completa o parcial al archivo SWF que ha creado el objeto compartido. Esta cadena se utiliza para determinar la ubicacin del equipo del usuario en la que se encuentra almacenado el objeto. El valor predeterminado es la ruta completa del archivo SWF.
Valor devuelto
Ninguno.
Descripcin
Mtodo; guarda todos los datos necesarios para restaurar esta coleccin DataSet en un objeto compartido. De esta forma los usuarios pueden trabajar aunque estn desconectados de los datos de origen, si se trata de recursos de red. Este mtodo sobrescribe los datos que existen dentro del objeto de datos compartido de esta coleccin DataSet. Para restaurar una coleccin DataSet desde un objeto compartido, utilice DataSet.loadFromSharedObj(). Tenga en cuenta que el nombre de esta coleccin DataSet se utiliza para identificar los datos dentro de un objeto compartido determinado. Si no puede crearse el objeto compartido o si se produce un problema al alinear los datos a ste, el mtodo emitir la excepcin DataSetError.
388
Ejemplo
En el siguiente ejemplo, se llama a saveToSharedObj() en un bloque try..catch y se muestra un error si se produce algn problema al guardar los datos en el objeto compartido.
import mx.data.components.datasetclasses.DataSetError; try { my_ds.saveToSharedObj("webapp/customerInfo"); } catch(e:DataSetError) { trace("Unable to create shared object); }
Vase tambin
DataSet.loadFromSharedObj()
DataSet.schema
Disponibilidad
Flash Player 7.
Edicin
Descripcin
Propiedad; proporciona la representacin en XML del esquema para este objeto DataSet. El cdigo XML asignado a esta propiedad debe tener el formato siguiente:
<?xml version="1.0"?> <properties> <property name="propertyName"> <type name="dataType" /> <encoder name="dataType"> <options> <dataFormat>format options</dataFormat> </options> </encoder> <kind name="dataKind"> </kind> </property> <property> ... </property> ... </properties>
Se emitir una excepcin DataSetError si el cdigo XML especificado no respeta el formato anterior.
DataSet.loadFromSharedObj() 385
Ejemplo
En el siguiente ejemplo, se establece el esquema del juego de datos my_ds a un nuevo objeto XML que contiene XML con formato apropiado:
my_ds.schema = new XML("<properties><property name="billable"> ..etc.. </ properties>");
DataSet.selectedIndex
Disponibilidad
Flash Player 7.
Edicin
Descripcin
Propiedad; especifica el ndice seleccionado dentro de la coleccin. Esta propiedad puede vincularse al elemento seleccionado en un componente DataGrid o List, y viceversa. Si desea ver un ejemplo completo de demostracin, consulte Creacin de aplicaciones con el componente DataSet en la pgina 382.
Ejemplo
En el siguiente ejemplo, se establece el ndice seleccionado de un objeto DataSet (user_ds) en el ndice seleccionado de un componente DataGrid (user_dg).
user_ds.selectedIndex = user_dg.selectedIndex;
388
DataSet.setIterator()
Disponibilidad
Flash Player 7.
Edicin
Parmetros
iterator
Valor devuelto
Ninguno.
Descripcin
Mtodo; asigna el repetidor especificado a este objeto DataSet y lo convierte en el repetidor actual. El repetidor especificado debe provenir de una llamada anterior a DataSet.getIterator() en el objeto DataSet al que se asigne; de lo contrario, se emitir una excepcin DataSetError.
Ejemplo
import mx.data.to.ValueListIterator; myIterator:ValueListIterator = my_ds.getIterator(); myIterator.sortOn(["name"]); my_ds.setIterator(myIterator);
Vase tambin
DataSet.getIterator()
DataSet.loadFromSharedObj()
385
DataSet.setRange()
Disponibilidad
Flash Player 7.
Edicin
Parmetros
startValues
Matriz de valores clave de las propiedades del primer objeto de transferencia Matriz de valores clave de las propiedades del ltimo objeto de transferencia
del rango.
endValues
del rango.
Valor devuelto
Ninguno.
Descripcin
Mtodo; establece los puntos finales del repetidor actual. Los puntos finales definen un rango dentro del cual opera el repetidor. Slo es vlido si se ha establecido una clasificacin vlida para el repetidor actual mediante DataSet.addSort(). Establecer un rango para el repetidor actual es ms eficaz que utilizar una funcin de filtro si lo que se desea es agrupar los valores (consulte DataSet.filterFunc).
Ejemplo
En el siguiente ejemplo, se selecciona un rango de estudiantes y se localiza cada uno de sus nombres en el panel Salida:
my_ds.addItem({name:"Billy", id:104, gradeLevel:4}); my_ds.addItem({name:"Bobby", id:105, gradeLevel:4}); my_ds.addItem({name:"Carrie", id:106, gradeLevel:4}); my_ds.addItem({name:"Cathy", id:110, gradeLevel:4}); my_ds.addItem({name:"Mally", id:112, gradeLevel:3}); my_ds.addSort("name_id",["name", "id"]); my_ds.setRange(["Bobby", 105],["Cathy", 110]); while (my_ds.hasNext()) { trace(my_ds.name); // Bobby..Cathy my_ds.next(); }
Vase tambin
DataSet.addSort(), DataSet.hasNext(), DataSet.next(), DataSet.removeRange(), DataSet.removeSort()
388 Diccionario de componentes de ActionScript 2.0
DataSet.skip()
Disponibilidad
Flash Player 7.
Edicin
Parmetros
Nmero entero que especifica el nmero de registros que se desplazar la posicin del repetidor.
offSet
Valor devuelto
Ninguno.
Descripcin
Mtodo; desplaza la posicin del repetidor actual hacia delante o hacia atrs en funcin del nmero especificado por offSet. Los valores positivos de offSet desplazan la posicin del repetidor actual hacia delante, mientras que los negativos la desplazan hacia atrs. Si el valor de offset especificado se encuentra fuera del principio (o del final) de la coleccin, el repetidor se colocar al principio (o al final) de la coleccin.
Ejemplo
En el siguiente ejemplo, se coloca el repetidor actual en el primer elemento de la coleccin, a continuacin se desplaza al penltimo elemento y por ltimo se realiza un clculo en un campo de dicho elemento:
my_ds.addItem({name:"Billy", id:104, gradeLevel:4}); my_ds.addItem({name:"Carrie", id:106, gradeLevel:4}); my_ds.addItem({name:"Mally", id:112, gradeLevel:3}); my_ds.addItem({name:"Cathy", id:110, gradeLevel:4}); my_ds.addItem({name:"Bobby", id:105, gradeLevel:4}); my_ds.first(); var itemsToSkip:Number = 3; trace(my_ds.currentItem.name); // Billy my_ds.skip(itemsToSkip); trace(my_ds.currentItem.name); // Mally
DataSet.loadFromSharedObj()
385
DataSet.useSort()
Disponibilidad
Flash Player 7.
Edicin
Parmetros
sortName order
Valor entero que indica el orden de la clasificacin; el valor debe ser DataSetIterator.Ascending o DataSetIterator.Descending.
Valor devuelto
Ninguno.
Descripcin
Mtodo; cambia la clasificacin del repetidor actual a la que se especifica en sortName, si existe. Si la clasificacin especificada no existe, se emite una excepcin DataSetError. Para crear una clasificacin, utilice DataSet.addSort().
Ejemplo
En el siguiente ejemplo, se utiliza DataSet.hasSort() para determinar si una clasificacin denominada customer existe o no. Si existe, el cdigo llama a DataSet.useSort() para que customer sea la clasificacin actual. De lo contrario, el cdigo crea una clasificacin con ese nombre mediante DataSet.addSort().
if (my_ds.hasSort("customer")) { my_ds.useSort("customer"); } else { my_ds.addSort("customer", ["customer"], DataSetIterator.Descending); }
Vase tambin
DataSet.applyUpdates(), DataSet.hasSort()
388
CAPTULO 15
Componente DateField
El componente DateField es un campo de texto no seleccionable que muestra la fecha con un icono de calendario situado a su derecha.
N OT A S U G E R E N CI A
15
El componente DateField slo es compatible si trabaja con un documento que especifique ActionScript 2.0 en la Configuracin de publicacin.
Si no se ha seleccionado ninguna fecha, el campo de texto estar vaco y se mostrar el mes correspondiente al da de hoy en el selector de fechas. Cuando el usuario hace clic dentro del recuadro de delimitacin del campo de fecha, aparece el selector de fechas con el mes correspondiente a la fecha seleccionada. Con el selector de fechas abierto, el usuario puede usar los botones de desplazamiento para cambiar de mes y ao y seleccionar una fecha. Una vez seleccionada una fecha, el selector se cierra y la seleccin se introduce en el campo de fecha.
El campo de fecha se borra cuando un usuario selecciona la misma fecha dos veces. Para evitar que los usuarios anulen la seleccin de una fecha de forma accidental, consulte el ejemplo de DateField.selectedDate en la pgina 486.
La previsualizacin dinmica del componente DateField no refleja los valores indicados en el inspector de propiedades ni en el inspector de componentes durante la edicin porque se trata de un componente emergente que no puede verse durante la edicin.
459
Parmetros de DateField
A continuacin se indican los parmetros de edicin que se pueden definir para cada instancia del componente DateField en el inspector de propiedades o en el inspector de componentes: establece el nombre de los das de la semana. El valor es una matriz y el valor predeterminado es [S, M, T, W, T, F, S].
dayNames disabledDays
indica los das de la semana que estn desactivados. Este parmetro es una matriz que puede tener hasta siete valores. El valor predeterminado es [] (matriz vaca).
de fechas (0-6, con 0 como primer elemento de la matriz de dayNames). Esta propiedad cambia el orden de visualizacin de las columnas de los das. El valor predeterminado es 0, que corresponde a S de Sunday (domingo). establece el nombre de los meses que se muestran en la fila de encabezado del calendario. El valor es una matriz y el valor predeterminado es [January, February,
monthNames March, April, May, June, July, August, September, October,November, December]. showToday
Puede escribir cdigo ActionScript para controlar stas y otras opciones adicionales para los componentes DateField utilizando sus propiedades, mtodos y eventos. Para ms informacin, consulte Clase DateField en la pgina 466.
460
Componente DateField
Seleccione Archivo > Nuevo y, a continuacin, Archivo Flash (ActionScript 2.0). En el panel Componentes, haga doble clic en el componente DateField para aadirlo al escenario. En el inspector de propiedades, introduzca el nombre de instancia flightCalendar. En el panel Acciones, introduzca el cdigo siguiente en el fotograma 1 de la lnea de tiempo para establecer un rango de fechas seleccionables:
flightCalendar.selectableRange = {rangeStart:new Date(2001, 9, 1), rangeEnd:new Date(2003, 11, 1)};
3. 4.
Este cdigo asigna un valor a la propiedad selectableRange de un objeto ActionScript que contenga dos objetos Date con los nombres de variable rangeStart y rangeEnd. De esta forma, se definen los lmites superior e inferior de un rango dentro del cual el usuario puede seleccionar una fecha.
5.
En el panel Acciones, introduzca el cdigo siguiente en el fotograma 1 de la lnea de tiempo para establecer los intervalos de fechas desactivadas: una durante el mes de diciembre y otra para todas las fechas anteriores a la actual:
flightCalendar.disabledRanges = [{rangeStart: new Date(2003, 11, 15), rangeEnd: new Date(2003, 11, 31)}, {rangeEnd: new Date(2003, 6, 16)}];
6.
En el panel Acciones, introduzca el cdigo siguiente en el fotograma 1 de la lnea de tiempo para que los lunes queden desactivados:
flightCalendar.disabledDays=[1];
7.
461
Para crear una instancia del componente DateField mediante cdigo ActionScript:
1. 2.
Seleccione Archivo > Nuevo y, a continuacin, Archivo Flash (ActionScript 2.0). Arrastre el componente DateField desde el panel Componentes a la biblioteca del documento actual. De esta manera, se aade el componente a la biblioteca, aunque ste no se vuelve visible en la aplicacin.
3.
Seleccione el primer fotograma de la lnea de tiempo principal, abra el panel Acciones e introduzca el cdigo siguiente:
this.createClassObject(mx.controls.DateField, "my_df", 1);
462
Componente DateField
Tema
Halo
Descripcin
Color de la iluminacin cuando las fechas estn seleccionadas y se pasa el puntero sobre ellas. Los valores posibles son haloGreen, haloBlue y haloOrange. El valor predeterminado es haloGreen Color del fondo. El valor predeterminado es 0xEFEBEF (gris claro). Color del borde. El valor predeterminado es 0x919999. La lista desplegable del componente DateField utiliza una lnea slida de un solo pxel como borde. Este borde no puede modificarse con estilos o aspectos.
backgroundColor
Ambos Ambos
borderColor
headerColor
Ambos Ambos
El color de fondo para el encabezado de la lista desplegable. El color predeterminado es blanco. Color de fondo de una fecha por la que se desplaza el puntero. El valor predeterminado es 0xE3FFD6 (verde brillante) con el tema Halo y 0xAAAAAA (gris claro) con el tema Sample. Color de fondo de la fecha seleccionada. El valor predeterminado es 0xCDFFC1 (verde claro) con el tema Halo y 0xEEEEEE (gris muy claro) con el tema Sample. El color de fondo para la fecha de hoy. El valor predeterminado es 0x666666 (gris oscuro). Color del texto. El valor predeterminado es 0x0B333C para el tema Halo y en blanco para el tema Sample. Color del texto cuando el componente est desactivado. El color predeterminado es 0x848384 (gris oscuro). Valor booleano que indica si la fuente especificada en fontFamily es una fuente incorporada. Este estilo debe definirse como true si fontFamily hace referencia a una fuente incorporada. De lo contrario, no se utiliza la fuente incorporada. Si el estilo se define como true y fontFamily no hace referencia a una fuente incorporada, no se muestra ningn texto. El valor predeterminado es false.
rollOverColor
selectionColor
Ambos
todayColor
color
disabledColor
embedFonts
Ambos
463
Estilo
fontFamily
Tema
Ambos Ambos Ambos Ambos
Descripcin
Nombre de la fuente del texto. El valor predeterminado es _sans. Tamao de la fuente en puntos. El valor predeterminado es 10. Estilo de la fuente: puede ser normal o italic. El valor predeterminado es normal. Grosor de la fuente: puede ser none o bold. El valor predeterminado es none. Todos los componentes pueden aceptar adems el valor normal en lugar de none durante una llamada a setStyle(), pero las llamadas posteriores a getStyle() devolvern none. Decoracin del texto: puede ser none o underline. El valor predeterminado es none.
fontSize
fontStyle
fontWeight
textDecoration
Ambos
El componente DateField utiliza cuatro categoras de texto para mostrar el nombre del mes, los das de la semana, la fecha de hoy y las fechas habituales. Las propiedades de estilo de texto establecidas en el componente DateField controlan el texto de la fecha habitual y el texto mostrado en el estado contrado y proporcionan estilos predeterminados para los dems textos. Si se desea establecer estilos de texto para categoras de texto especficas, es necesario utilizar las siguientes declaraciones de estilo de clase.
Nombre de la declaracin
HeaderDateText WeekDayStyle TodayStyle
Descripcin
Nombre del mes. Das de la semana. Fecha de hoy.
En el ejemplo siguiente, se muestra cmo establecer el nombre del mes y los das de la semana en rojo oscuro.
_global.styles.HeaderDateText.setStyle("color", 0x660000); _global.styles.WeekDayStyle.setStyle("color", 0x660000);
464
Componente DateField
Descripcin
Estado sin presionar del icono emergente. Estado presionado del icono emergente. Estado del icono emergente cuando se pasa el puntero sobre l. Estado desactivado del icono emergente.
openDateDisabled
Seleccione Archivo > Nuevo y, a continuacin, Archivo Flash (ActionScript 2.0). Seleccione Archivo > Importar > Abrir biblioteca externa y, a continuacin, seleccione el archivo HaloTheme.fla. Este archivo se encuentra en la carpeta de configuracin a nivel de la aplicacin. Para saber cul es la ubicacin exacta en el sistema operativo, consulte Temas en Utilizacin de componentes ActionScript 2.0.
3.
En el panel Biblioteca del tema, expanda la carpeta Flash UI Components 2/Themes/ MMDefault y arrastre la carpeta DateField Assets a la biblioteca del documento. Expanda la carpeta DateField Assets de la biblioteca del documento. Asegrese de que el smbolo DateFieldAssets est seleccionado para Exportar en primer fotograma. Expanda la carpeta DateField Assets/States de la biblioteca del documento. Abra los smbolos que desea personalizar. Por ejemplo, abra el smbolo openIconUp.
4. 5.
6. 7.
465
8.
Personalice el smbolo como desee. Por ejemplo, dibuje una flecha hacia abajo sobre la imagen del calendario. Repita los pasos 7 y 8 en todos los smbolos que desee personalizar. Por ejemplo, dibuje una flecha hacia abajo sobre todos los smbolos. clic en el botn Atrs para volver a la lnea de tiempo principal. Control > Probar pelcula.
9.
12. Seleccione
Clase DateField
Herencia
MovieClip > Clase UIObject > Clase UIComponent > ComboBase > DateField mx.controls.DateField
Las propiedades de la clase DateField permiten acceder a la fecha seleccionada, y al mes y ao mostrados. Tambin se puede indicar el nombre de los das y los meses, las fechas desactivadas y seleccionables, establecer el primer da de la semana y decidir si debe resaltarse o no la fecha actual. Si una propiedad de la clase DateField se define con cdigo ActionScript, sustituye al parmetro del mismo nombre definido en el inspector de propiedades o el inspector de componentes. Cada clase de componente tiene una propiedad version que es una propiedad de clase. Las propiedades de clase slo estn disponibles en la propia clase. La propiedad version devuelve una cadena que indica la versin del componente. Para acceder a esta propiedad, utilice el cdigo siguiente:
trace(mx.controls.DateField.version);
N OT A 466
Componente DateField
Descripcin
Cierra el subcomponente DateChooser emergente. Abre el subcomponente DateChooser emergente.
Crea un subobjeto en un objeto. Elimina una instancia de componente. Llama a una funcin cuando se han establecido parmetros en el inspector de propiedades y el inspector de componentes. Obtiene la propiedad de estilo de la declaracin de estilo o del objeto. Marca el objeto de forma que se pueda volver a dibujar en el siguiente intervalo de fotogramas. Mueve el objeto a la posicin indicada. Fuerza la validacin del objeto, de forma que se pueda dibujar sobre el fotograma actual. Cambia el tamao del objeto al indicado. Define un aspecto en el objeto. Define la propiedad de estilo en la declaracin de estilo o en el objeto.
UIObject.getStyle()
UIObject.invalidate()
UIObject.move() UIObject.redraw()
Clase DateField
467
Descripcin
Devuelve una referencia al objeto seleccionado. Define la seleccin en la instancia de componente.
Descripcin
Funcin que da formato a la fecha que va a visualizarse en el campo de texto. Matriz que indica el nombre de los das de la semana. Matriz que indica cules son los das de la semana que estn desactivados. Rango de fechas desactivadas o fecha nica desactivada. Nmero que indica qu elemento de la matriz monthNames se va a mostrar. Nmero que indica el ao que se mostrar. Nmero que indica un elemento de la matriz dayNames que se mostrar en la primera columna del componente DateField. Matriz de cadenas que indica el nombre de los meses. Referencia al subcomponente DateChooser. Es una propiedad de slo lectura. Fecha nica seleccionable o rango de fechas seleccionables. Objeto Date que indica la fecha seleccionada. Valor booleano que indica si debe resaltarse o no la fecha actual.
DateField.dayNames DateField.disabledDays
DateField.disabledRanges DateField.displayedMonth
DateField.displayedYear DateField.firstDayOfWeek
DateField.monthNames DateField.pullDown
468
Componente DateField
Descripcin
Posicin del borde inferior del objeto con respecto al borde inferior de su elemento principal correspondiente. Slo lectura. Altura del objeto, expresada en pxeles. Slo lectura. Borde izquierdo del objeto, expresado en pxeles. Slo lectura. Posicin del borde derecho del objeto con respecto al borde derecho de su elemento principal correspondiente. Slo lectura. Nmero que indica el factor de escala en la direccin x del objeto con respecto a su elemento principal correspondiente. Nmero que indica el factor de escala en la direccin y del objeto con respecto a su elemento principal correspondiente. Posicin del borde superior del objeto con respecto a su elemento principal correspondiente. Slo lectura. Valor booleano que indica si el objeto es visible (true) o no (false). Anchura del objeto, expresada en pxeles. Slo lectura. Borde izquierdo del objeto, expresado en pxeles. Slo lectura. Borde superior del objeto, expresado en pxeles. Slo lectura.
UIObject.height UIObject.left
UIObject.right
UIObject.scaleX
UIObject.scaleY
UIObject.top
UIObject.visible
UIObject.width UIObject.x
UIObject.y
Descripcin
Indica si el componente puede recibir selecciones y entradas. Nmero que indica el orden de tabulacin para un componente de un documento.
Clase DateField
469
Descripcin
Se difunde cuando se selecciona una fecha. Se difunde cuando se cierra el subcomponente DateChooser. Se difunde cuando se abre el subcomponente DateChooser. Se difunde cuando se hace clic en los botones de mes.
DateField.open DateField.scroll
Descripcin
Se difunde cuando un objeto est a punto de dibujar sus grficos. Se difunde cuando el estado de un objeto pasa de ser visible a invisible. Se difunde cuando se crean subobjetos. Se difunde cuando se mueve el objeto. Se difunde cuando cambia el tamao de un objeto. Se difunde cuando el estado de un objeto pasa de ser invisible a visible. Se difunde durante la descarga de los subobjetos.
UIObject.hide
UIObject.unload
Descripcin
Se difunde cuando se selecciona un objeto. Se difunde cuando un objeto deja de seleccionarse. Se difunde cuando se presiona una tecla. Se difunde cuando se suelta una tecla.
470
Componente DateField
DateField.change
Disponibilidad
Sintaxis 1:
var listenerObject:Object = new Object(); listenerObject.change = function(eventObject:Object) { // ... }; dateFieldInstance.addEventListener("change", listenerObject);
Sintaxis 2:
on (change) { // ... }
Descripcin
Evento; se difunde a todos los detectores registrados cuando se selecciona una fecha. El primer ejemplo de sintaxis utiliza un modelo de eventos distribuidor/detector. Una instancia del componente (dateFieldInstance) distribuye un evento (en este caso, change) y ste se controla mediante una funcin, tambin denominada controlador, asociada con el objeto detector (listenerObject) que crea el usuario. Se define un mtodo con el mismo nombre que el evento del objeto detector; se llama al mtodo cuando se activa el evento. Cuando se activa el evento, ste pasa automticamente un objeto de evento (eventObject) al mtodo del objeto detector. Cada objeto de evento tiene propiedades que contienen informacin sobre el evento. Estas propiedades sirven para escribir el cdigo que controla el evento. Finalmente, se llama al mtodo EventDispatcher.addEventListener() de la instancia del componente que difunde el evento para registrar el detector con la instancia. Cuando la instancia distribuya el evento, se llamar al detector. Para ms informacin, consulte Clase EventDispatcher en la pgina 527. El segundo ejemplo de sintaxis utiliza un controlador on() que debe asociarse directamente con una instancia de DateField. La palabra clave this, utilizada en un controlador on() asociado con un componente, hace referencia a la instancia del componente. Por ejemplo, el cdigo siguiente, asociado con el selector de fechas my_df, enva _level0.my_df al panel Salida:
on (change) { trace(this); }
DateField.change
471
Ejemplo
En el siguiente ejemplo, escrito en un fotograma de la lnea de tiempo, se enva un mensaje al panel Salida cuando se cambia un campo de fecha denominado my_df. La primera lnea de cdigo crea un objeto detector denominado dfListener. La segunda lnea define una funcin para el evento change en el objeto detector. Dentro de la funcin hay una sentencia trace() que utiliza el objeto de evento pasado automticamente a la funcin, en este ejemplo evt_obj, para generar un mensaje. La propiedad target de un objeto de evento es el componente que ha generado el evento; en este ejemplo, my_df. Se accede a la propiedad DateField.selectedDate desde la propiedad target del objeto de evento. La ltima lnea llama a EventDispatcher.addEventListener() desde my_df y pasa como parmetros el evento change y el objeto detector dfListener.
//Crear un objeto detector. var dfListener:Object = new Object(); dfListener.change = function(evt_obj:Object){ var thisDate:Date = evt_obj.target.selectedDate; trace("date selected: " + thisDate); } // Aadir objeto detector a DateField. my_df.addEventListener("change", dfListener);
DateField.close()
Disponibilidad
Valor devuelto
Ninguno.
Descripcin
472
Componente DateField
Ejemplo
El cdigo siguiente cierra el cuadro emergente del selector de fechas de la instancia de campo de fecha my_df cuando se hace clic en el botn my_btn:
//Crear un objeto detector. var btnListener:Object = new Object(); btnListener.click = function() { my_df.close(); }; //Aadir un detector de Button my_btn.addEventListener("click", btnListener);
DateField.close
Disponibilidad
Sintaxis 1:
var listenerObject:Object = new Object(); listenerObject.close = function(eventObject:Object) { // ... }; dateFieldInstance.addEventListener("close", listenerObject);
Sintaxis 2:
on (close) { // ... }
Descripcin
Evento; se difunde a todos los detectores registrados cuando el subcomponente DateChooser se cierra como consecuencia de que un usuario ha hecho clic en un rea fuera del icono o ha seleccionado una fecha.
DateField.close
473
El primer ejemplo de sintaxis utiliza un modelo de eventos distribuidor/detector. Una instancia de componente (dateFieldInstance) distribuye un evento (en este caso, close), y ste se controla mediante una funcin, tambin denominada controlador, asociada con el objeto detector (listenerObject) que crea el usuario. Se define un mtodo con el mismo nombre que el evento del objeto detector; se llama al mtodo cuando se activa el evento. Cuando se activa el evento, ste pasa automticamente un objeto de evento (eventObject) al mtodo del objeto detector. Cada objeto de evento tiene propiedades que contienen informacin sobre el evento. Estas propiedades sirven para escribir el cdigo que controla el evento. Finalmente, se llama al mtodo EventDispatcher.addEventListener() de la instancia del componente que difunde el evento para registrar el detector con la instancia. Cuando la instancia distribuya el evento, se llamar al detector. Para ms informacin, consulte Clase EventDispatcher en la pgina 527. El segundo ejemplo de sintaxis utiliza un controlador on() que debe asociarse directamente con una instancia de DateField. La palabra clave this, utilizada en un controlador on() asociado con un componente, hace referencia a la instancia del componente. Por ejemplo, el cdigo siguiente, asociado con el selector de fechas my_df, enva _level0.my_df al panel Salida:
on (close) { trace(this); }
Ejemplo
En el siguiente ejemplo, escrito en un fotograma de la lnea de tiempo, se enva un mensaje al panel Salida cuando se cierra el selector de fechas de my_df. La primera lnea de cdigo crea un objeto detector denominado dfListener. La segunda lnea define una funcin para el evento close en el objeto detector. Dentro de la funcin hay una sentencia trace() que utiliza el objeto de evento pasado automticamente a la funcin, en este ejemplo evt_obj, para generar un mensaje. La propiedad target de un objeto de evento es el componente que ha generado el evento; en este ejemplo, my_df. Se accede a la propiedad selectedDate desde la propiedad target del objeto de evento. La ltima lnea llama a EventDispatcher.addEventListener() desde my_df y pasa como parmetros el evento close y el objeto detector dfListener.
//Crear un objeto detector. var dfListener:Object = new Object(); dfListener.close = function(evt_obj:Object){ trace("PullDown Closed" + evt_obj.target.selectedDate); } // Aadir objeto detector a DateField. my_df.addEventListener("close", dfListener);
474
Componente DateField
DateField.dateFormatter
Disponibilidad
Descripcin
Propiedad; funcin que da formato a la fecha que va a visualizarse en el campo de texto. La funcin debe recibir un objeto Date como parmetro y devolver una cadena en el formato que va a visualizarse.
Ejemplo
En el ejemplo siguiente, se define la funcin para que devuelva el formato de fecha que va a visualizarse:
my_df.dateFormatter = function(d:Date){ return d.getFullYear()+"/ "+(d.getMonth()+1)+"/ "+d.getDate(); };
DateField.dayNames
Disponibilidad
Descripcin
Propiedad; matriz que contiene el nombre de los das de la semana. El domingo es el primer da (en la posicin de ndice 0) y el resto de los nombres de da siguen en el orden habitual. El valor predeterminado es [S, M, T, W, T, F, S].
DateField.dayNames
475
Ejemplo
DateField.disabledDays
Disponibilidad
Descripcin
Propiedad; matriz que indica cules son los das de la semana que estn desactivados. Todas las fechas del mes que coincidan con el da especificado quedarn desactivadas. Los valores de los elementos de esta matriz pueden estar comprendidos entre el 0, para el domingo, y el 6, para el sbado. El valor predeterminado es [] (matriz vaca).
Ejemplo
En el ejemplo siguiente, se desactivan los domingos y los sbados de forma que los usuarios slo puedan seleccionar el resto de los das:
my_df.disabledDays = [0, 6];
476
Componente DateField
DateField.disabledRanges
Disponibilidad
Descripcin
Propiedad; desactiva un nico da o un rango de das. Esta propiedad es una matriz de objetos. Cada objeto de la matriz debe ser un objeto Date, que especifique una fecha nica para desactivarla, o bien un objeto que contenga las propiedades rangeStart y rangeEnd (o al menos una de ellas), cuyos valores deben ser un objeto Date. Las propiedades rangeStart y rangeEnd describen los lmites del rango de fechas. Si se omite alguna de dichas propiedades, el rango quedar abierto por la fecha correspondiente. El valor predeterminado de disabledRanges es undefined. Especifique una fecha completa cuando defina fechas para la propiedad disabledRanges, por ejemplo, new Date(2003,6,24) en lugar de new Date(). Si no se especifica una fecha completa, la hora devuelta es 00:00:00.
Ejemplo
En el ejemplo siguiente, se define una matriz con los objetos Date rangeStart y rangeEnd, que desactivan las fechas comprendidas entre el 7 de mayo y el 7 de junio:
my_df.disabledRanges = [ {rangeStart: new Date(2003, 4, 7), rangeEnd: new Date(2003, 5, 7)}];
DateField.disabledRanges
477
DateField.displayedMonth
Disponibilidad
Descripcin
Propiedad; nmero que indica el mes que se visualiza. El nmero indica un elemento de la matriz monthNames, donde 0 indica el primer mes. El valor predeterminado es el mes correspondiente a la fecha actual.
Ejemplo
Vase tambin
DateField.displayedYear
DateField.displayedYear
Disponibilidad
Descripcin
478
Componente DateField
Ejemplo
Vase tambin
DateField.displayedMonth
DateField.firstDayOfWeek
Disponibilidad
Descripcin
Propiedad; nmero que indica el da de la semana (de 0 a 6, donde 0 indica el primer elemento de la matriz dayNames) que se visualiza en la primera columna del componente DateField. Si se cambia esta propiedad se cambiar el orden de las columnas de da pero no se modificar el orden de la propiedad dayNames. El valor predeterminado es 0 (domingo).
Ejemplo
Vase tambin
DateField.dayNames
DateField.firstDayOfWeek
479
DateField.monthNames
Disponibilidad
Descripcin
Propiedad; matriz de cadenas que indica los nombres de mes en la parte superior del componente DateField. El valor predeterminado es [January, February, March,
April, May, June, July, August, September, October, November, December].
Ejemplo
DateField.open()
Disponibilidad
Valor devuelto
Ninguno.
Descripcin
480
Componente DateField
Ejemplo
El cdigo siguiente abre el cuadro emergente del selector de fechas de la instancia de campo de fecha my_df cuando se hace clic en el botn my_btn:
//Crear un objeto detector. var btnListener:Object = new Object(); btnListener.click = function() { my_df.open(); }; //Aadir un detector de Button my_btn.addEventListener("click", btnListener);
DateField.open
Disponibilidad
Sintaxis 1:
var listenerObject:Object = new Object(); listenerObject.open = function(eventObject:Object) { // ... }; dateFieldInstance.addEventListener("open", listenerObject);
Sintaxis 2:
on (open) { // ... }
Descripcin
Evento; se difunde a todos los detectores registrados cuando un subcomponente DateChooser se abre como consecuencia de que un usuario ha hecho clic en el icono.
DateField.open
481
El primer ejemplo de sintaxis utiliza un modelo de eventos distribuidor/detector. Una instancia de componente (dateFieldInstance) distribuye un evento (en este caso, open) y ste se controla mediante una funcin, tambin denominada controlador, asociada con el objeto detector (listenerObject) que crea el usuario. Se define un mtodo con el mismo nombre que el evento del objeto detector; se llama al mtodo cuando se activa el evento. Cuando se activa el evento, ste pasa automticamente un objeto de evento (eventObject) al mtodo del objeto detector. Cada objeto de evento tiene propiedades que contienen informacin sobre el evento. Estas propiedades sirven para escribir el cdigo que controla el evento. Finalmente, se llama al mtodo EventDispatcher.addEventListener() de la instancia del componente que difunde el evento para registrar el detector con la instancia. Cuando la instancia distribuya el evento, se llamar al detector. Para ms informacin, consulte Clase EventDispatcher en la pgina 527. El segundo ejemplo de sintaxis utiliza un controlador on() que debe asociarse directamente con una instancia de DateField. La palabra clave this, utilizada en un controlador on() asociado con un componente, hace referencia a la instancia del componente. Por ejemplo, el cdigo siguiente, asociado con el selector de fechas my_df, enva _level0.my_df al panel Salida:
on (open) { trace(this); }
Ejemplo
En el siguiente ejemplo, escrito en un fotograma de la lnea de tiempo, se enva un mensaje al panel Salida cuando se abre un campo de fecha denominado my_df. El mensaje enva el nmero de ndice para el mes actual. La primera lnea de cdigo crea un objeto detector denominado dfListener. La segunda lnea define una funcin para el evento open en el objeto detector. Dentro de la funcin hay una sentencia trace() que utiliza el objeto de evento pasado automticamente a la funcin, en este ejemplo evt_obj, para generar un mensaje. La propiedad target de un objeto de evento es el componente que ha generado el evento; en este ejemplo, my_df. Se accede a la propiedad DateField.selectedDate desde la propiedad target del objeto de evento. La ltima lnea llama a EventDispatcher.addEventListener() desde my_df y pasa como parmetros el evento close y el objeto detector dfListener.
//Crear un objeto detector. var dfListener:Object = new Object(); dfListener.open = function(evt_obj:Object){ trace("PullDown Opened" + evt_obj.target.displayedMonth); } // Aadir objeto detector a DateField. my_df.addEventListener("open", dfListener);
482
Componente DateField
DateField.pullDown
Disponibilidad
Descripcin
Propiedad (slo lectura); referencia al componente DateChooser contenido en el componente DateField. Cuando un usuario hace clic en el componente DateField se crea una instancia del subcomponente DateChooser. No obstante, si se hace referencia a la propiedad pullDown antes de que el usuario haga clic en el componente, se crea una instancia de DateChooser y despus se oculta.
Ejemplo
En el ejemplo siguiente, se establece el valor false para la visibilidad del subcomponente DateChooser y, a continuacin, se establece el tamao de dicho subcomponente: 300 pxeles de altura y 300 pxeles de anchura.
my_df.pullDown._visible = false; my_df.pullDown.setSize(300, 300);
DateField.scroll
Disponibilidad
Sintaxis 1:
var listenerObject:Object = new Object(); listenerObject.scroll = function(eventObject:Object) { // ... }; dateFieldInstance.addEventListener("scroll", listenerObject);
Sintaxis 2:
on (scroll) { // ... }
DateField.scroll 483
Descripcin
Evento; se difunde a todos los detectores registrados cuando se hace clic en un botn de mes. El primer ejemplo de sintaxis utiliza un modelo de eventos distribuidor/detector. Una instancia del componente (dateFieldInstance) distribuye un evento (en este caso, scroll) y ste se controla mediante una funcin, tambin denominada controlador, asociada con el objeto detector (listenerObject) que crea el usuario. Se define un mtodo con el mismo nombre que el evento del objeto detector; se llama al mtodo cuando se activa el evento. Cuando se activa el evento, ste pasa automticamente un objeto de evento (eventObject) al mtodo del objeto detector. Cada objeto de evento tiene propiedades que contienen informacin sobre el evento. Estas propiedades sirven para escribir el cdigo que controla el evento. El objeto de evento del evento scroll tiene una propiedad adicional, detail, que puede tener uno de los valores siguientes: nextMonth, previousMonth, nextYear, previousYear. Finalmente, se llama al mtodo EventDispatcher.addEventListener() de la instancia del componente que difunde el evento para registrar el detector con la instancia. Cuando la instancia distribuya el evento, se llamar al detector. Para ms informacin, consulte Clase EventDispatcher en la pgina 527. El segundo ejemplo de sintaxis utiliza un controlador on() que debe asociarse directamente con una instancia de DateField. La palabra clave this, utilizada en un controlador on() asociado con un componente, hace referencia a la instancia del componente. Por ejemplo, el cdigo siguiente, asociado con el selector de fechas my_df, enva _level0.my_df al panel Salida:
on (scroll) { trace(this); }
Ejemplo
En el siguiente ejemplo, escrito en un fotograma de la lnea de tiempo, se enva un mensaje al panel Salida cuando se hace clic en un botn de mes en una instancia de DateField denominada my_df. La primera lnea de cdigo crea un objeto detector denominado dfListener. La segunda lnea define una funcin para el evento scroll en el objeto detector. Dentro de la funcin hay una sentencia trace() que utiliza el objeto de evento pasado automticamente a la funcin, en este ejemplo evt_obj, para generar un mensaje. La propiedad target de un objeto de evento es el componente que gener el evento, en este ejemplo, my_df. La ltima lnea lama a EventDispatcher.addEventListener() desde my_df y pasa como parmetros el evento scroll y el objeto detector dfListener.
//Crear un objeto detector. var dfListener:Object = new Object(); dfListener.scroll = function(evt_obj:Object) { trace(evt_obj.detail); }; // Aadir objeto detector a DateField. my_df.addEventListener("scroll", dfListener);
484
Componente DateField
DateField.selectableRange
Disponibilidad
Descripcin
Propiedad; establece una fecha nica seleccionable o un rango de fechas seleccionables. El valor de esta propiedad es un objeto compuesto por dos objetos Date denominados rangeStart y rangeEnd. Las propiedades rangeStart y rangeEnd describen los lmites del rango de fechas elegible. Si slo se define rangeStart, se activarn todas las fechas posteriores a la sealada en rangeStart. Si slo se define rangeEnd, se activarn todas las fechas anteriores a la sealada en rangeEnd. El valor predeterminado es undefined. Si lo que se desea es activar un nico da, puede utilizarse un nico objeto Date como valor de
selectableRange.
Especifique una fecha completa cuando defina fechas, por ejemplo, new Date(2003,6,24) en lugar de new Date(). Si no se especifica una fecha completa, la hora devuelta es 00:00:00. El valor de DateField.selectedDate queda establecido como undefined si cae fuera del rango seleccionable. Los valores de DateField.displayedMonth y DateField.displayedYear se establecen en el ltimo mes ms prximo del rango seleccionable si el mes actual cae fuera de dicho rango. Por ejemplo, si el mes que se muestra como actual es agosto (August) y el rango seleccionable comprende el periodo que va desde junio de 2003 a julio de 2003, el mes que se mostrar cambiar a julio de 2003 (July).
Ejemplo
En el ejemplo siguiente, se define como rango seleccionable las fechas comprendidas entre el 7 de mayo y el 7 de junio, ambas inclusive:
my_df.selectableRange = {rangeStart: new Date(2001, 4, 7), rangeEnd: new Date(2003, 5, 7)};
En el ejemplo siguiente, se define como rango seleccionable el 7 de mayo y las fechas posteriores a ese da:
my_df.selectableRange = {rangeStart: new Date(2003, 4, 7)};
DateField.selectableRange
485
En el ejemplo siguiente, se define como rango seleccionable el 7 de junio y las fechas anteriores a ese da:
my_df.selectableRange = {rangeEnd: new Date(2003, 5, 7)};
DateField.selectedDate
Disponibilidad
Descripcin
Propiedad; objeto Date que indica la fecha seleccionada si el valor se encuentra dentro del valor especificado en la propiedad selectableRange. El valor predeterminado es undefined.
Ejemplo
En el ejemplo siguiente, se utiliza una instancia de DateField denominada my_df en el escenario para mostrar cmo desactivar una fecha ya seleccionada (de lo contrario, el usuario puede hacer clic en ella de nuevo para borrar la entrada de campo de fecha).
function dfListener(evt_obj:Object):Void { my_df.disabledRanges = [my_df.selectedDate]; } my_df.addEventListener("change", dfListener);
486
Componente DateField
DateField.showToday
Disponibilidad
Descripcin
Propiedad; valor booleano que indica si debe resaltarse o no la fecha actual. El valor predeterminado es true.
Ejemplo
DateField.showToday
487
488
Componente DateField
CAPTULO 16
Clase Delegate
Herencia
16
La clase Delegate permite ejecutar una funcin en un mbito especfico. Esta clase se proporciona para que se pueda distribuir el mismo evento en dos funciones diferentes (consulte Delegacin de eventos a funciones en Utilizacin de componentes ActionScript 2.0) y para que se pueda llamar a las funciones dentro del mbito de la clase que las contiene.
NO T A
La clase Delegate slo es compatible si trabaja con un documento que especifique ActionScript 2.0 en la Configuracin de publicacin.
Cuando se pasa una funcin como un parmetro a la funcin se invoca en el mbito de la instancia del componente difusor, no del objeto en el que est declarada (consulte Delegacin del mbito de una funcin en Utilizacin de componentes ActionScript 2.0). Se puede llamar a Delegate.create() para llamar a la funcin del mbito del objeto que declara.
EventDispatcher.addEventListener(),
Descripcin
Mtodo esttico que permite ejecutar una funcin en un mbito especfico.
489
Delegate.create()
Disponibilidad
Parmetros
scopeObject function
Descripcin
Mtodo (esttico); permite delegar eventos a funciones y mbitos especficos. Utilice la siguiente sintaxis:
import mx.utils.Delegate; compInstance.addEventListener("eventName", Delegate.create(scopeObject, function));
Para ver ejemplos de Delegate.create(), consulte Delegacin de eventos en Utilizacin de componentes ActionScript 2.0.
Vase tambin
EventDispatcher.addEventListener()
490
Clase Delegate
CAPTULO 17
Clase DeltaItem
Nombre de clase de ActionScript
17
mx.data.components.datasetclasses.DeltaItem
La clase DeltaItem proporciona informacin acerca de una operacin individual llevada a cabo en un objeto de transferencia. Indica si un cambio se realiz directamente en una propiedad del objeto de transferencia o mediante una llamada a mtodo. Tambin proporciona el estado original de las propiedades de un objeto de transferencia. Por ejemplo, si el origen del paquete delta es un juego de datos, el objeto DeltaItem contendr informacin sobre cualquier campo que se haya editado. Adems de lo anterior, un objeto DeltaItem puede contener informacin de respuesta del servidor como, por ejemplo, el valor actual y un mensaje.
NO T A
La clase DeltaItem slo es compatible si trabaja con un documento que especifique ActionScript 2.0 en la Configuracin de publicacin.
Se puede utilizar la clase DeltaItem para acceder a los cambios del paquete delta. Para acceder a estos cambios, utilice DeltaPacket.getIterator(), que devuelve un repetidor de deltas. Cada delta contiene 0 o ms instancias de DeltaItem a las que se puede acceder mediante Delta.getItemByName() o Delta.getChangeList().
491
Descripcin
Si se realiza un cambio durante una llamada a mtodo, es la matriz de valores que se pasaron al mtodo. Es una propiedad de slo lectura. Si se realiza un cambio en una propiedad, es el valor actual de servidor de la propiedad. Es una propiedad de slo lectura. Delta asociado para el objeto DeltaItem. Es una propiedad de slo lectura. Tipo de cambio. Mensaje de servidor asociado al objeto DeltaItem. Nombre de la propiedad o mtodo que ha cambiado. Es una propiedad de slo lectura. Si se realiza un cambio en una propiedad, es el nuevo valor de la propiedad. Es una propiedad de slo lectura. Si se realiza un cambio en una propiedad, es el valor antiguo de la propiedad. Es una propiedad de slo lectura.
DeltaItem.curValue
DeltaItem.delta
DeltaItem.newValue
DeltaItem.oldValue
DeltaItem.argList
Disponibilidad
Flash Player 7.
Edicin
Descripcin
Propiedad (slo lectura); matriz de valores pasados al mtodo de cambio. Esta propiedad slo se aplica si el tipo de cambio es DeltaItem.Method.
492
Clase DeltaItem
DeltaItem.curValue
Disponibilidad
Flash Player 7.
Edicin
Descripcin
Propiedad (slo lectura); objeto que contiene el valor de la propiedad actual en la copia del servidor del objeto de transferencia. Esta propiedad se aplica slo si el tipo de cambio es DeltaItem.Property y la propiedad es relevante slo en un delta que haya devuelto el servidor y si se est aplicando a un juego de datos que debe resolver el usuario.
DeltaItem.delta
Disponibilidad
Flash Player 7.
Edicin
Descripcin
Propiedad (slo lectura); delta asociado al objeto DeltaItem. Cuando se crea un objeto DeltaItem, ste se asocia a un delta y se aade a s mismo a la lista de cambios del delta. Esta propiedad proporciona una referencia para el delta al que pertenece este elemento.
DeltaItem.delta
493
DeltaItem.kind
Disponibilidad
Flash Player 7.
Edicin
Descripcin
Propiedad; nmero que indica el tipo de cambio. Utilice las siguientes constantes para evaluar esta propiedad:
DeltaItem.Property
El cambio se realiz en una propiedad del objeto de El cambio se realiz mediante una llamada a mtodo en el objeto de
transferencia.
DeltaItem.Method
transferencia.
DeltaItem.message
Disponibilidad
Flash Player 7.
Edicin
Descripcin
Propiedad; cadena que contiene un mensaje de servidor asociado a este objeto DeltaItem. Puede ser cualquier mensaje relativo al intento de cambio de llamada a mtodo o de propiedad en el paquete delta. Este mensaje suele ser relevante slo en un delta que haya devuelto el servidor y que se est aplicando a DataSet para resolverlo.
494
Clase DeltaItem
DeltaItem.name
Disponibilidad
Flash Player 7.
Edicin
Descripcin
Propiedad (slo lectura); cadena que contiene el nombre de la propiedad cambiada (si el tipo de cambio es DeltaItem.Property) o el nombre del mtodo que realiz el cambio (si el tipo de cambio es DeltaItem.Method).
DeltaItem.newValue
Disponibilidad
Flash Player 7.
Edicin
Descripcin
Propiedad (slo lectura); objeto que contiene el valor nuevo de la propiedad. Esta propiedad slo se aplica si el tipo de cambio es DeltaItem.Property.
DeltaItem.newValue
495
DeltaItem.oldValue
Disponibilidad
Flash Player 7.
Edicin
Descripcin
Propiedad (slo lectura); objeto que contiene el valor antiguo de la propiedad. Esta propiedad slo se aplica si el tipo de cambio es DeltaItem.Property.
496
Clase DeltaItem
CAPTULO 18
Interfaz Delta
Nombre de interfaz de ActionScript
18
mx.data.components.datasetclasses.Delta
La interfaz Delta proporciona acceso al objeto de transferencia, a la coleccin y a los cambios en el objeto de transferencia. Con esta interfaz, se puede acceder a valores nuevos y anteriores de un objeto de transferencia. Por ejemplo, si el paquete delta se obtuvo de un juego de datos, cada delta representara una fila aadida, editada o eliminada.
N OT A
La interfaz Delta slo es compatible si trabaja con un documento que especifique ActionScript 2.0 en la Configuracin de publicacin.
La interfaz Delta tambin proporciona acceso a los mensajes devueltos por el proceso de servidor asociado. Para ms informacin sobre las interacciones cliente-servidor, consulte Componente RDBMSResolver en la pgina 1129. La interfaz Delta puede utilizarse para examinar el paquete delta antes de enviar los cambios al servidor y para revisar los mensajes devueltos por el procesamiento del servidor.
Descripcin
Aade la instancia de DeltaItem especificada. Devuelve una matriz de cambios realizados en el elemento actual. Devuelve el paquete delta que contiene el delta. Devuelve el ID exclusivo del elemento actual de la coleccin DeltaPacket. Devuelve el objeto DeltaItem especificado. Devuelve el mensaje asociado al elemento actual.
Delta.getDeltaPacket() Delta.getId()
Delta.getItemByName() Delta.getMessage()
497
Mtodo
Delta.getOperation()
Descripcin
Devuelve la operacin que se llev a cabo en el elemento actual en la coleccin original. Devuelve el objeto de transferencia en el que se han realizado cambios.
Delta.getSource()
Delta.addDeltaItem()
Disponibilidad
Flash Player 7.
Edicin
Parmetros
deltaitem
Valor devuelto
Ninguno.
Descripcin
Mtodo; aade la instancia DeltaItem especificada. Si la instancia DeltaItem existe ya, este mtodo la reemplaza.
Ejemplo
498
Interfaz Delta
Delta.getChangeList()
Disponibilidad
Flash Player 7.
Edicin
Parmetros
Ninguno.
Valor devuelto
Mtodo; devuelve una matriz de instancias de DeltaItem asociadas. Todas las instancias de DeltaItem de la matriz describen un cambio realizado en el elemento.
Ejemplo
Delta.getChangeList()
499
Delta.getDeltaPacket()
Disponibilidad
Flash Player 7.
Edicin
Parmetros
Ninguno.
Valor devuelto
Mtodo; devuelve el paquete delta que contiene este delta. Este mtodo permite escribir cdigo para controlar los paquetes delta de forma genrica en el nivel delta.
Ejemplo
En el ejemplo siguiente, se utiliza el mtodo getDeltaPacket() para acceder al origen de datos del paquete delta:
while(dpCursor.hasNext()) { dpDelta = Delta(dpCursor.next()); trace("DeltaPacket source is: " + dpDelta.getDeltaPacket().getSource()); }
Delta.getId()
Disponibilidad
Flash Player 7.
Edicin
500
Interfaz Delta
Parmetros
Ninguno.
Valor devuelto
Mtodo; devuelve el identificador exclusivo para este elemento dentro de la coleccin DeltaPacket. Utilice este ID en el componente de origen para que el paquete delta reciba actualizaciones y realice cambios en los elementos con los que se gener el paquete delta. Por ejemplo, si suponemos que el componente DataSet enva actualizaciones a un servidor y que el servidor devuelve valores de campo clave nuevos, este mtodo permite al componente DataSet examinar el paquete delta resultante, encontrar el objeto de transferencia original y actualizarlo de forma correspondiente.
Ejemplo
Delta.getItemByName()
Disponibilidad
Flash Player 7.
Edicin
Parmetros
name
Cadena que especifica el nombre de la propiedad o mtodo para el objeto DeltaItem asociado.
Valor devuelto
Objeto DeltaItem especificado por name. Si no se encuentra ningn objeto DeltaItem que coincida con name, este mtodo devuelve null.
Delta.getItemByName()
501
Descripcin
Mtodo; devuelve el objeto DeltaItem especificado por name. Cuando name requiere llamadas a un mtodo o cambios de valores de propiedad en un objeto de transferencia, este mtodo proporciona el acceso ms eficiente.
Ejemplo
Delta.getMessage()
Disponibilidad
Flash Player 7.
Edicin
502
Interfaz Delta
Parmetros
Ninguno.
Valor devuelto
Mtodo; devuelve el mensaje asociado para este delta. Normalmente, este mensaje slo se llena si el paquete delta se ha devuelto desde un servidor como respuesta a intentos de actualizacin. Para ms informacin, consulte Componente RDBMSResolver en la pgina 1129.
Ejemplo
Delta.getOperation()
Disponibilidad
Flash Player 7.
Edicin
Parmetros
Ninguno.
Valor devuelto
Nmero; devuelve la operacin que se llev a cabo en el elemento dentro de la coleccin original.
Delta.getOperation()
503
Descripcin
Mtodo; devuelve la operacin que se llev a cabo en este elemento dentro de la coleccin original. Los valores vlidos para ste son DeltaPacketConsts.Added, DeltaPacketConsts.Removed y DeltaPacketConsts.Modified. Es necesario importar mx.data.components.datasetclasses.DeltaPacketConsts o completar cada constante.
Ejemplo
Delta.getSource()
Disponibilidad
Flash Player 7.
Edicin
Parmetros
Ninguno.
Valor devuelto
504
Interfaz Delta
Ejemplo
Delta.getSource()
505
506
Interfaz Delta
CAPTULO 19
Interfaz DeltaPacket
Nombre de interfaz de ActionScript
19
mx.data.components.datasetclasses.DeltaPacket
La interfaz DeltaPacket se obtiene con la propiedad deltaPacket del componente DataSet, que forma parte de las funciones de administracin de datos. Normalmente, es el componente Resolver el que utiliza internamente el paquete delta. La interfaz DeltaPacket y la interfaz Delta y la clase DeltaItem relacionadas permiten administrar los cambios realizados en los datos. Estos componentes no se muestran visualmente en tiempo de ejecucin.
NO T A S U G E R E N CI A
La interfaz DeltaPacket slo es compatible si trabaja con un documento que especifique ActionScript 2.0 en la Configuracin de publicacin.
Un paquete delta es un juego de instrucciones optimizado que describe todos los cambios realizados en los datos dentro de un juego de datos. Cuando se llama al mtodo DataSet.applyUpdates(), el componente DataSet llena la propiedad DataSet.deltaPacket. Normalmente, esta propiedad est conectada (mediante vinculacin de datos) a un componente Resolver como RDBMSResolver. El Resolver convierte el paquete delta en un paquete de actualizacin en el formato apropiado.
A menos que se est escribiendo un componente Resolver personalizado, es poco probable que haga falta conocer o escribir cdigo que tenga acceso a los mtodos o propiedades de un paquete delta.
Un paquete delta contiene uno o varios deltas (consulte Interfaz Delta en la pgina 497) y cada delta contiene cero o ms elementos delta (consulte Clase DeltaItem en la pgina 491).
507
Descripcin
Devuelve informacin de configuracin especfica de la implementacin de la interfaz DeltaPacket. Devuelve el repetidor del paquete delta que se repite en la lista de deltas del paquete delta. Devuelve el origen del paquete delta. Es el componente que ha expuesto este paquete delta. Devuelve la fecha y la hora en la que se cre una instancia del paquete delta. Devuelve el ID de transaccin para el paquete delta. Indica si el usuario del paquete delta debe registrar los cambios que ste especifica.
DeltaPacket.getIterator()
DeltaPacket.getSource()
DeltaPacket.getTimestamp()
DeltaPacket.getTransactionId() DeltaPacket.logChanges()
DeltaPacket.getConfigInfo()
Disponibilidad
Flash Player 7.
Edicin
Valor devuelto
508
Interfaz DeltaPacket
Descripcin
Mtodo; devuelve informacin de configuracin especfica de la implementacin de la interfaz DeltaPacket. Este mtodo permite implementar la interfaz DeltaPacket para acceder a la informacin personalizada.
Ejemplo
DeltaPacket.getIterator()
Disponibilidad
Flash Player 7.
Edicin
Parmetros
Ninguno.
Valor devuelto
Una interfaz para el repetidor de la coleccin DeltaPacket que se repite en la lista de deltas del paquete delta.
Descripcin
Mtodo; devuelve el repetidor de la coleccin DeltaPacket. Esto proporciona un mecanismo de reproduccin indefinida de los cambios en el paquete delta. Para obtener una descripcin completa de esta interfaz, consulte Interfaz Iterator en la pgina 795.
DeltaPacket.getIterator()
509
Ejemplo
En el ejemplo siguiente, se utiliza el mtodo getIterator() para acceder al repetidor de los deltas en un paquete delta y se utiliza una sentencia while para reproducir indefinidamente los deltas:
var deltapkt:DeltaPacket = _parent.myDataSet.deltaPacket; trace("*** Test deltapacket. Trans ID is: " + deltapkt.getTransactionId() + " ***"); var OPS:Array = new Array("added", "removed", "modified"); var dpCursor:Iterator = deltapkt.getIterator(); var dpDelta:Delta; var op:Number; var changeMsg:String; while(dpCursor.hasNext()) { dpDelta = Delta(dpCursor.next()); op=dpDelta.getOperation(); }
DeltaPacket.getSource()
Disponibilidad
Flash Player 7.
Edicin
Parmetros
Ninguno.
Valor devuelto
Un objeto; el origen de la coleccin DeltaPacket. Este objeto es, normalmente, un descendiente de MovieClip, aunque no es necesario. Por ejemplo, si el origen es un juego de datos, este objeto puede ser _level0.myDataSet.
Descripcin
510
Interfaz DeltaPacket
Ejemplo
DeltaPacket.getTimestamp()
Disponibilidad
Flash Player 7.
Edicin
Parmetros
Ninguno.
Valor devuelto
Un objeto Date que contiene la fecha y la hora en la que se cre el paquete delta.
Descripcin
DeltaPacket.getTimestamp()
511
DeltaPacket.getTransactionId()
Disponibilidad
Flash Player 7.
Edicin
Parmetros
Ninguno.
Valor devuelto
Una cadena; ID de transaccin exclusivo para una sola transaccin que agrupa paquetes delta.
Descripcin
Mtodo; devuelve el ID de transaccin para el paquete delta. Este identificador exclusivo se utiliza para agrupar una transaccin de envo/recepcin de un paquete delta. El juego de datos lo utiliza para determinar si el paquete delta forma parte de la misma transaccin que origin con la llamada a DataSet.applyUpdates().
Ejemplo
512
Interfaz DeltaPacket
DeltaPacket.logChanges()
Disponibilidad
Flash Player 7.
Edicin
Parmetros
Ninguno.
Valor devuelto
Un valor booleano; true si el usuario del paquete delta tuviera que registrar los cambios encontrados en el paquete delta.
Descripcin
Mtodo; devuelve true si el usuario de este paquete delta tuviera que registrar los cambios que ste especifica. Este valor se utiliza principalmente para comunicar cambios entre los juegos de datos mediante objetos compartidos o desde un servidor a un juego de datos local. En ambos casos, el juego de datos no debera registrar los cambios especificados.
Ejemplo
DeltaPacket.logChanges()
513
514
Interfaz DeltaPacket
CAPTULO 20
Clase DepthManager
Nombre de clase de ActionScript
20
mx.managers.DepthManager
La clase DepthManager le permite administrar las asignaciones de profundidad relativa de cualquier componente o clip de pelcula, incluido _root. Tambin permite administrar profundidades reservadas en un clip especial de profundidad mxima situado en _root de servicios del sistema, como el puntero y las sugerencias.
N OT A
La clase DepthManager slo es compatible si trabaja con un documento que especifique ActionScript 2.0 en la Configuracin de publicacin.
En general, Depth Manager administra los componentes de forma automtica utilizando su propio algoritmo de ordenacin aleatoria. No es necesario utilizar sus interfaces API, a menos que se trate de un desarrollador de Flash avanzado.
SUGERENCIA
Para utilizar la clase DepthManager para instancias de clip de pelcula, necesita tener un componente en la biblioteca o en el escenario y utilizar import mx.managers.DepthManager al principio del cdigo ActionScript.
515
Descripcin
Crea un elemento secundario del smbolo especificado en la profundidad especificada. Crea un objeto de la clase especificada en la profundidad especificada. profundidad especificada en el clip especial de profundidad mxima.
DepthManager.createClassChildAtDepth()
DepthManager.createObjectAtDepth()
Crea un objeto en la profundidad especificada en el clip de profundidad mxima. Establece la profundidad por encima de la instancia especificada. Establece la profundidad por debajo de la instancia especificada. Establece la profundidad en la instancia especificada en el clip de profundidad mxima.
DepthManager.setDepthAbove()
DepthManager.setDepthBelow()
DepthManager.setDepthTo()
Descripcin
Propiedad esttica con el valor constante 202. Propiedad esttica con el valor constante 101. Es la profundidad del cursor.
516
Clase DepthManager
Propiedad
DepthManager.kNotopmost DepthManager.kTooltip
Descripcin
Propiedad esttica con el valor constante 204. Propiedad esttica con el valor constante 102. Es la profundidad de la sugerencia. Propiedad esttica con el valor constante 201. Propiedad esttica con el valor constante 203.
DepthManager.kTop DepthManager.kTopmost
DepthManager.createChildAtDepth()
Disponibilidad
Flash MX 2004.
Sintaxis
movieClipInstance.createChildAtDepth(linkageName, depthFlag[, initObj])
Parmetros
linkageName depthFlag
Uno de los valores siguientes: DepthManager.kTop, DepthManager.kBottom, Todas las etiquetas de profundidad son propiedades estticas de la clase DepthManager. Debe hacer referencia al paquete DepthManager (por ejemplo, mx.managers.DepthManager.kTopmost), o utilizar la sentencia import para importar el paquete DepthManager.
DepthManager.kTopmost, DepthManager.kNotopmost. initObj
Valor devuelto
Mtodo; crea una instancia secundaria del smbolo que especifica linkageName en la profundidad que especifica depthFlag.
DepthManager.createChildAtDepth()
517
Ejemplo
En el siguiente ejemplo, se crea una instancia minuteHand del clip de pelcula MinuteSymbol y se coloca delante del reloj:
import mx.managers.DepthManager; minuteHand = clock.createChildAtDepth("MinuteSymbol", DepthManager.kTop);
DepthManager.createClassChildAtDepth()
Disponibilidad
Flash MX 2004.
Sintaxis
movieClipInstance.createClassChildAtDepth(className, depthFlag[, initObj])
Parmetros
className depthFlag
Uno de los valores siguientes: DepthManager.kTop, DepthManager.kBottom, Todas las etiquetas de profundidad son propiedades estticas de la clase DepthManager. Debe hacer referencia al paquete DepthManager (por ejemplo, mx.managers.DepthManager.kTopmost), o utilizar la sentencia import para importar el paquete DepthManager.
DepthManager.kTopmost, DepthManager.kNotopmost. initObj
Valor devuelto
Mtodo; crea una instancia secundaria de la clase que especifica className en la profundidad que especifica depthFlag.
518
Clase DepthManager
Ejemplo
El siguiente cdigo dibuja un rectngulo de seleccin delante de todos los objetos NoTopmost:
import mx.managers.DepthManager this.ring = createClassChildAtDepth(mx.skins.RectBorder, DepthManager.kTop);
El siguiente cdigo crea una instancia de la clase Button y le atribuye un valor a su propiedad label como parmetro initObj:
import mx.managers.DepthManager button1 = createClassChildAtDepth(mx.controls.Button, DepthManager.kTop, {label: "Top Button"});
DepthManager.createClassObjectAtDepth()
Disponibilidad
Flash MX 2004.
Sintaxis
DepthManager.createClassObjectAtDepth(className, depthSpace[, initObj])
Parmetros
className depthSpace
Uno de los valores siguientes: DepthManager.kCursor, Todas las etiquetas de profundidad son propiedades estticas de la clase DepthManager. Debe hacer referencia al paquete DepthManager (por ejemplo, mx.managers.DepthManager.kCursor), o utilizar la sentencia import para importar el paquete DepthManager.
DepthManager.kTooltip. initObj
Valor devuelto
Mtodo; crea un objeto de la clase que especifica className en la profundidad que especifica depthSpace. Este mtodo se utiliza para acceder a los espacios de profundidad reservada en el clip de profundidad mxima.
DepthManager.createClassObjectAtDepth()
519
Ejemplo
DepthManager.createObjectAtDepth()
Disponibilidad
Flash MX 2004.
Sintaxis
DepthManager.createObjectAtDepth(linkageName, depthSpace[, initObj])
Parmetros
linkageName depthSpace
Uno de los valores siguientes: DepthManager.kCursor, Todas las etiquetas de profundidad son propiedades estticas de la clase DepthManager. Debe hacer referencia al paquete DepthManager (por ejemplo, mx.managers.DepthManager.kCursor), o utilizar la sentencia import para importar el paquete DepthManager.
DepthManager.kTooltip. initObj
Valor devuelto
Mtodo; crea un objeto en la profundidad especificada. Este mtodo se utiliza para acceder a los espacios de profundidad reservada en el clip de profundidad mxima.
Ejemplo
En el ejemplo siguiente, se crea una instancia del smbolo TooltipSymbol y se coloca en la profundidad reservada para las sugerencias:
import mx.managers.DepthManager myCursorTooltip = DepthManager.createObjectAtDepth("TooltipSymbol", DepthManager.kTooltip);
520
Clase DepthManager
DepthManager.kBottom
Disponibilidad
Flash MX 2004.
Sintaxis
DepthManager.kBottom
Descripcin
Propiedad (esttica); propiedad con el valor constante 202. Esta propiedad se pasa como un parmetro en llamadas a DepthManager.createClassChildAtDepth() y DepthManager.createChildAtDepth() para colocar contenido detrs de otro contenido.
DepthManager.kCursor
Disponibilidad
Flash MX 2004.
Sintaxis
DepthManager.kCursor
Descripcin
Propiedad (esttica); propiedad con el valor constante 101. Esta propiedad se pasa como un parmetro en llamadas a DepthManager.createClassObjectAtDepth() y DepthManager.createObjectAtDepth() para solicitar la colocacin en la profundidad del cursor.
DepthManager.kCursor
521
DepthManager.kNotopmost
Disponibilidad
Flash MX 2004.
Sintaxis
DepthManager.kNotopmost
Descripcin
Propiedad (esttica); propiedad con el valor constante 204. Esta propiedad se pasa como un parmetro en llamadas a DepthManager.createClassChildAtDepth() y DepthManager.createChildAtDepth() para solicitar la eliminacin de la capa superior.
DepthManager.kTooltip
Disponibilidad
Flash MX 2004.
Sintaxis
DepthManager.kTooltip
Descripcin
Propiedad (esttica); propiedad con el valor constante 102. Esta propiedad se pasa como un parmetro en llamadas a DepthManager.createClassObjectAtDepth() y DepthManager.createObjectAtDepth() para colocar un objeto en la profundidad de la sugerencia.
522
Clase DepthManager
DepthManager.kTop
Disponibilidad
Flash MX 2004.
Sintaxis
DepthManager.kTop
Descripcin
Propiedad (esttica); propiedad con el valor constante 201. Esta propiedad se pasa como un parmetro en llamadas a DepthManager.createClassChildAtDepth() y DepthManager.createChildAtDepth() para solicitar la colocacin encima de otro contenido pero debajo del contenido DepthManager.kTopmost.
DepthManager.kTopmost
Disponibilidad
Flash MX 2004.
Sintaxis
DepthManager.kTopmost
Descripcin
Propiedad (esttica); propiedad con el valor constante 203. Esta propiedad se utiliza en llamadas a DepthManager.createClassChildAtDepth() y DepthManager.createChildAtDepth() para solicitar la colocacin encima de otro contenido, incluidos los objetos DepthManager.kTop.
DepthManager.kTopmost
523
DepthManager.setDepthAbove()
Disponibilidad
Flash MX 2004.
Sintaxis
movieClipInstance.setDepthAbove(instance)
Parmetros
instance
Valor devuelto
Ninguno.
Descripcin
Mtodo; establece la profundidad de un clip de pelcula o una instancia de componente por encima de la profundidad de la instancia que especifica el parmetro instance y mueve otros objetos si es necesario.
DepthManager.setDepthBelow()
Disponibilidad
Parmetros
instance
Valor devuelto
Ninguno.
524
Clase DepthManager
Descripcin
Mtodo; establece la profundidad de un clip de pelcula o una instancia de componente por debajo de la profundidad de la instancia especificada y mueve otros objetos si es necesario.
Ejemplo
El cdigo siguiente establece la profundidad de la instancia textInput por debajo de la profundidad de button:
textInput.setDepthBelow(button);
DepthManager.setDepthTo()
Disponibilidad
Flash MX 2004.
Sintaxis
movieClipInstance.setDepthTo(depthFlag)
Parmetros
Uno de los valores siguientes: DepthManager.kTop, DepthManager.kBottom, DepthManager.kTopmost, DepthManager.kNotopmost. Todas las etiquetas de profundidad son propiedades estticas de la clase DepthManager. Debe hacer referencia al paquete DepthManager (por ejemplo, mx.managers.DepthManager.kTopmost), o utilizar la sentencia import para importar el paquete DepthManager.
depthFlag
Valor devuelto
Ninguno.
Descripcin
Mtodo; establece la profundidad de movieClipInstance en el valor que especifica depthFlag. Este mtodo desplaza una instancia a otra profundidad para dar cabida a otro objeto. DepthManager utiliza un algoritmo de ordenacin aleatoria para establecer las profundidades en incrementos de 20. El algoritmo incrementa las profundidades en caso de que Flash necesite insertar algo ms en el medio, en funcin de otros scripts, componentes o dems.
DepthManager.setDepthTo()
525
Ejemplo
En el ejemplo siguiente, se utilizan dos componentes (o clips de pelcula) para aumentar su profundidad alternativamente en incrementos de 20 cuando se hace clic en cada uno de ellos. Primero aada un componente Button al escenario y asgnele el nombre de instancia a_btn. A continuacin, aada otro componente Button al escenario y asgnele el nombre de instancia b_btn. Asegrese de que los botones se superponen de la siguiente manera:
import mx.managers.DepthManager; a_btn.onRelease = function() { b_btn.setDepthTo(DepthManager.kTop); var b_depth:Number = b_btn.getDepth(); trace(b_depth); } b_btn.onRelease = function() { a_btn.setDepthTo(DepthManager.kTop); var a_depth:Number = a_btn.getDepth(); trace(a_depth); }
Comprobacin del archivo SWF. Cuando hace clic en el botn superior, el otro botn cambia de profundidad y se mueve hacia delante, y el panel Salida muestra la profundidad de ese botn. Los valores son 20, a continuacin, 40, 60, etc.; se incrementan en 20 cada vez que se hace clic.
NO T A 526
Si utiliza DepthManager con instancias de clip de pelcula en lugar de instancias de componente, es posible que necesite aadir un componente de IU a la biblioteca (si an no hay ninguno) para que DepthManager funcione correctamente. DepthManager necesita un componente en el escenario o en la biblioteca para poder funcionar.
Para ms informacin sobre la profundidad y el orden de apilamiento, consulte Determinacin del siguiente valor superior de profundidad disponible en Aprendizaje de ActionScript 2.0 en Adobe Flash.
Clase DepthManager
CAPTULO 21
Clase EventDispatcher
Los eventos permiten a la aplicacin saber cundo interacta el usuario con un componente y cundo se producen cambios importantes en el aspecto o ciclo de vida del componente, como por ejemplo su creacin, destruccin o cambio de tamao.
NO T A
21
La clase EventDispatcher slo es compatible si trabaja con un documento que especifique ActionScript 2.0 en la Configuracin de publicacin.
Los mtodos de la clase EventDispatcher permiten aadir y eliminar detectores de eventos para que el cdigo de usuario pueda reaccionar a los eventos de forma apropiada. Por ejemplo, se utiliza el mtodo EventDispatcher.addEventListener() para registrar un detector con una instancia de componente. El detector se invoca cuando se activa un evento del componente. Si se desea escribir un objeto personalizado que emita eventos que no estn relacionados con la interfaz de usuario, es ms rpido y corto utilizar EventDispatcher en combinacin con UIComponent que con UIEventDispatcher.
Objetos de evento
Un objeto de evento pasa al detector como un parmetro. El objeto de evento es un objeto de ActionScript que tiene propiedades que contienen informacin acerca del evento que ha tenido lugar. El objeto de evento se puede utilizar dentro de la funcin callback del detector para acceder al nombre del evento que se difundi o al nombre de instancia del componente que difundi el evento. Por ejemplo, el cdigo siguiente utiliza la propiedad target del objeto de evento evtObj para acceder a la propiedad label de la instancia myButton y enviar el valor al panel Salida:
listener = new Object(); listener.click = function(evtObj){ trace("The " + evtObj.target.label + " button was clicked"); } myButton.addEventListener("click", listener);
527
Algunas propiedades de objeto de evento se definen en la especificacin W3C (www.w3.org/TR/DOM-Level-3-Events/events.html) pero no se implementan en la versin 2 de la arquitectura de componentes de Adobe. Cada objeto de evento tiene las propiedades que se especifican en la tabla que se muestra a continuacin. Algunos eventos tienen propiedades adicionales definidas y, en este caso, las propiedades se enumeran en la entrada del evento.
Propiedad
type target
Descripcin
Cadena que indica el nombre del evento. Referencia a la instancia del componente que difunde el evento.
mx.events.EventDispatcher
Descripcin
Registra un detector con una instancia de componente. Distribuye un evento mediante programacin. de componente.
EventDispatcher.dispatchEvent()
528
Clase EventDispatcher
EventDispatcher.addEventListener()
Disponibilidad
Parmetros
event
Cadena que es el nombre del evento. Referencia a un objeto detector o a una funcin.
listener
Valor devuelto
Ninguno.
Descripcin
Mtodo; registra un objeto detector con una instancia de componente que difunde un evento. Cuando se produce el evento, se notifica al objeto detector o a la funcin. Se puede invocar este mtodo desde cualquier instancia de componente. Por ejemplo, el cdigo siguiente registra un detector para la instancia de componente myButton:
myButton.addEventListener("click", myListener);
Es necesario definir el detector, tanto si es un objeto como una funcin, antes de llamar a addEventListener() para registrar el detector con la instancia de componente. Si el detector es un objeto, debe tener definida una funcin callback que se invoque al producirse el evento. Por lo general, la funcin callback tiene el mismo nombre que el evento con el que se ha registrado el detector. Si el detector es una funcin, sta se invoca cuando se produce el evento. Para ms informacin, consulte Utilizacin de detectores para gestionar eventos en Utilizacin de componentes ActionScript 2.0.
EventDispatcher.addEventListener()
529
Es posible registrar varios detectores en una sola instancia de componente, pero es preciso utilizar una llamada individual a addEventListener() para cada detector. Asimismo, se puede registrar un detector en varias instancias de componente, pero hay que utilizar una llamada individual a addEventListener() para cada instancia. Por ejemplo, el siguiente cdigo define un objeto detector y lo asigna a dos instancias de componente Button cuyas propiedades label son button1 y button2, respectivamente:
lo = new Object(); lo.click = function(evt){ trace(evt.target.label + " clicked"); } button1.addEventListener("click", lo); button2.addEventListener("click", lo);
El orden de ejecucin no est garantizado. No espere que se llame a un detector antes que a otro. Un objeto de evento pasa al detector como un parmetro. El objeto de evento tiene propiedades que contienen informacin sobre el evento producido. Es posible utilizar el objeto de evento dentro de la funcin callback del detector para acceder a la informacin sobre el tipo de evento que tuvo lugar y la instancia que difundi el evento. En el ejemplo anterior, el objeto de evento es evt (se puede utilizar cualquier identificador como nombre del objeto de evento) y se utiliza en las sentencias if para determinar la instancia de botn sobre la que se ha hecho clic. Para ms informacin, consulte Objeto de evento en Utilizacin de componentes ActionScript 2.0.
Ejemplo
En el ejemplo siguiente, se define un objeto detector, myListener, y la funcin callback para el evento click. A continuacin, llama a addEventListener() para registrar el objeto detector myListener con la instancia de componente myButton.
myListener = new Object(); myListener.click = function(evt){ trace(evt.type + " triggered"); } myButton.addEventListener("click", myListener);
Para probar este cdigo, coloque un componente Button en el escenario con el nombre de instancia myButton e introduzca este cdigo en el fotograma 1.
530
Clase EventDispatcher
EventDispatcher.dispatchEvent()
Disponibilidad
Parmetros
Referencia a un objeto de evento. El objeto de evento debe tener una propiedad type que es una cadena que indica el nombre del evento. Normalmente, el objeto de evento tambin tiene una propiedad target que es el nombre de la instancia que difunde el evento. Se pueden definir otras propiedades en el objeto de evento que ayudarn al usuario a capturar informacin acerca del evento cuando ste se distribuye.
eventObject
Valor devuelto
Ninguno.
Descripcin
Mtodo; distribuye un evento a cualquier detector registrado con una instancia de la clase. Este mtodo suele llamarse desde un archivo de clase del componente. Por ejemplo, el archivo de clase SimpleButton.as distribuye el evento click.
Ejemplo
EventDispatcher.dispatchEvent()
531
EventDispatcher.removeEventListener()
Disponibilidad
Parmetros
event
Cadena que es el nombre del evento. Referencia a un objeto detector o a una funcin.
listener
Valor devuelto
Ninguno.
Descripcin
Mtodo; quita el registro de un objeto detector desde una instancia de componente que difunde un evento.
532
Clase EventDispatcher
CAPTULO 22
Componente FLVPlayback
El componente FLVPlayback permite incluir fcilmente un reproductor de vdeo en la aplicacin Flash para reproducir archivos de vdeo Flash (FLV) descargados de forma progresiva a travs de HTTP, o reproducir archivos FLV sin interrupcin, desde Flash Media Server (FMS) o desde Flash Video Streaming Service (FVSS).
N O TA
22
El componente FLVPlayback es compatible tanto con ActionScript 2.0 como con ActionScript 3.0. En este documento, se describe el componente de la versin 2. Si utiliza el componente de la versin 3, consulte Utilizacin de CheckBox en Utilizacin de componentes ActionScript 3.0.
El componente FLVPlayback, de uso sencillo, tiene las siguientes caractersticas y ventajas: Puede arrastrarse al escenario e implementarse rpidamente de forma correcta Proporciona una coleccin de aspectos prediseados que permiten personalizar la apariencia de los controles de reproduccin Permite a los usuarios avanzados crear sus propios aspectos Proporciona puntos de referencia que permiten sincronizar el vdeo con el texto, los grficos y la animacin Proporciona una previsualizacin dinmica de las personalizaciones Mantiene un tamao de archivo SWF razonable
533
El componente FLVPlayback incluye los componentes de interfaz de usuario personalizados de reproduccin FLV. El componente FLVPlayback es una combinacin del rea de visualizacin, o reproductor de vdeo, donde se visualiza el archivo FLV y los controles que permiten que funcione. Los componentes de interfaz de usuario personalizados de reproduccin FLV proporcionan botones de control y mecanismos que puede utilizar para reproducir, detener, pausar o controlar de alguna otra forma el archivo FLV. Estos controles son: BackButton, BufferingBar, ForwardButton, MuteButton, PauseButton, PlayButton, PlayPauseButton, SeekBar, StopButton y VolumeBar. El componente FLVPlayback y los controles personalizados de interfaz de usuario de reproduccin FLV aparecen en el panel Componentes, como se indica en la siguiente ilustracin:
El proceso de aadir controles de reproduccin al componente FLVPlayback se denomina aplicacin de aspectos. El componente FLVPlayback tiene un aspecto predeterminado inicial, ClearOverPlaySeekMute.swf, que proporciona controles transparentes para las funciones de reproduccin, bsqueda y silencio. Para cambiar este aspecto, puede optar entre:
Seleccionarlo desde una coleccin de aspectos prediseados Seleccionar controles individuales en los componentes de interfaz de usuario personalizados de reproduccin de FLV y personalizarlos Crear un aspecto personalizado y aadirlo a la coleccin de aspectos prediseados
Cuando se selecciona un aspecto distinto, el aspecto seleccionado se convierte en el nuevo aspecto predeterminado. Para ms informacin sobre cmo seleccionar o crear un aspecto para el componente FLVPlayback, consulte Personalizacin del componente FLVPlayback en la pgina 554.
534
Componente FLVPlayback
El componente FLVPlayback tambin incluye una interfaz de programacin de aplicaciones (API) ActionScript. Esta API incluye las clases FLVPlayback, VideoError y VideoPlayer. Para ms informacin sobre estas clases, consulte Clase FLVPlayback en la pgina 570, Clase VideoPlayer en la pgina 747 y Clase VideoError en la pgina 738.
Arrastre el componente FLVPlayback desde el panel Componentes al escenario y especifique un valor para el parmetro contentPath. Use el Asistente de importacin de vdeo para crear el componente en el escenario y personalizarlo eligiendo un aspecto. Utilice el mtodo attachMovie() de MovieClip para crear dinmicamente una instancia de FLVPlayback en el escenario, suponiendo que el componente se encuentre en la biblioteca.
Seleccione Archivo > Nuevo y, a continuacin, Archivo Flash (ActionScript 2.0). Arrastre el componente FLVPlayback al escenario. Con el componente FLVPlayback seleccionado en el escenario, busque la celda Valor del parmetro contentPath en la ficha Parmetros del inspector de componentes e introduzca una cadena que especifique una de las opciones siguientes:
Una ruta de acceso local a un archivo FLV Una URL de un archivo FLV Una URL de un archivo XML que describa la forma de reproducir un archivo FLV
Para ms informacin sobre cmo crear un archivo XML para describir uno o varios archivos FLV, consulte Utilizacin de un archivo SMIL en la pgina 753.
535
4.
En la ficha Parmetros del inspector de componentes, con el componente FLVPlayback seleccionado en el escenario, haga doble clic en el parmetro Skin para abrir cuadro de dilogo Seleccionar aspecto. Seleccione una de las opciones siguientes:
5.
En la lista desplegable Aspecto, seleccione uno de los aspectos prediseados para asociar un conjunto de controles de reproduccin al componente. Si ha creado un aspecto personalizado, seleccione URL de aspecto personalizado en el men desplegable e introduzca en el cuadro de texto URL la URL del archivo SWF que contiene el aspecto. Seleccione Ninguno y arrastre componentes individuales de interfaz de usuario personalizados de reproduccin FLV al escenario para aadir controles de reproduccin.
NO TA
En los primeros dos casos, aparece una previsualizacin del aspecto en el panel de visualizacin situado encima del men emergente.
6. 7.
Haga clic en Aceptar para cerrar el cuadro de dilogo Seleccionar aspecto. Seleccione Control > Probar pelcula para ejecutar el archivo SWF e iniciar el vdeo.
Seleccione Archivo > Nuevo y elija Archivo de Flash (ActionScript 2.0). Seleccione Archivo > Importar > Importar vdeo. Seleccione una de las siguientes opciones para indicar la ubicacin del archivo de vdeo:
En mi equipo local Ya se ha implementado en un servidor Web, Flash Media Server o Flash Video Streaming Service
4.
En funcin de su eleccin, deber especificar la ruta del archivo o la URL que especifica la ubicacin del archivo de vdeo. A continuacin, haga clic en Siguiente.
536
Componente FLVPlayback
5.
Si ha seleccionado una ruta de archivo, aparecer un cuadro de dilogo Implementacin, donde puede seleccionar una de las opciones enumeradas para especificar cmo desea implementar el vdeo:
Descarga progresiva desde un servidor Web estndar Flujo de Flash Video Streaming Service Flujo de Flash Media Server Incorporar vdeo en SWF y reproducir en la lnea de tiempo
No elija la opcin de incorporar vdeo. El componente FLVPlayback slo reproduce flujo de vdeo externo. Esta opcin no colocar un componente FLVPlayback en el escenario.
6. 7. 8. 9.
Haga clic en Siguiente. Seleccione la codificacin deseada. Haga clic en Siguiente Seleccione una de las opciones siguientes:
Lea el mensaje del cuadro de dilogo Finalizar importacin de vdeo para ver qu suceder a continuacin y despus haga clic en Finalizar. el archivo FLA. Seleccione Control > Probar pelcula para ejecutar el archivo SWF e iniciar el vdeo.
AD VE R T E NC I A
En la lista desplegable Aspecto, seleccione uno de los aspectos prediseados para asociar un conjunto de controles de reproduccin al componente. Si ha creado un aspecto personalizado para el componente, seleccione URL de aspecto personalizado en el men emergente e introduzca en el cuadro de texto URL la URL del archivo SWF que contiene el aspecto. Seleccione Ninguno y arrastre componentes individuales de interfaz de usuario personalizados de reproduccin de FLV al escenario para aadir controles de reproduccin.
N OT A
En los primeros dos casos, aparece una previsualizacin del aspecto en el panel de visualizacin situado encima del men emergente.
clic en Siguiente.
537
Seleccione Archivo > Nuevo y elija Archivo de Flash (ActionScript 2.0). Arrastre el componente FLVPlayback desde el panel Componentes a la Biblioteca (Ventana > Biblioteca). Aada el siguiente cdigo al panel Acciones, en el fotograma 1 de la lnea de tiempo. Cambie install_drive por la unidad en la que instal Flash y modifique la ruta de acceso para reflejar la ubicacin de la carpeta Skins en la instalacin:
import mx.video.*; this.attachMovie("FLVPlayback", "my_FLVPlybk", 10, {width:320, height:240, x:100, y:100}); my_FLVPlybk.skin = "file:///install_drive|/Archivos de programa/Adobe/ Adobe Flash CS3/en/Configuration/FLVPlayback Skins/ActionScript 2.0/ ClearOverPlaySeekMute.swf" my_FLVPlybk.contentPath = "http://www.helpexamples.com/flash/video/ water.flv";
3.
El mtodo attachMovie() pertenece a la clase MovieClip. Puede utilizarlo para crear una instancia del componente FLVPlayback, ya que la clase FLVPlayback ampla la clase MovieClip.
N OT A
Si no se establecen las propiedades contentPath y skin, el clip de pelcula generado aparecer vaco.
4.
Seleccione Control > Probar pelcula para ejecutar el archivo SWF e iniciar el archivo FLV.
538
Componente FLVPlayback
autoSize Valor booleano. Si es true, cambia el tamao del componente en tiempo de ejecucin para usar las dimensiones del archivo FLV de origen. Estas dimensiones se codifican en el archivo FLV y difieren de las dimensiones predeterminadas del componente FLVPlayback. El valor predeterminado es false. Para ms informacin, consulte FLVPlayback.autoSize en la pgina 591.
Nmero de segundos que el archivo FLV se almacenar en bfer antes de que se inicie la reproduccin. Este parmetro afecta a los archivos FLV sin interrupcin, que se almacenan en bfer pero no se descargan. En los archivos FLV que se descargan progresivamente a travs de HTTP, aumentar este valor no supone una gran ventaja, aunque s puede mejorar la visualizacin de vdeo de alta calidad en un equipo antiguo que sea ms lento. El valor predeterminado es 0,1. Para ms informacin, consulte FLVPlayback.bufferTime en la pgina 603.
bufferTime
NO TA
Establecer este parmetro no garantiza que una parte del archivo FLV se descargue antes de iniciar la reproduccin.
contentPath Cadena que especifica la URL de un archivo FLV o de un archivo XML que describe la forma de reproducir uno o varios archivos FLV. Puede especificar una ruta en el equipo local, una ruta HTTP o una ruta de protocolo de mensajera en tiempo real (RTMP). Haga doble clic en la celda Valor para que este parmetro abra el cuadro de dilogo Ruta del contenido. El valor predeterminado es una cadena vaca.
Si no especifica un valor para el parmetro contentPath no suceder nada cuando Flash ejecute la instancia de FLVPlayback. Para ms informacin, consulte Especificacin del parmetro contentPath en la pgina 540.
cuePoints
Cadena que describe los puntos de referencia para el archivo FLV. Estos puntos de referencia permiten sincronizar puntos especficos del archivo FLV con animaciones, grficos o texto de Flash. El valor predeterminado es una cadena vaca. Para ms informacin, consulte Utilizacin de puntos de referencia en la pgina 542.
Valor booleano. Si es true, especifica que el archivo FLV se est transmitiendo de forma dinmica desde Flash Media Server. Un ejemplo de flujo en vivo es un vdeo de eventos de noticias que se transmiten mientras suceden. El valor predeterminado es false. Para ms informacin, consulte FLVPlayback.isLive en la pgina 636.
isLive maintainAspectRatio Valor booleano. Si es true, cambia el tamao del reproductor de vdeo en el componente FLVPlayback para conservar la proporcin del archivo FLV de origen; el archivo FLV de origen cambia su tamao para ajustarse a las dimensiones del componente FLVPlayback en el escenario. El parmetro autoSize tiene prioridad sobre este parmetro. El valor predeterminado es true. Para ms informacin, consulte FLVPlayback.maintainAspectRatio en la pgina 640.
539
skin
Parmetro que abre el cuadro de dilogo Seleccionar aspecto, donde es posible elegir un aspecto para el componente. El valor predeterminado es inicialmente un aspecto prediseado, pero posteriormente se convierte en el ltimo aspecto seleccionado. Si selecciona None, la instancia de FLVPlayback no tiene elementos de control del archivo FLV. Si se establece el valor del parmetro autoPlay en true, el archivo FLV se reproduce automticamente. Para ms informacin, consulte Personalizacin del componente FLVPlayback en la pgina 554.
skinAutoHide Valor booleano. Si es true, oculta el aspecto cuando el puntero del ratn no se encuentra sobre el archivo FLV o la regin de aspecto, si se trata de un aspecto externo que no se encuentra en el rea del visualizacin del archivo FLV. El valor predeterminado es false. Para ms informacin, consulte FLVPlayback.skin en la pgina 710. totalTime
Nmero total de segundos, con una precisin de milisegundos, en el archivo FLV de origen. El valor predeterminado es 0. Si utiliza FMS o FVSS, el componente siempre toma el valor del tiempo total del servidor. Si se utiliza la descarga progresiva a travs de HTTP, el componente utiliza este valor en caso de que sea mayor que cero. De lo contrario, intenta utilizar el tiempo de los metadatos del archivo FLV. Para ms informacin, consulte FLVPlayback.totalTime en la pgina 723.
volume Nmero de 0 a 100 que representa el porcentaje del volumen mximo (100). Para ms informacin, consulte FLVPlayback.volume en la pgina 729.
Cada uno de estos parmetros tiene una propiedad equivalente en la clase FLVPlayback. El valor establecido en esta propiedad sustituye el valor del parmetro en el inspector de componentes o el inspector de propiedades.
El cuadro de dilogo contiene dos casillas de verificacin que permiten determinar las dimensiones de la instancia de FLVPlayback y especificar si deben obtenerse las dimensiones y la informacin de puntos de referencia del archivo FLV. Para ms informacin, consulte Opciones de archivos FLV en la pgina 542.
540
Componente FLVPlayback
Cuando se hace clic en Aceptar en el cuadro de dilogo Ruta del contenido, el componente actualiza el valor del parmetro cuePoints porque es posible que ya no se aplique si cambia la ruta del contenido. En consecuencia, podran perderse los puntos de referencia desactivados (aunque se conservarn los puntos de referencia de ActionScript). No se perdern los puntos de referencia desactivados si el nuevo archivo FLV contiene los mismos puntos de referencia, lo cual puede ocurrir si simplemente se cambia la ruta de acceso. Por esta razn, es posible que se quieran desactivar mediante ActionScript los puntos de referencia que no sean de ActionScript, en lugar de hacerlo a travs del cuadro de dilogo Puntos de referencia.
Tambin puede especificar la ubicacin de un archivo XML que describa la forma de reproducir varios flujos de archivos FLV para mltiples anchos de banda. El archivo XML utiliza el lenguaje SMIL (Syncrhonized Multimedia Integration Language) para describir los archivos FLV. Para ver una descripcin del archivo SMIL XML, consulte Utilizacin de un archivo SMIL en la pgina 753. Tambin puede especificar el nombre y la ubicacin del archivo FLV mediante la propiedad FLVPlayback.contentPath y los mtodos FLVPlayback.play() y FLVPlayback.load() de ActionScript. Estas tres alternativas tienen prioridad sobre el parmetro contentPath en el inspector de componentes. Para ms informacin, consulte FLVPlayback.contentPath en la pgina 612, FLVPlayback.play() en la pgina 656 y FLVPlayback.load() en la pgina 638.
541
542
Componente FLVPlayback
Un punto de referencia de evento permite sincronizar un instante especfico del archivo FLV con un evento externo de la pgina Web. El evento cuePoint se produce precisamente en el instante especificado. Se pueden incorporar puntos de referencia de navegacin y de evento en un archivo FLV mediante el asistente de importacin de vdeo o Flash Video Encoder. Para ms informacin sobre el Asistente de importacin de vdeo y Flash Video Encoder, consulte Trabajo con vdeo en Utilizacin de Flash. Un punto de referencia de ActionScript es un punto de referencia externo que puede aadirse a travs del cuadro de dilogo Puntos de referencia de Flash Video del componente o a travs del mtodo FLVPlayback.addASCuePoint(). El componente almacena y rastrea los puntos de referencia de ActionScript independientemente del archivo FLV, por lo que son menos precisos que los puntos de referencia incorporados. La precisin de los puntos de referencia de ActionScript es de una dcima de segundo. Para aumentar esta precisin, es necesario reducir el valor de la propiedad playheadUpdateInterval, ya que el componente genera el evento cuePoint para los puntos de referencia de ActionScript cuando se actualiza la cabeza lectora. Para ms informacin, consulte FLVPlayback.playheadUpdateInterval en la pgina 663. En ActionScript y en los metadatos del archivo FLV, un punto de referencia se representa como un objeto con las siguientes propiedades: name, time, type y parameters. La propiedad name es una cadena que contiene el nombre asignado del punto de referencia. La propiedad time es un nmero que representa el tiempo en horas, minutos, segundos y milisegundos (HH:MM:SS.mmm) cuando se produce el punto de referencia. La propiedad type es una cadena cuyo valor es navigation, event o actionscript, en funcin del tipo de punto de referencia que se haya creado. La propiedad parameters es una matriz de los pares nombre-valor especificados. Cuando se produce un evento cuePoint, el punto de referencia est disponible en el objeto de evento a travs de la propiedad info. Para ms informacin, consulte Deteccin de eventos cuePoint en la pgina 547.
543
El cuadro de dilogo muestra los puntos de referencia de ActionScript y los incorporados. Se puede utilizar este cuadro de dilogo para aadir y eliminar puntos de referencia de ActionScript y parmetros de puntos de referencia. Tambin se pueden activar o desactivar los puntos de referencia incorporados. Sin embargo, no es posible aadir, cambiar ni eliminar puntos de referencia incorporados.
Para aadir un punto de referencia de ActionScript:
1. 2.
Seleccione una instancia del componente FLVPlayback. Haga doble clic en la celda Valor del parmetro cuePoints en el inspector de componentes para abrir el cuadro de dilogo Puntos de referencia de Flash Video. Haga clic en el signo ms (+) situado en la esquina superior izquierda, por encima de la lista de puntos de referencia, para aadir una entrada de punto de referencia de ActionScript predeterminada. Haga clic en el texto Nuevo punto de referencia de la columna Nombre y edite el texto para asignar un nombre al punto de referencia.
3.
4.
544
Componente FLVPlayback
5.
Haga clic en el valor de tiempo de 00:00:00:000 para editarlo y asigne un tiempo para el punto de referencia. Se puede especificar el tiempo en horas, minutos, segundos y milisegundos (HH:MM:SS.mmm). Si hay varios puntos de referencia, el cuadro de dilogo mueve el nuevo punto de referencia a su posicin cronolgica en la lista.
6.
Para aadir un parmetro para el punto de referencia seleccionado, haga clic en el signo ms (+) situado encima de la seccin Parmetros e introduzca valores en las columnas Nombre y Valor. Repita este paso para cada parmetro. Para aadir ms puntos de referencia de ActionScript, repita los pasos anteriores por cada punto que desee aadir. Haga clic en Aceptar para guardar los cambios.
7.
8.
Seleccione una instancia del componente FLVPlayback. Haga doble clic en la celda Valor del parmetro cuePoints en el inspector de componentes para abrir el cuadro de dilogo Puntos de referencia de Flash Video. Seleccione los puntos de referencia que desea eliminar. Haga clic en el signo menos (-) situado en la esquina superior izquierda, por encima de la lista de puntos de referencia, para eliminarlo. Repita los pasos anteriores por cada punto de referencia que desee eliminar. Haga clic en Aceptar para guardar los cambios.
3. 4.
5. 6.
Seleccione una instancia del componente FLVPlayback. Haga doble clic en la celda Valor del parmetro cuePoints en el inspector de componentes para abrir el cuadro de dilogo Puntos de referencia de Flash Video. Seleccione el punto de referencia que desea activar o desactivar. Haga clic en el valor de la columna Tipo para activar el men emergente o haga clic en la flecha abajo. Haga clic en el nombre del tipo de punto de referencia (por ejemplo, Event o Navigation) para activarlo. Haga clic en Disabled para desactivarlo. Haga clic en Aceptar para guardar los cambios.
3. 4.
5.
6.
545
Tiempo
00:00:00.418 00:00:07.748 00:00:16.020
Tipo
Navigation Navigation Navigation
546
Componente FLVPlayback
547
En el siguiente ejemplo, el controlador de eventos ready busca el punto de referencia ASpt y llama al mtodo findNextCuePointWithName() para buscar el siguiente punto de referencia con el mismo nombre:
import mx.video.*; my_FLVPlybk.contentPath = "http://www.helpexamples.com/flash/video/ cuepoints.flv" var rtn_obj:Object = new Object(); // crear objeto de punto de referencia my_FLVPlybk.addASCuePoint(2.02, "ASpt"); // aadir punto de referencia de AS my_FLVPlybk.addASCuePoint(3.4, "ASpt"); //aadir segundo Aspt var listenerObject:Object = new Object(); listenerObject.ready = function(eventObject:Object):Void { rtn_obj = my_FLVPlybk.findCuePoint("ASpt"); traceit(rtn_obj); rtn_obj = my_FLVPlybk.findNextCuePointWithName(rtn_obj); traceit(rtn_obj); } my_FLVPlybk.addEventListener("ready", listenerObject); function traceit(cuePoint:Object):Void { trace("Cue point name is: " + cuePoint.name); trace("Cue point time is: " + cuePoint.time); trace("Cue point type is: " + cuePoint.type); }
Para ms informacin sobre cmo buscar puntos de referencia, consulte FLVPlayback.findCuePoint() en la pgina 620, FLVPlayback.findNearestCuePoint() en la pgina 623 y FLVPlayback.findNextCuePointWithName() en la pgina 626.
548
Componente FLVPlayback
listenerObject.cuePoint = function(eventObject:Object) { trace(eventObject.info.time); if(eventObject.info.time == 7.748) my_FLVPlybk.seekToPrevNavCuePoint(eventObject.info.time - .005); else my_FLVPlybk.seekToNextNavCuePoint(eventObject.info.time + 10); } my_FLVPlybk.addEventListener("cuePoint", listenerObject); my_FLVPlybk.contentPath = "http://helpexamples.com/flash/video/ cuepoints.flv";
Para ms informacin, consulte FLVPlayback.seekToNavCuePoint() en la pgina 699, FLVPlayback.seekToNextNavCuePoint() en la pgina 701 y FLVPlayback.seekToPrevNavCuePoint() en la pgina 702.
550
Componente FLVPlayback
El reproductor de vdeo inicial se crea al arrastrar el componente FLVPlayback al escenario. El componente asigna automticamente el nmero 0 al reproductor de vdeo inicial y lo convierte en el reproductor predeterminado. Para crear un reproductor de vdeo adicional, simplemente establezca la propiedad activeVideoPlayerIndex en un nuevo nmero. Cuando se establece la propiedad activeVideoPlayerIndex, se convierte adems al reproductor de vdeo especificado en el reproductor de vdeo activo, que es el que se ver afectado por las propiedades y mtodos de la clase FLVPlayback. Sin embargo, si se establece la propiedad activeVideoPlayerIndex, el reproductor de vdeo no pasar a ser visible. Para que el reproductor de vdeo sea visible, establezca la propiedad visibleVideoPlayerIndex en el nmero del reproductor de vdeo. Para ms informacin sobre la interaccin de estas propiedades con los mtodos y propiedades de la clase FLVPlayback, consulte FLVPlayback.activeVideoPlayerIndex en la pgina 582 y FLVPlayback.visibleVideoPlayerIndex en la pgina 727. El siguiente cdigo ActionScript carga la propiedad contentPath para reproducir un archivo FLV en el reproductor de vdeo predeterminado y le aade un punto de referencia. Cuando se produce el evento ready, el controlador de eventos abre un segundo reproductor de vdeo estableciendo la propiedad activeVideoPlayerIndex en el nmero 1. Especifica un archivo FLV y un punto de referencia para el segundo reproductor de vdeo y, a continuacin, convierte nuevamente al reproductor predeterminado (0) en el reproductor de vdeo activo.
/** Se requiere: - Componente FLVPlayback en el escenario, con el nombre de instancia my_FLVPlybk */ // aadir un punto de referencia al reproductor predeterminado import mx.video.*; my_FLVPlybk.contentPath = "http://www.helpexamples.com/flash/video/ clouds.flv"; my_FLVPlybk.addASCuePoint(3, "1st_switch"); var listenerObject:Object = new Object(); listenerObject.ready = function(eventObject:Object):Void { // aadir un segundo reproductor de vdeo y crear un punto de referencia // para l my_FLVPlybk.activeVideoPlayerIndex = 1; my_FLVPlybk.contentPath = "http://www.helpexamples.com/flash/video/ water.flv"; my_FLVPlybk.addASCuePoint(3, "2nd_switch"); my_FLVPlybk.activeVideoPlayerIndex = 0; }; my_FLVPlybk.addEventListener("ready", listenerObject);
551
Para cambiar a otro archivo FLV mientras se reproduce uno, debe obtener el control para realizar el cambio en el cdigo ActionScript. Los puntos de referencia permiten intervenir en puntos especficos del archivo FLV mediante un evento cuePoint. El siguiente cdigo crea un detector del evento cuePoint y llama a una funcin de controlador que pone en pausa el reproductor de vdeo activo (0), cambia al segundo reproductor (1) y reproduce su archivo FLV:
// crear un objeto detector var listenerObject:Object = new Object(); // aadir una funcin de controlador para el evento cuePoint listenerObject.cuePoint = function(eventObject:Object):Void { // mostrar el n del reproductor de vdeo que provoca el evento trace("Hit cuePoint event for player: " + eventObject.vp); // probar el reproductor de vdeo y cambiar los archivos FLV de forma // correspondiente if (eventObject.vp == 0) { my_FLVPlybk.pause(); // pausar el primer archivo FLV my_FLVPlybk.activeVideoPlayerIndex = 1; // establecer el segundo reproductor como activo my_FLVPlybk.visibleVideoPlayerIndex = 1; // establecer el segundo reproductor como visible my_FLVPlybk.play(); // iniciar reproduccin del nuevo reproductor/archivo FLV } else if (eventObject.vp == 1) { my_FLVPlybk.pause(); // pausar el segundo archivo FLV my_FLVPlybk.activeVideoPlayerIndex = 0; // establecer el primer reproductor como activo my_FLVPlybk.visibleVideoPlayerIndex = 0; // establecer el primer reproductor como visible my_FLVPlybk.play(); // iniciar reproduccin del primer reproductor } } // aadir detector de un evento cuePoint my_FLVPlybk.addEventListener("cuePoint", listenerObject); listenerObject.complete = function(eventObject:Object):Void { trace("Hit complete event for player: " + eventObject.vp); if (eventObject.vp == 0) { my_FLVPlybk.activeVideoPlayerIndex = 1; my_FLVPlybk.visibleVideoPlayerIndex = 1; my_FLVPlybk.play(); } else { my_FLVPlybk.closeVideoPlayer(1); } } my_FLVPlybk.addEventListener("complete", listenerObject);
552
Componente FLVPlayback
Cuando se crea un nuevo reproductor de vdeo, la instancia de FLVPlayback establece sus propiedades en el valor del reproductor de vdeo predeterminado, excepto las propiedades contentPath, totalTime e isLive, que la instancia de FLVPlayback siempre establece en sus valores predeterminados: cadena vaca, 0 y false, respectivamente. Establece en false la propiedad autoPlay, que tiene el valor predeterminado true en el reproductor de vdeo predeterminado. La propiedad cuePoints no produce ningn efecto, ni siquiera si se carga posteriormente en el reproductor de vdeo predeterminado. Los mtodos y las propiedades que controlan el volumen, la posicin, las dimensiones, la visibilidad y los controles de interfaz de usuario siempre son globales y su comportamiento no se ve afectado al establecer el valor de la propiedad activeVideoPlayerIndex. Para ms informacin sobre estos mtodos y propiedades, y sobre el efecto de establecer la propiedad activeVideoPlayerIndex, consulte FLVPlayback.activeVideoPlayerIndex en la pgina 582. Las propiedades y mtodos restantes se aplican al reproductor de vdeo identificado por el valor de la propiedad activeVideoPlayerIndex. Sin embargo, las propiedades y mtodos que controlan las dimensiones s interactan con la propiedad visibleVideoPlayerIndex. Para ms informacin, consulte FLVPlayback.visibleVideoPlayerIndex en la pgina 727.
Cree una carpeta en la carpeta de la aplicacin FMS y asgnele un nombre como my_application. Copie el archivo main.asc en la carpeta my_application. Cree una carpeta denominada streams en la carpeta my_application. Cree una carpeta denominada _definst_ en la carpeta streams. Coloque los archivos FLV en la carpeta _definst_.
Para acceder a los archivos FLV de Flash Media Server, utilice una URL como rtmp://my_servername/my_application/stream.flv. Para ms informacin sobre la administracin de Flash Media Server, incluida la configuracin de un flujo en vivo, consulte la documentacin en www.adobe.com/support/documentation/en/flashcom/. Cuando se reproduce un flujo en vivo con FMS, es necesario establecer la propiedad isLive de FLVPlayback en true. Para ms informacin, consulte FLVPlayback.isLive en la pgina 636.
553
Debe cargar el archivo SWF de aspecto en el servidor Web, junto con el archivo SWF de la aplicacin para que el aspecto funcione con el componente FLVPlayback.
Componente FLVPlayback
Los aspectos que se enumeran en el men emergente Aspecto se encuentran en la carpeta Flash CS3 Configuration/FLVPlayback Skins/ActionScript 2.0 o en la carpeta Configuration/FLVPlayback Skins/ActionScript 2.0 local del usuario. Para que los nuevos aspectos estn disponibles en este cuadro de dilogo, deber colocar sus archivos SWF en la carpeta FLVPlayback Skins/ActionScript 2.0 despus de crearlos. El nombre aparece en el men emergente con una extensin .swf. Para ms informacin sobre cmo crear un conjunto de aspectos, consulte Creacin de un aspecto nuevo en la pgina 563. Si desea aplicar aspectos al componente FLVPlayback mediante los componentes de interfaz de usuario personalizados de reproduccin FLV, seleccione Ninguno en el men emergente.
555
Componentes Button
Los componentes Button tienen una estructura similar. Los distintos tipos de botn son: BackButton, ForwardButton, MuteButton, PauseButton, PlayButton, PlayPauseButton y StopButton. La mayora tiene un solo clip de pelcula en el fotograma 1, con el nombre de instancia placeholder_mc. Suele ser una instancia del estado normal del botn, aunque no siempre es as. El fotograma 2 contiene cuatro clips de pelcula en el escenario para cada uno de los estados de visualizacin: normal, puntero encima, presionado y desactivado. (En tiempo de ejecucin, el componente nunca pasa realmente al fotograma 2; estos clips de pelcula se colocan aqu para facilitar la edicin y para obligarles a que se carguen en el archivo SWF sin necesidad de activar la casilla de verificacin Exportar en primer fotograma en el cuadro de dilogo Propiedades de smbolo. No obstante, debe activar la opcin Exportar para ActionScript.) Para aplicar aspectos al botn, edite cada uno de estos clips de pelcula. Puede cambiar su tamao y su apariencia. Normalmente se muestra parte del cdigo ActionScript en el fotograma 1. No es necesario modificar este script. Simplemente detiene la cabeza lectora en el fotograma 1 y especifica los clips de pelcula que se utilizarn en cada estado.
556
Componente FLVPlayback
Botones PlayPauseButton y MuteButton Los botones PlayPauseButton y MuteButton se configuran de forma distinta al resto de botones; slo tienen un fotograma con dos capas y ningn script. Dicho fotograma contiene dos botones, uno encima del otro. En el primer caso, un botn de reproduccin y un botn de pausa; en el segundo caso, un botn para activar el silencio y otro para desactivarlo. Para aplicar aspectos a los botones PlayPauseButton o MuteButton, aplique aspectos a cada uno de estos dos botones internos, tal y como se describe en Aplicacin de aspectos a componentes individuales de interfaz de usuario personalizados de reproduccin FLV en la pgina 556; no se requiere ninguna accin adicional. Botones BackButton y ForwardButton Los botones BackButton y ForwardButton tambin se configuran de forma distinta al resto de botones. En el fotograma 2, disponen de clips de pelcula adicionales que pueden utilizarse como fotogramas alrededor de uno de los botones o de ambos. Estos clips de pelcula no son necesarios ni ofrecen ninguna funcin especial y simplemente se proporcionan como una opcin ms. Para utilizarlos, arrstrelos al escenario desde el panel Biblioteca y colquelos en el lugar que elija. Si no le interesan, no los utilice o elimnelos del panel Biblioteca. La mayora de los botones proporcionados se basan en un conjunto comn de clips de pelcula, de forma que es posible cambiar la apariencia de todos los botones de una sola vez. Puede utilizar esta capacidad o puede reemplazar los clips de pelcula comunes y dotar a cada botn de un aspecto distinto.
Componente BufferingBar
El componente de barra de almacenamiento en bfer es sencillo: Est formado por una animacin que se hace visible cuando el componente entra en estado de almacenamiento en bfer y no requiere ningn cdigo de ActionScript especial para configurarlo. De forma predeterminada, es una barra discontinua que se mueve de izquierda a derecha y tiene aplicada una mscara rectangular que le confiere un aspecto de barra mvil. Esta configuracin no presenta ninguna caracterstica especial. Aunque las barras de almacenamiento en bfer de los archivos SWF de aspecto utilizan la escala de 9 divisiones porque deben ajustar su escala en tiempo de ejecucin, el componente de interfaz de usuario personalizado BufferingBar no puede utilizar la escala de 9 divisiones porque tiene clips de pelcula anidados. Si desea alargar o ensanchar el componente BufferingBar, quiz deba cambiar su contenido en lugar de ajustar su escala.
557
558
Componente FLVPlayback
La segunda lnea especifica el smbolo que se utilizar como selector. No es necesario cambiarlo si simplemente se edita la instancia del clip de pelcula del selector en el fotograma 2. En tiempo de ejecucin, el componente FLVPlayback crea una instancia del clip de pelcula especificado en el escenario como elemento del mismo nivel de la instancia del componente Bar, lo que significa que tienen el mismo clip de pelcula principal. De esta forma, si la barra se encuentra en el nivel raz, el selector debe estar tambin en el nivel raz. La variable handleLeftMargin determina la ubicacin original del selector (0%) y la variable handleRightMargin determina su ubicacin final (100%). Los nmeros indican los desplazamientos desde los extremos izquierdo y derecho del control de la barra, con nmeros positivos que marcan los lmites dentro de la barra y nmeros negativos que marcan los lmites fuera de ella. Estos desplazamientos especifican el lugar donde puede dirigirse el selector, en funcin de su punto de registro. Si coloca el punto de registro en mitad del selector, los extremos izquierdo y derecho del selector traspasarn los lmites. Un clip de pelcula de barra de bsqueda debe tener el punto de registro en la esquina superior izquierda de su contenido para que funcione correctamente. La variable handleY determina la posicin y del selector con respecto a la instancia de la barra. Esto se basa en los puntos de registro de cada clip de pelcula. El punto de registro en el selector de ejemplo se encuentra en la punta del tringulo, lo que permite colocarlo con respecto a la parte visible, sin tener en cuenta el rectngulo de estado de zona activa invisible. Adems, un clip de pelcula de barra debe tener el punto de registro en la esquina superior izquierda de su contenido para que funcione correctamente. De esta forma, con estos lmites, si el control de la barra se establece en (100, 100) y tiene una anchura de 100 pxeles, el selector abarcar de 102 a 198 horizontalmente y se mantendr en 111 verticalmente. Si cambia los valores de handleLeftMargin y handleRightMargin a -2 y de handleY a -11, el selector abarcar de 98 a 202 horizontalmente y se mantendr en 89 verticalmente. Clips de pelcula de progreso y grado de relleno El componente SeekBar tiene un clip de pelcula de progreso y el componente VolumeBar tiene un clip de pelcula de grado de relleno pero, en la prctica, los componentes SeekBar o VolumeBar pueden tener o no alguno de estos componentes, o ambos. Ambos componentes presentan la misma estructura y un comportamiento similar, pero realizan un seguimiento de distintos valores. Un clip de pelcula de progreso se rellena a medida que se descarga el archivo FLV (lo que resulta til slo en las descargas de HTTP, porque siempre aparece lleno en las transmisiones desde servidores FMS) y un clip de pelcula de grado de relleno se va rellenando a medida que el selector se mueve de izquierda a derecha.
559
El componente FLVPlayback busca estas instancias de clip de pelcula a travs de un nombre de instancia especfico, de modo que la instancia del clip de pelcula de progreso debe tener el clip de pelcula de barra como elemento principal y el nombre de instancia progress_mc. La instancia del clip de pelcula de grado de relleno debe tener el nombre de instancia fullness_mc. Puede establecer clips de pelcula de progreso y de grado de relleno con o sin la instancia del clip de pelcula fill_mc anidada en ellos. El clip de pelcula fullness_mc de VolumeBar muestra el mtodo con el clip de pelcula fill_mc y el clip de pelcula progress_mc de SeekBar muestra el mtodo sin el clip de pelcula fill_mc. El mtodo con el clip de pelcula fill_mc anidado resulta til si se desea utilizar un relleno cuya escala no puede ajustarse sin distorsionar la apariencia. En el clip de pelcula fullness_mc de VolumeBar, se aplica una mscara a la instancia del clip de pelcula fill_mc anidado. Puede aplicarle una mscara cuando cree el clip de pelcula o esperar a que se cree la mscara dinmicamente en tiempo de ejecucin. Si le aplica una mscara con un clip de pelcula, denomine a la instancia mask_mc y configrela de forma que fill_mc aparezca tal y como lo hara con un porcentaje del 100%. Si no aplica una mscara a fill_mc, la mscara creada dinmicamente ser rectangular y tendr el mismo tamao que fill_mc al 100%. Hay dos formas de mostrar el clip de pelcula fill_mc con la mscara, en funcin de si el valor de fill_mc.slideReveal es true o false. Si fill_mc.slideReveal es true, fill_mc se mueve de izquierda a derecha para mostrarse a travs de la mscara. Con un porcentaje del 0%, aparecer en el extremo izquierdo y no se mostrar a travs de la mscara. A medida que aumenta el porcentaje, se va moviendo a la derecha hasta alcanzar el 100% y finalmente vuelve al lugar donde se cre en el escenario Si fill_mc.slideReveal es false o undefined (comportamiento predeterminado), se cambiar el tamao de la mscara de izquierda a derecha para mostrar algo ms de fill_mc. Si el porcentaje es 0%, se cambia el tamao de la mscara a 05 horizontalmente y, a medida que va aumentando el porcentaje, el valor de _xscale aumenta hasta que, al 100%, muestra fill_mc completamente. En este punto, el valor de _xscale no es necesariamente 100 porque es posible que se ajustara la escala de mask_mc cuando se cre. El mtodo sin fill_mc es ms sencillo que el mtodo con fill_mc, pero distorsiona horizontalmente el relleno. Si desea evitar dicha distorsin, debe utilizar fill_mc. La instancia progress_mc de SeekBar ilustra este mtodo. El clip de pelcula de progreso o de grado de relleno ajusta su escala horizontalmente en funcin del porcentaje. Al 0%, el valor de _xscale de la instancia se establece en 0, hacindolo invisible. A medida que aumenta el porcentaje, el valor de _xscale se ajusta hasta que, al llegar al 100%, el clip alcanza el mismo tamao que tena cuando se cre en el escenario. Nuevamente, en este punto, el valor de _xscale no es necesariamente 100 porque es posible que se ajustara la escala de la instancia del clip cuando se cre.
560
Componente FLVPlayback
Ejemplo Los siguientes pasos crean controles StopButton, PlayPauseButton, MuteButton y SeekBar personalizados:
1.
Arrastre el componente FLVPlayback al escenario y asgnele el nombre de instancia my_FLVPlybk. Establezca el parmetro contentPath a travs del inspector de componentes como http://www.helpexamples.com/flash/video/cuepoints.flv. Establezca el parmetro Skin en None. Arrastre una instancia de StopButton, PlayPauseButton y MuteButton al escenario y colquelas sobre la instancia de FLVPlayback, apilndolas verticalmente a la izquierda. Asigne a cada botn un nombre de instancia en el inspector de propiedades (por ejemplo, my_stopbttn, my_plypausbttn y my_mutebttn). En el panel Biblioteca, abra la carpeta FLVPlayback Skins y, a continuacin, la subcarpeta SquareButton. Seleccione el clip de pelcula SquareBgDown y haga doble clic en l para abrirlo en el escenario.
2.
3. 4.
5.
6.
561
7.
Haga clic con el botn derecho del ratn (Windows) o con la tecla Control presionada (Macintosh), elija Seleccionar todo en el men y elimine el smbolo. Seleccione la herramienta valo, dibuje un valo en la misma ubicacin y establezca el color azul como relleno #(0033FF). En el inspector de propiedades, establezca una anchura (An.:) de 40 y una altura (Al.:) de 20. Establezca la coordenada x (X:) en 0,0 y la coordenada y (Y:) en 0,0. los pasos 6 a 8 para SquareBgNormal, pero cambie el color de relleno por amarillo (#FFFF00). Repita los pasos 6 a 8 para SquareBgOver, pero cambie el color de relleno por verde (#006600). los clips de pelcula de los diversos iconos de smbolos en los botones (PauseIcon, PlayIcon, MuteOnIcon, MuteOffIcon y StopIcon). Encontrar estos clips de pelcula en el panel Biblioteca, en la carpeta FLV Playback Skins/Etiqueta Button/Assets, donde Etiqueta es el nombre del botn; por ejemplo, Play, Pause, etc. Siga estos pasos en cada uno de ellos:
a. b. c. d.
8.
9.
10. Repita
11.
12. Edite
Elija la opcin Seleccionar todo. Cambie el color por rojo (#FF0000). Ajuste la escala un 300%. Cambie la ubicacin de X: del contenido por 7,0 para modificar la ubicacin horizontal del icono en cada estado de botn.
NO T A
Al cambiar la ubicacin de esta forma, se evita tener que abrir cada estado de botn y mover la instancia de clip de pelcula del icono.
13.
Haga clic en la flecha Atrs azul situada por encima de la lnea de tiempo para volver a la escena 1, fotograma 1. la instancia de FLVPlayback.
15.
En el panel Biblioteca, haga doble clic en el componente SeekBar para abrirlo en el escenario. Ajuste la escala un 400%. Seleccione el contorno y establezca el color rojo (#FF0000). Haga doble clic en SeekBarProgress en la carpeta FLVPlayback Skins/Seek Bar y establezca el color amarillo (#FFFF00). el color rojo (#FF0000).
19. Haga doble clic en SeekBarHandle en la carpeta FLVPlayback Skins/Seek Bar y establezca
562
Componente FLVPlayback
20.Haga
clic en la flecha Atrs azul situada por encima de la lnea de tiempo para volver a la escena 1, fotograma 1.
el panel Acciones del fotograma 1 de la lnea de tiempo, aada una sentencia de importacin para las clases de vdeo y asigne nombres de botn y de barra de bsqueda a las propiedades de FLVPlayback correspondientes, tal y como se muestra en el siguiente ejemplo:
import mx.video.*; my_FLVPlybk.stopButton = my_stopbttn; my_FLVPlybk.playPausebutton = my_plypausbttn; my_FLVPlybk.muteButton = my_mutebttn; my_FLVPlybk.seekBar = my_seekbar;
23.Pulse
563
Utilizacin de layout_mc
Cuando abra un archivo FLA de aspectos, encontrar un clip de pelcula denominado layout_mc en la esquina superior izquierda del escenario. El clip debe denominarse layout_mc. El clip layout_mc y el cdigo ActionScript que encuentre en el mismo fotograma definen la disposicin de los controles en tiempo de ejecucin. Aunque layout_mc se parezca mucho a la apariencia del aspecto en tiempo de ejecucin, el contenido de este clip no es visible en tiempo de ejecucin. Slo se utiliza para calcular dnde se ubicarn los controles. Los otros controles del escenario se utilizarn en tiempo de ejecucin. En layout_mc hay un marcador de posicin del componente FLVPlayback, denominado video_mc. Todos los dems controles se disponen con respecto a video_mc. Si empieza con uno de los archivos FLA y cambia el tamao de los controles, probablemente podr ajustar el diseo moviendo estos clips de marcador de posicin. Cada uno de los clips de marcador de posicin tiene un nombre de instancia especfico. Los nombres de los clips de marcador de posicin son: playpause_mc, play_mc, pause_mc, stop_mc, back_mc, bufferingBar_mc, seekBar_mc, volumeMute_mc y volumeBar_mc. No importa qu clip se utilice para un control. Normalmente, en los botones se utiliza el clip de estado normal. En los dems controles, se utiliza el clip para dicho control, pero esto es slo por comodidad. Lo nico que importa es la ubicacin de x (horizontal) e y (vertical) y la altura y anchura del marcador de posicin. Puede tener tantos clips de fondo y de primer plano como desee, adems de los controles estndar. Sin embargo, debe utilizar la siguiente convencin de asignacin de nombres: bg1_mc, bg2_mc, etc. para los clips de fondo; y fg1_mc, fg2_mc, etc. para los clips de primer plano. No puede omitir ningn nmero. Por ejemplo, si tiene bg1_mc y bg3_mc pero no tiene bg2_mc, no se utilizar bg3_mc. Este esquema se ha diseado para poner clips de fondo detrs de los controles, con bg1_mc en el fondo y bg2_mc por encima, y clips de primer plano encima de los controles, con fg1_mc primero y fg2_mc encima de fg1_mc, etc. Sin embargo, la relacin de capas de los clips viene determinada realmente por el orden de los controles correspondientes en el escenario, de modo que asegrese de que es correcto. El clip bg1_mc es especial. Si establece la propiedad FlvPlayback.skinAutoHide en true, el aspecto muestra cundo se desplaza el ratn por encima del clip bg1_mc. Es importante para los aspectos que aparecen fuera de los lmites del reproductor de vdeo. Para ms informacin sobre la propiedad skinAutoHide, consulte Modificacin del comportamiento de aspecto en la pgina 570. En los archivos FLA, bg1_mc se utiliza para el fondo cromtico y en algunos de ellos se utiliza bg2_mc para el borde de los botones para avanzar y retroceder.
564
Componente FLVPlayback
ActionScript El siguiente cdigo ActionScript se aplica de forma general a todos los controles. Algunos controles tienen cdigo ActionScript especfico que define un comportamiento adicional y que se explica en la seccin correspondiente a dicho control. El cdigo ActionScript inicial define la anchura y la altura mnimas del aspecto. El cuadro de dilogo Seleccionar aspecto muestra estos valores, que se utilizan en tiempo de ejecucin para evitar que el aspecto ajuste su escala por debajo del tamao mnimo. Si no desea especificar un tamao mnimo, djelo como valor undefined, o inferior o igual a cero.
// anchura y altura mnimas de vdeo recomendadas para este aspecto, // dejar como undefined o <= 0 si no hay un mnimo layout_mc.minWidth = 270; layout_mc.minHeight = 60;
Descripcin
La instancia de este control en el escenario. Si no se establece, layout_mc.foo_mc.mc tiene el valor predeterminado foo_mc. Ubica el control con respecto al lado izquierdo de la instancia de FLVPlayback. El valor predeterminado es true a menos que anchorRight se establezca explcitamente en true; luego el valor predeterminado pasa a ser false Ubica el control con respecto al lado derecho de la instancia de FLVPlayback. El valor predeterminado es false. Ubica el control con respecto a la parte inferior de la instancia de FLVPlayback. El valor predeterminado es true a menos que anchorTop se establezca explcitamente en true; luego el valor predeterminado pasa a ser false. Ubica el control con respecto a la parte superior de la instancia de FLVPlayback. El valor predeterminado es false.
anchorLeft:Boolean
anchorRight:Boolean
anchorBottom:Boolean
anchorTop:Boolean
Si las propiedades anchorLeft y anchorRight tienen el valor true, el control ajustar su escala horizontalmente en tiempo de ejecucin. Si las propiedades anchorTop y anchorBottom tienen el valor true, el control ajustar su escala verticalmente en tiempo de ejecucin.
565
Para ver los efectos de estas propiedades, consulte su uso en los aspectos. Los controles BufferingBar y SeekBar son los nicos que ajustan su escala, y se disponen uno encima del otro y tienen las propiedades anchorLeft y anchorRight establecidas en true. Todos los controles a la izquierda de BufferingBar y SeekBar tienen la propiedad anchorLeft establecida en true, y todos los controles a la derecha tienen la propiedad anchorRight establecida en true. Todos los controles tienen la propiedad anchorBottom establecida en true. Puede intentar editar el clip de pelcula layout_mc para crear un aspecto donde los controles se siten en la parte superior en lugar de en la parte inferior. Simplemente necesita mover los controles a la parte superior, con respecto a video_mc, y establecer anchorTop en true en todos los controles.
Estados de botn
Todos los estados de botn se disponen en el escenario, pero no importa el lugar donde se coloquen estas instancias de clip de pelcula en el escenario. Sin embargo, s importa que se aniden en los clips de pelcula de una forma especfica y que cada instancia de clip de pelcula tenga el nombre de instancia correcto. La estructura de las instancias de clip y sus nombres de instancia se muestran en el siguiente ejemplo:
playpause_mc play_mc up_mc, over_mc, down_mc, disabled_mc pause_mc up_mc, over_mc, down_mc, disabled_mc stop_mc up_mc, over_mc, down_mc, disabled_mc back_mc up_mc, over_mc, down_mc, disabled_mc forward_mc up_mc, over_mc, down_mc, disabled_mc volumeMute_mc on_mc up_mc, over_mc, down_mc, disabled_mc off_mc up_mc, over_mc, down_mc, disabled_mc
Observe que los archivos FLA tienen botones adicionales para avanzar y retroceder en el escenario. Se encuentran en capas de gua y muestran el uso de los clips de pelcula ForwardBackBorder, ForwardBorder y BackBorder. Para ms informacin, consulte Clips de fondo y primer plano en la pgina 569.
566
Componente FLVPlayback
Puede editar los diversos estados como desee. Recuerde que todos los estados se ubican en el mismo lugar por medio de sus puntos de registro, de modo que si algunos estados son ms grandes que otros, quizs no pueda colocar su trabajo en (0, 0), como ocurre en la mayora de los aspectos de botn. Quiz resulte ms sencillo, en algunos casos, mantener el punto de registro en el centro del trabajo. Si no desea utilizar todos los estados, puede omitir algunos, pero debe conservar up_mc. El clip up_mc se utiliza en lugar de los estados que se omiten. Si desea tener botones de reproduccin y pausa independientes, en lugar de tener un botn combinado para pausa y reproduccin, coloque los clips play_mc y pause_mc en el escenario sin ajustarlos con un clip playpause_mc. No es necesario ningn cdigo adicional para configurar los botones, adems del cdigo descrito en Utilizacin de layout_mc en la pgina 564.
Descripcin
Especifica el nombre de instancia del relleno de la barra de almacenamiento en bfer. Su valor predeterminado es bufferingBarFill_mc.
567
Al igual que el componente de interfaz de usuario personalizado de reproduccin de FLV SeekBar, es posible crear un clip de pelcula de grado de relleno para la barra de bsqueda. Si la barra de bsqueda no necesita un ajuste de escala o si se ajusta su escala pero no utiliza la escala de 9 divisiones, puede configurar el clip progress_mc o fullness_mc mediante cualquiera de los mtodos que se utilizan para los componentes de interfaz de usuario personalizados de reproduccin FLV. Para ms informacin, consulte Clips de pelcula de progreso y grado de relleno en la pgina 559. Dado que la barra de volumen de aspectos no ajusta su escala, se crea de la misma forma que el componente de interfaz de usuario personalizado de reproduccin de FLV VolumeBar. Para ms informacin, consulte Componentes SeekBar y VolumeBar en la pgina 558. La excepcin es que el selector se implementa de forma distinta. Para ms informacin, consulte la seccin siguiente.
568
Componente FLVPlayback
Selector Los selectores de SeekBar y VolumeBar se colocan en el escenario, junto a la barra. De forma predeterminada, el margen izquierdo, el margen derecho y los valores del eje y del selector se establecen mediante su posicin relativa al clip de pelcula de la barra. El margen izquierdo se establece mediante la diferencia entre la posicin x (horizontal) del selector y la posicin x (horizontal) de la barra, y el margen derecho es igual al margen izquierdo. Puede personalizar estos valores mediante cdigo ActionScript en el clip de pelcula SeekBar o VolumeBar. El siguiente ejemplo es el mismo cdigo ActionScript que se utiliza con los componentes de interfaz de usuario personalizados de reproduccin de FLV:
handleLeftMargin = 2; handleRightMargin = 2; handleY = 11;
Ms all de estas propiedades, los selectores son simples clips de pelcula configurados del mismo modo que en los componentes de interfaz de usuario personalizados de reproduccin de FLV. Ambos tienen fondos rectangulares con la propiedad alpha establecida en 0. Estos fondos slo sirven para aumentar la zona activa y no son necesarios. ActionScript La barra de bsqueda y la barra de volumen admiten las siguientes propiedades adicionales:
Propiedad
handle_mc:MovieClip
Descripcin
Clip de pelcula del selector. El valor predeterminado es seekBarHandle_mc o volumeBarHandle_mc. Clip de pelcula de progreso. El valor predeterminado es seekBarProgress_mc o volumeBarProgress_mc. Clip de pelcula de grado de relleno. El valor predeterminado es seekBarFullness o volumeBarFullness.
progress_mc:MovieClip
fullness_mc:MovieClip
569
Clase FLVPlayback
Herencia
FLVPlayback ampla la clase MovieClip y ajusta un objeto VideoPlayer. Para ms informacin sobre la clase VideoPlayer, consulte Clase VideoPlayer en la pgina 747.
N OT A 570
La clase FLVPlayback slo es compatible si trabaja con un documento que especifique ActionScript 2.0 en la Configuracin de publicacin.
A diferencia de otros componentes, el componente FLVPlayback no ampla UIObject ni UIComponent y, por lo tanto, no admite los mtodos y propiedades de estas clases. Por ejemplo, debe llamar al mtodo attachMovie() de MovieClip en lugar de llamar al mtodo createClassObject() de UIObject para crear una instancia del componente en ActionScript. Los mtodos y las propiedades de la clase FLVPlayback permiten reproducir y manipular archivos FLV en la aplicacin Flash mediante el componente FLVPlayback.
Componente FLVPlayback
Si se establece una propiedad de la clase FLVPLayback con ActionScript, se sustituye en el inspector de propiedades o el inspector de componentes un parmetro equivalente que establece inicialmente el valor de la propiedad. Cada clase de componente tiene una propiedad version que es una propiedad de clase. Las propiedades de clase slo estn disponibles en la propia clase. La propiedad version devuelve una cadena que indica la versin del componente. El siguiente cdigo muestra la versin en el panel Salida:
trace(mx.video.FLVPlayback.version);
Descripcin
Aade un punto de referencia de ActionScript. Crea un detector de un evento especificado. Trae un reproductor de vdeo al frente de la pila de reproductores de vdeo. Cierra NetStream en el reproductor de vdeo con el ndice especificado y elimina el reproductor de vdeo. Busca el tipo de punto de referencia especificado que tiene el tiempo y el nombre especificados, o al menos uno de ellos. Busca el tipo de punto de referencia especificado en el tiempo especificado (o cerca del mismo) o con el nombre especificado. Busca el siguiente punto de referencia con el mismo nombre que un punto de referencia devuelto por los mtodos findCuePoint() o findNearestCuePoint(). Obtiene el reproductor de vdeo especificado por el parmetro index. Devuelve false si el punto de referencia incorporado del archivo FLV ha sido desactivado mediante ActionScript. Inicia la carga del archivo FLV con la propiedad autoPlay establecida en false.
FLVPlayback.closeVideoPlayer()
FLVPlayback.findCuePoint()
FLVPlayback.findNearestCuePoint()
FLVPlayback.findNextCuePointWithName()
FLVPlayback.getVideoPlayer()
FLVPlayback.isFLVCuePointEnabled()
FLVPlayback.load()
Clase FLVPlayback
571
Mtodo
FLVPlayback.pause() FLVPlayback.play()
Descripcin
Pausa la reproduccin del flujo de vdeo. Inicia la reproduccin del flujo de vdeo y permite cargar y reproducir un nuevo archivo FLV. Elimina un punto de referencia de ActionScript. Elimina un detector de eventos. Busca un tiempo especificado en el archivo (en segundos, con una precisin decimal de milisegundos). Busca un porcentaje del tiempo reproducido del archivo. Igual que FLVPlayback.seek(). Busca el punto de referencia de navegacin con el nombre especificado en el tiempo especificado (o despus de dicho tiempo). Busca el siguiente punto de referencia de navegacin con respecto al tiempo especificado. Busca el anterior punto de referencia de navegacin con respecto al tiempo especificado. Activa o desactiva uno o ms puntos de referencia del archivo FLV. Establece simultneamente los valores de scaleX y scaleY. Establece simultneamente los valores de width y height. Detiene la reproduccin del flujo de vdeo.
FLVPlayback.seekPercent()
FLVPlayback.seekSeconds() FLVPlayback.seekToNavCuePoint()
FLVPlayback.seekToNextNavCuePoint()
FLVPlayback.seekToPrevNavCuePoint()
FLVPlayback.setFLVCuePointEnabled()
FLVPlayback.setScale()
FLVPlayback.setSize()
FLVPlayback.stop()
572
Componente FLVPlayback
Valor
"actionscript"
Descripcin
Se puede utilizar como parmetro type para los mtodos findCuePoint() y findNearestCuePoint(). Se puede utilizar como parmetro type para los mtodos findCuePoint() y findNearestCuePoint(). Valor para probar la propiedad de estado. Valor para probar la propiedad de estado. Valor para probar la propiedad de estado. Se puede utilizar como parmetro type para los mtodos findCuePoint() y findNearestCuePoint(). Se puede utilizar como parmetro type para los mtodos findCuePoint() y findNearestCuePoint(). Valor para probar la propiedad de estado. Se puede utilizar como parmetro type para los mtodos findCuePoint() y findNearestCuePoint(). Valor para probar la propiedad de estado.
FLVPlayback.ALL
"all"
FLVPlayback.BUFFERING
"buffering"
FLVPlayback.CONNECTION_ERROR
"connectionError"
FLVPlayback.DISCONNECTED
"disconnected"
FLVPlayback.EVENT
"event"
FLVPlayback.FLV
"flv"
FLVPlayback.LOADING
"loading"
FLVPlayback.NAVIGATION
"navigation"
FLVPlayback.PAUSED
"paused"
Clase FLVPlayback
573
Propiedad
FLVPlayback.PLAYING
Valor
"playing"
Descripcin
Valor para probar la propiedad de estado. Valor para probar la propiedad de estado. Valor para probar la propiedad de estado. Valor para probar la propiedad de estado.
FLVPlayback.REWINDING
"rewinding"
FLVPlayback.SEEKING
"seeking"
FLVPlayback.STOPPED
"stopped"
FLVPlayback.version
Nmero de versin Determina la versin del del componente componente FLVPlayback en uso.
Propiedades de instancia
En la tabla siguiente, se enumeran las propiedades de instancia de la clase FLVPlayback. Este conjunto de propiedades se aplica a cada instancia de un componente FLVPlayback en la aplicacin. Por ejemplo, si arrastra dos instancias del componente FLVPlayback al escenario, cada instancia tiene un conjunto de estas propiedades.
Propiedad
FLVPlayback.activeVideoPlayerIndex
Descripcin
Nmero que especifica qu flujo de archivo FLV se ve afectado por otros mtodos, propiedades y eventos. Utilice esta propiedad para administrar varios flujos de archivos FLV; el valor predeterminado es 0. Valor booleano. Si es true, especifica que el componente reproduce el archivo FLV inmediatamente despus de cargarlo. El valor predeterminado es true. Valor booleano. Si es true hace que se rebobine el archivo FLV hasta el primer fotograma cuando se detenga la reproduccin. Valor booleano. Si es true, hace que se ajuste automticamente el tamao del vdeo a las dimensiones de origen. Objeto MovieClip que es el control backButton.
FLVPlayback.autoPlay
FLVPlayback.autoRewind
FLVPlayback.autoSize
FLVPlayback.backButton
574
Componente FLVPlayback
Propiedad
FLVPlayback.bitrate
Descripcin
Nmero que especifica el ancho de banda del usuario en bits por segundo. En algunos casos se utiliza para decidir qu archivo FLV debe reproducirse. Valor booleano. Es true si el vdeo est en estado de almacenamiento en bfer. Slo lectura. Objeto MovieClip que es el control bufferingBar. controles cuando el componente pasa al estado de almacenamiento en bfer.
FLVPlayback.buffering
FLVPlayback.bufferingBar
FLVPlayback.bufferTime
Valor que especifica el nmero de segundos que se almacenarn en la memoria antes de que se inicie la reproduccin de un flujo de vdeo. Valor que indica el nmero de bytes descargados para una descarga HTTP. Slo lectura. Valor que especifica el nmero total de bytes descargados para una descarga HTTP. Slo lectura. Cadena que especifica la URL de un archivo FLV que se va a cargar. Matriz que describe los puntos de referencia de ActionScript y los del archivo FLV incorporados desactivados. Nunca debe utilizarse directamente con ActionScript. Slo debe establecerse a travs del cuadro de dilogo Puntos de referencia. Objeto MovieClip que es el control ForwardButton. Nmero que especifica la altura del vdeo en pxeles.
FLVPlayback.bytesLoaded
FLVPlayback.bytesTotal
FLVPlayback.contentPath
FLVPlayback.cuePoints
FLVPlayback.forwardButton
FLVPlayback.height
Clase FLVPlayback
575
Propiedad
FLVPlayback.idleTimeout
Descripcin
Cantidad de tiempo en milisegundos antes de que Flash cierre una conexin inactiva al servidor FMS tras pausar o detener una reproduccin. Valor booleano. Es true si el flujo de vdeo es dinmico. Valor booleano. Es true si el archivo FLV se transmite desde un servidor FMS o FVSS. Slo lectura. Valor booleano. Si es true, mantiene la proporcin de vdeo. Objeto que es un paquete de informacin de metadatos que se recibe de una llamada a la funcin callback onMetaData(), si est disponible. Slo lectura. Valor booleano. Es true si se ha encontrado y procesado un paquete de metadatos o si est claro que no se va a procesar. Slo lectura. Objeto MovieClip que es el control MuteButton. Objeto INCManager que proporciona acceso a una instancia de la clase que implementa INCManager. Slo lectura. Objeto MovieClip que es el control PauseButton. Valor booleano. Es true si el archivo FLV est en estado de pausa. Slo lectura. Objeto MovieClip que es el control PlayButton. Nmero que especifica el tiempo de cabeza lectora como un porcentaje de la duracin total del archivo FLV. Nmero que representa el tiempo o la posicin actual (en segundos) de la cabeza lectora, que puede ser un valor fraccionario.
FLVPlayback.isLive
FLVPlayback.isRTMP
FLVPlayback.maintainAspectRatio
FLVPlayback.metadata
FLVPlayback.metadataLoaded
FLVPlayback.muteButton
FLVPlayback.ncMgr
FLVPlayback.pauseButton
FLVPlayback.paused
FLVPlayback.playButton
FLVPlayback.playheadPercentage
FLVPlayback.playheadTime
576
Componente FLVPlayback
Propiedad
FLVPlayback.playheadUpdateInterval
Descripcin
Nmero que es la cantidad de tiempo en milisegundos entre cada evento playheadUpdate. Valor booleano. Es true si se reproduce el archivo FLV. Slo lectura. Objeto MovieClip que es el control PlayPauseButton. Nmero que especifica la altura del archivo FLV de origen. Nmero que especifica la anchura del archivo FLV de origen. Nmero que es la cantidad de tiempo en milisegundos entre cada evento progress. Nmero que especifica la escala horizontal. Nmero que especifica la escala vertical. Valor booleano. Es true si el usuario est arrastrando el selector seekBar. Slo lectura. Objeto MovieClip que es el control SeekBar. Nmero que especifica la frecuencia en milisegundos con que se debe comprobar el selector seekBar durante el desplazamiento. El valor predeterminado es 250. Nmero (porcentaje) que especifica hasta dnde puede mover un usuario el selector scrubBar antes de que se produzca una actualizacin. El valor se especifica como un porcentaje (entre 1 y 100). Nmero de segundos que utiliza el mtodo seekToPrevNavCuePoint() cuando compara su tiempo con el del punto de referencia anterior.
FLVPlayback.playing
FLVPlayback.playPauseButton
FLVPlayback.preferredHeight
FLVPlayback.preferredWidth
FLVPlayback.progressInterval
FLVPlayback.scaleX
FLVPlayback.scaleY FLVPlayback.scrubbing
FLVPlayback.seekBar
FLVPlayback.seekBarInterval
FLVPlayback.seekBarScrubTolerance
FLVPlayback.seekToPrevOffset
Clase FLVPlayback
577
Propiedad
FLVPlayback.skin
Descripcin
Cadena que especifica el nombre de un archivo SWF de aspecto. Valor booleano. Si es true, oculta el aspecto del componente cuando el ratn no est sobre el vdeo. El valor predeterminado es false. Cadena que especifica el estado del componente. Se establece con los mtodos load(), play(), stop(), pause() y seek(). Slo lectura. Valor booleano. Es true si el estado es interactivo. Slo lectura. Objeto MovieClip que es el control StopButton. Valor booleano. Es true si el estado es detenido. Slo lectura. Nmero que representa el tiempo total de reproduccin del vdeo en segundos. Objeto que proporciona acceso directo a los mtodos Sound.setTransform() y Sound.getTransform() para proporcionar mayor control del sonido. Valor booleano. Si es true, hace que el componente FLVPlayback sea visible. Nmero que puede utilizar para administrar varios flujos de archivos FLV. Establece qu instancia de reproductor de vdeo es visible y audible. El valor predeterminado es 0. Nmero del intervalo 0 a 100 que indica el nivel del control de volumen. Objeto MovieClip que es el control VolumeBar. Nmero que especifica la frecuencia en milisegundos con que se debe comprobar el selector volumeBar durante el desplazamiento. El valor predeterminado es 250.
FLVPlayback.skinAutoHide
FLVPlayback.state
FLVPlayback.stateResponsive
FLVPlayback.stopButton
FLVPlayback.stopped
FLVPlayback.totalTime
FLVPlayback.transform
FLVPlayback.visible
FLVPlayback.visibleVideoPlayerIndex
FLVPlayback.volume
FLVPlayback.volumeBar
FLVPlayback.volumeBarInterval
578
Componente FLVPlayback
Propiedad
FLVPlayback.volumeBarScrubTolerance
Descripcin
Nmero (porcentaje) que especifica hasta dnde puede mover un usuario el selector de la barra de volumen antes de que se produzca una actualizacin. Nmero que especifica la anchura de la instancia del componente en pxeles. Nmero que especifica la ubicacin horizontal del reproductor de vdeo en pxeles. Nmero que especifica la ubicacin vertical del reproductor de vdeo en pxeles.
FLVPlayback.width
FLVPlayback.x
FLVPlayback.y
Descripcin
Se distribuye cuando se pasa al estado de almacenamiento en bfer. Se distribuye cuando se cierra NetConnection porque se agot el tiempo de espera o mediante una llamada al mtodo close(). Se distribuye cuando finaliza la reproduccin al llegar al final del archivo FLV. Se distribuye cuando se llega a un punto de referencia. Se distribuye cuando se mueve hacia adelante la ubicacin de la cabeza lectora mediante una llamada al mtodo seek(). Se distribuye la primera vez que se llega a los metadatos del archivo FLV. Se distribuye cuando se pasa al estado de pausa. Se distribuye cada 0,25 segundos, de forma predeterminada, mientras se est reproduciendo el archivo FLV. Puede especificar la frecuencia mediante la propiedad playheadUpdateInterval. Se distribuye cuando se pasa al estado de reproduccin.
FLVPlayback.close
FLVPlayback.complete
FLVPlayback.cuePoint FLVPlayback.fastForward
FLVPlayback.metadata
FLVPlayback.paused FLVPlayback.playheadUpdate
FLVPlayback.playing
Clase FLVPlayback
579
Evento
FLVPlayback.progress
Descripcin
Se distribuye cada 0,25 segundos, desde que se llama al mtodo load() hasta que se hayan cargado todos los bytes o se produzca un error de red. Puede especificar la frecuencia mediante la propiedad progressInterval. Se distribuye cuando el archivo FLV est cargado y preparado para mostrarse. Se distribuye cuando se cambia el tamao del vdeo. Se distribuye cuando se mueve hacia atrs la ubicacin de la cabeza lectora mediante una llamada a seek() o cuando finaliza la operacin de rebobinado automtico. Se distribuye cuando el usuario detiene el desplazamiento de la lnea de tiempo con SeekBar. Se distribuye cuando el usuario inicia el desplazamiento de la lnea de tiempo con SeekBar. Se distribuye cuando se cambia la ubicacin de la cabeza lectora mediante una llamada a seek() o mediante el control correspondiente. Se distribuye cuando se produce un error al cargar un archivo SWF de aspecto. Se distribuye cuando se carga un archivo SWF de aspecto. Se distribuye cuando cambia el estado de reproduccin. Se distribuye cuando se pasa al estado detenido. Se distribuye cuando se cambia el volumen mediante la propiedad volume.
FLVPlayback.ready
FLVPlayback.resize FLVPlayback.rewind
FLVPlayback.scrubFinish
FLVPlayback.scrubStart
FLVPlayback.seek
FLVPlayback.skinError
FLVPlayback.ACTIONSCRIPT
Disponibilidad
Flash Player 8.
Edicin
Flash Professional 8.
Sintaxis
mx.video.FLVPlayback.ACTIONSCRIPT
580
Componente FLVPlayback
Descripcin
Propiedad de slo lectura de la clase FLVPlayback que contiene la constante de cadena actionscript para utilizarla como propiedad type con los mtodos findCuePoint() y findNearestCuePoint().
Ejemplo
En el siguiente ejemplo, se utiliza la constante ACTIONSCRIPT para establecer la propiedad type del mtodo findCuePoint(). Arrastre un componente FLVPlayback al escenario y asgnele el nombre de instancia my_FLVPlybk. Aada el siguiente cdigo al panel Acciones, en el fotograma 1 de la lnea de tiempo:
/** Se requiere: - Componente FLVPlayback en el escenario, con el nombre de instancia my_FLVPlybk */ import mx.video.*; my_FLVPlybk.contentPath = "http://www.helpexamples.com/flash/video/ water.flv"; var listenerObject:Object = new Object(); listenerObject.ready = function(eventObject:Object) { var cuePt:Object = new Object(); // crear objeto de punto de referencia cuePt.time = 2.444; cuePt.name = "ASCuePt1"; my_FLVPlybk.addASCuePoint(cuePt); //aadir punto de referencia de AS } my_FLVPlybk.addEventListener("ready", listenerObject) listenerObject.playing = function(eventObject:Object) { var rtn_obj:Object = new Object(); if(rtn_obj = my_FLVPlybk.findCuePoint(2.444, FLVPlayback.ACTIONSCRIPT)){ trace("Found cue point " + rtn_obj.name); } } my_FLVPlybk.addEventListener("playing", listenerObject)
Vase tambin
FLVPlayback.findCuePoint()
Clase FLVPlayback
581
FLVPlayback.activeVideoPlayerIndex
Disponibilidad
Flash Player 8.
Edicin
Flash Professional 8.
Sintaxis
my_FLVPlybk.activeVideoPlayerIndex
Descripcin
Propiedad; nmero que especifica qu instancia del reproductor de vdeo se ver afectada por otras API. Utilice esta propiedad para administrar varios flujos de archivos FLV. El valor predeterminado es 0. Esta propiedad no hace visible el reproductor de vdeo; utilice la propiedad visibleVideoPlayerIndex para dicho propsito. Se crea un nuevo reproductor de vdeo la primera vez que se asigna un valor numrico a
activeVideoPlayerIndex. Cuando se crea el nuevo reproductor de vdeo, sus propiedades se
establecen en el valor del reproductor de vdeo predeterminado (activeVideoPlayerIndex == 0), salvo contentPath, totalTime y isLive, que siempre se establecen en sus valores predeterminados (cadena vaca, 0 y false respectivamente) y autoPlay, que siempre es false (el valor predeterminado es true slo para el reproductor de vdeo predeterminado, es decir, 0). La propiedad cuePoints no produce ningn efecto, ni siquiera si se carga posteriormente en el reproductor de vdeo predeterminado.
582
Componente FLVPlayback
Las API que controlan el volumen, la posicin, las dimensiones, la visibilidad y los controles de interfaz de usuario siempre son globales y su comportamiento no se ve afectado al establecer el valor de activeVideoPlayerIndex. Establecer la propiedad activeVideoPlayerIndex no afecta a los siguientes propiedades y mtodos en concreto.
Propiedades y mtodos no afectados por activeVideoPlayerIndex
backButton bufferingBar playPauseButton scaleX skin stopButton transform visible volume volumeBar volumeBarInterval volumeBarScrubTolera nce width x y setSize() setScale()
bufferingBarHidesAndDisablesOthers forwardButton height muteButton pauseButton playButton scaleY seekBar seekBarInterval seekBarScrubTolerance seekToPrevOffset
Sin embargo, las API que controlan las dimensiones interactan con la propiedad visibleVideoPlayerIndex. Para ms informacin, consulte FLVPlayback.visibleVideoPlayerIndex en la pgina 727. Las API restantes se destinan a un reproductor de vdeo especfico que depende del valor de
activeVideoPlayerIndex.
Al detectar eventos, obtendr todos los eventos para todos los reproductores de vdeo. Para distinguir el reproductor de vdeo al que se destina el evento, utilice la propiedad vp del evento, que es un nmero que corresponde al valor establecido de activeVideoPlayerIndex y visibleVideoPlayerIndex. Todos los eventos tienen esta propiedad salvo resize y volume, que no son especficos de un reproductor de vdeo, sino globales para la instancia de FLVPlayback. Por ejemplo, para cargar un segundo archivo FLV en segundo plano, establezca activeVideoPlayerIndex en 1 y llame al mtodo load(). Cuando est preparado para mostrar este archivo FLV y ocultar el otro, establezca visibleVideoPlayerIndex en 1.
NO TA
Clase FLVPlayback
583
Ejemplo
En el siguiente ejemplo, se crean dos reproductores de vdeo para reproducir dos archivos FLV de forma consecutiva en una sola instancia del archivo FLV. Establece la propiedad activeVideoPlayerIndex para cambiar entre los reproductores de vdeo y sus respectivos archivos FLV. Arrastre un componente FLVPlayback al escenario y asgnele el nombre de instancia my_FLVPlybk. Aada el siguiente cdigo al panel Acciones, en el fotograma 1 de la lnea de tiempo:
/** Se requiere: - Componente FLVPlayback en el escenario, con el nombre de instancia my_FLVPlybk */ import mx.video.*; // especificar nombre y ubicacin del archivo FLV correspondiente al // reproductor predeterminado my_FLVPlybk.contentPath = "http://www.helpexamples.com/flash/video/ clouds.flv"; var listenerObject:Object = new Object(); listenerObject.ready = function(eventObject:Object):Void { // aadir un segundo reproductor de vdeo y especificar el nombre y la // ubicacin de su archivo FLV my_FLVPlybk.activeVideoPlayerIndex = 1; my_FLVPlybk.contentPath = "http://www.helpexamples.com/flash/video/ water.flv"; // restablecer el reproductor de vdeo predeterminado, que reproduce su // archivo FLV automticamente my_FLVPlybk.activeVideoPlayerIndex = 0; }; my_FLVPlybk.addEventListener("ready", listenerObject); listenerObject.complete = function(eventObject:Object):Void { // si complete hace referencia al segundo archivo FLV, convertir al // predeterminado en activo y visible if (eventObject.vp == 1) { my_FLVPlybk.activeVideoPlayerIndex = 0; my_FLVPlybk.visibleVideoPlayerIndex = 0; } else { // convertir al segundo reproductor en activo y visible y // reproducir archivo FLV my_FLVPlybk.activeVideoPlayerIndex = 1; my_FLVPlybk.visibleVideoPlayerIndex = 1; my_FLVPlybk.play(); } }; // aadir detector de evento complete my_FLVPlybk.addEventListener("complete", listenerObject);
Vase tambin
FLVPlayback.bringVideoPlayerToFront(), FLVPlayback.getVideoPlayer(), Clase VideoPlayer, FLVPlayback.visibleVideoPlayerIndex,
584 Componente FLVPlayback
FLVPlayback.addASCuePoint()
Disponibilidad
Flash Player 8.
Edicin
Flash Professional 8.
Sintaxis
my_FLVplybk.addASCuePoint(cuePoint:Object) my_FLVplybk.addASCuePoint(time:Number, name:String[, parameters:Object])
Parmetros
Objeto con propiedades name:String y time:Number (en segundos) que describen el punto de referencia. Tambin puede tener una propiedad parameters:Object con pares nombre/valor. Puede tener type:String establecido en actionscript. Si falta type o tiene otro valor, se establecer automticamente. Si el objeto no se ajusta a estas convenciones, el mtodo emite un error VideoError.
cuePoint time
Nmero que representa el tiempo del nuevo punto de referencia que se va a aadir. Si utiliza el parmetro time, debe seguirle el parmetro name.
name Cadena que especifica el nombre del punto de referencia si enva un parmetro time en lugar del objeto CuePoint. parameters
Valor devuelto
Una copia del objeto de punto de referencia que se aadi con las siguientes propiedades adicionales:
array
Matriz de puntos de referencia en los que se busc. Debe tratar esta matriz como de slo lectura, ya que si aade, elimina o edita los objetos que contiene, podra provocar un funcionamiento incorrecto de los puntos de referencia. ndice en la matriz del punto de referencia devuelto.
index
Descripcin
Mtodo; aade un punto de referencia de ActionScript y tiene el mismo efecto que aadir un punto de referencia de ActionScript a travs del cuadro de dilogo Puntos de referencia, salvo que se produce cuando se ejecuta una aplicacin y no durante el desarrollo de la misma. La informacin del punto de referencia se elimina cuando se establece la propiedad contentPath. Para establecer los datos del punto de referencia para el siguiente archivo FLV que se va a cargar, establezca primero el valor de la propiedad contentPath.
Clase FLVPlayback
585
Se permite aadir varios puntos de referencia de AS con el mismo nombre y el mismo tiempo. Cuando elimine puntos de referencia de ActionScript con el mtodo removeASCuePoint(), se eliminarn todos los puntos de referencia con el mismo nombre y tiempo.
Ejemplo
En el ejemplo siguiente, se aaden puntos de referencia de ActionScript a un archivo FLV. El ejemplo aade el primero mediante un parmetro CuePoint y el segundo mediante los parmetros time y name. Cuando se llega a cada uno de los puntos de referencia durante la reproduccin, un detector de eventos cuePoint muestra el valor de la propiedad playheadTime en un rea de texto. Arrastre un componente FLVPlayback al escenario y asgnele el nombre de instancia my_FLVPlybk. Arrastre un componente TextArea al escenario, debajo de la instancia de FLVPlayback, y asgnele el nombre de instancia my_ta. Aada el siguiente cdigo al panel Acciones, en el fotograma 1 de la lnea de tiempo:
/** Se requiere: - Componente FLVPlayback en el escenario, con el nombre de instancia my_FLVPlybk - Componente TextArea en el escenario, con el nombre de instancia my_ta */ import mx.video.*; my_FLVPlybk.contentPath = "http://www.helpexamples.com/flash/video/ water.flv"; my_ta.visible = false; // crear objeto de punto de referencia var cuePt:Object = new Object(); // crear objeto de punto de referencia cuePt.time = 2.444; cuePt.name = "ASCuePt1"; cuePt.type = "actionscript"; my_FLVPlybk.addASCuePoint(cuePt); //aadir punto de referencia de AS // aadir segundo punto de referencia de AS mediante los parmetros time y // name my_FLVPlybk.addASCuePoint(5, "ASCuePt2"); var listenerObject:Object = new Object(); listenerObject.cuePoint = function(eventObject:Object):Void { my_ta.text = "Elapsed time in seconds: " + my_FLVPlybk.playheadTime; my_ta.visible = true; }; my_FLVPlybk.addEventListener("cuePoint", listenerObject);
Vase tambin
FLVPlayback.findCuePoint(), FLVPlayback.removeASCuePoint()
586
Componente FLVPlayback
FLVPlayback.addEventListener()
Disponibilidad
Flash Player 8.
Edicin
Flash Professional 8.
Sintaxis:
my_FLVPlybk.addEventListener(event:String, listener:Object):Void my_FLVPlybk.addEventListener(event:String, listener:Function):Void
Parmetros
event
Cadena que especifica el nombre del evento para el cual se registra un detector. Si el detector es un objeto, es tambin el nombre de la funcin del objeto detector que hay que llamar. Nombre del objeto detector o funcin que se registra para el evento.
listener
Valor devuelto
Ninguno.
Descripcin
Mtodo; registra un objeto detector o funcin para un evento especificado. Si el detector es un objeto, ste debe tener una funcin definida con el mismo nombre que el evento. Si el detector es una funcin, se llamar al nombre de la funcin para controlar el evento.
Clase FLVPlayback
587
Ejemplo
En el siguiente ejemplo, se detecta un evento complete y se muestra un mensaje en el rea de texto cuando se produce. Arrastre un componente FLVPlayback al escenario y asgnele el nombre de instancia my_FLVPlybk. Arrastre un componente TextArea al escenario, debajo de la instancia de FLVPlayback, y asgnele el nombre de instancia my_ta. Aada el siguiente cdigo al panel Acciones, en el fotograma 1 de la lnea de tiempo:
Usage 1:: listener object /** Se requiere: - Componente FLVPlayback en el escenario, con el nombre de instancia my_FLVPlybk - Componente TextArea en el escenario, con el nombre de instancia my_ta */ import mx.video.*; my_ta.visible = false; my_FLVPlybk.contentPath = "http://www.helpexamples.com/flash/video/ water.flv"; var listenerObject:Object = new Object(); // crear un objeto detector listenerObject.complete = function(eventObject:Object):Void { my_ta.text = "That's All Folks!"; my_ta.visible = true; }; my_FLVPlybk.addEventListener("complete", listenerObject); Usage 2: listener function /** Se requiere: - Componente FLVPlayback en el escenario, con el nombre de instancia my_FLVPlybk - Componente TextArea en el escenario, con el nombre de instancia my_ta */ import mx.video.*; my_ta.visible = false; my_FLVPlybk.contentPath = "http://www.helpexamples.com/flash/video/ water.flv"; function the_end(eventObject:Object):Void { my_ta.text = "That's All Folks!"; my_ta.visible = true; }; my_FLVPlybk.addEventListener("complete", the_end);
Vase tambin
Resumen de eventos de la clase FLVPlayback, FLVPlayback.removeEventListener(),
588
Componente FLVPlayback
FLVPlayback.ALL
Disponibilidad
Flash Player 8.
Edicin
Flash Professional 8.
Sintaxis
mx.video.FLVPlayback.ALL
Descripcin
Propiedad de slo lectura de la clase FLVPlayback que contiene la constante de cadena all. Puede utilizar esta propiedad como parmetro type para los mtodos findCuePoint() y findNearestCuePoint().
Ejemplo
En el siguiente ejemplo, se busca, entre todos los puntos de referencia, uno denominado point2 que tiene un tiempo de 7.748. En el ejemplo, se muestran las propiedades type y time del punto de referencia encontrado. Arrastre un componente FLVPlayback al escenario y asgnele el nombre de instancia my_FLVPlybk. Aada el siguiente cdigo al panel Acciones, en el fotograma 1 de la lnea de tiempo:
/** Se requiere: - Componente FLVPlayback en el escenario, con el nombre de instancia my_FLVPlybk */ import mx.video.*; my_FLVPlybk.contentPath = "http://www.helpexamples.com/flash/video/ cuepoints.flv"; // crear objeto de punto de referencia var listenerObject = new Object(); listenerObject.ready = function(eventObject:Object):Void { var cuePt:Object = new Object(); // crear objeto de punto de referencia cuePt.name = "point2"; cuePt.time = 7.748; if(cuePt = my_FLVPlybk.findCuePoint(cuePt, FLVPlayback.ALL)) //buscar punto de referencia trace("found a " + cuePt.type + " cue point at " + cuePt.time); else trace("cue point not found"); } my_FLVPlybk.addEventListener("ready", listenerObject);
Vase tambin
FLVPlayback.findCuePoint()
Clase FLVPlayback 589
FLVPlayback.autoPlay
Disponibilidad
Flash Player 8.
Edicin
Flash Professional 8.
Sintaxis
my_FLVPlybk.autoPlay
Descripcin
Propiedad; valor booleano. Si se establece en true, hace que el archivo FLV se reproduzca inmediatamente cuando se establezca el valor de la propiedad contentPath. Si se establece en false, el componente esperar el comando de reproduccin. Aunque autoPlay est establecido en false, el componente cargar el contenido inmediatamente. El valor predeterminado es true. Si establece la propiedad en true en el intervalo entre la carga de nuevos archivos FLV, no se producir ningn efecto hasta que establezca contentPath.
Ejemplo
En el ejemplo siguiente, se desactiva la reproduccin del archivo FLV para mover la cabeza lectora un 30% en el tiempo de reproduccin e iniciar la reproduccin en ese punto. Arrastre un componente FLVPlayback al escenario y asgnele el nombre de instancia my_FLVPlybk. Aada el siguiente cdigo al panel Acciones, en el fotograma 1 de la lnea de tiempo:
/** Se requiere: - Componente FLVPlayback en el escenario, con el nombre de instancia my_FLVPlybk */ import mx.video.*; my_FLVPlybk.autoPlay = false; var listenerObject:Object = new Object(); listenerObject.ready = function(eventObject:Object):Void { my_FLVPlybk.seekPercent(30); my_FLVPlybk.play(); }; my_FLVPlybk.addEventListener("ready", listenerObject); my_FLVPlybk.contentPath = "http://www.helpexamples.com/flash/video/ water.flv";
Vase tambin
FLVPlayback.activeVideoPlayerIndex
590
Componente FLVPlayback
FLVPlayback.autoRewind
Disponibilidad
Flash Player 8.
Edicin
Flash Professional 8.
Sintaxis
my_FLVPlybk.autoRewind
Descripcin
Propiedad; valor booleano. Si es true, hace que el archivo FLV se rebobine hasta el fotograma 1 cuando se detenga la reproduccin porque el reproductor alcanz el final del flujo o porque se llam al mtodo stop(). Esta propiedad no se utiliza para flujos dinmicos. El valor predeterminado es true.
Ejemplo
En el ejemplo siguiente, se establece la propiedad autoRewind en false para evitar que el archivo FLV se rebobine automticamente cuando finalice la reproduccin. Arrastre un componente FLVPlayback al escenario y asgnele el nombre de instancia my_FLVPlybk. Aada el siguiente cdigo al panel Acciones, en el fotograma 1 de la lnea de tiempo:
/** Se requiere: - Componente FLVPlayback en la Biblioteca */ my_FLVPlybk.autoRewind = false; my_FLVPlybk.contentPath = "http://www.helpexamples.com/flash/video/ water.flv";
FLVPlayback.autoSize
Disponibilidad
Flash Player 8.
Edicin
Flash Professional 8.
Sintaxis
my_FLVPlybk.autoSize
Clase FLVPlayback
591
Descripcin
Propiedad; valor booleano. Si es true hace que se ajuste automticamente el tamao del vdeo a las dimensiones del archivo FLV origen. Si se cambia esta propiedad de false a true despus de cargar un archivo FLV, se inicia inmediatamente el cambio de tamao automtico. El valor predeterminado es false.
Ejemplo
En el siguiente ejemplo, se muestran primero las dimensiones de origen del archivo FLV (preferredWidth y preferredHeight) cuando el archivo FLV est listo para reproducirse. A continuacin, llama a setSize() para cambiar las dimensiones de la instancia de FLVPlayback, lo cual activa un evento resize. Luego establece la propiedad autoSize en true y activa otro evento resize que restaura el tamao a las dimensiones del archivo FLV de origen. El controlador de eventos resize muestra las dimensiones de la instancia de FLVPlayback en el panel Salida despus de cada evento. Arrastre un componente FLVPlayback al escenario y asgnele el nombre de instancia my_FLVPlybk. Aada el siguiente cdigo al panel Acciones, en el fotograma 1 de la lnea de tiempo:
/** Se requiere: - Componente FLVPlayback en la Biblioteca */ import mx.video.*; my_FLVPlybk.maintainAspectRatio = false; var listenerObject:Object = new Object(); listenerObject.ready = function(eventObject:Object) { trace("FLV width is: " + my_FLVPlybk.preferredWidth + " FLV height is: " + my_FLVPlybk.preferredHeight); my_FLVPlybk.setSize(400, 400); my_FLVPlybk.autoSize = true; }; my_FLVPlybk.addEventListener("ready", listenerObject); listenerObject.resize = function(eventObject:Object) { trace("my_FLVPlybk width is: " + my_FLVPlybk.width + "; my_FLVPlybk.height is: " + my_FLVPlybk.height); }; my_FLVPlybk.addEventListener("resize", listenerObject); my_FLVPlybk.contentPath = "http://www.helpexamples.com/flash/video/ water.flv";
Vase tambin
FLVPlayback.maintainAspectRatio, FLVPlayback.preferredHeight, FLVPlayback.preferredWidth, FLVPlayback.resize
592
Componente FLVPlayback
FLVPlayback.backButton
Disponibilidad
Flash Player 8.
Edicin
Flash Professional 8.
Sintaxis
my_FLVPlybk.backButton
Descripcin
Propiedad; objeto MovieClip que es el control de reproduccin BackButton. Para ms informacin sobre el uso de componentes de interfaz de usuario personalizados de reproduccin de FLV para controlar la reproduccin, consulte Aplicacin de aspectos a componentes individuales de interfaz de usuario personalizados de reproduccin FLV en la pgina 556. Si se hace clic en el botn BackButton, se desencadena un evento rewind.
Ejemplo
En el ejemplo siguiente, se utilizan las propiedades backButton, forwardButton, playButton, pauseButton y stopButton para asociar controles individuales de interfaz de usuario personalizados de reproduccin FLV a un componente FLVPlayback. Arrastre un componente FLVPlayback al escenario y asgnele el nombre de instancia my_FLVPlybk. En el inspector de componentes, establezca el parmetro Skin en None. A continuacin, aada los siguientes componentes de interfaz de usuario personalizados de reproduccin FLV individuales y asgneles los nombres de instancia mostrados entre parntesis: BackButton (my_bkbttn), ForwardButton (my_fwdbttn), PlayButton (my_plybttn), PauseButton (my_pausbttn) y StopButton (my_stopbttn). Despus aada las siguientes lneas de cdigo al panel Acciones:
/** Se requiere: - Componente FLVPlayback en el escenario, con el nombre de instancia my_FLVPlybk - Componentes personalizados de interfaz de usuario de FLV BackButton, ForwardButton, PlayButton, PauseButton y StopButton en la Biblioteca */ import mx.video.*; my_FLVPlybk.backButton = my_bkbttn; my_FLVPlybk.forwardButton = my_fwdbttn; my_FLVPlybk.playButton = my_plybttn;
Clase FLVPlayback
593
Vase tambin
FLVPlayback.forwardButton, FLVPlayback.rewind
FLVPlayback.bitrate
Disponibilidad
Flash Player 8.
Edicin
Flash Professional 8.
Sintaxis
my_FLVplybk.bitrate
Descripcin
Propiedad; nmero que especifica los bits por segundo establecidos para la transferencia del archivo FLV. Al realizar una descarga progresiva puede utilizar el formato SMIL, pero debe establecer la velocidad, ya que no hay deteccin automtica. Al transmitir vdeo desde un servidor Flash Media Server (FMS), puede proporcionar un archivo SMIL que describa cmo cambiar entre varios flujos en funcin del ancho de banda. FMS detecta automticamente el ancho de banda y, en este caso, omite el valor bitrate, si est establecido. Para ms informacin sobre el uso de un archivo SMIL, consulte Utilizacin de un archivo SMIL en la pgina 753.
Ejemplo
En el siguiente ejemplo, se comprueban dos botones de opcin para determinar la velocidad que se utilizar al seleccionar un archivo FLV del archivo SMIL especificado. Las etiquetas video relevantes en el archivo SMIL se muestran en el siguiente cdigo:
<switch> <video src="myvideo_mdm.flv" system-bitrate="56000" <video src="myvideo_isdn.flv" dur="3:00.1"> </switch> dur="3:00.1">
594
Componente FLVPlayback
En conexiones de baja velocidad, el cdigo establece la propiedad bitrate para obligar a seleccionar el archivo FLV apropiado. En conexiones de mayor velocidad, aprovecha la deteccin automtica del ancho de banda para transmitir desde el servidor FMS y no establece la velocidad. Arrastre un componente FLVPlayback al escenario y asgnele el nombre de instancia my_FLVPlybk. Arrastre un componente RadioButton y, a continuacin, un componente Label al panel Biblioteca. Aada el siguiente cdigo al panel Acciones, en el fotograma 1 de la lnea de tiempo. En la sentencia que carga la propiedad contentPath, reemplace el texto en cursiva por el nombre y la ubicacin del archivo SMIL.
/** Se requiere: - Componente FLVPlayback en la Biblioteca - Componente RadioButton en la Biblioteca - Componente Label en la Biblioteca */ import mx.video.*; import mx.controls.*; this.createClassObject(Label, "my_prompt", 10); my_prompt.text = "Please indicate your connection speed: "; this.createClassObject(RadioButton, "dialup", 20, {label:"Dialup modem (56 KB)", groupName:"radioGroup"}); this.createClassObject(RadioButton, "isdn", 30, {label:"ISDN (128 KB)", groupName:"radioGroup"}); my_prompt.autoSize = "left"; dialup.setSize(200, 30); isdn.setSize(200, 30); // Colocar componentes RadioButton en el escenario. my_prompt.move(my_FLVPlybk.x, my_FLVPlybk.y + my_FLVPlybk.height + 40); dialup.move(my_FLVPlybk.x, my_prompt.y + my_prompt.height + 5); isdn.move(my_FLVPlybk.x, dialup.y + 15); // Crear un objeto detector var rbListener:Object = new Object(); rbListener.click = function(eventObject:Object){ if(dialup.selected) { // para el mdem my_FLVPlybk.bitrate = 56000; } // permitir deteccin automtica de rdsi (o anchos de banda superiores) } // Aadir detector radioGroup.addEventListener("click", rbListener); my_FLVPlybk.contentPath = "http://www.someserver.com/video/sample.smil";
Clase FLVPlayback
595
FLVPlayback.bringVideoPlayerToFront()
Disponibilidad
Flash Player 8.
Edicin
Flash Professional 8.
Sintaxis
my_FLVPlybk.bringVideoPlayerToFront(index:Number)
Parmetros
index
Nmero que representa el ndice del reproductor de vdeo que se va a traer al frente
Descripcin
Mtodo; trae un reproductor de vdeo al frente de la pila de reproductores de vdeo. Es til para transiciones personalizadas entre reproductores de vdeo. El orden de la pila es el mismo que en la propiedad activeVideoPlayerIndex: 0 se sita debajo del todo, 1 por encima de 0, 2 por encima de 1 y as sucesivamente.
Ejemplo
En el siguiente ejemplo, se utilizan dos reproductores de vdeo para reproducir dos archivos FLV. Cuando se produce cada uno de los tres puntos de referencia del primer archivo FLV (cuepoints.flv), el ejemplo llama al mtodo bringVideoPlayerToFront() para traer el otro archivo FLV al frente. Como el ejemplo establece la propiedad _alpha en 75 para el reproductor de vdeo nmero 1, el archivo FLV (plane_cuepoints) que se reproduce en dicho reproductor es transparente, de forma que los dos archivos FLV son visibles cuando se trae al frente dicho archivo FLV. Arrastre un componente FLVPlayback al escenario y asgnele el nombre de instancia my_FLVPlybk. Aada el siguiente cdigo al panel Acciones, en el fotograma 1 de la lnea de tiempo:
/** Se requiere: - Componente FLVPlayback en el escenario, con el nombre de instancia my_FLVPlybk */ my_FLVPlybk.load("http://www.helpexamples.com/flash/video/cuepoints.flv"); var listenerObject:Object = new Object(); listenerObject.ready = function(eventObject:Object) { if (eventObject.target.contentPath == "http://www.helpexamples.com/ flash/video/cuepoints.flv") {
596
Componente FLVPlayback
//se activa cuando est listo el primer archivo FLV my_FLVPlybk.activeVideoPlayerIndex = 1; my_FLVPlybk.load("http://www.helpexamples.com/flash/video/ plane_cuepoints.flv"); } else { //se activa cuando est listo el segundo archivo FLV eventObject.target.activeVideoPlayerIndex = 0; eventObject.target.play(); eventObject.target.activeVideoPlayerIndex = 1; eventObject.target.play(); var layerOnTop:MovieClip = eventObject.target.getVideoPlayer(1); layerOnTop._alpha = 75; layerOnTop._visible = true; } } my_FLVPlybk.addEventListener("ready", listenerObject); var listenerObject:Object = new Object(); listenerObject.cuePoint = function(eventObject:Object) { // traer uno u otro al frente, en funcin del nombre de punto de // referencia if (eventObject.info.name == "point1") { trace(eventObject.info.name + " : 0 to front"); eventObject.target.bringVideoPlayerToFront(1); } else if (eventObject.info.name == "point2") { trace(eventObject.info.name + " : 1 to front"); eventObject.target.bringVideoPlayerToFront(0); }else if (eventObject.info.name == "point3") { trace(eventObject.info.name + " : 0 to front"); eventObject.target.bringVideoPlayerToFront(1); } } my_FLVPlybk.addEventListener("cuePoint", listenerObject);
Vase tambin
FLVPlayback.activeVideoPlayerIndex, FLVPlayback.getVideoPlayer(), Clase VideoPlayer, FLVPlayback.visibleVideoPlayerIndex
Clase FLVPlayback
597
FLVPlayback.buffering
Disponibilidad
Flash Player 8.
Edicin
Flash Professional 8.
Sintaxis
var listenerObject:Object = new Object(); listenerObject.buffering = function(eventObject:Object):Void { // insertar aqu cdigo de gestin de eventos }; my_FLVplybk.addEventListener("buffering", listenerObject);
Descripcin
Evento; se distribuye cuando la instancia de FLVPlayback pasa al estado de almacenamiento en bfer. La instancia de FLVPlayback suele pasar a este estado inmediatamente despus de una llamada al mtodo play() o cuando se hace clic en el control Play, antes de pasar al estado de reproduccin. El objeto de evento tiene las propiedades state, playheadTime y vp, que es el nmero de ndice del reproductor de vdeo al que se aplica este evento. Consulte FLVPlayback.activeVideoPlayerIndex en la pgina 582 y FLVPlayback.visibleVideoPlayerIndex en la pgina 727. La instancia de FLVPlayback tambin distribuye el evento stateChange cuando se inicia el almacenamiento en bfer.
Ejemplo
En el ejemplo siguiente, se crea un detector para el evento buffering. Cuando se produce un evento buffering, el controlador de eventos llama al mtodo trace() para mostrar los valores de las propiedades state y vp. Arrastre un componente FLVPlayback al escenario y asgnele el nombre de instancia my_FLVPlybk. Aada el siguiente cdigo al panel Acciones, en el fotograma 1 de la lnea de tiempo:
/** Se requiere: - Componente FLVPlayback en el escenario, con el nombre de instancia my_FLVPlybk */ import mx.video.*; var listenerObject:Object = new Object(); listenerObject.buffering = function(eventObject:Object) { trace("The state property has a value of " + eventObject.target.state);
598
Componente FLVPlayback
trace("The video player number is: " + eventObject.vp); }; my_FLVPlybk.addEventListener("buffering", listenerObject); my_FLVPlybk.contentPath = "http://www.helpexamples.com/flash/video/ water.flv";
Vase tambin
FLVPlayback.addEventListener(), FLVPlayback.state, FLVPlayback.removeEventListener()
FLVPlayback.BUFFERING
Disponibilidad
Flash Player 8.
Edicin
Flash Professional 8.
Sintaxis
mx.video.FLVPlayback.BUFFERING
Descripcin
Propiedad de slo lectura de la clase FLVPlayback que contiene la constante de cadena buffering. Puede comparar esta propiedad con la propiedad state para determinar si el componente est en estado de almacenamiento en bfer.
Ejemplo
En el siguiente ejemplo, se muestra el valor de la propiedad FLVPlayback.BUFFERING cuando el componente pasa al estado de almacenamiento en bfer. Arrastre un componente FLVPlayback al escenario y asgnele el nombre de instancia my_FLVPlybk. Aada el siguiente cdigo al panel Acciones, en el fotograma 1 de la lnea de tiempo:
/** Se requiere: - Componente FLVPlayback en el escenario, con el nombre de instancia my_FLVPlybk */ import mx.video.*; var listenerObject:Object = new Object(); listenerObject.stateChange = function(eventObject:Object):Void { if(eventObject.state == FLVPlayback.BUFFERING) trace(FLVPlayback.BUFFERING); };
Clase FLVPlayback
599
Vase tambin
FLVPlayback.state, FLVPlayback.stateChange
FLVPlayback.buffering
Disponibilidad
Flash Player 8.
Edicin
Flash Professional 8.
Sintaxis
my_FLVPlybk.buffering
Descripcin
Propiedad; valor booleano. Es true si el vdeo est en estado de almacenamiento en bfer. Slo lectura.
Ejemplo
En el siguiente ejemplo, se crea un detector del evento buffering y se muestra un mensaje en el panel Salida cuando se produce el evento. Arrastre un componente FLVPlayback al escenario y asgnele el nombre de instancia my_FLVPlybk. Aada el siguiente cdigo al panel Acciones, en el fotograma 1 de la lnea de tiempo:
/** Se requiere: - Componente FLVPlayback en el escenario, con el nombre de instancia my_FLVPlybk */ import mx.video.*; var listenerObject:Object = new Object(); listenerObject.stateChange = function(eventObject:Object):Void { if(my_FLVPlybk.buffering){ trace("The video is buffering"); } }; my_FLVPlybk.addEventListener("stateChange", listenerObject); my_FLVPlybk.contentPath = "http://www.helpexamples.com/flash/video/ water.flv";
Vase tambin
FLVPlayback.buffering, FLVPlayback.BUFFERING, FLVPlayback.state, FLVPlayback.stateChange
600
Componente FLVPlayback
FLVPlayback.bufferingBar
Disponibilidad
Flash Player 8.
Edicin
Flash Professional 8.
Sintaxis
my_FLVPlybk.bufferingBar
Descripcin
Propiedad; objeto MovieClip que es el control de la barra de almacenamiento en bfer. Este control aparece cuando el archivo FLV est en estado de carga o de almacenamiento en bfer. Para ms informacin sobre el uso de componentes de interfaz de usuario personalizados de reproduccin de FLV para los controles de reproduccin, consulte Aplicacin de aspectos a componentes individuales de interfaz de usuario personalizados de reproduccin FLV en la pgina 556.
Ejemplo
En el ejemplo siguiente, se asocian controles de interfaz de usuario personalizados de reproduccin FLV individuales a un componente FLVPlayback estableciendo las siguientes propiedades: playPauseButton, stopButton, backButton, forwardButton y bufferingBar. La barra de almacenamiento en bfer slo aparece mientras el archivo FLV se almacena en bfer, antes de que se inicie la reproduccin. Arrastre un componente FLVPlayback al escenario y asgnele el nombre de instancia my_FLVPlybk. En el inspector de componentes, establezca el parmetro Skin en None. A continuacin, aada los siguientes componentes de interfaz de usuario personalizados de reproduccin FLV individuales y asgneles los nombres de instancia mostrados entre parntesis: PlayPauseButton (my_plypausbttn), StopButton (my_stopbttn), BackButton (my_bkbttn), ForwardButton (my_fwdbttn), y BufferingBar (my_buffrgbar). Aada las siguientes lneas de cdigo al panel Acciones, en el fotograma 1 de la lnea de tiempo:
/** Se requiere: - Componente FLVPlayback en el escenario, con el nombre de instancia my_FLVPlybk - Componentes de interfaz de usuario personalizados de reproduccin FLV PlayPauseButton, StopButton, BackButton y ForwardButton en la Biblioteca */ import mx.video.*; my_FLVPlybk.playPauseButton = my_plypausbttn; my_FLVPlybk.stopButton = my_stopbttn;
Clase FLVPlayback
601
Vase tambin
FLVPlayback.bufferingBarHidesAndDisablesOthers
FLVPlayback.bufferingBarHidesAndDisablesOthers
Disponibilidad
Flash Player 8.
Edicin
Flash Professional 8.
Sintaxis
my_FLVPlybk.bufferingBarHidesAndDisablesOthers
Descripcin
Propiedad; si se establece en true, oculta el control SeekBar y desactiva los controles Play, Pause, PlayPause, BackButton y ForwardButton mientras el archivo FLV est en estado de almacenamiento en bfer. Esto puede ser til para evitar que un usuario utilice estos controles para intentar acelerar la reproduccin del archivo FLV cuando se descarga o transmite a travs de una conexin lenta.
Ejemplo
En el siguiente ejemplo, se supone que se reproduce un archivo FLV transmitido desde un servidor FMS o FVSS. Se establece la propiedad bufferingBarHidesAndDisablesOthers para desactivar los controles Play, Pause, PlayPause, BackButton y ForwardButton, y para ocultar el control SeekBar mientras el archivo FLV se almacena en bfer.
602
Componente FLVPlayback
Arrastre un componente FLVPlayback al escenario y asgnele el nombre de instancia my_FLVPlybk. Aada el siguiente cdigo al panel Acciones, en el fotograma 1 de la lnea de tiempo. En la sentencia que carga la propiedad contentPath, reemplace el texto en cursiva por el nombre y la ubicacin del archivo FLV en el servidor FMS.
/** Se requiere: - Componente FLVPlayback en el escenario, con el nombre de instancia my_FLVPlybk */ import mx.video.*; my_FLVPlybk.bufferTime = 15; my_FLVPlybk.bufferingBarHidesAndDisablesOthers = true; my_FLVPlybk.contentPath = "rtmp://host_name/somefolder/vid_name.flv";
Vase tambin
FLVPlayback.bufferingBar
FLVPlayback.bufferTime
Disponibilidad
Flash Player 8.
Edicin
Flash Professional 8.
Sintaxis
my_FLVPlybk.bufferTime
Descripcin
Propiedad; nmero que especifica el nmero de segundos que se almacenarn en la memoria antes de que se inicie la reproduccin de un flujo de vdeo. En los archivos FLV que se transmiten a travs de RTMP, que no se descargan y slo se almacenan en bfer, puede ser importante aumentar el valor predeterminado de 0,1. En los archivos FLV que se descargan progresivamente a travs de HTTP, aumentar este valor no supone una gran ventaja, aunque s puede mejorar la visualizacin de vdeo de alta calidad en un equipo antiguo que sea ms lento.
N O TA
Esta propiedad no especifica la cantidad de archivo FLV que se descarga antes de iniciar la reproduccin.
Clase FLVPlayback
603
Ejemplo
En el siguiente ejemplo, se establece un tiempo de bfer de 8 segundos para un archivo FLV transmitido desde un servidor FMS. Arrastre un componente FLVPlayback al escenario y asgnele el nombre de instancia my_FLVPlybk. Aada el siguiente cdigo el fotograma 1 de la lnea de tiempo, en el panel Acciones. En la sentencia que carga la propiedad contentPath, reemplace el texto en cursiva por el nombre y la ubicacin del archivo FLV en el servidor FMS.
/** Se requiere: - Componente FLVPlayback en el escenario, con el nombre de instancia my_FLVPlybk */ import mx.video.*; my_FLVPlybk.bufferTime = 8; my_FLVPlybk.contentPath = "rtmp://host_name/somefolder/vid_name.flv";
FLVPlayback.bytesLoaded
Disponibilidad
Flash Player 8.
Edicin
Flash Professional 8.
Sintaxis
my_FLVPlybk.bytesLoaded
Descripcin
Propiedad; nmero que indica el nmero de bytes descargados para una descarga HTTP. Devuelve -1 cuando no hay flujo, cuando el flujo procede de un servidor FMS o cuando la informacin no est disponible todava. El valor devuelto slo es til para una descarga HTTP. Slo lectura.
604
Componente FLVPlayback
Ejemplo
En el ejemplo siguiente, se muestra el valor inicial de la propiedad bytesLoaded y su valor cuando se produce evento ready. Arrastre un componente FLVPlayback al escenario y asgnele el nombre de instancia my_FLVPlybk. Aada el siguiente cdigo al panel Acciones, en el fotograma 1 de la lnea de tiempo:
/** Se requiere: - Componente FLVPlayback en el escenario, con el nombre de instancia my_FLVPlybk */ import mx.video.*; var listenerObject:Object = new Object(); listenerObject.ready = function(eventObject:Object):Void { trace("State is " + eventObject.state + "; ready to play"); // mostrar el n de bytes cargados en este punto trace("Bytes loaded: " + my_FLVPlybk.bytesLoaded); }; my_FLVPlybk.addEventListener("ready", listenerObject); my_FLVPlybk.contentPath = "http://www.helpexamples.com/flash/video/ water.flv"; trace("Bytes loaded: " + my_FLVPlybk.bytesLoaded); // -1 si la carga no ha empezado
FLVPlayback.bytesTotal
Disponibilidad
Flash Player 8.
Edicin
Flash Professional 8.
Sintaxis
my_FLVPlybk.bytesTotal
Descripcin
Propiedad; nmero que especifica el nmero total de bytes descargados para una descarga HTTP. Devuelve -1 cuando no hay flujo, cuando el flujo procede de un servidor FMS o cuando la informacin no est disponible todava. El valor devuelto slo es til para una descarga HTTP. Slo lectura.
Clase FLVPlayback
605
Ejemplo
En el siguiente ejemplo, se utiliza la propiedad bytesTotal para mostrar el nmero de bytes que se cargan para una descarga HTTP. Cuando se produce el evento metadataReceived, el controlador de eventos muestra este valor en el rea de texto my_ta. Arrastre un componente FLVPlayback al escenario y asgnele el nombre de instancia my_FLVPlybk. Arrastre un componente TextArea al escenario, debajo de la instancia de FLVPlayback, y asgnele el nombre de instancia my_ta. Aada el siguiente cdigo el fotograma 1 de la lnea de tiempo, en el panel Acciones:
/** Se requiere: - Componente FLVPlayback en el escenario, con el nombre de instancia my_FLVPlybk - Componente TextArea en el escenario, con el nombre de instancia my_ta */ import mx.video.*; my_ta.visible = false; var listenerObject:Object = new Object(); listenerObject.metadataReceived = function(eventObject:Object):Void { my_ta.text = "Loading: " + my_FLVPlybk.bytesTotal + " bytes."; my_ta.visible = true; }; my_FLVPlybk.addEventListener("metadataReceived", listenerObject); my_FLVPlybk.contentPath = "http://www.helpexamples.com/flash/video/ water.flv";
FLVPlayback.close
Disponibilidad
Flash Player 8.
Edicin
Flash Professional 8.
Sintaxis
var listenerObject:Object = new Object(); listenerObject.close = function(eventObject:Object):Void { // insertar aqu cdigo de gestin de eventos }; my_FLVplybk.addEventListener("close", listenerObject);
606
Componente FLVPlayback
Descripcin
Evento; la instancia de FLVPlayback distribuye este evento cuando cierra NetConnection porque se ha agotado el tiempo de espera o se ha realizado una llamada al mtodo closeVideoPlayer(), o porque se ha llamado al mtodo load() o play(), o se ha establecido contentPath, provocando que se cierre la conexin RTMP. La instancia de FLVPlayback slo distribuye este evento al transmitir desde un servidor FMS o FVSS. El objeto de evento tiene las propiedades state y playheadTime. El evento tiene la propiedad vp, que es el nmero de ndice del reproductor de vdeo al que se aplica este evento.
Ejemplo
En el siguiente ejemplo, se supone que se reproduce un archivo FLV transmitido desde un servidor FMS o FVSS. Cuando finaliza el archivo FLV, un detector del evento complete establece la propiedad contentPath en la ubicacin de un nuevo archivo FLV, lo que activa un evento close en la conexin RTMP para el primer archivo FLV. El detector del evento close muestra el nmero de ndice del reproductor de vdeo afectado por el evento. Arrastre un componente FLVPlayback al escenario y asgnele el nombre de instancia my_FLVPlybk. Aada el siguiente cdigo al panel Acciones, en el fotograma 1 de la lnea de tiempo. En la sentencia que carga la propiedad contentPath, reemplace el texto en cursiva por el nombre y la ubicacin del archivo FLV en el servidor FMS.
/** Se requiere: - Componente FLVPlayback en el escenario, con el nombre de instancia my_FLVPlybk */ import mx.video.*; var listenerObject:Object = new Object(); // detectar evento close en conexin RTMP; mostrar ndice del reproductor de // vdeo listenerObject.close = function(eventObject:Object) { trace("Closed connection for video player: " + eventObject.vp); }; my_FLVPlybk.addEventListener("close", listenerObject); // detectar evento complete; reproducir nuevo archivo FLV listenerObject.complete = function(eventObject:Object) { if (my_FLVPlybk.contentPath != "http://www.helpexamples.com/flash/video/ water.flv") { my_FLVPlybk.play("http://www.helpexamples.com/flash/video/water.flv"); } }; my_FLVPlybk.addEventListener("complete", listenerObject); my_FLVPlybk.contentPath = "rtmp://my_servername/my_application/stream.flv";
Clase FLVPlayback
607
Vase tambin
FLVPlayback.activeVideoPlayerIndex, FLVPlayback.closeVideoPlayer(), FLVPlayback.contentPath, FLVPlayback.load(), FLVPlayback.play(), FLVPlayback.visibleVideoPlayerIndex,
FLVPlayback.closeVideoPlayer()
Disponibilidad
Flash Player 8.
Edicin
Flash Professional 8.
Sintaxis
my_FLVPlybk.closeVideoPlayer(index:Number)
Parmetros
index
Valor devuelto
Mtodo; cierra NetStream y elimina el reproductor de vdeo especificado por el parmetro index. Si el reproductor de vdeo cerrado es el reproductor de vdeo activo o visible, la instancia de FLVPlayback establece el reproductor predeterminado (con ndice 0) como reproductor de vdeo activo o visible. No se puede cerrar el reproductor predeterminado; si lo intenta, el componente emitir un error.
Ejemplo
En el siguiente ejemplo, se crean dos reproductores de vdeo para reproducir dos archivos FLV de forma consecutiva en una sola instancia de FLVPlayback. Cuando finaliza el segundo archivo FLV, el controlador de eventos del evento complete llama al mtodo closeVideoPlayer() para cerrar el segundo reproductor. Si hace clic en el botn Play para reproducir los archivos FLV por segunda vez, ver que el segundo reproductor de vdeo ha desaparecido, y el componente emitir un error (VideoError) y mostrar un mensaje que indica que la instancia de FLVPlayback no encuentra el archivo FLV.
608
Componente FLVPlayback
Arrastre un componente FLVPlayback al escenario y asgnele el nombre de instancia my_FLVPlybk. Aada el siguiente cdigo al panel Acciones, en el fotograma 1 de la lnea de tiempo:
/** Se requiere: - Componente FLVPlayback en el escenario, con el nombre de instancia my_FLVPlybk */ // especificar nombre y ubicacin del archivo FLV correspondiente al // reproductor predeterminado import mx.video.*; my_FLVPlybk.contentPath = "http://www.helpexamples.com/flash/video/ clouds.flv"; var listenerObject:Object = new Object(); listenerObject.ready = function(eventObject:Object):Void { // aadir un segundo reproductor de vdeo y especificar el nombre y la // ubicacin de su archivo FLV my_FLVPlybk.activeVideoPlayerIndex = 1; my_FLVPlybk.contentPath = "http://www.helpexamples.com/flash/video/ water.flv"; // restablecer el reproductor de vdeo predeterminado, que reproduce su // archivo FLV automticamente my_FLVPlybk.activeVideoPlayerIndex = 0; }; my_FLVPlybk.addEventListener("ready", listenerObject); listenerObject.complete = function(eventObject:Object):Void { // si complete hace referencia al segundo archivo FLV, convertir al // predeterminado en activo y visible if (eventObject.vp == 1) { my_FLVPlybk.activeVideoPlayerIndex = 0; my_FLVPlybk.visibleVideoPlayerIndex = 0; my_FLVPlybk.closeVideoPlayer(1);// cerrar segundo reproductor de vdeo } else { // convertir al segundo reproductor en activo y visible y // reproducir archivo FLV my_FLVPlybk.activeVideoPlayerIndex = 1; my_FLVPlybk.visibleVideoPlayerIndex = 1; my_FLVPlybk.play(); } }; // aadir detector de evento complete my_FLVPlybk.addEventListener("complete", listenerObject);
Vase tambin
FLVPlayback.close, FLVPlayback.activeVideoPlayerIndex, FLVPlayback.visibleVideoPlayerIndex
Clase FLVPlayback
609
FLVPlayback.complete
Disponibilidad
Flash Player 8.
Edicin
Flash Professional 8.
Sintaxis
var listenerObject:Object = new Object(); listenerObject.complete = function(eventObject:Object):Void { // insertar aqu cdigo de gestin de eventos }; my_FLVplybk.addEventListener("complete", listenerObject);
Descripcin
Evento; se distribuye cuando finaliza la reproduccin porque el reproductor alcanz el final del archivo FLV. El componente no distribuye el evento si se llama a los mtodos stop() o pause() o si se hace clic en los controles correspondientes. El objeto de evento tiene las propiedades state y playheadTime. Si la aplicacin utiliza descarga progresiva, no establece explcitamente el valor de la propiedad totalTime y descarga un archivo FLV que no especifica la duracin en los metadatos, y el reproductor de vdeo establece totalTime en un valor total aproximado antes de que distribuya este evento. El reproductor de vdeo tambin distribuye los eventos stateChange y stopped.
Ejemplo
En el ejemplo siguiente, se utiliza la propiedad playheadTime para mostrar en el panel Salida el tiempo de reproduccin del archivo FLV transcurrido cuando se produce el evento complete. Arrastre un componente FLVPlayback al escenario y asgnele el nombre de instancia my_FLVPlybk. Aada el siguiente cdigo al panel Acciones, en el fotograma 1 de la lnea de tiempo:
/** Se requiere: - Componente FLVPlayback en el escenario, con el nombre de instancia my_FLVPlybk */ import mx.video.*; var listenerObject:Object = new Object(); listenerObject.complete = function(eventObject:Object):Void {
610
Componente FLVPlayback
trace("Elapsed play time at completion is: " + my_FLVPlybk.playheadTime); }; my_FLVPlybk.addEventListener("complete", listenerObject); my_FLVPlybk.contentPath = "http://www.helpexamples.com/flash/video/ water.flv";
Vase tambin
FLVPlayback.playheadTime, FLVPlayback.state, FLVPlayback.stateChange, FLVPlayback.stopped, FLVPlayback.totalTime
FLVPlayback.CONNECTION_ERROR
Disponibilidad
Flash Player 8.
Edicin
Flash Professional 8.
Sintaxis
mx.video.FLVPlayback.CONNECTION_ERROR
Descripcin
Propiedad de slo lectura de la clase FLVPlayback que contiene la constante de cadena connectionError. Puede comparar esta propiedad con la propiedad state para determinar si se ha producido un estado de error de conexin.
Ejemplo
En el siguiente ejemplo, se desencadena un error de conexin al especificar un nombre de archivo FLV no vlido (nosuch.flv) en la propiedad contentPath. En el ejemplo, se utiliza la propiedad CONNECTION_ERROR para detectar el error en un detector del evento stateChange.
Clase FLVPlayback
611
Arrastre un componente FLVPlayback al escenario y asgnele el nombre de instancia my_FLVPlybk. Aada el siguiente cdigo al panel Acciones, en el fotograma 1 de la lnea de tiempo:
/** Se requiere: - Componente FLVPlayback en el escenario, con el nombre de instancia my_FLVPlybk */ import mx.video.*; my_FLVPlybk.contentPath = "http://www.helpexamples.com/flash/video/ no_such.flv"; var listenerObject:Object = new Object(); listenerObject.stateChange = function(eventObject:Object):Void { if(my_FLVPlybk.state == FLVPlayback.CONNECTION_ERROR) trace("State: " + FLVPlayback.CONNECTION_ERROR); } my_FLVPlybk.addEventListener("stateChange", listenerObject);
Vase tambin
FLVPlayback.state, FLVPlayback.stateChange
FLVPlayback.contentPath
Disponibilidad
Flash Player 8.
Edicin
Flash Professional 8.
Sintaxis
my_FLVPlybk.contentPath
Descripcin
Propiedad; cadena que especifica la URL del archivo FLV que se va a transmitir y cmo se debe transmitir. La URL puede ser una URL HTTP de un archivo FLV, una URL RTMP de un flujo o una URL HTTP de un archivo XML. Si establece esta propiedad a travs del inspector de componentes o del inspector de propiedades, el archivo FLV inicia su carga y reproduccin en el siguiente evento MovieClip.onEnterFrame. El retardo proporciona tiempo para establecer los valores de las propiedades isLive, autoPlay y cuePoints, entre otras, mientras se realiza la carga. Tambin permite manipular el componente FLVPlayback mediante cdigo ActionScript colocado en el primer fotograma antes de que se inicie la reproduccin.
612
Componente FLVPlayback
Si establece esta propiedad mediante cdigo ActionScript, la instancia de FLVPlayback cierra el archivo FLV actual e inicia inmediatamente la carga del nuevo archivo FLV. Las propiedades autoPlay, totalTime y isLive afectan al modo en que se carga el nuevo archivo FLV, de modo que, si establece estas propiedades, debe hacerlo antes de establecer la propiedad contentPath. Establezca la propiedad autoPlay en false para evitar que el nuevo archivo FLV se reproduzca automticamente.
Ejemplo
En el ejemplo siguiente, se establece el valor de la propiedad contentPath en ActionScript para especificar la ubicacin del archivo FLV que se va a reproducir. Arrastre un componente FLVPlayback al escenario y asgnele el nombre de instancia my_FLVPlybk. No asigne valores al parmetro contentPath del inspector de componentes. Aada el cdigo siguiente al fotograma 1 de la lnea de tiempo:
/** Se requiere: - Componente FLVPlayback en el escenario, con el nombre de instancia my_FLVPlybk */ import mx.video.*; my_FLVPlybk.contentPath = "http://www.helpexamples.com/flash/video/ water.flv"; var listenerObject:Object = new Object(); listenerObject.metadataReceived = function(eventObject:Object):Void { my_FLVPlybk.setSize(my_FLVPlybk.preferredWidth, my_FLVPlybk.preferredHeight); } my_FLVPlybk.addEventListener("metadataReceived", listenerObject);
Vase tambin
FLVPlayback.autoPlay, FLVPlayback.isLive, FLVPlayback.play(), FLVPlayback.totalTime
Clase FLVPlayback
613
FLVPlayback.cuePoint
Disponibilidad
Flash Player 8.
Edicin
Flash Professional 8.
Sintaxis
var listenerObject:Object = new Object(); listenerObject.cuePoint = function(eventObject:Object):Void { // insertar aqu cdigo de gestin de eventos }; my_FLVplybk.addEventListener("cuePoint", listenerObject);
Descripcin
Evento; se distribuye cuando se llega a un punto de referencia. El objeto de evento tiene una propiedad info que contiene el objeto info recibido mediante la funcin callback NetStream.onCuePoint para los puntos de referencia del archivo FLV. Para los puntos de referencia de ActionScript, contiene el objeto que se pas en los mtodos o propiedades de los puntos de referencia de ActionScript. Este evento tiene una propiedad vp, que es el nmero de ndice del reproductor de vdeo al que se aplica este evento.
Ejemplo
En el ejemplo siguiente, se aaden puntos de referencia de ActionScript a un archivo FLV. El ejemplo aade el primero mediante un parmetro cuePoint y el segundo mediante los parmetros time y name. Cuando se produce cada uno de los puntos de referencia, un detector de eventos cuePoint muestra el valor de la propiedad playheadTime en un rea de texto. Arrastre un componente FLVPlayback al escenario y asgnele el nombre de instancia my_FLVPlybk. Arrastre un componente TextArea al escenario, debajo de la instancia de FLVPlayback, y asgnele el nombre de instancia my_ta. Aada el siguiente cdigo al panel Acciones, en el fotograma 1 de la lnea de tiempo:
/** Se requiere: - Componente FLVPlayback en el escenario, con el nombre de instancia my_FLVPlybk - Componente TextArea en el escenario, con el nombre de instancia my_ta */ import mx.video.*; my_FLVPlybk.contentPath = "http://www.helpexamples.com/flash/video/ water.flv";
614
Componente FLVPlayback
my_ta.visible = false; // crear objeto de punto de referencia var cuePt:Object = new Object(); // crear objeto de punto de referencia cuePt.time = 1.444; cuePt.name = "elapsed_time"; cuePt.type = "actionscript"; my_FLVPlybk.addASCuePoint(cuePt); //aadir punto de referencia de AS // aadir segundo punto de referencia de AS mediante los parmetros time y // name my_FLVPlybk.addASCuePoint(5.3, "elapsed_time2"); var listenerObject:Object = new Object(); listenerObject.cuePoint = function(eventObject:Object):Void { my_ta.text = "Cue at: " + eventObject.info.time + " occurred"; my_ta.visible = true; } my_FLVPlybk.addEventListener("cuePoint", listenerObject);
Vase tambin
FLVPlayback.activeVideoPlayerIndex, FLVPlayback.visibleVideoPlayerIndex
FLVPlayback.cuePoints
Disponibilidad
Flash Player 8.
Edicin
Flash Professional 8.
Sintaxis
my_FLVPlybk.cuePoints
Descripcin
Propiedad; matriz que describe los puntos de referencia de ActionScript y los puntos de referencia de archivos FLV incorporados desactivados. Esta propiedad se cre especficamente para usarse en el inspector de componentes y no funcionar si se establece de otra manera. Su valor slo produce efecto en el primer archivo FLV cargado, y slo si se carga estableciendo la propiedad contentPath en el inspector de componentes o en el inspector de propiedades.
N OT A
No es posible acceder a esta propiedad mediante ActionScript. Para acceder a la informacin de puntos de referencia en ActionScript, utilice la propiedad metadata.
Para aadir, quitar, activar o desactivar puntos de referencia con ActionScript, utilice addASCuePoint(), removeASCuePoint() o setFLVCuePointEnabled().
Clase FLVPlayback
615
Vase tambin
FLVPlayback.contentPath, FLVPlayback.addASCuePoint(), FLVPlayback.findCuePoint(), FLVPlayback.findNearestCuePoint(), FLVPlayback.findNextCuePointWithName(), FLVPlayback.isFLVCuePointEnabled(), FLVPlayback.metadata, FLVPlayback.metadataReceived, FLVPlayback.removeASCuePoint(), FLVPlayback.seekToNavCuePoint(), FLVPlayback.seekToNextNavCuePoint(), FLVPlayback.seekToPrevNavCuePoint(), FLVPlayback.setFLVCuePointEnabled()
FLVPlayback.DISCONNECTED
Disponibilidad
Flash Player 8.
Edicin
Flash Professional 8.
Sintaxis
mx.video.FLVPlayback.DISCONNECTED
Descripcin
Propiedad de slo lectura de la clase FLVPlayback que contiene la constante de cadena disconnected. Puede comparar esta propiedad con la propiedad state para determinar si se produce un estado de desconexin. La instancia de FLVPlayback est en estado de desconexin hasta que se establece la propiedad
contentPath.
Ejemplo
En el siguiente ejemplo, se muestra simplemente un mensaje en el panel Salida que confirma que la instancia de FLVPlayback tiene un estado de desconexin antes de establecer la propiedad contentPath. Arrastre un componente FLVPlayback al escenario y asgnele el nombre de instancia my_FLVPlybk. Aada el siguiente cdigo al panel Acciones, en el fotograma 1 de la lnea de tiempo:
/** Se requiere: - Componente FLVPlayback en el escenario, con el nombre de instancia my_FLVPlybk */
616
Componente FLVPlayback
import mx.video.*; if(my_FLVPlybk.state == FLVPlayback.DISCONNECTED) trace("FLVPlayback instance is currently disconnected"); my_FLVPlybk.contentPath = "http://www.helpexamples.com/flash/video/ water.flv";
Vase tambin
FLVPlayback.contentPath, FLVPlayback.state
FLVPlayback.EVENT
Disponibilidad
Flash Player 8.
Edicin
Flash Professional 8.
Sintaxis
mx.video.FLVPlayback.EVENT
Descripcin
Propiedad de slo lectura de la clase FLVPlayback que contiene la constante de cadena event. Puede utilizar esta propiedad como parmetro type para los mtodos findCuePoint() y findNearesstCuePoint().
Ejemplo
El siguiente ejemplo utiliza la propiedad FLVPlayback.EVENT para especificar que desea buscar un punto de referencia denominado myCue, de tipo event. Muestra las propiedades name, time y type del punto de referencia devuelto, y el detector de cuePoint muestra el mensaje Hit it! en el panel Salida cuando se produce el punto de referencia. Arrastre un componente FLVPlayback al escenario y asgnele el nombre de instancia my_FLVPlybk. Aada el siguiente cdigo al panel Acciones, en el fotograma 1 de la lnea de tiempo:
/** Se requiere: - Componente FLVPlayback en el escenario, con el nombre de instancia my_FLVPlybk */ import mx.video.*; my_FLVPlybk.contentPath = "http://www.helpexamples.com/flash/video/ plane_cuepoints.flv"; var listenerObject:Object = new Object();
Clase FLVPlayback
617
listenerObject.ready = function(eventObject:Object):Void { if(rtn_cuePt = my_FLVPlybk.findCuePoint("myCue", FLVPlayback.EVENT)){ trace("Cue point name is: " + rtn_cuePt.name); trace("Cue point time is: " + rtn_cuePt.time); trace("Cue point type is: " + rtn_cuePt.type); } } my_FLVPlybk.addEventListener("ready", listenerObject); var listenerObject:Object = new Object(); listenerObject.cuePoint = function(eventObject:Object):Void { if(eventObject.info.name == "myCue") trace("Hit it!"); } my_FLVPlybk.addEventListener("cuePoint", listenerObject);
Vase tambin
FLVPlayback.findCuePoint()
FLVPlayback.fastForward
Disponibilidad
Flash Player 8.
Edicin
Flash Professional 8.
Sintaxis
var listenerObject:Object = new Object(); listenerObject.fastForward = function(eventObject:Object):Void { // insertar aqu cdigo de gestin de eventos }; my_FLVplybk.addEventListener("fastForward", listenerObject);
Evento; se distribuye cuando la ubicacin de la cabeza lectora se mueve hacia delante al realizar bsquedas, manualmente o mediante cdigo ActionScript, o al hacer clic en el control ForwardButton. El objeto de evento tiene las propiedades state, playheadTime y vp. La propiedad playheadTime indica el tiempo de destino y la propiedad vp es el nmero de ndice del reproductor de vdeo al que se aplica el evento. La instancia de FLVPlayback tambin distribuye los eventos seek y playheadUpdate.
618
Componente FLVPlayback
Ejemplo
En el ejemplo siguiente, se capturan instancias del evento fastForward mientras se produce y se muestra el tiempo transcurrido de la cabeza lectora en el panel Salida. Cuando se produce el evento ready, una llamada al mtodo seekPercent() activa el evento fastForward. Arrastre un componente FLVPlayback al escenario y asgnele el nombre de instancia my_FLVPlybk. Aada el siguiente cdigo al panel Acciones, en el fotograma 1 de la lnea de tiempo:
/** Se requiere: - Componente FLVPlayback en el escenario, con el nombre de instancia my_FLVPlybk */ import mx.video.*; var listenerObject:Object = new Object(); listenerObject.ready = function(eventObject:Object):Void { my_FLVPlybk.seekPercent(35); }; my_FLVPlybk.addEventListener("ready", listenerObject); listenerObject.fastForward = function(eventObject:Object):Void { trace("fastforward event; playhead time is: " + eventObject.playheadTime); }; my_FLVPlybk.addEventListener("fastForward", listenerObject); my_FLVPlybk.contentPath = "http://www.helpexamples.com/flash/video/ water.flv";
Vase tambin
FLVPlayback.activeVideoPlayerIndex, FLVPlayback.forwardButton, FLVPlayback.seek, FLVPlayback.seek(), FLVPlayback.seekBar, FLVPlayback.seekPercent(), FLVPlayback.seekSeconds(), FLVPlayback.seekToNavCuePoint(), FLVPlayback.seekToNextNavCuePoint(), FLVPlayback.seekToPrevNavCuePoint(), FLVPlayback.seekToPrevOffset, FLVPlayback.state, FLVPlayback.playheadTime
Clase FLVPlayback
619
FLVPlayback.findCuePoint()
Disponibilidad
Flash Player 8.
Edicin
Flash Professional 8.
Sintaxis
my_FLVplybk.findCuePoint(time:Number[, type:String]):Object my_FLVplybk.findCuePoint(name:String[, type:String]):Object my_FLVplybk.findCuePoint(cuePoint:Object[, type:String]):Object
Parmetros
time
Nmero que representa el tiempo (en segundos) del punto de referencia objeto de la bsqueda. El mtodo slo utiliza los primeros tres decimales y redondea los decimales adicionales. El mtodo devuelve el punto de referencia correspondiente a dicho tiempo. Si hay varios puntos de referencia de ActionScript con el mismo tiempo, el mtodo slo devuelve el primer nombre por orden alfabtico. Devuelve null si no encuentra ninguna correspondencia.
Cadena que indica el nombre del punto de referencia objeto de la bsqueda. El mtodo devuelve el primer punto de referencia correspondiente a dicho nombre o devuelve null si no encuentra ninguna correspondencia.
name cuePoint
Objeto que es un punto de referencia que contiene las propiedades time y name objeto de la bsqueda. Si la propiedad name no tiene ningn valor o si ste es null, la bsqueda se comporta como si el parmetro fuera un nmero que representa el tiempo objeto de la bsqueda. Si la propiedad time no tiene ningn valor o si ste es null o menor que cero, la bsqueda se comporta como si el parmetro fuera una cadena que contiene el nombre objeto de la bsqueda. Si proporciona las propiedades time y name y hay un punto de referencia correspondiente a estos valores, el mtodo lo devuelve. De lo contrario, el mtodo devuelve null.
Opcional. Cadena que especifica el tipo de punto de referencia objeto de la bsqueda. Los valores posibles para este parmetro son: actionscript, all, event, flv o "navigation. Puede especificar estos valores mediante las siguientes propiedades de clase: FLVPlayback.ACTIONSCRIPT, FLVPlayback.ALL, FLVPlayback.EVENT, FLVPlayback.FLV y FLVPlayback.NAVIGATION. Si no se especifica este parmetro, el valor predeterminado es all, lo que significa que el mtodo buscar todos los tipos de puntos de referencia.
type
620
Componente FLVPlayback
Valor devuelto
Objeto que es una copia del objeto de punto de referencia encontrado, con las siguientes propiedades adicionales:
array
Matriz de puntos de referencia en los que se busc. Debe tratar esta matriz como de slo lectura, ya que, si aade, elimina o edita los objetos que contiene, podra provocar un funcionamiento incorrecto de los puntos de referencia. ndice en la matriz del punto de referencia devuelto.
index
Mtodo; busca el punto de referencia que tiene el tipo especificado en el parmetro type y los parmetros time y name, o la combinacin de ambos, especificados. Si no proporciona un valor para el parmetro time o name del punto de referencia, o si el valor del parmetro time es null, undefined o es menor que cero, y el valor de name es null o undefined, el mtodo emite el error 1002 de VideoError. Para ms informacin, consulte Clase VideoError en la pgina 738.
isFLVCuePointEnabled()
El mtodo incluye en la bsqueda los puntos de referencia desactivados. Utilice el mtodo para determinar si un punto de referencia est desactivado.
Ejemplo
En el siguiente ejemplo, se aaden dos puntos de referencia de ActionScript a un archivo FLV y se llama tres veces al mtodo findCuePoint(). La primera llamada busca un punto de referencia de navegacin cuyo valor de tiempo es 7.748. La segunda llamada busca el punto de referencia ASCue1 nicamente a travs de un valor de nombre. La tercera llamada utiliza un objeto de punto de referencia que especifica tanto un tiempo, 10, como un nombre, ASCue2. Despus de la tercera llamada, el ejemplo muestra el contenido del objeto de punto de referencia devuelto, incluida la matriz de puntos de referencia objeto de la bsqueda que, en este ejemplo, fueron puntos de referencia de ActionScript. Arrastre un componente FLVPlayback al escenario y asgnele el nombre de instancia my_FLVPlybk. Aada el siguiente cdigo al panel Acciones, en el fotograma 1 de la lnea de tiempo:
/** Se requiere: - Componente FLVPlayback en el escenario, con el nombre de instancia my_FLVPlybk */ // crear objeto de punto de referencia import mx.video.*;
Clase FLVPlayback
621
my_FLVPlybk.contentPath = "http://www.helpexamples.com/flash/video/ cuepoints.flv"; var cuePt:Object = new Object(); var rtn_cuePt:Object = new Object(); // crear objeto para valor devuelto cuePt.time = 4.444; cuePt.name = "AScue1"; my_FLVPlybk.addASCuePoint(cuePt); //aadir punto de referencia de AS // aadir segundo punto de referencia de AS mediante los parmetros time y // name my_FLVPlybk.addASCuePoint(10, "AScue2"); // buscar punto de referencia de navegacin mediante el parmetro time rtn_cuePt = my_FLVPlybk.findCuePoint(7.748, FLVPlayback.NAVIGATION); // buscar punto de referencia de ActionScript slo mediante el parmetro // name rtn_cuePt = my_FLVPlybk.findCuePoint("AScue1"); // buscar punto de referencia de ActionScript mediante el objeto de punto de // referencia cuePt.time = 10; cuePt.name = "AScue2"; rtn_cuePt = my_FLVPlybk.findCuePoint(cuePt, FLVPlayback.ACTIONSCRIPT); // ver contenido del objeto de punto de referencia devuelto for (i in rtn_cuePt) { //si es un objeto de matriz, abrirlo y localizar el contenido if (typeof rtn_cuePt[i] == "object") { tracer(rtn_cuePt[i]); // si no, localizar par de nombre (i) y valor (rtn_cuePt[i]) } else { trace(i+ " " + rtn_cuePt[i]); } } // localizar matriz de puntos de referencia function tracer(cuepts:Array) { for (i in cuepts) { if (typeof cuepts[i] == "object") { // si el objeto es object tracer(cuepts[i]); //localizar objeto } else { // localizar el par nombre : valor trace(i + " " + cuepts[i]); } } }
Vase tambin
FLVPlayback.addASCuePoint(), FLVPlayback.cuePoints, FLVPlayback.findNearestCuePoint(), FLVPlayback.findNextCuePointWithName(), FLVPlayback.isFLVCuePointEnabled(), FLVPlayback.removeASCuePoint(), FLVPlayback.seekToNavCuePoint(), FLVPlayback.seekToNextNavCuePoint(), FLVPlayback.seekToPrevNavCuePoint(), FLVPlayback.setFLVCuePointEnabled()
622
Componente FLVPlayback
FLVPlayback.findNearestCuePoint()
Disponibilidad
Flash Player 8.
Edicin
Flash Professional 8.
Sintaxis
my_FLVplybk.findNearestCuePoint(time:Number[, type:String]):Object my_FLVplybk.findNearestCuePoint(name:String[, type:String]):Object my_FLVplybk.findNearestCuePoint(cuePoint:Object[, type:String]):Object
Parmetros
time
Nmero que representa el tiempo (en segundos) del punto de referencia objeto de la bsqueda. El mtodo slo utiliza los primeros tres decimales y redondea los decimales adicionales. El mtodo devuelve el punto de referencia correspondiente a este tiempo o el punto de referencia anterior ms cercano del tipo especificado. Si hay varios puntos de referencia con el mismo tiempo, lo cual slo es posible en los puntos de referencia de ActionScript, el mtodo slo devuelve el primer nombre por orden alfabtico. Devuelve null si no encuentra ninguna correspondencia.
Cadena que indica el nombre del punto de referencia objeto de la bsqueda. El mtodo devuelve el primer punto de referencia correspondiente a dicho nombre o devuelve null si no encuentra ninguna correspondencia.
name
Objeto que es un punto de referencia que contiene las propiedades time y name objeto de la bsqueda. Si se proporciona un tiempo y la propiedad name no tiene ningn valor o si ste es null, la bsqueda se comporta como si el parmetro fuera un nmero que representa el tiempo objeto de la bsqueda. Si se proporciona un nombre y la propiedad time no tiene ningn valor o si ste es null o menor que cero, la bsqueda se comporta como si el parmetro fuera una cadena que contiene el nombre objeto de la bsqueda. Si proporciona las propiedades time y name y hay un punto de referencia correspondiente a estos valores, el mtodo lo devuelve. Si no encuentra una correspondencia de tiempo y nombre, devuelve el primer punto de referencia que coincide con el nombre y que tiene un tiempo anterior. Si no hay ningn punto de referencia anterior con ese nombre, devuelve el primero que coincide con ese nombre. De lo contrario, el mtodo devuelve null.
cuePoint
Clase FLVPlayback
623
Opcional. Cadena que especifica el tipo de punto de referencia para la bsqueda. Los valores posibles para este parmetro son: actionscript, all, event, flv o navigation. Puede especificar estos valores mediante las siguientes propiedades de clase: FLVPlayback.ACTIONSCRIPT, FLVPlayback.ALL, FLVPlayback.EVENT, FLVPlayback.FLV y FLVPlayback.NAVIGATION. Si no se especifica este parmetro, el valor predeterminado es all, lo que significa que el mtodo buscar todos los tipos de puntos de referencia.
type
Valor devuelto
Objeto que es una copia del objeto de punto de referencia encontrado, con las siguientes propiedades adicionales:
array
Matriz de puntos de referencia objeto de la bsqueda. Debe tratar esta matriz como de slo lectura, ya que si aade, elimina o edita los objetos que contiene, podra provocar un funcionamiento incorrecto de los puntos de referencia. ndice en la matriz del punto de referencia devuelto.
index
Mtodo; busca un punto de referencia del tipo especificado, correspondiente al tiempo indicado (o anterior a l) o que coincida con el nombre especificado, si especifica ambos parmetros y no hay ningn punto de referencia anterior que coincida con ese nombre. De lo contrario, devuelve null.
isFLVCuePointEnabled()
El mtodo incluye en la bsqueda los puntos de referencia desactivados. Utilice el mtodo para determinar si un punto de referencia est desactivado.
Si el valor de time es null, undefined o es menor que 0, y el valor de name es null o undefined, el mtodo emite un error VideoError (1002).
Ejemplo
En el siguiente ejemplo, se crea un punto de referencia de ActionScript para el archivo FLV en el tiempo correspondiente a 4,07 segundos. Cuando se produce este punto de referencia, el controlador de eventos cuePoint llama al mtodo findNearestCuePoint() para buscar un punto de referencia de cualquier tipo que se encuentre ms cercano a un tiempo correspondiente a 5 segundos despus. El panel Salida muestra el nombre, el tiempo y el tipo del punto de referencia devuelto.
624
Componente FLVPlayback
Arrastre un componente FLVPlayback al escenario y asgnele el nombre de instancia my_FLVPlybk. Aada el siguiente cdigo al panel Acciones, en el fotograma 1 de la lnea de tiempo:
/** Se requiere: - Componente FLVPlayback en el escenario, con el nombre de instancia my_FLVPlybk */ import mx.video.*; my_FLVPlybk.contentPath = "http://www.helpexamples.com/flash/video/ cuepoints.flv"; var cuePt:Object = new Object(); // crear objeto de punto de referencia cuePt.time = 4.07; cuePt.name = "ASpt1"; cuePt.type = "actionscript"; my_FLVPlybk.addASCuePoint(cuePt); //aadir punto de referencia de AS function cuePoint(eventObject:Object):Void { if (eventObject.info.name == "ASpt1") { var rtn_obj:Object = new Object(); rtn_obj = my_FLVPlybk.findNearestCuePoint(eventObject.info.time + 5); trace("Cue point name is: " + rtn_obj.name); trace("Cue point time is: " + rtn_obj.time); trace("Cue point type is: " + rtn_obj.type); } } my_FLVPlybk.addEventListener("cuePoint", cuePoint);
Vase tambin
FLVPlayback.addASCuePoint(), FLVPlayback.cuePoints, FLVPlayback.findCuePoint(), FLVPlayback.findNextCuePointWithName(), FLVPlayback.isFLVCuePointEnabled(), FLVPlayback.removeASCuePoint(), FLVPlayback.seekToNavCuePoint(), FLVPlayback.seekToNextNavCuePoint(), FLVPlayback.seekToPrevNavCuePoint(), FLVPlayback.setFLVCuePointEnabled()
Clase FLVPlayback
625
FLVPlayback.findNextCuePointWithName()
Disponibilidad
Flash Player 8.
Edicin
Flash Professional 8.
Sintaxis
my_FLVplybk.findNextCuePointWithName(my_cuePoint:Object)
Parmetros
my_cuePoint
Objeto de punto de referencia devuelto por el mtodo findCuePoint(), el mtodo findNearestCuePoint() o una llamada anterior a este mtodo.
Valor devuelto
Objeto que es una copia del objeto de punto de referencia encontrado, con las siguientes propiedades adicionales:
array
Matriz de puntos de referencia objeto de la bsqueda. Debe tratar esta matriz como de slo lectura, ya que si aade, elimina o edita los objetos que contiene, podra provocar un funcionamiento incorrecto de los puntos de referencia. ndice en la matriz del punto de referencia devuelto.
index
Mtodo; busca el siguiente punto de referencia en my_cuePoint.array que tenga el mismo nombre que my_cuePoint.name. El objeto my_cuePoint debe ser un objeto de punto de referencia devuelto por el mtodo findCuePoint(), el mtodo findNearestCuePoint() o una llamada anterior a este mtodo. Este mtodo utiliza la propiedad array que estos mtodos aaden al objeto de punto de referencia.
isFLVCuePointEnabled()
El mtodo incluye en la bsqueda los puntos de referencia desactivados. Utilice el mtodo para determinar si un punto de referencia est desactivado.
626
Componente FLVPlayback
Ejemplo
En el siguiente ejemplo, se crean tres puntos de referencia de ActionScript con el nombre transition. Cuando se produce el evento ready, el controlador de eventos llama al mtodo findCuePoint() para buscar el primer punto de referencia con ese nombre. Si encuentra una correspondencia, llama a la funcin findNextName(), que llama al mtodo findNextCuePointWithName() y pasa el objeto de punto de referencia devuelto (rtn_obj), para buscar puntos de referencia adicionales con el mismo nombre. Arrastre un componente FLVPlayback al escenario y asgnele el nombre de instancia my_FLVPlybk. Aada el siguiente cdigo al panel Acciones, en el fotograma 1 de la lnea de tiempo:
/** Se requiere: - Componente FLVPlayback en el escenario, con el nombre de instancia my_FLVPlybk */ import mx.video.*; my_FLVPlybk.contentPath = "http://www.helpexamples.com/flash/video/ cuepoints.flv"; var cuePt:Object = new Object(); // crear objeto de punto de referencia cuePt.time = 6.27; cuePt.name = "transition"; cuePt.type = "actionscript"; my_FLVPlybk.addASCuePoint(cuePt); //aadir punto de referencia de AS cuePt.time = 7.06; my_FLVPlybk.addASCuePoint(cuePt); //aadir punto de referencia de AS cuePt.time = 11.13; my_FLVPlybk.addASCuePoint(cuePt); //aadir objeto de punto de referencia de AS var listenerObject:Object = new Object(); listenerObject.ready = function():Void { var rtn_obj:Object = new Object(); // Buscar punto de referencia mediante la cadena name if (rtn_obj = my_FLVPlybk.findCuePoint("transition")) { trace("Cue point name is: " + rtn_obj.name); trace("Cue point time is: " + rtn_obj.time); trace("Cue point type is: " + rtn_obj.type); findNextName(rtn_obj); } } my_FLVPlybk.addEventListener("ready", listenerObject); // Buscar puntos de referencia adicionales con el mismo nombre function findNextName(cuePt:Object):Void { while(cuePt = my_FLVPlybk.findNextCuePointWithName(cuePt)) { trace("Cue point name is: " + cuePt.name); trace("Cue point time is: " + cuePt.time); trace("Cue point type is: " + cuePt.type); } }
Clase FLVPlayback 627
Vase tambin
FLVPlayback.addASCuePoint(), FLVPlayback.cuePoints, FLVPlayback.findCuePoint(), FLVPlayback.findNearestCuePoint(), FLVPlayback.isFLVCuePointEnabled(), FLVPlayback.removeASCuePoint(), FLVPlayback.seekToNavCuePoint(), FLVPlayback.seekToNextNavCuePoint(), FLVPlayback.seekToPrevNavCuePoint(), FLVPlayback.setFLVCuePointEnabled()
FLVPlayback.FLV
Disponibilidad
Flash Player 8.
Edicin
Flash Professional 8.
Sintaxis
mx.video.FLVPlayback.FLV
Descripcin
Propiedad de slo lectura de la clase FLVPlayback que contiene la constante de cadena flv. Puede utilizar esta propiedad como parmetro type para los mtodos findCuePoint() y findNearestCuePoint().
Ejemplo
En el siguiente ejemplo, se busca entre los puntos de referencia de archivos FLV, uno denominado point2, que tenga un tiempo de 7,748, y se muestra el tipo y el tiempo encontrados. Los puntos de referencia de archivos FLV son los puntos de referencia de navegacin y evento. Arrastre un componente FLVPlayback al escenario y asgnele el nombre de instancia my_FLVPlybk. Aada el siguiente cdigo al panel Acciones, en el fotograma 1 de la lnea de tiempo:
/** Se requiere: - Componente FLVPlayback en el escenario, con el nombre de instancia my_FLVPlybk */ import mx.video.*; my_FLVPlybk.contentPath = "http://www.helpexamples.com/flash/video/ cuepoints.flv";
628
Componente FLVPlayback
// crear objeto de punto de referencia var listenerObject = new Object(); listenerObject.ready = function(eventObject:Object):Void { var cuePt:Object = new Object(); // crear objeto de punto de referencia cuePt.name = "point3"; cuePt.time = 16.02; if(cuePt = my_FLVPlybk.findCuePoint(cuePt, FLVPlayback.FLV)) //buscar punto de referencia trace("found a " + cuePt.type + " cue point at " + cuePt.time); else trace("cue point not found"); } my_FLVPlybk.addEventListener("ready", listenerObject);
Vase tambin
FLVPlayback.findCuePoint(), FLVPlayback.findNearestCuePoint()
FLVPlayback.forwardButton
Disponibilidad
Flash Player 8.
Edicin
Flash Professional 8.
Sintaxis
my_FLVPlybk.forwardButton
Descripcin
Propiedad; objeto MovieClip que es el control del botn para avanzar. Para ms informacin sobre el uso de componentes de interfaz de usuario personalizados de reproduccin de FLV para controlar la reproduccin, consulte Aplicacin de aspectos a componentes individuales de interfaz de usuario personalizados de reproduccin FLV en la pgina 556.
Ejemplo
En el ejemplo siguiente, se utilizan las propiedades backButton, forwardButton, playButton, pauseButton y stopButton para asociar controles individuales de interfaz de usuario personalizados de reproduccin FLV a un componente FLVPlayback.
Clase FLVPlayback
629
Arrastre un componente FLVPlayback al escenario y asgnele el nombre de instancia my_FLVPlybk. En el inspector de componentes, establezca el parmetro Skin en None. A continuacin, aada los siguientes componentes personalizados de interfaz de usuario de FLV individuales y asgneles los nombres de instancia mostrados entre parntesis: BackButton (my_bkbttn), ForwardButton (my_fwdbttn), PlayButton (my_plybttn), PauseButton (my_pausbttn), y StopButton (my_stopbttn). Despus aada las siguientes lneas de cdigo al panel Acciones:
/** Se requiere: - Componente FLVPlayback en el escenario, con el nombre de instancia my_FLVPlybk - Componentes personalizados de interfaz de usuario de FLV BackButton, ForwardButton, PlayButton, PauseButton y StopButton en la Biblioteca */ import mx.video.*; my_FLVPlybk.backButton = my_bkbttn; my_FLVPlybk.forwardButton = my_fwdbttn; my_FLVPlybk.playButton = my_plybttn; my_FLVPlybk.pauseButton = my_pausbttn; my_FLVPlybk.stopButton = my_stopbttn; my_FLVPlybk.contentPath = "http://www.helpexamples.com/flash/video/ water.flv";
Vase tambin
FLVPlayback.fastForward, FLVPlayback.seek, FLVPlayback.state, FLVPlayback.stateChange
FLVPlayback.getVideoPlayer()
Disponibilidad
Flash Player 8.
Edicin
Flash Professional 8.
Sintaxis
my_FLVplybk.getVideoPlayer(index:Number)
Valor devuelto
Un objeto VideoPlayer.
630
Componente FLVPlayback
Descripcin
Mtodo; obtiene el reproductor de vdeo especificado por su valor de index. Si es posible, es mejor acceder a los mtodos y las propiedades de VideoPlayer mediante los mtodos y las propiedades de FLVPlayback. Cada propiedad VideoPlayer._name es su ndice.
Ejemplo
En el siguiente ejemplo, se utilizan dos reproductores de vdeo para reproducir dos archivos FLV. Cuando el segundo archivo FLV activa el evento ready, el ejemplo llama al mtodo getVideoPlayer() para obtener el reproductor de vdeo nmero 1 y establecer su propiedad _alpha en 50. Como consecuencia, el archivo FLV (plane_cuepoints) de dicho reproductor ser transparente y permitir ver al mismo tiempo ambos archivos FLV. Arrastre un componente FLVPlayback al escenario y asgnele el nombre de instancia my_FLVPlybk. Aada el siguiente cdigo al panel Acciones, en el fotograma 1 de la lnea de tiempo:
/** Se requiere: - Componente FLVPlayback en el escenario, con el nombre de instancia my_FLVPlybk */ my_FLVPlybk.load("http://www.helpexamples.com/flash/video/cuepoints.flv"); var listenerObject:Object = new Object(); listenerObject.ready = function(eventObject:Object) { if (eventObject.target.contentPath == "http://www.helpexamples.com/ flash/video/cuepoints.flv") { //se activa cuando est listo el primer archivo FLV my_FLVPlybk.activeVideoPlayerIndex = 1; my_FLVPlybk.load("http://www.helpexamples.com/flash/video/ plane_cuepoints.flv"); } else { //se activa cuando est listo el segundo archivo FLV eventObject.target.activeVideoPlayerIndex = 0; eventObject.target.play(); eventObject.target.activeVideoPlayerIndex = 1; eventObject.target.play(); var layerOnTop:MovieClip = eventObject.target.getVideoPlayer(1); layerOnTop._alpha = 50; layerOnTop._visible = true; } } my_FLVPlybk.addEventListener("ready", listenerObject);
Vase tambin
FLVPlayback.activeVideoPlayerIndex, FLVPlayback.bringVideoPlayerToFront(), FLVPlayback.visibleVideoPlayerIndex
Clase FLVPlayback
631
FLVPlayback.height
Disponibilidad
Flash Player 8.
Edicin
Flash Professional 8.
Sintaxis
my_FLVPlybk.height
Descripcin
Propiedad; nmero que especifica la altura de la instancia de FLVPlayback. Esta propiedad slo afecta a la altura de la instancia de FLVPlayback y no incluye la altura de un archivo SWF de aspecto que pueda cargarse. Utilice la propiedad height de FLVPlayback y no la propiedad MovieClip._height, ya que _height podra devolver un valor distinto si se carga un archivo SWF de aspecto.
Ejemplo
En el siguiente ejemplo, se establecen las propiedades width y height para cambiar el tamao del reproductor de vdeo. Primero establece la propiedad maintainAspectRatio en false para evitar que el reproductor de vdeo cambie de tamao automticamente si se modifican las dimensiones. Arrastre un componente FLVPlayback al escenario y asgnele el nombre de instancia my_FLVPlybk. Aada el siguiente cdigo al panel Acciones, en el fotograma 1 de la lnea de tiempo:
/** Se requiere: - Componente FLVPlayback en el escenario, con el nombre de instancia my_FLVPlybk */ import mx.video.*; my_FLVPlybk.maintainAspectRatio = false; my_FLVPlybk.width = 300; my_FLVPlybk.height = 350; my_FLVPlybk.contentPath = "http://www.helpexamples.com/flash/video/ water.flv";
Vase tambin
FLVPlayback.preferredHeight, FLVPlayback.preferredWidth, FLVPlayback.maintainAspectRatio, FLVPlayback.resize, FLVPlayback.setSize(), FLVPlayback.width
632
Componente FLVPlayback
FLVPlayback.idleTimeout
Disponibilidad
Flash Player 8.
Edicin
Flash Professional 8.
Sintaxis
my_FLVPlybk.idleTimeout
Descripcin
Propiedad; cantidad de tiempo en milisegundos antes de que Flash cierre una conexin inactiva al servidor FMS tras pausar o detener una reproduccin. Esta propiedad no produce ningn efecto en la descarga de un archivo FLV a travs de HTTP. Si se establece esta propiedad cuando un flujo de vdeo ya est inactivo, se reinicia el perodo de tiempo de espera con el nuevo valor. El valor predeterminado es 300.000 (5 minutos).
Ejemplo
En el siguiente ejemplo, se supone que se reproduce un archivo FLV transmitido desde un servidor FMS o FVSS. El ejemplo establece la propiedad idleTimeout en un valor bajo (10 milisegundos), lo que provoca que se agote el tiempo de espera y, en consecuencia, activa un evento close en la conexin RTMP. El detector del evento close muestra el nmero de ndice del reproductor de vdeo afectado por el evento. Arrastre un componente FLVPlayback al escenario y asgnele el nombre de instancia my_FLVPlybk. En el inspector de componentes, asigne al parmetro contentPath un valor que especifique la ubicacin de un archivo FLV transmitido desde un servidor FMS o FVSS. Aada el siguiente cdigo al panel Acciones, en el fotograma 1 de la lnea de tiempo:
/** Se requiere: - Componente FLVPlayback en el escenario, con el nombre de instancia my_FLVPlybk */ import mx.video.*; my_FLVPlybk.idleTimeout = 10; var listenerObject:Object = new Object(); // detectar evento close en conexin RTMP; mostrar ndice del reproductor de // vdeo listenerObject.close = function(eventObject:Object) { trace("Closed connection for video player: " + eventObject.vp); }; my_FLVPlybk.addEventListener("close", listenerObject);
Vase tambin
FLVPlayback.close
Clase FLVPlayback 633
FLVPlayback.isFLVCuePointEnabled()
Disponibilidad
Flash Player 8.
Edicin
Flash Professional 8.
Sintaxis
my_FLVplybk.isFLVCuePointEnabled(time:Number) my_FLVplybk.isFLVCuePointEnabled(name:String) my_FLVplybk.isFLVCuePointEnabled(cuePoint:Object)
Parmetros
time
Nmero que representa el tiempo (en segundos) del punto de referencia objeto de la bsqueda. Cadena que indica el nombre del punto de referencia objeto de la bsqueda.
name
Objeto de punto de referencia con las propiedades time y name correspondientes. El mtodo no comprueba ninguna otra propiedad en el objeto de punto de referencia entrante. Si el valor de time o name no est definido, el mtodo slo utiliza la propiedad que est definida.
cuePoint
Valor devuelto
Un valor booleano. Es false si se encuentran los puntos de referencia y estn desactivados, y true si no estn desactivados o no existen. Si el valor del parmetro time es undefined, null, menor que 0, o slo se proporciona un nombre de punto de referencia, el mtodo devuelve false slo si todos los puntos de referencia con este nombre estn desactivados.
Descripcin
Mtodo; devuelve false si el punto de referencia incorporado del archivo FLV est desactivado. Puede desactivar puntos de referencia estableciendo la propiedad cuePoints mediante el cuadro de dilogo Puntos de referencia de Flash Video o mediante una llamada al mtodo setFLVCuePointEnabled(). El valor devuelto por esta funcin slo es significativo cuando el valor de la propiedad metadataLoaded es true, el valor de la propiedad metadata no es null, o despus de un evento metadataReceived. Si el valor de metadataLoaded es false, esta funcin siempre devuelve true.
634
Componente FLVPlayback
Ejemplo
En el siguiente ejemplo, se desactiva el punto de referencia point2 cuando se produce un evento ready. Sin embargo, cuando se produce el primer evento cuePoint, el controlador de eventos llama al mtodo isFLVCuePointEnabled() para ver si el punto de referencia est desactivado y, si lo est, lo activa. El archivo FLV contiene los siguientes puntos de referencia incorporados: point1, 00:00:00:418; point2, 00:00:07.748; point3, 00:00:16:020. Arrastre un componente FLVPlayback al escenario y asgnele el nombre de instancia my_FLVPlybk. Aada el siguiente cdigo al panel Acciones, en el fotograma 1 de la lnea de tiempo:
/** Se requiere: - Componente FLVPlayback en el escenario, con el nombre de instancia my_FLVPlybk */ import mx.video.*; function ready(eventObject:Object) { my_FLVPlybk.setFLVCuePointEnabled(false, "point2"); } my_FLVPlybk.addEventListener("ready", ready); var listenerObject:Object = new Object(); listenerObject.cuePoint = function(eventObject:Object) { trace("Elapsed time in seconds: " + my_FLVPlybk.playheadTime); trace("Cue point name is: " + eventObject.info.name); trace("Cue point type is: " + eventObject.info.type); if (my_FLVPlybk.isFLVCuePointEnabled("point2") == false) { my_FLVPlybk.setFLVCuePointEnabled(true, "point2"); } } my_FLVPlybk.addEventListener("cuePoint", listenerObject); my_FLVPlybk.contentPath = "http://www.helpexamples.com/flash/video/ cuepoints.flv";
Vase tambin
FLVPlayback.cuePoint, FLVPlayback.findCuePoint(), FLVPlayback.findNearestCuePoint(), FLVPlayback.findNextCuePointWithName(), FLVPlayback.setFLVCuePointEnabled(), FLVPlayback.seekToNavCuePoint(), FLVPlayback.seekToNextNavCuePoint(), FLVPlayback.seekToPrevNavCuePoint()
Clase FLVPlayback
635
FLVPlayback.isLive
Disponibilidad
Flash Player 8.
Edicin
Flash Professional 8.
Sintaxis
my_FLVPlybk.isLive
Descripcin
Propiedad; valor booleano. Es true si el flujo de vdeo es dinmico. Esta propiedad slo es efectiva cuando se transmite desde un servidor FMS o FVSS. El valor de esta propiedad se omitir para una descarga HTTP. Si establece esta propiedad mientras se cargan nuevos archivos FLV, no tendr ningn efecto hasta que se establezca el valor del parmetro contentPath para el nuevo archivo FLV.
Ejemplo
En el siguiente ejemplo, se supone que se reproduce un flujo en vivo desde un servidor FMS. Cuando se produce el evento playing, el ejemplo muestra el valor de la propiedad isLive. Arrastre un componente FLVPlayback al escenario y asgnele el nombre de instancia my_FLVPlybk. Aada el siguiente cdigo al panel Acciones, en el fotograma 1 de la lnea de tiempo. En la sentencia que carga la propiedad contentPath, reemplace el texto en cursiva por el nombre y la ubicacin del archivo FLV en el servidor FMS.
/** Se requiere: - Componente FLVPlayback en el escenario, con el nombre de instancia my_FLVPlybk */ import mx.video.*; var listenerObject:Object = new Object(); listenerObject.playing = function(eventObject:Object) { trace("The isLive property is " + my_FLVPlybk.isLive); }; my_FLVPlybk.addEventListener("playing", listenerObject); my_FLVPlybk.contentPath = "rtmp://my_servername/my_application/stream.flv";
Vase tambin
FLVPlayback.contentPath, FLVPlayback.load()
636
Componente FLVPlayback
FLVPlayback.isRTMP
Disponibilidad
Flash Player 8.
Edicin
Flash Professional 8.
Sintaxis
my_FLVPlybk.isRTMP
Descripcin
Propiedad; valor booleano. Es true si el archivo FLV se transmite desde un servidor FMS o FVSS. Su valor es false en cualquier otro origen de archivo FLV. Slo lectura.
Ejemplo
En el siguiente ejemplo, se supone que se reproduce un archivo FLV transmitido desde un servidor FMS o FVSS. Cuando se produce el evento playing, el ejemplo muestra el valor de la propiedad isRTMP para indicar si el archivo FLV procede de una URL RTMP. Arrastre un componente FLVPlayback al escenario y asgnele el nombre de instancia my_FLVPlybk. Aada el siguiente cdigo al panel Acciones, en el fotograma 1 de la lnea de tiempo. En la sentencia que carga la propiedad contentPath, reemplace el texto en cursiva por el nombre y la ubicacin del archivo FLV en el servidor FMS.
/** Se requiere: - Componente FLVPlayback en el escenario, con el nombre de instancia my_FLVPlybk */ import mx.video.*; my_FLVPlybk.bufferTime = 7; var listenerObject:Object = new Object(); // detectar evento playing en conexin RTMP; mostrar resultado de isRTMP listenerObject.playing = function(eventObject:Object) { trace("Value of isRTMP property is: " + my_FLVPlybk.isRTMP); }; my_FLVPlybk.addEventListener("playing", listenerObject); my_FLVPlybk.contentPath = "rtmp://my_servername/my_application/stream.flv";
Vase tambin
FLVPlayback.contentPath, FLVPlayback.load(), FLVPlayback.play()
Clase FLVPlayback
637
FLVPlayback.load()
Disponibilidad
Flash Player 8.
Edicin
Flash Professional 8.
Sintaxis
my_FLVplybk.load(contentPath:String[, totalTime:Number, isLive:Boolean])
Parmetros
contentPath
Cadena que especifica la URL del archivo FLV que se va a transmitir y cmo se debe transmitir. La URL puede ser una URL HTTP de un archivo FLV, una URL RTMP de un flujo de archivo FLV o una URL HTTP de un archivo XML. Nmero que representa el tiempo total de reproduccin del vdeo. Opcional.
totalTime isLive
Valor booleano. Es true si el flujo de vdeo es dinmico. Este valor slo es efectivo cuando se transmite desde un servidor FMS o FVSS. El valor de esta propiedad se omitir para una descarga HTTP. Opcional.
Valor devuelto
Ninguno.
Descripcin
Mtodo; inicia la carga del archivo FLV y proporciona un acceso directo para establecer el valor de la propiedad autoPlay en false y para establecer los valores de las propiedades contentPath, totalTime y isLive, si se proporcionan. Si no estn definidas las propiedades totalTime o isLive, no se establecern. Si el valor de contentPath es undefined, null o es una cadena vaca, este mtodo no hace nada.
638
Componente FLVPlayback
Ejemplo
En el ejemplo siguiente, se llama al mtodo load() para cargar un archivo FLV especificado por el parmetro contentPath. Muestra el valor de la propiedad autoPlay antes y despus de cargar el archivo FLV y llama al mtodo play() para iniciar la reproduccin del archivo FLV. Arrastre un componente FLVPlayback al escenario y asgnele el nombre de instancia my_FLVPlybk. Aada el siguiente cdigo al panel Acciones, en el fotograma 1 de la lnea de tiempo:
/** Se requiere: - Componente FLVPlayback en el escenario, con el nombre de instancia my_FLVPlybk */ import mx.video.*; trace("Before load, autoPlay is: " + my_FLVPlybk.autoPlay); my_FLVPlybk.load("http://www.helpexamples.com/flash/video/water.flv"); trace("After load, autoPlay is: " + my_FLVPlybk.autoPlay); my_FLVPlybk.play();
Vase tambin
FLVPlayback.contentPath, FLVPlayback.isLive, FLVPlayback.totalTime
FLVPlayback.LOADING
Disponibilidad
Flash Player 8.
Edicin
Flash Professional 8.
Sintaxis
mx.video.FLVPlayback.LOADING
Descripcin
Propiedad de slo lectura de la clase FLVPlayback que contiene la constante de cadena loading. Puede comparar esta propiedad con la propiedad state para determinar si el componente est en estado de carga.
Clase FLVPlayback
639
Ejemplo
En el siguiente ejemplo, se muestra el valor de la propiedad FLVPlayback.LOADING si el archivo FLV est en estado de carga. Arrastre un componente FLVPlayback al escenario y asgnele el nombre de instancia my_FLVPlybk. Aada el siguiente cdigo al panel Acciones, en el fotograma 1 de la lnea de tiempo:
/** Se requiere: - Componente FLVPlayback en el escenario, con el nombre de instancia my_FLVPlybk */ import mx.video.*; var listenerObject:Object = new Object(); listenerObject.stateChange = function(eventObject:Object):Void { if(my_FLVPlybk.state == FLVPlayback.LOADING) trace("State is " + FLVPlayback.LOADING); } my_FLVPlybk.addEventListener("stateChange", listenerObject); my_FLVPlybk.contentPath = "http://www.helpexamples.com/flash/video/ water.flv";
Vase tambin
FLVPlayback.state, FLVPlayback.stateChange
FLVPlayback.maintainAspectRatio
Disponibilidad
Flash Player 8.
Edicin
Flash Professional 8.
Sintaxis
my_FLVPlybk.maintainAspectRatio
Descripcin
Propiedad; valor booleano. Si es true, mantiene la proporcin de vdeo. Si se cambia el valor de esta propiedad de false a true y el valor de la propiedad autoSize es false despus de cargar un archivo FLV, se iniciar inmediatamente un cambio de tamao automtico del vdeo. El valor predeterminado es true.
640
Componente FLVPlayback
Ejemplo
En el siguiente ejemplo, se llama a setSize() para cambiar el tamao de la instancia de FLVPlayback, lo cual activa un evento resize. La propiedad maintainAspectRatio, que tiene como valor predeterminado true, activa un segundo evento resize para mantener la proporcin. El controlador de eventos resize muestra en el panel Salida la anchura y la altura de la instancia de FLVPlayback a la que se ha cambiado el tamao, para ambos eventos. Si se establece maintainAspectRatio en false, las dimensiones especificadas por el mtodo setSize() surten efecto. Arrastre un componente FLVPlayback al escenario y asgnele el nombre de instancia my_FLVPlybk. Aada el siguiente cdigo al panel Acciones, en el fotograma 1 de la lnea de tiempo:
/** Se requiere: - Componente FLVPlayback en el escenario, con el nombre de instancia my_FLVPlybk */ import mx.video.*; // maintainAspectRatio tiene true como valor predeterminado, lo cual activa // un evento resize cuando cambia el tamao. // Eliminar delimitadores de comentario de la siguiente lnea para // desactivar evento resize. // my_FLVPlybk.maintainAspectRatio = false; var listenerObject:Object = new Object(); listenerObject.resize = function(eventObject:Object) { trace("resize event; Width is: " + eventObject.target.width + " Height is: " + eventObject.target.height); }; my_FLVPlybk.addEventListener("resize", listenerObject); my_FLVPlybk.contentPath = "http://www.helpexamples.com/flash/video/ water.flv"; my_FLVPlybk.setSize(300, 300);
Vase tambin
FLVPlayback.autoSize, FLVPlayback.height, FLVPlayback.preferredHeight, FLVPlayback.preferredWidth, FLVPlayback.resize, FLVPlayback.setSize(), FLVPlayback.width
Clase FLVPlayback
641
FLVPlayback.metadata
Disponibilidad
Flash Player 8.
Edicin
Flash Professional 8.
Sintaxis
my_FLVPlybk.metadata
Descripcin
Propiedad; objeto que es un paquete de informacin de metadatos que se recibe de una llamada a la funcin callback NetSteam.onMetaData(), si est disponible. Slo lectura. Si el archivo FLV se codifica con el codificador de Flash CS3, la propiedad metadata contiene la siguiente informacin. Los archivos FLV antiguos slo contienen los valores de height, width y duration.
Parmetro
canSeekToEnd
Descripcin
Valor booleano. Es true si el archivo FLV se codifica con un fotograma clave en el ltimo fotograma, lo que permite buscar hasta el final de un clip de pelcula de descarga progresiva. Es false si el archivo FLV no se codifica con un fotograma clave en el ltimo fotograma. Matriz de objetos, uno por cada punto de referencia incorporado en el archivo FLV. El valor es undefined si el archivo FLV no contiene ningn punto de referencia. Cada objeto tiene las siguientes propiedades: type Cadena que especifica el tipo de punto de referencia como navigation o event. name Cadena que indica el nombre del punto de referencia. time Nmero que indica el tiempo del punto de referencia en segundos, con una precisin de tres decimales (milisegundos). parameters Objeto opcional que tiene pares nombre-valor designados por el usuario durante la creacin de los puntos de referencia. Nmero que indica el cdec de audio (tcnica de codificacin/ descodificacin) que se ha utilizado. Nmero que indica el tiempo del archivo FLV correspondiente al tiempo 0 (time 0) del archivo FLV original. Es necesario retardar ligeramente el contenido del vdeo para sincronizarlo correctamente con el audio.
cuePoints
audiocodecid
audiodelay
642
Componente FLVPlayback
Parmetro
audiodatarate videocodecid
Descripcin
Nmero que indica los kilobytes por segundo de audio. Nmero que es la versin de cdec que se utiliz para codificar el vdeo. Nmero que especifica la velocidad de fotogramas del archivo FLV. Nmero que especifica la velocidad de datos de vdeo del archivo FLV. Nmero que especifica la altura del archivo FLV. Nmero que especifica la anchura del archivo FLV. Nmero que especifica la duracin del archivo FLV en segundos.
framerate videodatarate
Ejemplo
En el siguiente ejemplo, se muestran en el panel Salida distintos valores metadata de muestra del archivo FLV cuepoints.flv. Se muestran los datos cuando se produce el evento metadataReceived. Arrastre un componente FLVPlayback al escenario y asgnele el nombre de instancia my_FLVPlybk. Aada el siguiente cdigo al panel Acciones, en el fotograma 1 de la lnea de tiempo:
/** Se requiere: - Componente FLVPlayback en el escenario, con el nombre de instancia my_FLVPlybk */ import mx.video.*; var listenerObject:Object = new Object(); listenerObject.metadataReceived = function(eventObject:Object):Void { trace("canSeekToEnd is " + my_FLVPlybk.metadata.canSeekToEnd); trace("Number of cue points is " + my_FLVPlybk.metadata.cuePoints.length); trace("Frame rate is " + my_FLVPlybk.metadata.framerate); trace("Height is " + my_FLVPlybk.metadata.height); trace("Width is " + my_FLVPlybk.metadata.width); trace("Duration is " + my_FLVPlybk.metadata.duration + " seconds"); }; my_FLVPlybk.addEventListener("metadataReceived", listenerObject); my_FLVPlybk.contentPath = "http://www.helpexamples.com/flash/video/ cuepoints.flv";
Vase tambin
FLVPlayback.metadataLoaded, FLVPlayback.metadataReceived
Clase FLVPlayback
643
FLVPlayback.metadataLoaded
Disponibilidad
Flash Player 8.
Edicin
Flash Professional 8.
Sintaxis
my_FLVPlybk.metadataLoaded
Descripcin
Propiedad; valor booleano. Es true si se ha encontrado y procesado un paquete de metadatos o si el archivo FLV se ha codificado sin el paquete de metadatos. Dicho de otro modo, el valor es true si se reciben los metadatos o nunca se van a obtener metadatos. As, puede saber si tiene los metadatos y, si no los tiene, sabe que no debe esperar recibirlos. Si simplemente desea saber si tiene metadatos o no, puede comprobar el valor con:
FLVPlayback.metadata != null
Utilice esta propiedad para comprobar si puede obtener informacin til con los mtodos para buscar y activar o desactivar puntos de referencia. Slo lectura.
Ejemplo
En el ejemplo siguiente, se crea un detector para el evento progress. Cuando se produce el evento, el ejemplo comprueba si la propiedad metadataLoaded es true y, si lo es, muestra los valores de metadatos height, width y duration en el panel Salida. Arrastre un componente FLVPlayback al escenario y asgnele el nombre de instancia my_FLVPlybk. Aada el siguiente cdigo al panel Acciones, en el fotograma 1 de la lnea de tiempo:
/** Se requiere: - Componente FLVPlayback en el escenario, con el nombre de instancia my_FLVPlybk */ import mx.video.*; var listenerObject:Object = new Object(); listenerObject.progress = function(eventObject:Object):Void { if(my_FLVPlybk.metadataLoaded){ trace("Height is " + my_FLVPlybk.metadata.height); trace("Width is " + my_FLVPlybk.metadata.width); trace("Duration is " + my_FLVPlybk.metadata.duration + " seconds"); } };
644
Componente FLVPlayback
Vase tambin
FLVPlayback.metadata, FLVPlayback.metadataReceived
FLVPlayback.metadataReceived
Disponibilidad
Flash Player 8.
Edicin
Flash Professional 8.
Sintaxis
var listenerObject:Object = new Object(); listenerObject.metadataReceived = function(eventObject:Object):Void { // insertar aqu cdigo de gestin de eventos }; my_FLVplybk.addEventListener("metadataReceived", listenerObject);
Descripcin
Evento; se distribuye la primera vez que se llega a los metadatos del archivo FLV. El objeto de evento tiene una propiedad info que contiene el objeto info recibido mediante la funcin callback NetStream.onMetaData. El objeto de evento tiene adems una propiedad vp, que es el nmero de ndice del reproductor de vdeo al que se aplica este evento. Para ms informacin, consulte FLVPlayback.activeVideoPlayerIndex en la pgina 582 y FLVPlayback.visibleVideoPlayerIndex en la pgina 727.
Ejemplo
En el ejemplo siguiente, se crea un detector para el evento metadataReceived. Cuando se produce el evento, el controlador de eventos enva el nombre, el tiempo y el tipo de cada punto de referencia que se describe en la propiedad metadata del panel Salida.
Clase FLVPlayback
645
Arrastre un componente FLVPlayback al escenario y asgnele el nombre de instancia my_FLVPlybk. Aada el siguiente cdigo al panel Acciones, en el fotograma 1 de la lnea de tiempo:
/** Se requiere: - Componente FLVPlayback en el escenario, con el nombre de instancia my_FLVPlybk */ import mx.video.*; var listenerObject:Object = new Object(); listenerObject.metadataReceived = function(eventObject:Object):Void { var i:Number = 0; trace("This FLV contains the following cue points:"); while(i < my_FLVPlybk.metadata.cuePoints.length) { trace("\nName: " + my_FLVPlybk.metadata.cuePoints[i].name); trace(" Time: " + my_FLVPlybk.metadata.cuePoints[i].time); trace(" Type is " + my_FLVPlybk.metadata.cuePoints[i].type); ++i; } }; my_FLVPlybk.addEventListener("metadataReceived", listenerObject); my_FLVPlybk.contentPath = "http://www.helpexamples.com/flash/video/ cuepoints.flv";
Vase tambin
FLVPlayback.metadata, FLVPlayback.metadataLoaded
FLVPlayback.muteButton
Disponibilidad
Flash Player 8.
Edicin
Flash Professional 8.
Sintaxis
my_FLVPlybk.muteButton
Descripcin
Propiedad; objeto MovieClip que es el control del botn de silencio. Para ms informacin sobre el uso de componentes de interfaz de usuario personalizados de reproduccin de FLV para controlar la reproduccin, consulte Aplicacin de aspectos a componentes individuales de interfaz de usuario personalizados de reproduccin FLV en la pgina 556. Si se hace clic en el control muteButton, se distribuye un evento volumeUpdate.
646
Componente FLVPlayback
Ejemplo
En el ejemplo siguiente, se utilizan las propiedades backButton, forwardButton, playPauseButton, stopButton y muteButton para asociar controles personalizados de interfaz de usuario de FLV individuales a un componente FLVPlayback. Arrastre un componente FLVPlayback al escenario y asgnele el nombre de instancia my_FLVPlybk. En el inspector de componentes, establezca el parmetro Skin en None. A continuacin, aada los siguientes componentes personalizados de interfaz de usuario de FLV individuales y asgneles los nombres de instancia mostrados entre parntesis: BackButton (my_bkbttn), ForwardButton (my_fwdbttn), PlayPauseButton (my_plypausbttn), StopButton (my_stopbttn), y MuteButton (my_mutebttn). Aada las siguientes lneas de cdigo al panel Acciones, en el fotograma 1 de la lnea de tiempo:
/** Se requiere: - Componente FLVPlayback en el escenario, con el nombre de instancia my_FLVPlybk - Componentes personalizados de interfaz de usuario de FLV BackButton, ForwardButton, PlayPauseButton, StopButton y MuteButton en la Biblioteca */ import mx.video.*; my_FLVPlybk.backButton = my_bkbttn; my_FLVPlybk.forwardButton = my_fwdbttn; my_FLVPlybk.playPauseButton = my_plypausbttn; my_FLVPlybk.stopButton = my_stopbttn; my_FLVPlybk.muteButton = my_mutebttn; my_FLVPlybk.contentPath = "http://www.helpexamples.com/flash/video/ water.flv";
Vase tambin
FLVPlayback.skin, FLVPlayback.volume, FLVPlayback.volumeBar, FLVPlayback.volumeUpdate
Clase FLVPlayback
647
FLVPlayback.NAVIGATION
Disponibilidad
Flash Player 8.
Edicin
Flash Professional 8.
Sintaxis
mx.video.FLVPlayback.NAVIGATION
Descripcin
Propiedad de slo lectura de la clase FLVPlayback que contiene la constante de cadena navigation. Puede utilizar esta propiedad como parmetro type para los mtodos findCuePoint() y findNearestCuePoint().
Ejemplo
En el siguiente ejemplo, se utiliza la propiedad FLVPlayback.NAVIGATION para especificar el tipo de punto de referencia que se va a buscar. Arrastre un componente FLVPlayback al escenario y asgnele el nombre de instancia my_FLVPlybk. Aada el siguiente cdigo al panel Acciones, en el fotograma 1 de la lnea de tiempo:
/** Se requiere: - Componente FLVPlayback en el escenario, con el nombre de instancia my_FLVPlybk */ import mx.video.*; // buscar punto de referencia de navegacin mediante el parmetro time var listenerObject:Object = new Object(); listenerObject.ready = function(eventObject:Object):Void { var rtn_cuePt:Object = new Object(); rtn_cuePt = my_FLVPlybk.findCuePoint(7.748, FLVPlayback.NAVIGATION); trace("Found cue point at " + rtn_cuePt.time + " of type " + rtn_cuePt.type); } my_FLVPlybk.addEventListener("ready", listenerObject) my_FLVPlybk.contentPath = "http://www.helpexamples.com/flash/video/ cuepoints.flv";
Vase tambin
FLVPlayback.findCuePoint(), FLVPlayback.findNearestCuePoint()
648
Componente FLVPlayback
FLVPlayback.ncMgr
Disponibilidad
Flash Player 8.
Edicin
Flash Professional 8.
Sintaxis
my_FLVPlybk.ncMgr
Descripcin
Propiedad; objeto INCManager que proporciona acceso a una instancia de la clase que implementa INCManager, que es una interfaz de la clase NCManager. Puede utilizar esta propiedad para implementar un objeto INCManager personalizado que requiere una inicializacin personalizada. Slo lectura.
Ejemplo
En el siguiente ejemplo, se muestra el valor de la propiedad DEFAULT_TIMEOUT de NetConnection cuando se produce el evento ready. Arrastre un componente FLVPlayback al escenario y asgnele el nombre de instancia my_FLVPlybk. Aada el siguiente cdigo al panel Acciones, en el fotograma 1 de la lnea de tiempo:
/** Se requiere: - Componente FLVPlayback en el escenario, con el nombre de instancia my_FLVPlybk */ import mx.video.*; // especificar nombre y ubicacin de FLV my_FLVPlybk.contentPath = "http://www.helpexamples.com/flash/video/ clouds.flv"; var listenerObject:Object = new Object(); listenerObject.ready = function(eventObject:Object):Void { var NC:Object = new Object(); NC = my_FLVPlybk.ncMgr; trace("Net connection timeout is " + NC.DEFAULT_TIMEOUT + " milliseconds"); }; my_FLVPlybk.addEventListener("ready", listenerObject);
Vase tambin
Clase VideoPlayer
Clase FLVPlayback
649
FLVPlayback.pause()
Disponibilidad
Flash Player 8.
Edicin
Flash Professional 8.
Sintaxis
my_FLVplybk.pause()
Parmetros
Ninguno.
Valor devuelto
Ninguno.
Descripcin
En el ejemplo siguiente, se crea un detector para el evento playheadUpdate. Cuando se produce este evento, el controlador de eventos comprueba si el tiempo de la cabeza lectora est entre 5 y 5,05 segundos. En caso afirmativo, el controlador de eventos llama al mtodo pause() para suspender la reproduccin del archivo FLV. El controlador de eventos paused le indica que pulse el botn de reproduccin para continuar. Arrastre un componente FLVPlayback al escenario y asgnele el nombre de instancia my_FLVPlybk. Arrastre un componente TextArea al escenario, debajo de la instancia de FLVPlayback, y asgnele el nombre de instancia my_ta. Aada el siguiente cdigo al panel Acciones, en el fotograma 1 de la lnea de tiempo:
/** Se requiere: - Componente FLVPlayback en el escenario, con el nombre de instancia my_FLVPlybk */ import mx.video.*; my_ta.visible = false; my_FLVPlybk.playheadUpdateInterval = 5; my_FLVPlybk.contentPath = "http://www.helpexamples.com/flash/video/ water.flv"; var listenerObject:Object = new Object();
650
Componente FLVPlayback
listenerObject.playheadUpdate = function(eventObject:Object):Void { if ((eventObject.playheadTime >= 5) && (eventObject.playheadTime < 5.05)) { my_FLVPlybk.pause(); } }; my_FLVPlybk.addEventListener("playheadUpdate", listenerObject); listenerObject.paused = function(eventObject:Object):Void { my_ta.text = "Paused; push Play to continue"; my_ta.visible = true; }; my_FLVPlybk.addEventListener("paused", listenerObject);
Vase tambin
FLVPlayback.paused, FLVPlayback.play(), FLVPlayback.rewind
FLVPlayback.pauseButton
Disponibilidad
Flash Player 8.
Edicin
Flash Professional 8.
Sintaxis
my_FLVPlybk.pauseButton
Descripcin
Propiedad; objeto MovieClip que es el control PauseButton. Para ms informacin sobre el uso de componentes de interfaz de usuario personalizados de reproduccin de FLV para controlar la reproduccin, consulte Aplicacin de aspectos a componentes individuales de interfaz de usuario personalizados de reproduccin FLV en la pgina 556.
Ejemplo
En el ejemplo siguiente, se utiliza las propiedades backButton, forwardButton, playButton, pauseButton y stopButton para asociar controles personalizados de interfaz de usuario de FLV individuales a un componente FLVPlayback.
Clase FLVPlayback
651
Arrastre un componente FLVPlayback al escenario y asgnele el nombre de instancia my_FLVPlybk. En el inspector de componentes, establezca el parmetro Skin en None. A continuacin, aada los siguientes componentes personalizados de interfaz de usuario de FLV individuales y asgneles los nombres de instancia mostrados entre parntesis: BackButton (my_bkbttn), ForwardButton (my_fwdbttn), PlayButton (my_plybttn), PauseButton (my_pausbttn), y StopButton (my_stopbttn). Aada las siguientes lneas de cdigo al panel Acciones, en el fotograma 1 de la lnea de tiempo:
/** Se requiere: - Componente FLVPlayback en el escenario, con el nombre de instancia my_FLVPlybk - Componentes personalizados de interfaz de usuario de FLV BackButton, ForwardButton, PlayButton, PauseButton y StopButton en la Biblioteca */ import mx.video.*; my_FLVPlybk.backButton = my_bkbttn; my_FLVPlybk.forwardButton = my_fwdbttn; my_FLVPlybk.playButton = my_plybttn; my_FLVPlybk.pauseButton = my_pausbttn; my_FLVPlybk.stopButton = my_stopbttn; my_FLVPlybk.contentPath = "http://www.helpexamples.com/flash/video/ water.flv";
Vase tambin
FLVPlayback.playButton, FLVPlayback.playPauseButton, FLVPlayback.skin
FLVPlayback.PAUSED
Disponibilidad
Flash Player 8.
Edicin
Flash Professional 8.
Sintaxis
mx.video.FLVPlayback.PAUSED
Descripcin
Propiedad de slo lectura de la clase FLVPlayback que contiene la constante de cadena paused. Puede comparar esta propiedad con la propiedad state para determinar si el componente est en estado de pausa.
652
Componente FLVPlayback
Ejemplo
En el siguiente ejemplo, se utiliza la propiedad FLVPlayback.PAUSED para mostrar el estado del archivo FLV cuando el usuario hace clic en el botn de pausa. Arrastre un componente FLVPlayback al escenario y asgnele el nombre de instancia my_FLVPlybk. Aada el siguiente cdigo al panel Acciones, en el fotograma 1 de la lnea de tiempo:
/** Se requiere: - Componente FLVPlayback en el escenario, con el nombre de instancia my_FLVPlybk */ import mx.video.*; var listenerObject:Object = new Object(); listenerObject.stateChange = function(eventObject:Object):Void { if(eventObject.state == FLVPlayback.PAUSED) trace("FLV is " + FLVPlayback.PAUSED); } my_FLVPlybk.addEventListener("stateChange", listenerObject) my_FLVPlybk.contentPath = "http://www.helpexamples.com/flash/video/ water.flv";
Vase tambin
FLVPlayback.state, FLVPlayback.stateChange
FLVPlayback.paused
Disponibilidad
Flash Player 8.
Edicin
Flash Professional 8.
Sintaxis
var listenerObject:Object = new Object(); listenerObject.paused = function(eventObject:Object):Void { // insertar aqu cdigo de gestin de eventos }; my_FLVplybk.addEventListener("paused", listenerObject);
Clase FLVPlayback
653
Descripcin
Evento; se distribuye cuando el reproductor pasa al estado de pausa. Se produce al llamar al mtodo pause() o al hacer clic en el control correspondiente, y tambin se produce en algunos casos cuando se carga el archivo FLV si el valor de autoPlay es false (en su lugar, el estado puede ser stopped). El objeto de evento tiene las propiedades state, playheadTime y vp, que es el nmero de ndice del reproductor de vdeo al que se aplica este evento. Para ms informacin sobre la propiedad vp, consulte FLVPlayback.activeVideoPlayerIndex en la pgina 582 y FLVPlayback.visibleVideoPlayerIndex en la pgina 727. Tambin se distribuye el evento stateChange.
Ejemplo
En el ejemplo siguiente, se crea un detector para el evento playheadUpdate. Cuando se produce el evento, el controlador de eventos comprueba si el valor de la propiedad playheadTime est entre 5 y 5,05 segundos. En caso afirmativo, el controlador de eventos llama al mtodo pause() para suspender la reproduccin del archivo FLV. Esto activa un evento paused y el controlador de eventos paused correspondiente muestra un mensaje para indicar que el FLV est en pausa. Arrastre un componente FLVPlayback al escenario y asgnele el nombre de instancia my_FLVPlybk. Aada el siguiente cdigo al panel Acciones, en el fotograma 1 de la lnea de tiempo:
/** Se requiere: - Componente FLVPlayback en el escenario, con el nombre de instancia my_FLVPlybk */ import mx.video.*; my_FLVPlybk.playheadUpdateInterval = 5; var listenerObject:Object = new Object(); listenerObject.playheadUpdate = function(eventObject:Object):Void { if ((eventObject.playheadTime >= 5) && (eventObject.playheadTime < 5.05)) { my_FLVPlybk.pause(); } } my_FLVPlybk.addEventListener("playheadUpdate", listenerObject); listenerObject.paused = function(eventObject:Object) { trace("FLV is " + my_FLVPlybk.state + "!"); }; my_FLVPlybk.addEventListener("paused", listenerObject); my_FLVPlybk.contentPath = "http://www.helpexamples.com/flash/video/ water.flv";
Vase tambin
FLVPlayback.pause(), FLVPlayback.paused, FLVPlayback.state, FLVPlayback.stateChange
654 Componente FLVPlayback
FLVPlayback.paused
Disponibilidad
Flash Player 8.
Edicin
Flash Professional 8.
Sintaxis
my_FLVPlybk.paused
Descripcin
Propiedad; valor booleano. Es true si el archivo FLV est en estado de pausa. Slo lectura.
Ejemplo
En el ejemplo siguiente, se crea un detector para el evento stateChange. Cuando se produce el evento, comprueba la propiedad paused para determinar si el componente est en estado de pausa. Si lo est, muestra un mensaje para indicarlo en el panel Salida. Debe hacer clic en el botn de pausa mientras se reproduce el archivo FLV para que se produzca el estado de pausa. Arrastre un componente FLVPlayback al escenario y asgnele el nombre de instancia my_FLVPlybk. Aada el siguiente cdigo al panel Acciones, en el fotograma 1 de la lnea de tiempo:
/** Se requiere: - Componente FLVPlayback en el escenario, con el nombre de instancia my_FLVPlybk */ import mx.video.*; var listenerObject:Object = new Object(); listenerObject.stateChange = function(eventObject:Object) { if(my_FLVPlybk.paused) trace("FLV is in " + FLVPlayback.PAUSED + " state"); }; my_FLVPlybk.addEventListener("stateChange", listenerObject); my_FLVPlybk.contentPath = "http://www.helpexamples.com/flash/video/ water.flv";
Vase tambin
FLVPlayback.paused, FLVPlayback.PAUSED, FLVPlayback.state, FLVPlayback.stateChange
Clase FLVPlayback
655
FLVPlayback.play()
Disponibilidad
Flash Player 8.
Edicin
Flash Professional 8.
Sintaxis
my_FLVplybk.play ([contentPath:String, totalTime:Number, isLive:Boolean])
Parmetros
Cadena que especifica la URL del archivo FLV que se va a transmitir y cmo se debe transmitir. La URL puede ser una URL HTTP de un archivo FLV, una URL RTMP de un flujo de archivo FLV o una URL HTTP de un archivo XML. Es opcional, pero la propiedad contentPath debe establecerse a travs del inspector de componentes o mediante cdigo ActionScript para que el mtodo surta efecto.
contentPath totalTime isLive
Valor booleano. Es true si el flujo de vdeo es dinmico. Este valor slo es efectivo cuando se transmite desde un servidor FMS o FVSS. El valor de esta propiedad se omitir para una descarga HTTP. Opcional.
Valor devuelto
Ninguno.
Descripcin
Mtodo; reproduce el flujo de vdeo. Sin parmetros, el mtodo slo pasa el FLV del estado de pausa o el estado detenido al estado de reproduccin. Si se utilizan parmetros, el mtodo acta como una forma rpida de establecer el valor de la propiedad autoPlay en true y de establecer los valores de las propiedades isLive, totalTime y contentPath. Si no estn definidas las propiedades totalTime o isLive, no se establecern.
656
Componente FLVPlayback
Ejemplo
En el ejemplo siguiente, se desactiva la reproduccin automtica del archivo FLV, se llama al mtodo seekSeconds() para mover la cabeza lectora 20 segundos en el vdeo, y se llama al mtodo play() para iniciar la reproduccin del archivo FLV en ese punto. Arrastre un componente FLVPlayback al escenario y asgnele el nombre de instancia my_FLVPlybk. Aada el siguiente cdigo al panel Acciones, en el fotograma 1 de la lnea de tiempo:
/** Se requiere: - Componente FLVPlayback en el escenario, con el nombre de instancia my_FLVPlybk */ import mx.video.*; my_FLVPlybk.autoPlay = false; var listenerObject:Object = new Object(); listenerObject.ready = function(eventObject:Object):Void { my_FLVPlybk.seekSeconds(4); my_FLVPlybk.play(); }; my_FLVPlybk.addEventListener("ready", listenerObject); my_FLVPlybk.contentPath = "http://www.helpexamples.com/flash/video/ water.flv";
Vase tambin
FLVPlayback.autoPlay, FLVPlayback.contentPath, FLVPlayback.load(), FLVPlayback.pause(), FLVPlayback.stop()
Clase FLVPlayback
657
FLVPlayback.playButton
Disponibilidad
Flash Player 8.
Edicin
Flash Professional 8.
Sintaxis
my_FLVPlybk.playButton
Descripcin
Propiedad; objeto MovieClip que es el botn de reproduccin. Para ms informacin sobre el uso de componentes de interfaz de usuario personalizados de reproduccin de FLV para controlar la reproduccin, consulte Aplicacin de aspectos a componentes individuales de interfaz de usuario personalizados de reproduccin FLV en la pgina 556.
Ejemplo
En el ejemplo siguiente, se utiliza las propiedades backButton, forwardButton, playButton, pauseButton y stopButton para asociar controles personalizados de interfaz de usuario de FLV individuales a un componente FLVPlayback. Arrastre un componente FLVPlayback al escenario y asgnele el nombre de instancia my_FLVPlybk. A continuacin, aada los siguientes componentes de interfaz de usuario personalizados de FLV individuales y asgneles los nombres de instancia mostrados entre parntesis: BackButton (my_bkbttn), ForwardButton (my_fwdbttn), PlayButton (my_plybttn), PauseButton (my_pausbttn), y StopButton (my_stopbttn). Despus aada las siguientes lneas de cdigo al panel Acciones:
/** Se requiere: - Componente FLVPlayback en el escenario, con el nombre de instancia my_FLVPlybk - Componentes personalizados de interfaz de usuario de FLV BackButton, ForwardButton, PlayButton, PauseButton y StopButton en la Biblioteca */ import mx.video.*; my_FLVPlybk.backButton = my_bkbttn; my_FLVPlybk.forwardButton = my_fwdbttn; my_FLVPlybk.playButton = my_plybttn; my_FLVPlybk.pauseButton = my_pausbttn; my_FLVPlybk.stopButton = my_stopbttn;
Vase tambin
FLVPlayback.playing, FLVPlayback.skin
658
Componente FLVPlayback
FLVPlayback.playheadPercentage
Disponibilidad
Flash Player 8.
Edicin
Flash Professional 8.
Sintaxis
my_FLVPlybk.playheadPercentage
Descripcin
Propiedad; nmero que especifica el valor actual de playheadTime como un porcentaje de la propiedad totalTime. Si accede a esta propiedad, ver que contiene el porcentaje de tiempo de reproduccin transcurrido. Si establece esta propiedad, se realiza una operacin de bsqueda en el punto que representa dicho porcentaje del tiempo de reproduccin del archivo FLV. El valor de esta propiedad es relativa al valor de la propiedad totalTime. El componente emite un error VideoError si especifica un porcentaje no vlido o si el valor de la propiedad totalTime es undefined, null, o menor o igual que cero.
Ejemplo
En el siguiente ejemplo, se muestra el porcentaje del archivo FLV que se ha reproducido cuando se produce el punto de referencia point2. En el punto de referencia point3, establece playheadPercentage en 10, lo que realiza una operacin de bsqueda en el punto correspondiente al 10% con respecto al inicio del archivo FLV y la creacin de un bucle de reproduccin.
Clase FLVPlayback
659
Arrastre un componente FLVPlayback al escenario y asgnele el nombre de instancia my_FLVPlybk. Aada el siguiente cdigo al panel Acciones, en el fotograma 1 de la lnea de tiempo:
/** Se requiere: - Componente FLVPlayback en el escenario, con el nombre de instancia my_FLVPlybk */ import mx.video.*; my_FLVPlybk.contentPath = "http://www.helpexamples.com/flash/video/ cuepoints.flv"; var listenerObject:Object = new Object(); listenerObject.cuePoint = function(eventObject:Object):Void { if(eventObject.info.name == "point2") trace("point2 occurred at " + my_FLVPlybk.playheadPercentage + " percent of FLV"); if(eventObject.info.name == "point3") my_FLVPlybk.playheadPercentage = 10; } my_FLVPlybk.addEventListener("cuePoint", listenerObject);
Vase tambin
FLVPlayback.playheadTime, FLVPlayback.seekPercent(), FLVPlayback.totalTime
FLVPlayback.playheadTime
Disponibilidad
Flash Player 8.
Edicin
Flash Professional 8.
Sintaxis
my_FLVPlybk.playheadTime
Descripcin
Propiedad; nmero que representa el tiempo o la posicin actual (en segundos) de la cabeza lectora, que puede ser un valor fraccionario. Si se establece esta propiedad, se activa una bsqueda, con todas las restricciones de una bsqueda. Cuando cambia el tiempo de la cabeza lectora, lo que ocurre una vez cada 0,25 segundos mientras se reproduce el archivo FLV, el componente distribuye el evento playheadUpdate.
660
Componente FLVPlayback
Por varias razones, es posible que la propiedad playheadTime no tenga el valor esperado inmediatamente despus de llamar a uno de los mtodos de bsqueda o de establecer playheadTime para provocar la bsqueda. En primer lugar, en una descarga progresiva, slo se puede buscar en un fotograma clave, de forma que la bsqueda devuelve como resultado el tiempo del primer fotograma clave despus del tiempo especificado. (En la transmisin de flujo, una bsqueda siempre devuelve el tiempo exacto especificado aunque el archivo FLV de origen no tenga ningn fotograma clave en tal punto.) En segundo lugar, la bsqueda es asncrona, de forma que si se llama a un mtodo de bsqueda o se establece la propiedad playheadTime, el valor de playheadTime no se actualiza inmediatamente. Para obtener el tiempo despus de completar la bsqueda, detecte el evento seek, que no se activa hasta que se actualiza la propiedad playheadTime.
Ejemplo
En el ejemplo siguiente, se capturan instancias del evento stateChange que se produce durante la reproduccin del archivo FLV y se muestra el tiempo transcurrido de la cabeza lectora en el panel Salida. Arrastre un componente FLVPlayback al escenario y asgnele el nombre de instancia my_FLVPlybk. Aada el siguiente cdigo al panel Acciones, en el fotograma 1 de la lnea de tiempo:
/** Se requiere: - Componente FLVPlayback en el escenario, con el nombre de instancia my_FLVPlybk */ import mx.video.*; var listenerObject:Object = new Object(); listenerObject.stateChange = function(eventObject:Object):Void { trace(my_FLVPlybk.state + ": playhead time is: " + my_FLVPlybk.playheadTime); }; my_FLVPlybk.addEventListener("stateChange", listenerObject); my_FLVPlybk.contentPath = "http://www.helpexamples.com/flash/video/ water.flv";
Vase tambin
FLVPlayback.playheadUpdate, FLVPlayback.playheadUpdateInterval, FLVPlayback.seek(), FLVPlayback.stateChange
Clase FLVPlayback
661
FLVPlayback.playheadUpdate
Disponibilidad
Flash Player 8.
Edicin
Flash Professional 8.
Sintaxis
var listenerObject:Object = new Object(); listenerObject.playheadUpdate = function(eventObject:Object):Void { // insertar aqu cdigo de gestin de eventos }; my_FLVplybk.addEventListener("playheadUpdate", listenerObject);
Descripcin
Evento; se distribuye mientras se reproduce el archivo FLV con la frecuencia especificada en la propiedad playheadUpdateInterval. El valor predeterminado es 0,25 segundos. El componente no distribuye este evento cuando el reproductor de vdeo est en pausa o detenido, a menos que se realice una bsqueda. El objeto de evento tiene las propiedades state, playheadTime y vp.
Ejemplo
En el ejemplo siguiente, se capturan instancias del evento playheadUpdate que se produce durante la reproduccin del archivo FLV y se muestra el tiempo transcurrido de la cabeza lectora en el panel Salida. Arrastre un componente FLVPlayback al escenario y asgnele el nombre de instancia my_FLVPlybk. Aada el siguiente cdigo al panel Acciones, en el fotograma 1 de la lnea de tiempo:
/** Se requiere: - Componente FLVPlayback en el escenario, con el nombre de instancia my_FLVPlybk */ import mx.video.*; var listenerObject:Object = new Object(); listenerObject.playheadUpdate = function(eventObject:Object):Void { trace(my_FLVPlybk.state + ": playhead time is: " + eventObject.playheadTime); }; my_FLVPlybk.addEventListener("playheadUpdate", listenerObject); my_FLVPlybk.contentPath = "http://www.helpexamples.com/flash/video/ water.flv";
Vase tambin
FLVPlayback.playheadTime, FLVPlayback.playheadUpdateInterval
662 Componente FLVPlayback
FLVPlayback.playheadUpdateInterval
Disponibilidad
Flash Player 8.
Edicin
Flash Professional 8.
Sintaxis
my_FLVPlybk.playheadUpdateInterval
Descripcin
Propiedad; nmero que es la cantidad de tiempo en milisegundos entre cada evento playheadUpdate. Si se establece esta propiedad mientras se est reproduciendo el archivo FLV, se reinicia el temporizador. El valor predeterminado es 250. Dado que los puntos de referencia de ActionScript se inician cuando se actualiza la cabeza lectora, al disminuir el valor de la propiedad playheadUpdateInterval, puede aumentar la precisin de los puntos de referencia de ActionScript. Como el intervalo de actualizacin de la cabeza lectora se establece mediante una llamada a la funcin global setInterval(), la actualizacin no puede activarse con ms frecuencia que la velocidad de fotogramas del archivo SWF, tal y como ocurre con cualquier otro intervalo que se establezca de este modo. As pues, por ejemplo, para una velocidad de fotogramas predeterminada de 12 fotogramas por segundo, el intervalo efectivo ms bajo es aproximadamente 83 milisegundos, o un segundo (1.000 milisegundos) dividido entre 12.
Ejemplo
En el ejemplo siguiente, se establece el valor de la propiedad playheadUpdateInterval en 3000 y se crea un detector que captura instancias del evento playheadUpdate a medida que se producen durante la reproduccin del archivo FLV. Cuando se produce el evento, el controlador de eventos muestra el tiempo de cabeza lectora transcurrido en el panel Salida. Arrastre un componente FLVPlayback al escenario y asgnele el nombre de instancia my_FLVPlybk. Aada el siguiente cdigo al panel Acciones, en el fotograma 1 de la lnea de tiempo:
/** Se requiere: - Componente FLVPlayback en el escenario, con el nombre de instancia my_FLVPlybk */ import mx.video.*; my_FLVPlybk.playheadUpdateInterval = 3000; var listenerObject:Object = new Object();
Clase FLVPlayback
663
listenerObject.playheadUpdate = function(eventObject:Object):Void { trace("playhead time is: " + eventObject.playheadTime); }; my_FLVPlybk.addEventListener("playheadUpdate", listenerObject); my_FLVPlybk.contentPath = "http://www.helpexamples.com/flash/video/ water.flv";
Vase tambin
FLVPlayback.playheadTime, FLVPlayback.playheadUpdate
FLVPlayback.PLAYING
Disponibilidad
Flash Player 8.
Edicin
Flash Professional 8.
Sintaxis
mx.video.FLVPlayback.PLAYING
Descripcin
Propiedad de slo lectura de la clase FLVPlayback que contiene la constante de cadena playing. Puede comparar esta propiedad con la propiedad state para determinar si el componente est en estado de reproduccin.
Ejemplo
En el siguiente ejemplo, se utiliza la propiedad FLVPlayback.PLAYING para comprobar si el estado es playing cuando se produce un evento stateChange. Tambin incluye la constante como parte de un mensaje en el panel Salida. Arrastre un componente FLVPlayback al escenario y asgnele el nombre de instancia my_FLVPlybk. Aada el siguiente cdigo al panel Acciones, en el fotograma 1 de la lnea de tiempo:
/** Se requiere: - Componente FLVPlayback en el escenario, con el nombre de instancia my_FLVPlybk */ import mx.video.*; my_FLVPlybk.contentPath = "http://www.helpexamples.com/flash/video/ water.flv"; var listenerObject:Object = new Object();
664
Componente FLVPlayback
listenerObject.stateChange = function(eventObject:Object):Void { if(eventObject.state == FLVPlayback.PLAYING) trace(my_FLVPlybk.contentPath + " is now " + FLVPlayback.PLAYING); } my_FLVPlybk.addEventListener("stateChange", listenerObject);
Vase tambin
FLVPlayback.state, FLVPlayback.stateChange
FLVPlayback.playing
Disponibilidad
Flash Player 8.
Edicin
Flash Professional 8.
Sintaxis
var :Object = new Object(); listenerObject.playing = function(eventObject:Object):Void { // insertar aqu cdigo de gestin de eventos }; my_FLVplybk.addEventListener("playing", listenerObject);
Descripcin
Evento; se distribuye cuando se pasa al estado de reproduccin. Esto puede no ocurrir inmediatamente despus de que se llame al mtodo play() o se haga clic en el control correspondiente; a menudo, se pasa primero al estado de almacenamiento en bfer y despus al de reproduccin. El objeto de evento tiene las propiedades state, playheadTime y vp, que es el nmero de ndice del reproductor de vdeo al que se aplica este evento. Para ms informacin sobre la propiedad vp, consulte FLVPlayback.activeVideoPlayerIndex en la pgina 582 y FLVPlayback.visibleVideoPlayerIndex en la pgina 727. La instancia de FLVPlayback tambin distribuye el evento stateChange.
Clase FLVPlayback
665
Ejemplo
En el ejemplo siguiente, se muestra el valor de la propiedad contentPath en un rea de texto cuando se produce el evento playing. Arrastre un componente FLVPlayback al escenario y asgnele el nombre de instancia my_FLVPlybk. Arrastre un componente TextArea al escenario, debajo de la instancia de FLVPlayback, y asgnele el nombre de instancia my_ta. Aada el siguiente cdigo el fotograma 1 de la lnea de tiempo, en el panel Acciones:
/** Se requiere: - Componente FLVPlayback en el escenario, con el nombre de instancia my_FLVPlybk */ import mx.video.*; var listenerObject:Object = new Object(); listenerObject.playing = function(eventObject:Object):Void { my_ta.text = "Now playing: " + my_FLVPlybk.contentPath; } my_FLVPlybk.addEventListener("playing", listenerObject); my_FLVPlybk.contentPath = "http://www.helpexamples.com/flash/video/ water.flv";
Vase tambin
FLVPlayback.play(),FLVPlayback.playing, FLVPlayback.state, FLVPlayback.stateChange
666
Componente FLVPlayback
FLVPlayback.playing
Disponibilidad
Flash Player 8.
Edicin
Flash Professional 8.
Sintaxis
my_FLVPlybk.playing
Descripcin
Propiedad; valor booleano. Es true si el archivo FLV est en estado de reproduccin. Slo lectura.
Ejemplo
En el ejemplo siguiente, se detectan instancias del evento stateChange a medida que se producen durante la reproduccin del archivo FLV. Cuando se produce el evento, el ejemplo muestra el valor de la propiedad playing en el panel Salida. Arrastre un componente FLVPlayback al escenario y asgnele el nombre de instancia my_FLVPlybk. Aada el siguiente cdigo al panel Acciones, en el fotograma 1 de la lnea de tiempo:
/** Se requiere: - Componente FLVPlayback en el escenario, con el nombre de instancia my_FLVPlybk */ import mx.video.*; trace(my_FLVPlybk.state + ": playing property is " + my_FLVPlybk.playing); var listenerObject:Object = new Object(); listenerObject.stateChange = function(eventObject:Object):Void { trace(my_FLVPlybk.state + ": playing property is " + my_FLVPlybk.playing); }; my_FLVPlybk.addEventListener("stateChange", listenerObject); my_FLVPlybk.contentPath = "http://www.helpexamples.com/flash/video/ water.flv";
Vase tambin
FLVPlayback.playing, FLVPlayback.state, FLVPlayback.stateChange
Clase FLVPlayback
667
FLVPlayback.playPauseButton
Disponibilidad
Flash Player 8.
Edicin
Flash Professional 8.
Sintaxis
my_FLVPlybk.playPauseButton
Descripcin
Propiedad; objeto MovieClip que es PlayPauseButton. Para ms informacin sobre el uso de componentes de interfaz de usuario personalizados de reproduccin de FLV para controlar la reproduccin, consulte Aplicacin de aspectos a componentes individuales de interfaz de usuario personalizados de reproduccin FLV en la pgina 556.
Ejemplo
En el ejemplo siguiente, se utilizan las propiedades playPauseButton, stopButton, backButton y forwardButton para asociar controles personalizados de interfaz de usuario de FLV individuales a un componente FLVPlayback. Arrastre un componente FLVPlayback al escenario y asgnele el nombre de instancia my_FLVPlybk. A continuacin, aada los siguientes componentes de interfaz de usuario personalizados de FLV individuales y asgneles los nombres de instancia mostrados entre parntesis: BackButton (my_bkbttn), ForwardButton (my_fwdbttn), PlayPauseButton (my_plypausebttn), y StopButton (my_stopbttn). Despus aada las siguientes lneas de cdigo al panel Acciones:
/** Se requiere: - Componente FLVPlayback en el escenario, con el nombre de instancia my_FLVPlybk - Componentes personalizados de interfaz de usuario de FLV PlayPauseButton, StopButton, BackButton y ForwardButton en la Biblioteca */ import mx.video.*; my_FLVPlybk.playPauseButton = my_plypausbttn; my_FLVPlybk.stopButton = my_stopbttn; my_FLVPlybk.backButton = my_bkbttn; my_FLVPlybk.forwardButton = my_fwdbttn; my_FLVPlybk.contentPath = "http://www.helpexamples.com/flash/video/ water.flv";
Vase tambin
FLVPlayback.playButton, FLVPlayback.playPauseButton, FLVPlayback.paused, FLVPlayback.skin
668
Componente FLVPlayback
FLVPlayback.preferredHeight
Disponibilidad
Flash Player 8.
Edicin
Flash Professional 8.
Sintaxis
my_FLVPlybk.preferredHeight
Descripcin
Propiedad; nmero que especifica la altura del archivo FLV de origen. Esta informacin no es vlida inmediatamente despus de llamar a los mtodos play() o load(). Es vlida cuando se inicia el evento ready. Si el valor de las propiedades autoSize o maintainAspectRatio es true, es preferible leer el valor cuando se inicia el evento resize. Slo lectura.
Ejemplo
En el siguiente ejemplo, se establece el tamao de la instancia de FLVPlayback cuando se produce el evento ready. Cuando se produce el evento cuePoint, restablece el tamao especificado por las propiedades preferredHeight y preferredWidth. Arrastre un componente FLVPlayback al escenario y asgnele el nombre de instancia my_FLVPlybk. Aada el siguiente cdigo al panel Acciones, en el fotograma 1 de la lnea de tiempo:
/** Se requiere: - Componente FLVPlayback en el escenario, con el nombre de instancia my_FLVPlybk */ import mx.video.*; var listenerObject:Object = new Object(); listenerObject.resize = function(eventObject:Object):Void { trace("width is: " + my_FLVPlybk.width); trace("height is: " + my_FLVPlybk.height); }; my_FLVPlybk.addEventListener("resize", listenerObject); listenerObject.ready = function(eventObject:Object):Void { my_FLVPlybk.setSize(250, 350); }; my_FLVPlybk.addEventListener("ready", listenerObject); listenerObject.cuePoint = function(eventObject:Object):Void { my_FLVPlybk.setSize(my_FLVPlybk.preferredWidth, my_FLVPlybk.preferredHeight); };
Clase FLVPlayback
669
Vase tambin
FLVPlayback.autoSize, FLVPlayback.height, FLVPlayback.maintainAspectRatio, FLVPlayback.preferredWidth, FLVPlayback.ready, FLVPlayback.setSize(), FLVPlayback.setScale(), FLVPlayback.width
FLVPlayback.preferredWidth
Disponibilidad
Flash Player 8.
Edicin
Flash Professional 8.
Sintaxis
my_FLVPlybk.preferredWidth
Descripcin
Propiedad; especifica la anchura del archivo FLV de origen. Esta informacin no es vlida de forma inmediata despus de llamar a los mtodos play() o load(), sino cuando se inicia el evento ready. Si el valor de las propiedades autoSize o maintainAspectRatio es true, es preferible leer el valor cuando se inicia el evento resize. Slo lectura.
Ejemplo
En el siguiente ejemplo, se establece el tamao de la instancia de FLVPlayback cuando se produce el evento ready. Cuando se produce el evento cuePoint, restablece el tamao especificado por las propiedades preferredHeight y preferredWidth. Arrastre un componente FLVPlayback al escenario y asgnele el nombre de instancia my_FLVPlybk. Aada el siguiente cdigo al panel Acciones, en el fotograma 1 de la lnea de tiempo:
/** Se requiere: - Componente FLVPlayback en el escenario, con el nombre de instancia my_FLVPlybk */ import mx.video.*; var listenerObject:Object = new Object();
670
Componente FLVPlayback
listenerObject.resize = function(eventObject:Object):Void { trace("width is: " + my_FLVPlybk.width); trace("height is: " + my_FLVPlybk.height); }; my_FLVPlybk.addEventListener("resize", listenerObject); listenerObject.ready = function(eventObject:Object):Void { my_FLVPlybk.setSize(250, 350); }; my_FLVPlybk.addEventListener("ready", listenerObject); listenerObject.cuePoint = function(eventObject:Object):Void { my_FLVPlybk.setSize(my_FLVPlybk.preferredWidth, my_FLVPlybk.preferredHeight); }; my_FLVPlybk.addEventListener("cuePoint", listenerObject); my_FLVPlybk.contentPath = "http://www.helpexamples.com/flash/video/ water.flv"; my_FLVPlybk.addASCuePoint(1.5, "AScp1");
Vase tambin
FLVPlayback.autoSize, FLVPlayback.height, FLVPlayback.maintainAspectRatio, FLVPlayback.preferredHeight, FLVPlayback.ready, FLVPlayback.setSize(), FLVPlayback.setScale(), FLVPlayback.width
FLVPlayback.progress
Disponibilidad
Flash Player 8.
Edicin
Flash Professional 8.
Sintaxis
var listenerObject:Object = new Object(); listenerObject.progress = function(eventObject:Object):Void { // insertar aqu cdigo de gestin de eventos }; my_FLVplybk.addEventListener("progress", listenerObject);
Clase FLVPlayback
671
Descripcin
Evento; se distribuye con la frecuencia especificada por la propiedad progressInterval. Empieza cuando se inicia la carga y finaliza cuando se han cargado todos los bytes o hay un error de red. El valor predeterminado es 0,25 segundos. Se distribuye slo para descargas progresivas a travs de HTTP. Indica el progreso en la descarga de bytes. El objeto de evento tiene las propiedades bytesLoaded y bytesTotal, que coinciden con las propiedades de FLVPlayback que tienen los mismos nombres. El evento tiene adems una propiedad vp, que es el nmero de ndice del reproductor de vdeo al que se aplica este evento. Para ms informacin sobre la propiedad vp, consulte FLVPlayback.activeVideoPlayerIndex y FLVPlayback.visibleVideoPlayerIndex.
Ejemplo
En el siguiente ejemplo, se establece la propiedad progressInterval en 001 milisegundos porque el archivo FLV es pequeo y, a continuacin, muestra el nmero de bytes cargados en cada instancia del evento progress. Arrastre un componente FLVPlayback al escenario y asgnele el nombre de instancia my_FLVPlybk. Aada el siguiente cdigo al panel Acciones, en el fotograma 1 de la lnea de tiempo:
/** Se requiere: - Componente FLVPlayback en el escenario, con el nombre de instancia my_FLVPlybk */ import mx.video.*; my_FLVPlybk.progressInterval = 001; my_FLVPlybk.contentPath = "http://www.helpexamples.com/flash/video/ water.flv"; var listenerObject:Object = new Object(); listenerObject.progress = function(eventObject:Object):Void { trace(eventObject.bytesLoaded); } my_FLVPlybk.addEventListener("progress", listenerObject);
Vase tambin
FLVPlayback.activeVideoPlayerIndex, FLVPlayback.addEventListener(), FLVPlayback.bytesLoaded, FLVPlayback.bytesTotal, FLVPlayback.progressInterval, FLVPlayback.visibleVideoPlayerIndex
672
Componente FLVPlayback
FLVPlayback.progressInterval
Disponibilidad
Flash Player 8.
Edicin
Flash Professional 8.
Sintaxis
my_FLVPlybk.progressInterval
Descripcin
Propiedad; nmero que es la cantidad de tiempo en milisegundos entre cada evento progress. Si establece el valor de esta propiedad mientras se est reproduciendo el flujo de vdeo, se reinicia el temporizador. El valor predeterminado es 250.
Ejemplo
En el siguiente ejemplo, se establece la propiedad progressInterval en 001 milisegundos porque el archivo FLV es pequeo y, a continuacin, se muestra el nmero de bytes cargados en cada instancia del evento progress. Arrastre un componente FLVPlayback al escenario y asgnele el nombre de instancia my_FLVPlybk. Aada el siguiente cdigo al panel Acciones, en el fotograma 1 de la lnea de tiempo:
/** Se requiere: - Componente FLVPlayback en el escenario, con el nombre de instancia my_FLVPlybk */ import mx.video.*; my_FLVPlybk.progressInterval = 001; my_FLVPlybk.contentPath = "http://www.helpexamples.com/flash/video/ water.flv"; var listenerObject:Object = new Object(); listenerObject.progress = function(eventObject:Object):Void { trace(eventObject.bytesLoaded); } my_FLVPlybk.addEventListener("progress", listenerObject);
Vase tambin
FLVPlayback.progress
Clase FLVPlayback
673
FLVPlayback.ready
Disponibilidad
Flash Player 8.
Edicin
Flash Professional 8.
Sintaxis
var listenerObject:Object = new Object(); listenerObject.ready = function(eventObject:Object):Void { // insertar aqu cdigo de gestin de eventos }; my_FLVplybk.addEventListener("ready", listenerObject);
Descripcin
Evento; se distribuye cuando el archivo FLV est cargado y preparado para reproducirse. Se inicia la primera vez que se pasa a un estado interactivo despus de cargar un nuevo archivo FLV con el mtodo play() o load(). Slo se inicia una vez por cada archivo FLV que se cargue. El objeto de evento tiene las propiedades state, playheadTime y vp. La propiedad vp es el nmero de ndice del reproductor de vdeo al que se aplica este evento. Para ms informacin sobre la propiedad vp, consulte FLVPlayback.activeVideoPlayerIndex en la pgina 582 y FLVPlayback.visibleVideoPlayerIndex en la pgina 727.
Ejemplo
/** Se requiere: - Componente FLVPlayback en el escenario, con el nombre de instancia my_FLVPlybk - Componente TextArea en el escenario, con el nombre de instancia my_ta */ import mx.video.*; my_ta.visible = false; my_FLVPlybk.autoPlay = false; my_ta.setSize(260, 30); var listenerObject:Object = new Object(); listenerObject.ready = function(eventObject:Object):Void { my_ta.text = "The FLV is ready. Push Play to start playing"; my_ta.visible = true; }; my_FLVPlybk.addEventListener("ready", listenerObject); my_FLVPlybk.contentPath = "http://www.helpexamples.com/flash/video/ water.flv";
Vase tambin
FLVPlayback.activeVideoPlayerIndex, FLVPlayback.addEventListener(), FLVPlayback.state, FLVPlayback.visibleVideoPlayerIndex
674
Componente FLVPlayback
FLVPlayback.removeASCuePoint()
Disponibilidad
Flash Player 8.
Edicin
Flash Professional 8.
Sintaxis
my_FLVplybk.removeASCuePoint(CuePoint:Object):Object my_FLVplybk.removeASCuePoint(time:Number):Object my_FLVplybk.removeASCuePoint(name:String):Object
Parmetros
Objeto de punto de referencia con propiedades time y name correspondientes al punto de referencia que se va a eliminar. El mtodo no comprueba ninguna otra propiedad en el objeto de punto de referencia entrante. Si el valor de time o name es null o undefined, el mtodo slo utilizar la propiedad disponible. Si slo se proporciona el valor de name, el mtodo quita el primer punto de referencia que tenga este nombre.
CuePoint time
Nmero que contiene el tiempo del punto de referencia que se va a eliminar. El mtodo elimina el primer punto de referencia con este tiempo. Cadena que contiene el nombre del punto de referencia que se va a eliminar. El mtodo elimina el primer punto de referencia con este nombre.
name
Valor devuelto
El objeto de punto de referencia que se elimin. Si no hay ningn punto de referencia coincidente, el mtodo devuelve null.
Descripcin
Mtodo; elimina un punto de referencia de ActionScript del archivo FLV cargado actualmente. Slo se usan las propiedades name y time desde el parmetro CuePoint para buscar el punto de referencia que se va a eliminar. Si varios puntos de referencia de ActionScript coinciden con los criterios de bsqueda, slo se quitar uno. Para quitarlos todos, llame a esta funcin repetidamente en un bucle con los mismos parmetros hasta que devuelva null. La informacin de los puntos de referencia se elimina cuando se establece la propiedad contentPath, por lo que para establecer la informacin de los puntos de referencia para el siguiente archivo FLV que se va a cargar, primero debe definir la propiedad contentPath.
Clase FLVPlayback
675
Ejemplo
En el ejemplo siguiente, se aade un punto de referencia de ActionScript al archivo FLV y despus se llama al mtodo removeASCuePoint() para eliminarlo. Muestra el nombre del punto de referencia eliminado en el panel Salida. Arrastre un componente FLVPlayback al escenario y asgnele el nombre de instancia my_FLVPlybk. Aada el siguiente cdigo al panel Acciones, en el fotograma 1 de la lnea de tiempo:
/** Se requiere: - Componente FLVPlayback en el escenario, con el nombre de instancia my_FLVPlybk */ import mx.video.*; my_FLVPlybk.contentPath = "http://www.helpexamples.com/flash/video/ water.flv"; // crear objeto de punto de referencia var cuePt:Object = new Object(); // crear objeto de punto de referencia var rtn_cuePt:Object = new Object(); // crear objeto para valor devuelto cuePt.time = 4.444; cuePt.name = "ripples"; my_FLVPlybk.addASCuePoint(cuePt); //aadir punto de referencia de AS if ((rtn_cuePt = my_FLVPlybk.removeASCuePoint(cuePt)) != null) { trace("Removed cue point: " + rtn_cuePt.name); }
Vase tambin
FLVPlayback.addASCuePoint(), FLVPlayback.findCuePoint(), FLVPlayback.findNearestCuePoint(), FLVPlayback.findNextCuePointWithName()
FLVPlayback.removeEventListener()
Disponibilidad
Flash Player 8.
Edicin
Flash Professional 8.
Sintaxis
my_FLVPlybk.removeEventListener(event:String, listener:Object):Void my_FLVPlybk.removeEventListener(event:String, listener:Function):Void
Parmetros
event
Cadena que especifica el nombre del evento para el cual se elimina un detector. Referencia a un objeto detector o a una funcin que se elimina.
listener
676
Componente FLVPlayback
Valor devuelto
Ninguno.
Descripcin
El siguiente ejemplo elimina el detector de un evento cuePoint cuando se produce el primer punto de referencia. Como consecuencia, slo se detecta el primero de los tres puntos de referencia. Arrastre un componente FLVPlayback al escenario y asgnele el nombre de instancia my_FLVPlybk. Aada el siguiente cdigo al panel Acciones, en el fotograma 1 de la lnea de tiempo:
Usage 1: listener object /** Se requiere: - Componente FLVPlayback en el escenario, con el nombre de instancia my_FLVPlybk */ import mx.video.*; my_FLVPlybk.contentPath = "http://www.helpexamples.com/flash/video/ cuepoints.flv"; var listenerObject:Object = new Object(); // crear un objeto detector listenerObject.cuePoint = function(eventObject:Object):Void { trace("Hit cue point at " + eventObject.info.time); my_FLVPlybk.removeEventListener("cuePoint", listenerObject); }; my_FLVPlybk.addEventListener("cuePoint", listenerObject); Usage 2: listener function /** Se requiere: - Componente FLVPlayback en el escenario, con el nombre de instancia my_FLVPlybk */ import mx.video.*; my_ta.visible = false; my_FLVPlybk.contentPath = "http://www.helpexamples.com/flash/video/ cuepoints.flv"; function cuePoint(eventObject:Object):Void { trace("Hit cue point at " + eventObject.info.time); my_FLVPlybk.removeEventListener("cuePoint", cuePoint); }; my_FLVPlybk.addEventListener("cuePoint", cuePoint);
Vase tambin
FLVPlayback.addEventListener()
Clase FLVPlayback 677
FLVPlayback.resize
Disponibilidad
Flash Player 8.
Edicin
Flash Professional 8.
Sintaxis
var listenerObject:Object = new Object(); listenerObject.resize = function(eventObject:Object):Void { // insertar aqu cdigo de gestin de eventos }; my_FLVplybk.addEventListener("resize", listenerObject);
Descripcin
Evento; se distribuye cuando se cambia el tamao del vdeo. Esto ocurre cuando se establece la propiedad visibleVideoPlayerIndex y se pasa a un reproductor de vdeo con otras dimensiones. El objeto de evento tiene las propiedades auto, x, y, width, height y vp, que es el nmero de ndice del reproductor de vdeo al que se aplica el evento. Para ms informacin sobre la propiedad vp, consulte FLVPlayback.activeVideoPlayerIndex en la pgina 582 y FLVPlayback.visibleVideoPlayerIndex en la pgina 727. La propiedad auto es true cuando el cambio de tamao es automtico porque el valor de la propiedad autoSize o maintainAspectRatio es true. En este caso, es posible que el evento se distribuya para un reproductor de vdeo que no sea el reproductor de vdeo visible. El evento puede distribuirse incuso si las dimensiones no cambian realmente despus de intentar cambiar automticamente el tamao del componente. Cuando el valor de la propiedad auto es false, el evento siempre se aplica al reproductor de vdeo visible. La propiedad vp sigue apareciendo, pero siempre ser igual a la propiedad visibleVideoPlayerIndex. El componente distribuye el evento (con la propiedad auto establecida en false) cuando se establece la propiedad visibleVideoPlayerIndex si se cambia el reproductor de vdeo por uno con distintas dimensiones que las del reproductor visible actualmente.
Ejemplo
En el siguiente ejemplo, se reproducen dos archivos FLV. Aade un punto de referencia de ActionScript al primer archivo FLV y, cuando se produce el evento cuePoint, pasa a un segundo reproductor de vdeo ms pequeo para reproducir el segundo archivo FLV. Cuando establece la propiedad visibleVideoPlayerIndex para el reproductor de vdeo, activa el evento resize, que muestra el tamao y la ubicacin del reproductor de vdeo actual.
678
Componente FLVPlayback
Arrastre un componente FLVPlayback al escenario y asgnele el nombre de instancia my_FLVPlybk. Aada el siguiente cdigo al panel Acciones, en el fotograma 1 de la lnea de tiempo:
/** Se requiere: - Componente FLVPlayback en el escenario, con el nombre de instancia my_FLVPlybk */ import mx.video.*; // desactivar autoSize y maintainAspectRatio my_FLVPlybk.autoSize = false; my_FLVPlybk.maintainAspectRatio = false; // reproducir este archivo FLV my_FLVPlybk.contentPath = "http://www.helpexamples.com/flash/video/ clouds.flv"; // aadir un punto de referencia my_FLVPlybk.addASCuePoint(3, "switch_here"); var listenerObject:Object = new Object();// crear detector listenerObject.cuePoint = function(eventObject:Object):Void { // aadir un segundo reproductor de vdeo my_FLVPlybk.activeVideoPlayerIndex = 1; // reproducir este archivo FLV my_FLVPlybk.contentPath = "http://www.helpexamples.com/flash/video/ water.flv"; // cambiar tamao de este reproductor de vdeo my_FLVPlybk.setSize(240, 180); my_FLVPlybk.visibleVideoPlayerIndex = 1; // hacerlo visible my_FLVPlybk.play(); // reproducir VLV }; // aadir detector de evento cuePoint my_FLVPlybk.addEventListener("cuePoint", listenerObject); listenerObject.resize = function(eventObject:Object):Void { // mostrar ubicacin y dimensiones trace("Video player is #" + my_FLVPlybk.activeVideoPlayerIndex); trace("X coordinate is: " + eventObject.x); trace("Y coordinate is: " + eventObject.y); trace("Width is: " + eventObject.width); trace("Height is: " + eventObject.height); }; // aadir detector de evento resize my_FLVPlybk.addEventListener("resize", listenerObject);
Vase tambin
FLVPlayback.activeVideoPlayerIndex, FLVPlayback.autoSize, FLVPlayback.height, FLVPlayback.maintainAspectRatio, FLVPlayback.preferredHeight, FLVPlayback.preferredWidth, FLVPlayback.setSize(), FLVPlayback.state, FLVPlayback.width, FLVPlayback.x, FLVPlayback.y
Clase FLVPlayback
679
FLVPlayback.rewind
Disponibilidad
Flash Player 8.
Edicin
Flash Professional 8.
Sintaxis
var listenerObject:Object = new Object(); listenerObject.rewind = function(eventObject:Object):Void { // insertar aqu cdigo de gestin de eventos }; my_FLVplybk.addEventListener("rewind", listenerObject);
Descripcin
Evento; se distribuye cuando se mueve hacia atrs la ubicacin de la cabeza lectora mediante una llamada a seek() o cuando finaliza la operacin de rebobinado automtico. El objeto de evento tiene las propiedades auto, state y playheadTime. Si el evento es el resultado de una bsqueda hacia atrs, el valor de la propiedad auto es false. Si es el resultado de una operacin de rebobinado automtico, el valor de la propiedad auto es true. La propiedad playheadTime indica el tiempo del destino. El evento stateChange se distribuye con un estado rewinding cuando se produce una operacin de rebobinado automtico. El evento stateChange no se inicia hasta que se ha completado el rebobinado. El evento seek se distribuye cuando el rebobinado se produce a travs de una bsqueda. La instancia de FLVPlayback tambin distribuye el evento playheadUpdate durante el rebobinado. El evento rewind tiene una propiedad vp, que es el nmero de ndice del reproductor de vdeo al que se aplica este evento. Para ms informacin sobre la propiedad vp, consulte las propiedades FLVPlayback.activeVideoPlayerIndex y FLVPlayback.visibleVideoPlayerIndex.
Ejemplo
En el siguiente ejemplo, se establece la propiedad autoRewind en true y se detecta el evento rewind. Cuando se produce el evento, el controlador de eventos muestra los valores de las propiedades vp, state y playheadTime en el panel Salida.
680
Componente FLVPlayback
Arrastre un componente FLVPlayback al escenario y asgnele el nombre de instancia my_FLVPlybk. Aada el siguiente cdigo al panel Acciones, en el fotograma 1 de la lnea de tiempo:
/** Se requiere: - Componente FLVPlayback en el escenario, con el nombre de instancia my_FLVPlybk */ import mx.video.*; my_FLVPlybk.autoRewind = true; var listenerObject:Object = new Object(); listenerObject.rewind = function(eventObject:Object) { trace("Video player is #" + eventObject.vp); trace("State is: " + eventObject.state); trace("Playhead time is: " + eventObject.playheadTime); }; my_FLVPlybk.addEventListener("rewind", listenerObject); my_FLVPlybk.contentPath = "http://www.helpexamples.com/flash/video/ water.flv";
Vase tambin
FLVPlayback.activeVideoPlayerIndex, FLVPlayback.playheadTime, FLVPlayback.playheadUpdateFLVPlayback.seek(), FLVPlayback.seekPercent(), FLVPlayback.seekSeconds(), FLVPlayback.seekToNavCuePoint(), FLVPlayback.seekToPrevNavCuePoint(), FLVPlayback.state, FLVPlayback.stateChange
FLVPlayback.REWINDING
Disponibilidad
Flash Player 8.
Edicin
Flash Professional 8.
Sintaxis
mx.video.FLVPlayback.REWINDING
Descripcin
Propiedad de slo lectura de la clase FLVPlayback que contiene la constante de cadena rewinding. Puede comparar esta propiedad con la propiedad state para determinar si el componente est en estado de rebobinado.
Clase FLVPlayback
681
Ejemplo
En el siguiente ejemplo, se crea un detector del evento stateChange y se utiliza la propiedad FLVPlayback.REWINDING para determinar si el componente est en estado de rebobinado. Arrastre un componente FLVPlayback al escenario y asgnele el nombre de instancia my_FLVPlybk. Aada el siguiente cdigo al panel Acciones, en el fotograma 1 de la lnea de tiempo:
/** Se requiere: - Componente FLVPlayback en el escenario, con el nombre de instancia my_FLVPlybk */ import mx.video.*; var listenerObject:Object = new Object(); listenerObject.stateChange = function(eventObject:Object):Void { if(eventObject.state == FLVPlayback.REWINDING) trace("The current state is " + FLVPlayback.REWINDING); }; my_FLVPlybk.addEventListener("stateChange", listenerObject); my_FLVPlybk.contentPath = "http://www.helpexamples.com/flash/video/ water.flv";
Vase tambin
FLVPlayback.state, FLVPlayback.stateChange
FLVPlayback.scaleX
Disponibilidad
Flash Player 8.
Edicin
Flash Professional 8.
Sintaxis
my_FLVPlybk.scaleX
Descripcin
682
Componente FLVPlayback
Ejemplo
En el ejemplo siguiente, se establecen las propiedades scaleX (horizontal) y scaleY (vertical) de la instancia de FLVPlyback al 150%. Arrastre un componente FLVPlayback al escenario y asgnele el nombre de instancia my_FLVPlybk. Aada el siguiente cdigo al panel Acciones, en el fotograma 1 de la lnea de tiempo:
/** Se requiere: - Componente FLVPlayback en el escenario, con el nombre de instancia my_FLVPlybk */ import mx.video.*; my_FLVPlybk.scaleX = 150; my_FLVPlybk.scaleY = 150; my_FLVPlybk.contentPath = "http://www.helpexamples.com/flash/video/ water.flv";
Vase tambin
FLVPlayback.setScale(), FLVPlayback.scaleY
FLVPlayback.scaleY
Disponibilidad
Flash Player 8.
Edicin
Flash Professional 8.
Sintaxis
my_FLVPlybk.scaleY
Descripcin
En el ejemplo siguiente, se establece la escala horizontal (scaleX) y la escala vertical (scaleY) de la instancia de FLVPlayback al 150%.
Clase FLVPlayback
683
Arrastre un componente FLVPlayback al escenario y asgnele el nombre de instancia my_FLVPlybk. Aada el siguiente cdigo al panel Acciones, en el fotograma 1 de la lnea de tiempo:
/** Se requiere: - Componente FLVPlayback en el escenario, con el nombre de instancia my_FLVPlybk */ import mx.video.*; my_FLVPlybk.scaleX = 150; my_FLVPlybk.scaleY = 150; my_FLVPlybk.contentPath = "http://www.helpexamples.com/flash/video/ water.flv";
Vase tambin
FLVPlayback.scaleX, FLVPlayback.setScale()
FLVPlayback.scrubbing
Disponibilidad
Flash Player 8.
Edicin
Flash Professional 8.
Sintaxis
my_FLVPlybk.scrubbing
Descripcin
Propiedad; valor booleano. Es true si el usuario se desplaza con SeekBar y es false en caso contrario. Slo lectura. El desplazamiento consiste en agarrar el selector de la barra de bsqueda y arrastrarlo en cualquier direccin para buscar una escena determinada del archivo FLV.
Ejemplo
En el siguiente ejemplo, se muestra el valor de la propiedad scrubbing (desplazamiento) cuando se produce un evento seek. Arrastre un componente FLVPlayback al escenario y asgnele el nombre de instancia my_FLVPlybk. Aada el siguiente cdigo al panel Acciones, en el fotograma 1 de la lnea de tiempo:
N OT A 684
Componente FLVPlayback
/** Se requiere: - Componente FLVPlayback en el escenario, con el nombre de instancia my_FLVPlybk */ import mx.video.*; my_FLVPlybk.contentPath = "http://www.helpexamples.com/flash/video/ water.flv"; var listenerObject:Object = new Object(); listenerObject.seek = function(eventObject:Object):Void { if(my_FLVPlybk.scrubbing) trace("User is scrubbing at: " + eventObject.playheadTime); }; my_FLVPlybk.addEventListener("seek", listenerObject);
Vase tambin
FLVPlayback.seek, FLVPlayback.seekBar, FLVPlayback.scrubFinish, FLVPlayback.scrubStart
FLVPlayback.scrubFinish
Disponibilidad
Flash Player 8.
Edicin
Flash Professional 8.
Sintaxis
var listenerObject:Object = new Object(); listenerObject.scrubFinish = function(eventObject:Object):Void { // insertar aqu cdigo de gestin de eventos }; my_FLVplybk.addEventListener("scrubFinish", listenerObject);
Descripcin
Evento; se distribuye cuando el usuario detiene el desplazamiento en el archivo FLV con SeekBar. El desplazamiento consiste en agarrar el selector de la barra de bsqueda y arrastrarlo en cualquier direccin para buscar una escena determinada del archivo FLV. El desplazamiento se detiene cuando el usuario suelta el selector de SeekBar. El objeto de evento tiene las propiedades state y playheadTime. El estado ser seeking hasta despus de detener el desplazamiento. El componente tambin distribuye el evento stateChange con la propiedad state correspondiente al nuevo estado, que debera ser playing, paused, stopped o buffering.
Clase FLVPlayback 685
Ejemplo
En el siguiente ejemplo, se detecta el evento scrubFinish y muestra el instante en el que se detiene el desplazamiento. Arrastre un componente FLVPlayback al escenario y asgnele el nombre de instancia my_FLVPlybk. Aada el siguiente cdigo al panel Acciones, en el fotograma 1 de la lnea de tiempo:
N OT A 686
/** Requires: - FLVPlayback component on the Stage with an instance name of my_FLVPlybk */ import mx.video.*; my_FLVPlybk.contentPath = "http://www.helpexamples.com/flash/video/ water.flv"; var listenerObject:Object = new Object(); listenerObject.scrubFinish = function(eventObject:Object):Void { trace("Scrubbing stopped at " + eventObject.playheadTime); trace("Current state is " + eventObject.state); }; my_FLVPlybk.addEventListener("scrubFinish", listenerObject);
Vase tambin
FLVPlayback.playheadTime, FLVPlayback.seek, FLVPlayback.seekBar, FLVPlayback.scrubStart, FLVPlayback.state, FLVPlayback.stateChange
FLVPlayback.scrubStart
Disponibilidad
Flash Player 8.
Edicin
Flash Professional 8.
Sintaxis
var listenerObject:Object = new Object(); listenerObject.scrubStart = function(eventObject:Object):Void { // insertar aqu cdigo de gestin de eventos }; my_FLVplybk.addEventListener("scrubStart", listenerObject);
Componente FLVPlayback
Descripcin
Evento; se distribuye cuando el usuario inicia el desplazamiento en el archivo FLV con SeekBar. El desplazamiento consiste en tomar el selector de SeekBar y arrastrarlo en cualquier direccin para buscar una escena determinada del archivo FLV. El desplazamiento se inicia cuando el usuario hace clic en el selector de SeekBar y finaliza cuando lo suelta. El objeto de evento tiene las propiedades state y playheadTime. El componente tambin distribuye el evento stateChange con la propiedad state establecida en seeking. El estado sigue siendo seeking hasta que el usuario detiene el desplazamiento.
Ejemplo
En el siguiente ejemplo, se detecta el evento scrubStart y se muestra el instante en el que se inicia el desplazamiento. Arrastre un componente FLVPlayback al escenario y asgnele el nombre de instancia my_FLVPlybk. Aada el siguiente cdigo al panel Acciones, en el fotograma 1 de la lnea de tiempo:
N OT A
/** Requires: - FLVPlayback component on the Stage with an instance name of my_FLVPlybk */ import mx.video.*; my_FLVPlybk.contentPath = "http://www.helpexamples.com/flash/video/ water.flv"; var listenerObject:Object = new Object(); listenerObject.scrubStart = function(eventObject:Object):Void { trace("Scrubbing began at " + eventObject.playheadTime); }; my_FLVPlybk.addEventListener("scrubStart", listenerObject);
Vase tambin
FLVPlayback.playheadTime, FLVPlayback.scrubbing, FLVPlayback.scrubFinish, FLVPlayback.seekBar, FLVPlayback.state, FLVPlayback.stateChange
Clase FLVPlayback
687
FLVPlayback.seek
Disponibilidad
Flash Player 8.
Edicin
Flash Professional 8.
Sintaxis
var listenerObject:Object = new Object(); listenerObject.seek = function(eventObject:Object):Void { // insertar aqu cdigo de gestin de eventos }; my_FLVplybk.addEventListener("seek", listenerObject);
Descripcin
Evento; se distribuye cuando se cambia la ubicacin de la cabeza lectora al realizar una llamada a seek(), establecer la propiedad playheadTime o utilizar el control seekBar. La propiedad playheadTime indica el tiempo del destino. El objeto de evento tiene las propiedades state, playheadTime y vp, que es el nmero de ndice del reproductor de vdeo al que se aplica el evento. La instancia de FLVPlayback distribuye el evento rewind cuando la bsqueda es hacia atrs y distribuye el evento fastForward cuando la bsqueda es hacia adelante. Tambin distribuye el evento playheadUpdate. Por varias razones, es posible que la propiedad playheadTime no tenga el valor esperado inmediatamente despus de llamar a uno de los mtodos de bsqueda o de establecer playheadTime para provocar la bsqueda. En primer lugar, en una descarga progresiva, slo se puede buscar en un fotograma clave, de forma que la bsqueda devuelve como resultado el tiempo del primer fotograma clave despus del tiempo especificado. (En la transmisin de flujo, una bsqueda siempre devuelve el tiempo exacto especificado aunque el archivo FLV de origen no tenga ningn fotograma clave en tal punto.) En segundo lugar, la bsqueda es asncrona, de forma que si se llama a un mtodo de bsqueda o se establece la propiedad playheadTime, el valor de playheadTime no se actualiza inmediatamente. Para obtener el tiempo despus de completar la bsqueda, detecte el evento seek, que no se inicia hasta que se actualiza la propiedad playheadTime.
688
Componente FLVPlayback
Ejemplo
En el siguiente ejemplo, se busca el punto en el que hayan transcurrido 2 segundos desde el inicio del archivo FLV cuando se produce el evento ready. La funcin seek() activa un evento seek, en cuyo punto el detector muestra playheadTime y el nombre de la instancia de FLVPlayback. Arrastre un componente FLVPlayback al escenario y asgnele el nombre de instancia my_FLVPlybk. Aada el siguiente cdigo al panel Acciones, en el fotograma 1 de la lnea de tiempo:
/** Requires: - FLVPlayback component on the Stage with an instance name of my_FLVPlybk */ import mx.video.*; var listenerObject:Object = new Object(); listenerObject.seek = function(eventObject:Object) { trace("A seek event occurred at " + eventObject.playheadTime); }; my_FLVPlybk.addEventListener("seek", listenerObject); listenerObject.ready = function(eventObject:Object) { my_FLVPlybk.seek(2); }; my_FLVPlybk.addEventListener("ready", listenerObject); my_FLVPlybk.contentPath = "http://www.helpexamples.com/flash/video/ water.flv";
Vase tambin
FLVPlayback.activeVideoPlayerIndex, FLVPlayback.fastForward, FLVPlayback.playheadTime, FLVPlayback.playheadUpdate, FLVPlayback.rewind, FLVPlayback.seek(), FLVPlayback.seekPercent(), FLVPlayback.seekSeconds(), FLVPlayback.seekToNavCuePoint(), FLVPlayback.seekToNextNavCuePoint(), FLVPlayback.seekToPrevNavCuePoint()
Clase FLVPlayback
689
FLVPlayback.seek()
Disponibilidad
Flash Player 8.
Edicin
Flash Professional 8.
Sintaxis
my_FLVplybk.seek(time:Number)
Parmetros
time
Nmero que especifica el tiempo en segundos en que se debe colocar la cabeza lectora.
Valor devuelto
Ninguno.
Descripcin
Mtodo; busca un tiempo especificado en el archivo (en segundos, con una precisin de tres decimales). Por varias razones, es posible que la propiedad playheadTime no tenga el valor esperado inmediatamente despus de llamar a uno de los mtodos de bsqueda o de establecer playheadTime para provocar la bsqueda. En primer lugar, en una descarga progresiva, slo se puede buscar en un fotograma clave, de forma que la bsqueda devuelve como resultado el tiempo del primer fotograma clave despus del tiempo especificado. (En la transmisin de flujo, una bsqueda siempre devuelve el tiempo exacto especificado aunque el archivo FLV de origen no tenga ningn fotograma clave en tal punto.) En segundo lugar, la bsqueda es asncrona, de forma que si se llama a un mtodo de bsqueda o se establece la propiedad playheadTime, el valor de playheadTime no se actualiza inmediatamente. Para obtener el tiempo despus de completar la bsqueda, detecte el evento seek, que no se inicia hasta que se actualiza la propiedad playheadTime.
Ejemplo
En el ejemplo siguiente, se desactiva la reproduccin automtica del archivo FLV, se llama al mtodo seek() para mover la cabeza lectora 3 segundos en el vdeo y se nicia la reproduccin del FLV en ese punto.
690
Componente FLVPlayback
Arrastre un componente FLVPlayback al escenario y asgnele el nombre de instancia my_FLVPlybk. Aada el siguiente cdigo al panel Acciones, en el fotograma 1 de la lnea de tiempo:
/** Requires: - FLVPlayback component on the Stage with an instance name of my_FLVPlybk */ import mx.video.*; my_FLVPlybk.autoPlay = false; my_FLVPlybk.contentPath = "http://www.helpexamples.com/flash/video/ water.flv"; my_FLVPlybk.seek(3); my_FLVPlybk.play();
Vase tambin
FLVPlayback.playheadTime, FLVPlayback.seek, FLVPlayback.seekPercent(), FLVPlayback.seekSeconds()
FLVPlayback.seekBar
Disponibilidad
Flash Player 8.
Edicin
Flash Professional 8.
Sintaxis
my_FLVPlybk.seekBar
Descripcin
Propiedad; objeto MovieClip que es el control de la barra de bsqueda durante la reproduccin. Para ms informacin sobre el uso de componentes de interfaz de usuario personalizados de reproduccin de FLV para controlar la reproduccin, consulte Aplicacin de aspectos a componentes individuales de interfaz de usuario personalizados de reproduccin FLV en la pgina 556.
Ejemplo
En el ejemplo siguiente, se utilizan las propiedades backButton, forwardButton, playButton, pauseButton, stopButton y seekBar para asociar controles personalizados de interfaz de usuario de FLV individuales a un componente FLVPlayback.
Clase FLVPlayback
691
Arrastre un componente FLVPlayback al escenario y asgnele el nombre de instancia my_FLVPlybk. En el inspector de componentes, establezca el parmetro Skin en None. A continuacin, aada los siguientes componentes de interfaz de usuario personalizados de FLV individuales y asgneles los nombres de instancia mostrados entre parntesis: BackButton (my_bkbttn), ForwardButton (my_fwdbttn), PlayPauseButton (my_plypausbttn), StopButton (my_stopbttn) y SeekBar (my_seekBar). Aada las siguientes lneas de cdigo al panel Acciones, en el fotograma 1 de la lnea de tiempo:
/** Requires: - FLVPlayback component on the Stage with an instance name of my_FLVPlybk - FLV Custom UI BackButton, ForwardButton, PlayPauseButton, StopButton and SeekBar components in the Library */ import mx.video.*; my_FLVPlybk.backButton = my_bkbttn; my_FLVPlybk.forwardButton = my_fwdbttn; my_FLVPlybk.playPauseButton = my_plypausbttn; my_FLVPlybk.stopButton = my_stopbttn; my_FLVPlybk.seekBar = my_seekBar; my_FLVPlybk.contentPath = "http://www.helpexamples.com/flash/video/ water.flv";
Vase tambin
FLVPlayback.scrubbing, FLVPlayback.scrubFinish, FLVPlayback.scrubStart, FLVPlayback.seek
FLVPlayback.seekBarInterval
Disponibilidad
Flash Player 8.
Edicin
Flash Professional 8.
Sintaxis
my_FLVPlybk.seekBarInterval
Descripcin
Propiedad; nmero que especifica la frecuencia en milisegundos con que se debe comprobar el selector de la barra de bsqueda durante el desplazamiento. El valor predeterminado es 250.
692
Componente FLVPlayback
Dado que este intervalo se establece mediante una llamada a la funcin global setInterval(), la actualizacin no puede iniciarse con una frecuencia mayor que la velocidad de fotogramas del archivo SWF. As pues, por ejemplo, para una velocidad de fotogramas predeterminada de 12 fotogramas por segundo, el intervalo efectivo ms bajo es aproximadamente 83 milisegundos, o un segundo (1.000 milisegundos) dividido entre 12.
Ejemplo
En el siguiente ejemplo, se reduce el valor de seekBarInterval a 50 milisegundos y se muestra el valor de la propiedad playheadTime, si el usuario lleva a cabo un desplazamiento. Arrastre un componente FLVPlayback al escenario y asgnele el nombre de instancia my_FLVPlybk. Aada el siguiente cdigo al panel Acciones, en el fotograma 1 de la lnea de tiempo:
/** Requires: - FLVPlayback component on the Stage with an instance name of my_FLVPlybk */ import mx.video.*; my_FLVPlybk.contentPath = "http://www.helpexamples.com/flash/video/ water.flv"; var listenerObject:Object = new Object(); listenerObject.seek = function(eventObject:Object):Void { if(my_FLVPlybk.scrubbing) { my_FLVPlybk.seekBarInterval = 50; trace("User is scrubbing at: " + eventObject.playheadTime); } }; my_FLVPlybk.addEventListener("seek", listenerObject);
Vase tambin
FLVPlayback.seekBar, FLVPlayback.seekBarScrubTolerance
FLVPlayback.seekBarScrubTolerance
Disponibilidad
Flash Player 8.
Edicin
Flash Professional 8.
Sintaxis
my_FLVPlybk.seekBarScrubTolerance
Clase FLVPlayback
693
Descripcin
Propiedad; nmero que especifica hasta dnde puede mover un usuario el selector de SeekBar antes de que se produzca una actualizacin. El valor se especifica como un porcentaje (entre 1 y 100). El valor predeterminado es 5.
Ejemplo
En el siguiente ejemplo, se comprueba si el usuario lleva a cabo un desplazamiento cuando se produce un evento seek y, de ser as, se reduce el valor de la propiedad seekBarScrubTolerance a 0 para aumentar la actualizacin de la ubicacin de SeekBar y la frecuencia del evento seek. Arrastre un componente FLVPlayback al escenario y asgnele el nombre de instancia my_FLVPlybk. Aada el siguiente cdigo al panel Acciones, en el fotograma 1 de la lnea de tiempo:
NO TA 694
/** Requires: - FLVPlayback component on the Stage with an instance name of my_FLVPlybk */ import mx.video.*; my_FLVPlybk.contentPath = "http://www.helpexamples.com/flash/video/ water.flv"; var listenerObject:Object = new Object(); listenerObject.seek = function(eventObject:Object):Void { if(my_FLVPlybk.scrubbing) { my_FLVPlybk.seekBarScrubTolerance = 0; trace("User is scrubbing at: " + eventObject.playheadTime); } }; my_FLVPlybk.addEventListener("seek", listenerObject);
Vase tambin
FLVPlayback.scrubbing, FLVPlayback.scrubFinish, FLVPlayback.scrubStart, FLVPlayback.seekBar, FLVPlayback.seekBarInterval
Componente FLVPlayback
FLVPlayback.SEEKING
Disponibilidad
Flash Player 8.
Edicin
Flash Professional 8.
Sintaxis
mx.video.FLVPlayback.SEEKING
Descripcin
Propiedad de slo lectura de la clase FLVPlayback que contiene la constante de cadena seeking. Puede comparar esta propiedad con la propiedad state para determinar si el componente est en estado de bsqueda.
Ejemplo
En el siguiente ejemplo, se utiliza la propiedad FLVPlayback.SEEKING para comprobar si el estado es seeking cuando se produce un evento stateChange. Si es as, se muestra un mensaje donde se indica. Arrastre un componente FLVPlayback al escenario y asgnele el nombre de instancia my_FLVPlybk. Aada el siguiente cdigo al panel Acciones, en el fotograma 1 de la lnea de tiempo:
/** Requires: - FLVPlayback component on the Stage with an instance name of my_FLVPlybk */ import mx.video.*; my_FLVPlybk.contentPath = "http://www.helpexamples.com/flash/video/ water.flv"; var listenerObject:Object = new Object(); listenerObject.stateChange = function(eventObject:Object):Void { if(eventObject.state == FLVPlayback.SEEKING) trace("The current state is " + FLVPlayback.SEEKING); }; my_FLVPlybk.addEventListener("stateChange", listenerObject);
Vase tambin
FLVPlayback.state, FLVPlayback.stateChange
Clase FLVPlayback
695
FLVPlayback.seekPercent()
Disponibilidad
Flash Player 8.
Edicin
Flash Professional 8.
Sintaxis
my_FLVplybk.seekPercent(percent:Number)
Parmetros
percent Nmero que especifica un porcentaje de la duracin del archivo FLV en el que se colocar la cabeza lectora.
Valor devuelto
Ninguno.
Descripcin
Mtodo; busca un punto correspondiente a un porcentaje del archivo y coloca all la cabeza lectora. El porcentaje es un nmero entre 0 y 100. Por varias razones, es posible que la propiedad playheadTime no tenga el valor esperado inmediatamente despus de llamar a uno de los mtodos de bsqueda o de establecer playheadTime para provocar la bsqueda. En primer lugar, en una descarga progresiva, slo se puede buscar en un fotograma clave, de forma que la bsqueda devuelve como resultado el tiempo del primer fotograma clave despus del tiempo especificado. (En la transmisin de flujo, una bsqueda siempre devuelve el tiempo exacto especificado aunque el archivo FLV de origen no tenga ningn fotograma clave en tal punto.) En segundo lugar, la bsqueda es asncrona, de forma que si se llama a un mtodo de bsqueda o se establece la propiedad playheadTime, el valor de playheadTime no se actualiza inmediatamente. Para obtener el tiempo despus de completar la bsqueda, detecte el evento seek, que no se inicia hasta que se actualiza la propiedad playheadTime.
Ejemplo
En el siguiente ejemplo, se desactiva la reproduccin automtica del archivo FLV. Cuando el archivo FLV est listo, establece la cabeza lectora en un punto correspondiente al 30% del tiempo de reproduccin e inicia la reproduccin en ese punto.
696
Componente FLVPlayback
Arrastre un componente FLVPlayback al escenario y asgnele el nombre de instancia my_FLVPlybk. Aada el siguiente cdigo al panel Acciones, en el fotograma 1 de la lnea de tiempo:
/** Requires: - FLVPlayback component on the Stage with an instance name of my_FLVPlybk */ import mx.video.*; my_FLVPlybk.autoPlay = false; my_FLVPlybk.contentPath = "http://www.helpexamples.com/flash/video/ water.flv"; var listenerObject:Object = new Object(); listenerObject.ready = function(eventObject:Object) { my_FLVPlybk.seekPercent(30); my_FLVPlybk.play(); } my_FLVPlybk.addEventListener("ready", listenerObject);
Vase tambin
FLVPlayback.seek, FLVPlayback.seek(), FLVPlayback.seekSeconds()
FLVPlayback.seekSeconds()
Disponibilidad
Flash Player 8.
Edicin
Flash Professional 8.
Sintaxis
my_FLVplybk.seekSeconds(time:Number)
Parmetros
time
Nmero que especifica el tiempo en segundos con respecto al tiempo total de reproduccin en que se debe colocar la cabeza lectora.
Valor devuelto
Ninguno.
Clase FLVPlayback
697
Descripcin
Mtodo; busca un tiempo especificado en el archivo en segundos, con una precisin de hasta tres decimales (milisegundos). Este mtodo realiza la misma operacin que el mtodo seek(); se proporciona por simetra con el mtodo seekPercent(). Por varias razones, es posible que la propiedad playheadTime no tenga el valor esperado inmediatamente despus de llamar a uno de los mtodos de bsqueda o de establecer playheadTime para provocar la bsqueda. En primer lugar, en una descarga progresiva, slo se puede buscar en un fotograma clave, de forma que la bsqueda devuelve como resultado el tiempo del primer fotograma clave despus del tiempo especificado. (En la transmisin de flujo, una bsqueda siempre devuelve el tiempo exacto especificado aunque el archivo FLV de origen no tenga ningn fotograma clave en tal punto.) En segundo lugar, la bsqueda es asncrona, de forma que si se llama a un mtodo de bsqueda o se establece la propiedad playheadTime, el valor de playheadTime no se actualiza inmediatamente. Para obtener el tiempo despus de completar la bsqueda, detecte el evento seek, que no se inicia hasta que se actualiza la propiedad playheadTime.
Ejemplo
En el ejemplo siguiente, se desactiva la reproduccin automtica del archivo FLV, se llama al mtodo seekSeconds() para mover la cabeza lectora 5 segundos en el vdeo y se inicia la reproduccin del FLV en ese punto. Arrastre un componente FLVPlayback al escenario y asgnele el nombre de instancia my_FLVPlybk. Aada el siguiente cdigo al panel Acciones, en el fotograma 1 de la lnea de tiempo:
/** Requires: - FLVPlayback component on the Stage with an instance name of my_FLVPlybk */ import mx.video.*; my_FLVPlybk.autoPlay = false; my_FLVPlybk.contentPath = "http://www.helpexamples.com/flash/video/ water.flv"; var listenerObject:Object = new Object(); listenerObject.ready = function(eventObject:Object) { my_FLVPlybk.seekSeconds(4); my_FLVPlybk.play(); } my_FLVPlybk.addEventListener("ready", listenerObject);
Vase tambin
FLVPlayback.seek, FLVPlayback.seek(), FLVPlayback.seekPercent()
698
Componente FLVPlayback
FLVPlayback.seekToNavCuePoint()
Disponibilidad
Flash Player 8.
Edicin
Flash Professional 8.
Sintaxis
my_FLVplybk.seekToNavCuePoint(time:Number):Void my_FLVplybk.seekToNavCuePoint(name:String):Void my_FLVplybk.seekToNavCuePoint(cuePoint:Object):Void
Parmetros
time
Nmero que indica el tiempo del punto de referencia de navegacin que se va a buscar. El mtodo slo utiliza los primeros tres decimales y redondea los decimales adicionales. Cadena que contiene el nombre del punto de referencia que se va a buscar.
name
Objeto de punto de referencia en el que se establecen las propiedades time y name para especificar el punto de referencia que se va a buscar.
cuePoint
Valor devuelto
Ninguno.
Descripcin
Mtodo; busca un punto de referencia de navegacin que coincida con el tiempo especificado o uno posterior. Si el valor de time es undefined, null o menor que 0, el mtodo inicia la bsqueda en el tiempo equivalente a 0. Si slo se especifica un valor time, el mtodo busca un punto de referencia que coincida con ese tiempo o uno posterior. Si se especifica un nombre, el mtodo busca el primer punto de referencia activado que coincida con dicho nombre. Para ms informacin sobre cmo activar y desactivar puntos de referencia, consulte FLVPlayback.setFLVCuePointEnabled() en la pgina 705.
Clase FLVPlayback
699
Por varias razones, es posible que la propiedad playheadTime no tenga el valor esperado inmediatamente despus de llamar a uno de los mtodos de bsqueda o de establecer playheadTime para provocar la bsqueda. En primer lugar, en una descarga progresiva, slo se puede buscar en un fotograma clave, de forma que la bsqueda devuelve como resultado el tiempo del primer fotograma clave despus del tiempo especificado. (En la transmisin de flujo, una bsqueda siempre devuelve el tiempo exacto especificado aunque el archivo FLV de origen no tenga ningn fotograma clave en tal punto.) En segundo lugar, la bsqueda es asncrona, de forma que si se llama a un mtodo de bsqueda o se establece la propiedad playheadTime, el valor de playheadTime no se actualiza inmediatamente. Para obtener el tiempo despus de completar la bsqueda, detecte el evento seek, que no se inicia hasta que se actualiza la propiedad playheadTime.
Ejemplo
En el siguiente ejemplo, se busca el punto de referencia denominado point2 cuando se produce el evento ready. El controlador de eventos cuePoint muestra los valores de name, time y type para cada punto de referencia que tenga lugar. Arrastre un componente FLVPlayback al escenario y asgnele el nombre de instancia my_FLVPlybk. Aada el siguiente cdigo al panel Acciones, en el fotograma 1 de la lnea de tiempo:
/** Requires: - FLVPlayback component on the Stage with an instance name of my_FLVPlybk */ import mx.video.*; var listenerObject:Object = new Object(); listenerObject.ready = function(eventObject:Object):Void { my_FLVPlybk.seekToNavCuePoint("point2"); } my_FLVPlybk.addEventListener("ready", listenerObject); var listenerObject:Object = new Object(); listenerObject.cuePoint = function(eventObject:Object):Void { trace("Cue point name is: " + eventObject.info.name); trace("Cue point time is: " + eventObject.info.time); trace("Cue point type is: " + eventObject.info.type); } my_FLVPlybk.addEventListener("cuePoint", listenerObject); my_FLVPlybk.contentPath = "http://www.helpexamples.com/flash/video/ cuepoints.flv";
Vase tambin
FLVPlayback.cuePoint, FLVPlayback.seek, FLVPlayback.seek(), FLVPlayback.seekToNextNavCuePoint()
700
Componente FLVPlayback
FLVPlayback.seekToNextNavCuePoint()
Disponibilidad
Flash Player 8.
Edicin
Flash Professional 8.
Sintaxis
my_FLVplybk.seekToNextNavCuePoint([time:Number])
Parmetros
time
Nmero que es el tiempo de inicio (en segundos) desde el que se buscar el siguiente punto de referencia de navegacin. El valor predeterminado es la propiedad playheadTime actual. Opcional.
Valor devuelto
Ninguno.
Descripcin
Mtodo; busca el siguiente punto de referencia de navegacin, en funcin del valor actual de la propiedad playheadTime. El mtodo salta los puntos de referencia de navegacin que se hayan desactivado y pasa al final del archivo FLV si no hay ningn otro punto de referencia. Por varias razones, es posible que la propiedad playheadTime no tenga el valor esperado inmediatamente despus de llamar a uno de los mtodos de bsqueda o de establecer playheadTime para provocar la bsqueda. En primer lugar, en una descarga progresiva, slo se puede buscar en un fotograma clave, de forma que la bsqueda devuelve como resultado el tiempo del primer fotograma clave despus del tiempo especificado. (En la transmisin de flujo, una bsqueda siempre devuelve el tiempo exacto especificado aunque el archivo FLV de origen no tenga ningn fotograma clave en tal punto.) En segundo lugar, la bsqueda es asncrona, de forma que si se llama a un mtodo de bsqueda o se establece la propiedad playheadTime, el valor de playheadTime no se actualiza inmediatamente. Para obtener el tiempo despus de completar la bsqueda, detecte el evento seek, que no se inicia hasta que se actualiza la propiedad playheadTime.
Clase FLVPlayback
701
Ejemplo
En el siguiente ejemplo, se busca el siguiente punto de referencia de navegacin cuando se produce el punto de referencia denominado point2. Como consecuencia, se salta esa parte del archivo FLV entre los puntos de referencia point2 y point3. Arrastre un componente FLVPlayback al escenario y asgnele el nombre de instancia my_FLVPlybk. Aada el siguiente cdigo al panel Acciones, en el fotograma 1 de la lnea de tiempo:
/** Requires: - FLVPlayback component on the Stage with an instance name of my_FLVPlybk */ import mx.video.*; var listenerObject:Object = new Object(); listenerObject.cuePoint = function(eventObject:Object) { if(eventObject.info.name == "point2") my_FLVPlybk.seekToNextNavCuePoint(eventObject.info.time); } my_FLVPlybk.addEventListener("cuePoint", listenerObject); my_FLVPlybk.contentPath = "http://www.helpexamples.com/flash/video/ cuepoints.flv";
Vase tambin
FLVPlayback.cuePoint, FLVPlayback.findCuePoint(), FLVPlayback.playheadTime, FLVPlayback.seekToNavCuePoint(), FLVPlayback.seekToPrevNavCuePoint(), FLVPlayback.isFLVCuePointEnabled(), FLVPlayback.setFLVCuePointEnabled()
FLVPlayback.seekToPrevNavCuePoint()
Disponibilidad
Flash Player 8.
Edicin
Flash Professional 8.
Sintaxis
my_FLVplybk.seekToPrevNavCuePoint([time:Number])
Parmetros
Nmero que es el tiempo de inicio (en segundos) desde el que se buscar el anterior punto de referencia de navegacin. El valor predeterminado es el valor actual de la propiedad playheadTime. Opcional.
time
Valor devuelto
Ninguno.
702 Componente FLVPlayback
Descripcin
Mtodo; busca el anterior punto de referencia de navegacin, en funcin del valor actual de la propiedad playheadTime. Va al principio si no hay un punto de referencia anterior. Este mtodo salta los puntos de referencia de navegacin que hayan sido desactivados. Por varias razones, es posible que la propiedad playheadTime no tenga el valor esperado inmediatamente despus de llamar a uno de los mtodos de bsqueda o de establecer playheadTime para provocar la bsqueda. En primer lugar, en una descarga progresiva, slo se puede buscar en un fotograma clave, de forma que la bsqueda devuelve como resultado el tiempo del primer fotograma clave despus del tiempo especificado. (En la transmisin de flujo, una bsqueda siempre devuelve el tiempo exacto especificado aunque el archivo FLV de origen no tenga ningn fotograma clave en tal punto.) En segundo lugar, la bsqueda es asncrona, de forma que si se llama a un mtodo de bsqueda o se establece la propiedad playheadTime, el valor de playheadTime no se actualiza inmediatamente. Para obtener el tiempo despus de completar la bsqueda, detecte el evento seek, que no se inicia hasta que se actualiza la propiedad playheadTime.
Ejemplo
En el siguiente ejemplo, se busca el punto de referencia de navegacin anterior cuando se produce el punto de referencia point2 y se crea un bucle para reproducir el archivo FLV. Arrastre un componente FLVPlayback al escenario y asgnele el nombre de instancia my_FLVPlybk. Aada el siguiente cdigo al panel Acciones, en el fotograma 1 de la lnea de tiempo:
/** Requires: - FLVPlayback component on the Stage with an instance name of my_FLVPlybk */ import mx.video.*; my_FLVPlybk.contentPath = "http://www.helpexamples.com/flash/video/ cuepoints.flv"; var listenerObject:Object = new Object(); listenerObject.cuePoint = function(eventObject:Object) { if(eventObject.info.name == "point2") my_FLVPlybk.seekToPrevNavCuePoint(eventObject.info.time); } my_FLVPlybk.addEventListener("cuePoint", listenerObject);
Vase tambin
FLVPlayback.cuePoint, FLVPlayback.findCuePoint(), FLVPlayback.playheadTime, FLVPlayback.seekToNavCuePoint(), FLVPlayback.seekToPrevNavCuePoint(), FLVPlayback.isFLVCuePointEnabled(), FLVPlayback.setFLVCuePointEnabled()
Clase FLVPlayback
703
FLVPlayback.seekToPrevOffset
Disponibilidad
Flash Player 8.
Edicin
Flash Professional 8.
Sintaxis
my_FLVPlybk.seekToPrevOffset
Descripcin
Propiedad; nmero (de segundos) que utiliza el mtodo seekToPrevNavCuePoint() cuando compara su tiempo con el del punto de referencia anterior. El mtodo utiliza este valor para garantizar que, si est justo a continuacin de un punto de referencia, puede saltar al anterior sin tener que ir al mismo punto de referencia que acaba de producirse. El valor predeterminado es un segundo.
Ejemplo
En el siguiente ejemplo, se establece inicialmente la propiedad seekToPrevOffset en 10, de modo que la primera llamada al mtodo seekToPrevNavCuePoint() se dirija al punto de referencia denominado point1. Sin embargo, cuando se produce el evento cuePoint inicial de point3, el ejemplo reduce el valor de la propiedad seekToPrevOffset a 1 segundo, de modo que las llamadas posteriores al mtodo seekToPrevNavCuePoint() se dirigen al punto de referencia denominado point2. Arrastre un componente FLVPlayback al escenario y asgnele el nombre de instancia my_FLVPlybk. Aada el siguiente cdigo al panel Acciones, en el fotograma 1 de la lnea de tiempo:
/** Requires: - FLVPlayback component on the Stage with an instance name of my_FLVPlybk */ import mx.video.*; my_FLVPlybk.contentPath = "http://www.helpexamples.com/flash/video/ cuepoints.flv"; var listenerObject:Object = new Object(); listenerObject.ready = function(eventObject:Object) { my_FLVPlybk.seekToPrevOffset = 10; my_FLVPlybk.seekToNavCuePoint("point3"); } my_FLVPlybk.addEventListener("ready", listenerObject) var listenerObject:Object = new Object();
704
Componente FLVPlayback
listenerObject.cuePoint = function(eventObject:Object) { trace("hit cue point at " + eventObject.info.time); if(eventObject.info.name == "point3"){ my_FLVPlybk.seekToPrevNavCuePoint(eventObject.info.time); my_FLVPlybk.seekToPrevOffset = 1; } } my_FLVPlybk.addEventListener("cuePoint", listenerObject)
Vase tambin
FLVPlayback.seekToPrevNavCuePoint()
FLVPlayback.setFLVCuePointEnabled()
Disponibilidad
Flash Player 8.
Edicin
Flash Professional 8.
Sintaxis
my_FLVplybk.setFLVCuePointEnabled(enabled:Boolean, time:Number) my_FLVplybk.setFLVCuePointEnabled(enabled:Boolean, name:String) my_FLVplybk.setFLVCuePointEnabled(enabled:Boolean, cuePoint:Object)
Parmetros
Valor booleano que especifica si se debe activar (true) o desactivar (false) un punto de referencia del archivo FLV.
enabled time
Nmero que representa el tiempo (en segundos) del punto de referencia que se va a establecer. Nombre del punto de referencia que se va a establecer. Objeto de punto de referencia con las propiedades name y time correspondientes al punto de referencia que se va a establecer. El mtodo no comprueba ninguna otra propiedad en el objeto de punto de referencia entrante. Si el valor de time o name no est definido, el mtodo intenta buscar un punto de referencia utilizando nicamente el valor disponible.
name
cuePoint
Clase FLVPlayback
705
Valor devuelto
Un nmero. Si el valor de metadataLoaded es true, el mtodo devuelve el nmero de puntos de referencia cuyo estado de activacin ha cambiado. Si metadataLoaded es false, el mtodo devuelve -1 porque el componente no puede determinar todava los puntos de referencia que se van a establecer, si es que hay alguno. Sin embargo, cuando se reciben los metadatos, el componente establece los puntos de referencia especificados de la forma correspondiente.
Descripcin
Mtodo; activa o desactiva uno o ms puntos de referencia de archivos FLV. Los puntos de referencia desactivados se desactivan para distribuirlos como eventos y para navegar hasta ellos con los mtodos seekToPrevNavCuePoint(), seekToNextNavCuePoint() y seekToNavCuePoint(). La informacin de punto de referencia se elimina cuando se establece la propiedad contentPath en un archivo FLV distinto. As pues, establezca la propiedad contentPath antes de establecer la informacin de punto de referencia para el siguiente archivo FLV que se va a cargar.
isFLVCuePointEnabled()
Los cambios provocados por esta funcin no se reflejan mediante llamadas al mtodo hasta que se cargan los metadatos.
Ejemplo
En el siguiente ejemplo, se desactivan los puntos de referencia point2 y point3 cuando se produce el evento ready. El controlador de eventos cuePoint muestra en el panel Salida el nombre y el tiempo de cada punto de referencia que se produce. El archivo FLV contiene los siguientes puntos de referencia incorporados: point1 en 00:00:00:418; point2 en 00:00:07.748; point3 en 00:00:16:020. Arrastre un componente FLVPlayback al escenario y asgnele el nombre de instancia my_FLVPlybk. Aada el siguiente cdigo al panel Acciones, en el fotograma 1 de la lnea de tiempo:
/** Requires: - FLVPlayback component on the Stage with an instance name of my_FLVPlybk */ import mx.video.*; function ready(eventObject:Object) { my_FLVPlybk.setFLVCuePointEnabled(false, "point2"); my_FLVPlybk.setFLVCuePointEnabled(false, 16.02); } my_FLVPlybk.addEventListener("ready", ready); function cuePoint(eventObject:Object) { trace("Cue point name is: " + eventObject.info.name); trace("Cue point time is: " + eventObject.info.time); }
706
Componente FLVPlayback
Vase tambin
FLVPlayback.cuePoint, FLVPlayback.findCuePoint(), FLVPlayback.findNearestCuePoint(), FLVPlayback.findNextCuePointWithName(), FLVPlayback.isFLVCuePointEnabled(), FLVPlayback.seekToNavCuePoint(), FLVPlayback.seekToNextNavCuePoint(), FLVPlayback.seekToPrevNavCuePoint()
FLVPlayback.setScale()
Disponibilidad
Flash Player 8.
Edicin
Flash Professional 8.
Sintaxis
my_FLVplybk.setScale(xs:Number, ys:Number)
Parmetros
xs ys
Nmero que representa la escala horizontal. Nmero que representa la escala vertical.
Valor devuelto
Ninguno.
Descripcin
Mtodo; establece simultneamente los valores de las propiedades scaleX y scaleY. Si se establecen por separado los valores de las propiedades scaleX y scaleY podra producirse un cambio automtico de tamao, por lo que resulta ms eficaz establecer los valores simultneamente. Si el valor de autoSize es true, este mtodo no produce ningn efecto, ya que el reproductor establece sus propias dimensiones. Si el valor de la propiedad maintainAspectRatio es true y el valor de autoSize es false, al cambiar los valores de scaleX o scaleY se provoca un cambio de tamao automtico.
Clase FLVPlayback
707
Ejemplo
En el ejemplo siguiente, se llama al mtodo setScale() para ajustar la escala de las dimensiones horizontal (x) y vertical (y) de la instancia de FLVPlayback. El ejemplo establece el valor de la propiedad maintainAspectRatio en false para evitar el cambio automtico de tamao y permitir utilizar la escala especificada. Arrastre un componente FLVPlayback al escenario y asgnele el nombre de instancia my_FLVPlybk. Aada el siguiente cdigo al panel Acciones, en el fotograma 1 de la lnea de tiempo:
/** Requires: - FLVPlayback component on the Stage with an instance name of my_FLVPlybk */ import mx.video.*; my_FLVPlybk.maintainAspectRatio = false; my_FLVPlybk.setScale(200, 175); my_FLVPlybk.contentPath = "http://www.helpexamples.com/flash/video/ water.flv";
Vase tambin
FLVPlayback.scaleX, FLVPlayback.scaleY, FLVPlayback.setSize()
FLVPlayback.setSize()
Disponibilidad
Flash Player 8.
Edicin
Flash Professional 8.
Sintaxis
my_FLVplybk.setSize(w:Number, h:Number)
Parmetros
w h
Nmero que especifica la anchura del reproductor de vdeo. Nmero que especifica la altura del reproductor de vdeo.
Valor devuelto
Ninguno.
708
Componente FLVPlayback
Descripcin
Mtodo; establece simultneamente la altura y la anchura. Si se establecen por separado los valores de las propiedades width y height podra producirse un cambio automtico de tamao, por lo que resulta ms eficaz establecer los valores simultneamente. Si el valor de autoSize es true, este mtodo no produce ningn efecto, ya que el reproductor establece sus propias dimensiones. Si el valor de la propiedad maintainAspectRatio es true y el valor de autoSize es false, al cambiar los valores de anchura o altura se provoca un cambio de tamao automtico.
Ejemplo
En el ejemplo siguiente, se llama al mtodo setSize() para establecer el tamao de la instancia de FLVPlayback a una anchura de 150 pxeles y una altura de 150 pxeles. El controlador de eventos resize muestra la anchura y altura reales porque el valor predeterminado de la propiedad maintainAspectRatio es true, de modo que se mantiene la proporcin al cambiar automticamente el tamao. Arrastre el componente FLVPlayback al escenario y asgnele el nombre de instancia my_FLVPlybk. Aada el siguiente cdigo al panel Acciones, en el fotograma 1 de la lnea de tiempo:
/** Requires: - FLVPlayback component on the Stage with an instance name of my_FLVPlybkh */ import mx.video.*; // el valor predeterminado de maintainAspectRatio es true; las dimensiones // lo reflejarn my_FLVPlybk.setSize(150, 150); var listenerObject:Object = new Object(); listenerObject.resize = function(eventObject:Object):Void { trace("Player's width is: " + my_FLVPlybk.width) trace("Player's height is: " + my_FLVPlybk.height) }; my_FLVPlybk.addEventListener("resize", listenerObject); my_FLVPlybk.contentPath = "http://www.helpexamples.com/flash/video/ water.flv";
Vase tambin
FLVPlayback.height, FLVPlayback.width, FLVPlayback.setScale()
Clase FLVPlayback
709
FLVPlayback.skin
Disponibilidad
Flash Player 8.
Edicin
Flash Professional 8.
Sintaxis
my_FLVPlybk.skin
Descripcin
Propiedad; cadena que especifica la URL de un archivo SWF de aspecto. Esta cadena puede contener un nombre de archivo, una ruta relativa, como FLVPlayback Skins/ActionScript 2.0/ my_Skin.swf, o una URL absoluta, como http://www.myskins.org/MySkin.swf.
Ejemplo
En el ejemplo siguiente, se aplica el aspecto ArcticExternal.swf a una instancia del componente FLVPlayback. Arrastre un componente FLVPlayback al escenario y asgnele el nombre de instancia my_FLVPlybk. Copie el archivo ArcticExternalAll.swf de la carpeta Configuration/ FLVPlayback Skins/ActionScript 2.0 de Flash CS3 a su carpeta de trabajo. Aada el siguiente cdigo al panel Acciones, en el fotograma 1 de la lnea de tiempo:
/** Requires: - FLVPlayback component on the Stage with an instance name of my_FLVPlybkh */ import mx.video.*; my_FLVPlybk.skin = "ArcticExternalAll.swf"; my_FLVPlybk.contentPath = "http://www.helpexamples.com/flash/video/ water.flv";
Vase tambin
FLVPlayback.bufferingBarHidesAndDisablesOthers, FLVPlayback.skinAutoHide, FLVPlayback.skinError, FLVPlayback.skinLoaded
710
Componente FLVPlayback
FLVPlayback.skinAutoHide
Disponibilidad
Flash Player 8.
Edicin
Flash Professional 8.
Sintaxis
my_FLVplybk.skinAutoHide
Descripcin
Propiedad; valor booleano. Si es true, oculta el aspecto del componente cuando el ratn no est sobre el vdeo. Esta propiedad slo afecta a los aspectos que se cargan al establecer la propiedad skin y no a un aspecto que cree desde los componentes de interfaz de usuario personalizados de reproduccin de FLV. El valor predeterminado es false.
Ejemplo
En el siguiente ejemplo, se establece la propiedad skinAutoHide en true, de modo que el aspecto del componente, que incluye los controles de reproduccin, no aparezca a menos que el puntero del ratn se desplace sobre el vdeo. Arrastre un componente FLVPlayback al escenario y asgnele el nombre de instancia my_FLVPlybk. Seleccione un aspecto en el inspector de componentes. Aada el siguiente cdigo al panel Acciones, en el fotograma 1 de la lnea de tiempo:
/** Requires: - FLVPlayback component on the Stage with an instance name of my_FLVPlybkh */ import mx.video.*; my_FLVPlybk.skinAutoHide = true; my_FLVPlybk.contentPath = "http://www.helpexamples.com/flash/video/ water.flv";
Vase tambin
FLVPlayback.bufferingBarHidesAndDisablesOthers, FLVPlayback.skin
Clase FLVPlayback
711
FLVPlayback.skinError
Disponibilidad
Flash Player 8.
Edicin
Flash Professional 8.
Sintaxis
var listenerObject:Object = new Object(); listenerObject.skinError = function(eventObject:Object):Void { // insertar aqu cdigo de gestin de eventos }; my_FLVplybk.addEventListener("skinError", listenerObject);
Descripcin
Evento; se distribuye cuando se produce un error al cargar un archivo SWF de aspecto. El evento tiene una propiedad message que contiene el mensaje de error.
Ejemplo
En el siguiente ejemplo, se intenta cargar la propiedad skin con el nombre de un archivo de aspecto ficticio y se muestra el contenido de la propiedad message del evento cuando se produce el evento skinError. Arrastre un componente FLVPlayback al escenario y asgnele el nombre de instancia my_FLVPlybk. A continuacin, aada el siguiente cdigo al fotograma 1 de la lnea de tiempo:
/** Requires: - FLVPlayback component on the Stage with an instance name of my_FLVPlybkh */ import mx.video.*; var listenerObject:Object = new Object(); listenerObject.skinError = function(eventObject:Object):Void { trace(eventObject.message); } my_FLVPlybk.addEventListener("skinError", listenerObject); my_FLVPlybk.contentPath = "http://www.helpexamples.com/flash/video/ cuepoints.flv"; my_FLVPlybk.skin = "NoSuchSkin.swf";
Vase tambin
FLVPlayback.skin, FLVPlayback.skinLoaded
712
Componente FLVPlayback
FLVPlayback.skinLoaded
Disponibilidad
Flash Player 8.
Edicin
Flash Professional 8.
Sintaxis
var listenerObject:Object = new Object(); listenerObject.skinLoaded = function(eventObject:Object):Void { // insertar aqu cdigo de gestin de eventos }; my_FLVplybk.addEventListener("skinLoaded", listenerObject);
Descripcin
Evento; se distribuye cuando se carga un archivo SWF de aspecto. El componente no inicia la reproduccin de un archivo FLV hasta que se han iniciado los eventos ready y skinLoaded (o skinError).
Ejemplo
En el siguiente ejemplo, se muestra el nombre del aspecto del componente cuando se inicia el evento skinLoaded. Arrastre un componente FLVPlayback al escenario y asgnele el nombre de instancia my_FLVPlybk. A continuacin, aada el siguiente cdigo al fotograma 1 de la lnea de tiempo:
/** Requires: - FLVPlayback component on the Stage with an instance name of my_FLVPlybkh */ import mx.video.*; var listenerObject:Object = new Object(); listenerObject.skinLoaded = function(eventObject:Object):Void { trace("Skin: " + eventObject.target.skin + " has loaded"); }; my_FLVPlybk.addEventListener("skinLoaded", listenerObject); my_FLVPlybk.contentPath = "http://www.helpexamples.com/flash/video/ cuepoints.flv";
Vase tambin
FLVPlayback.addEventListener(), FLVPlayback.skin, FLVPlayback.skinError
Clase FLVPlayback
713
FLVPlayback.state
Disponibilidad
Flash Player 8.
Edicin
Flash Professional 8.
Sintaxis
my_FLVPlybk.state
Descripcin
Propiedad; cadena que especifica el estado del componente. Esta propiedad se establece con los mtodos load(), play(), stop(), pause() y seek(). Slo lectura. Los valores posibles de la propiedad state son: buffering, connectionError, disconnected, loading, paused, playing, rewinding, seeking y stopped. Puede utilizar las propiedades de la clase FLVPlayback para probar estos estados. Para ms informacin, consulte Propiedades de la clase FLVPlayback en la pgina 573.
Ejemplo
En el siguiente ejemplo, se muestra la propiedad state en el panel Salida cada vez que se produce el evento stateChange durante la reproduccin del archivo. Arrastre un componente FLVPlayback al escenario y asgnele el nombre de instancia my_FLVPlybk. Aada el siguiente cdigo al panel Acciones, en el fotograma 1 de la lnea de tiempo:
/** Requires: - FLVPlayback component on the Stage with an instance name of my_FLVPlybk */ import mx.video.*; var listenerObject:Object = new Object(); listenerObject.stateChange = function(eventObject:Object):Void { trace(my_FLVPlybk.state); }; my_FLVPlybk.addEventListener("stateChange", listenerObject); my_FLVPlybk.contentPath = "http://www.helpexamples.com/flash/video/ water.flv";
Vase tambin
FLVPlayback.addEventListener(), FLVPlayback.buffering, FLVPlayback.paused, FLVPlayback.playing, FLVPlayback.stateChange, FLVPlayback.stopped
714
Componente FLVPlayback
FLVPlayback.stateChange
Disponibilidad
Flash Player 8.
Edicin
Flash Professional 8.
Sintaxis
var listenerObject:Object = new Object(); listenerObject.stateChange = function(eventObject:Object):Void { // insertar aqu cdigo de gestin de eventos }; my_FLVplybk.addEventListener("stateChange", listenerObject);
Descripcin
Evento; se distribuye cuando cambia el estado de reproduccin. El objeto de evento tiene las propiedades state y playheadTime. Se puede utilizar este evento para hacer un seguimiento cuando la reproduccin pasa a (o deja de estar en) un estado no interactivo (por ejemplo, durante una conexin, al cambiar de tamao o al rebobinar) en los que los mtodos play(), pause(), stop() y seek() colocarn en cola las peticiones que se deben ejecutar cuando el reproductor pase a un estado interactivo. El evento tiene una propiedad vp, que es el nmero de ndice del reproductor de vdeo al que se aplica este evento. Para ms informacin sobre la propiedad vp, consulte FLVPlayback.activeVideoPlayerIndex en la pgina 582 y FLVPlayback.visibleVideoPlayerIndex en la pgina 727.
Ejemplo
En el siguiente ejemplo, se muestra la propiedad state en el panel Salida cada vez que se produce el evento stateChange durante la reproduccin del archivo.
Clase FLVPlayback
715
Arrastre un componente FLVPlayback al escenario y asgnele el nombre de instancia my_FLVPlybk. Aada el siguiente cdigo al panel Acciones, en el fotograma 1 de la lnea de tiempo:
/** Requires: - FLVPlayback component on the Stage with an instance name of my_FLVPlybk */ import mx.video.*; var listenerObject:Object = new Object(); listenerObject.stateChange = function(eventObject:Object):Void { trace(my_FLVPlybk.state); }; my_FLVPlybk.addEventListener("stateChange", listenerObject); my_FLVPlybk.contentPath = "http://www.helpexamples.com/flash/video/ water.flv";
Vase tambin
FLVPlayback.addEventListener(), FLVPlayback.state
FLVPlayback.stateResponsive
Disponibilidad
Flash Player 8.
Edicin
Flash Professional 8.
Sintaxis
my_FLVPlybk.stateResponsive
Descripcin
Propiedad; valor booleano. Es true si el estado es interactivo. Si el estado no es interactivo, las llamadas a los mtodos play(), load(), stop(), pause() y seek() se colocarn en cola y se ejecutarn ms tarde, cuando se pase a un estado interactivo. Dado que las llamadas se colocan en cola y se ejecutan ms tarde, normalmente no es necesario realizar un seguimiento del valor de la propiedad stateResponsive. Los estados interactivos son: disconnected, stopped, playing, paused y buffering. Slo lectura.
716
Componente FLVPlayback
Ejemplo
En el siguiente ejemplo,se muestran los valores de las propiedades state y stateResponsive cuando el estado cambia durante la reproduccin del archivo FLV. Arrastre un componente FLVPlayback al escenario y asgnele el nombre de instancia my_FLVPlybk. Aada el siguiente cdigo al panel Acciones, en el fotograma 1 de la lnea de tiempo:
/** Requires: - FLVPlayback component on the Stage with an instance name of my_FLVPlybk */ import mx.video.*; var listenerObject:Object = new Object(); listenerObject.stateChange = function(eventObject:Object):Void { trace(my_FLVPlybk.state + "; responsive: " + my_FLVPlybk.stateResponsive); }; my_FLVPlybk.addEventListener("stateChange", listenerObject); my_FLVPlybk.contentPath = "http://www.helpexamples.com/flash/video/ water.flv";
Vase tambin
FLVPlayback.state, FLVPlayback.stateChange
FLVPlayback.stop()
Disponibilidad
Flash Player 8.
Edicin
Flash Professional 8.
Sintaxis
my_FLVPlybk.stop()
Parmetros
Ninguno.
Valor devuelto
Ninguno.
Clase FLVPlayback
717
Descripcin
Mtodo; detiene la reproduccin del vdeo. Si el valor de la propiedad autoRewind es true, el archivo FLV se rebobina hasta el principio.
Ejemplo
En el ejemplo siguiente, se detecta el evento playheadUpdate y cuando el valor de playheadTime transcurrido es igual o mayor que 5 segundos, el detector llama al mtodo stop() para detener la reproduccin del archivo FLV. Un segundo detector detecta el evento stopped y muestra los valores de las propiedades playheadTime y state. Arrastre un componente FLVPlayback al escenario y asgnele el nombre de instancia my_FLVPlybk. Aada el siguiente cdigo al panel Acciones, en el fotograma 1 de la lnea de tiempo:
/** Requires: - FLVPlayback component on the Stage with an instance name of my_FLVPlybk */ import mx.video.*; my_FLVPlybk.autoRewind = false; var listenerObject:Object = new Object(); listenerObject.stopped = function(eventObject:Object):Void { trace("playhead time is: " + eventObject.playheadTime); trace("The video player state is: " + eventObject.state); }; my_FLVPlybk.addEventListener("stopped", listenerObject); listenerObject.playheadUpdate = function(eventObject:Object):Void { if (eventObject.playheadTime >= 5) { my_FLVPlybk.stop(); } }; my_FLVPlybk.addEventListener("playheadUpdate", listenerObject); my_FLVPlybk.contentPath ="http://www.helpexamples.com/flash/video/ water.flv";
Vase tambin
FLVPlayback.pause(), FLVPlayback.play()
718
Componente FLVPlayback
FLVPlayback.stopButton
Disponibilidad
Flash Player 8.
Edicin
Flash Professional 8.
Sintaxis
my_FLVPlybk.stopButton
Descripcin
Propiedad; objeto MovieClip que es el control del botn de parada. Para ms informacin sobre el uso de componentes de interfaz de usuario personalizados de reproduccin de FLV para controlar la reproduccin, consulte Aplicacin de aspectos a componentes individuales de interfaz de usuario personalizados de reproduccin FLV en la pgina 556.
Ejemplo
En el ejemplo siguiente, se utilizan las propiedades backButton, forwardButton, playButton, pauseButton y stopButton para asociar controles individuales de interfaz de usuario personalizados de reproduccin FLV a un componente FLVPlayback. Arrastre un componente FLVPlayback al escenario y asgnele el nombre de instancia my_FLVPlybk. En el inspector de componentes, establezca el parmetro Skin en None. A continuacin, aada los siguientes componentes de interfaz de usuario personalizados de reproduccin FLV individuales y asgneles los nombres de instancia mostrados entre parntesis: BackButton (my_bkbttn), ForwardButton (my_fwdbttn), PlayButton (my_plybttn), PauseButton (my_pausbttn), y StopButton (my_stopbttn). Despus aada las siguientes lneas de cdigo al panel Acciones:
/** Requires: - FLVPlayback component on the Stage with an instance name of my_FLVPlybk - FLV Custom UI BackButton, ForwardButton, PlayButton, PauseButton, and StopButton components in the Library */ import mx.video.*; my_FLVPlybk.backButton = my_bkbttn; my_FLVPlybk.forwardButton = my_fwdbttn; my_FLVPlybk.playButton = my_plybttn; my_FLVPlybk.pauseButton = my_pausbttn; my_FLVPlybk.stopButton = my_stopbttn; my_FLVPlybk.contentPath = "http://www.helpexamples.com/flash/video/ water.flv";
Vase tambin
FLVPlayback.pauseButton, FLVPlayback.playButton, FLVPlayback.playPauseButton, FLVPlayback.skin, FLVPlayback.stopped
Clase FLVPlayback
719
FLVPlayback.STOPPED
Disponibilidad
Flash Player 8.
Edicin
Flash Professional 8.
Sintaxis
mx.video.FLVPlayback.STOPPED
Descripcin
Propiedad de slo lectura de la clase FLVPlayback que contiene la constante de cadena stopped. Puede comparar esta propiedad con la propiedad state para determinar si el componente est en estado detenido.
Ejemplo
En el siguiente ejemplo, se muestra el valor de la propiedad FLVPlayback.STOPPED cuando el componente pasa al estado detenido. Arrastre un componente FLVPlayback al escenario y asgnele el nombre de instancia my_FLVPlybk. Aada el siguiente cdigo al panel Acciones, en el fotograma 1 de la lnea de tiempo:
/** Se requiere: - Componente FLVPlayback en el escenario, con el nombre de instancia my_FLVPlybk */ import mx.video.*; var listenerObject:Object = new Object(); listenerObject.stateChange = function(eventObject:Object):Void { if(eventObject.state == FLVPlayback.STOPPED) trace("State is " + FLVPlayback.STOPPED); }; my_FLVPlybk.addEventListener("stateChange", listenerObject); my_FLVPlybk.contentPath = "http://www.helpexamples.com/flash/video/ water.flv";
Vase tambin
FLVPlayback.state, FLVPlayback.stateChange
720
Componente FLVPlayback
FLVPlayback.stopped
Disponibilidad
Flash Player 8.
Edicin
Flash Professional 8.
Sintaxis
var listenerObject:Object = new Object(); listenerObject.stopped = function(eventObject:Object):Void { // insertar aqu cdigo de gestin de eventos }; my_FLVplybk.addEventListener("stopped", listenerObject);
Descripcin
Evento; se distribuye cuando se pasa al estado detenido. Esto ocurre al llamar al mtodo stop() o al hacer clic en el control stopButton. Tambin sucede en algunos casos si la propiedad autoPlay es false (se podra pasar al estado paused) cuando se carga el archivo FLV. La instancia de FLVPlayback tambin distribuye este evento cuando la cabeza lectora se detiene al final del archivo FLV. El objeto de evento tiene las propiedades state, playheadTime y vp, que es el nmero de ndice del reproductor de vdeo al que se aplica el evento. Para ms informacin sobre la propiedad vp, consulte FLVPlayback.activeVideoPlayerIndex en la pgina 582 y FLVPlayback.visibleVideoPlayerIndex en la pgina 727. La instancia de FLVPlayback tambin distribuye el evento stateChange.
Ejemplo
En el ejemplo siguiente, se detectan instancias del evento stopped a medida que se producen durante la reproduccin del archivo FLV. Cuando se produce el evento, el ejemplo muestra el tiempo de cabeza lectora transcurrido en el panel Salida.
Clase FLVPlayback
721
Arrastre un componente FLVPlayback al escenario y asgnele el nombre de instancia my_FLVPlybk. Aada el siguiente cdigo al panel Acciones, en el fotograma 1 de la lnea de tiempo:
/** Se requiere: - Componente FLVPlayback en el escenario, con el nombre de instancia my_FLVPlybk */ import mx.video.*; var listenerObject:Object = new Object(); listenerObject.stopped = function(eventObject:Object):Void { trace(my_FLVPlybk.state + ": playhead time is: " + eventObject.playheadTime); }; my_FLVPlybk.addEventListener("stopped", listenerObject); my_FLVPlybk.contentPath = "http://www.helpexamples.com/flash/video/ water.flv";
Vase tambin
FLVPlayback.addEventListener(), FLVPlayback.playheadTime, FLVPlayback.state, FLVPlayback.stateChange, FLVPlayback.stop()
FLVPlayback.stopped
Disponibilidad
Flash Player 8.
Edicin
Flash Professional 8.
Sintaxis
my_FLVPlybk.stopped
Descripcin
Propiedad; valor booleano. Es true si el estado de la instancia de FLVPlayback es stopped. Slo lectura.
Ejemplo
En el ejemplo siguiente, se detectan instancias del evento stateChange a medida que se producen durante la reproduccin del archivo FLV. Cuando se produce el evento, el ejemplo muestra el valor de la propiedad stopped en el panel Salida.
722
Componente FLVPlayback
Arrastre un componente FLVPlayback al escenario y asgnele el nombre de instancia my_FLVPlybk. Aada el siguiente cdigo al panel Acciones, en el fotograma 1 de la lnea de tiempo:
/** Se requiere: - Componente FLVPlayback en el escenario, con el nombre de instancia my_FLVPlybk */ import mx.video.*; var listenerObject:Object = new Object(); listenerObject.stateChange = function(eventObject:Object):Void { trace(my_FLVPlybk.state + ": stopped property is: " + my_FLVPlybk.stopped); }; my_FLVPlybk.addEventListener("stateChange", listenerObject); my_FLVPlybk.contentPath = "http://www.helpexamples.com/flash/video/ water.flv";
Vase tambin
FLVPlayback.state, FLVPlayback.stateChange, FLVPlayback.stop(), FLVPlayback.stopped
FLVPlayback.totalTime
Disponibilidad
Flash Player 8.
Edicin
Flash Professional 8.
Sintaxis
my_FLVPlybk.totalTime
Descripcin
Propiedad; nmero que representa el tiempo total de reproduccin del vdeo en segundos. Al transmitir desde un servidor FMS y utilizar el objeto NCManager predeterminado, este valor se determinar automticamente mediante las API del servidor y sustituir los valores establecidos mediante esta propiedad o recopilados de los metadatos. Tambin es true si se establece este valor en un archivo SMIL. Se podr leer el valor de la propiedad cuando se pase al estado detenido o de reproduccin tras establecer el valor de la propiedad contentPath. Esta propiedad no se utiliza para flujos dinmicos transmitidos desde un servidor FMS.
Clase FLVPlayback
723
En la descarga HTTP, el valor se determina automticamente si el archivo FLV tiene metadatos incorporados; de lo contrario, se establece explcitamente o es 0. Si se establece explcitamente, se omitir el valor de los metadatos del flujo. Cuando se establece el valor de esta propiedad, dicho valor se aplicar al siguiente archivo FLV que se cargue estableciendo contentPath. No afecta a los archivos FLV que ya se hayan cargado. Adems, esta propiedad no devuelve el nuevo valor pasado hasta que se carga un archivo FLV. Si no se establece esta propiedad (de forma explcita o automticamente), la reproduccin seguir funcionando pero podran producirse problemas con los controles de bsqueda.
Ejemplo
En el ejemplo siguiente, se muestra el tiempo total (en segundos) del archivo FLV cuando se produce el evento ready, una vez completada la carga. Arrastre un componente FLVPlayback al escenario y asgnele el nombre de instancia my_FLVPlybk. Aada el siguiente cdigo al panel Acciones, en el fotograma 1 de la lnea de tiempo:
/** Se requiere: - Componente FLVPlayback en el escenario, con el nombre de instancia my_FLVPlybk */ import mx.video.*; var listenerObject:Object = new Object(); listenerObject.ready = function(eventObject:Object):Void { trace("Total play time for this video is: " + my_FLVPlybk.totalTime); }; my_FLVPlybk.addEventListener("ready", listenerObject); my_FLVPlybk.contentPath = "http://www.helpexamples.com/flash/video/ water.flv";
Vase tambin
FLVPlayback.contentPath, FLVPlayback.playheadTime, FLVPlayback.playing, FLVPlayback.stopped
FLVPlayback.transform
Disponibilidad
Flash Player 8.
Edicin
Flash Professional 8.
724
Componente FLVPlayback
Sintaxis
my_FLVPlybk.transform
Descripcin
Propiedad; objeto que ofrece acceso directo a los mtodos Sound.setTransform() y Sound.getTransform() para proporcionar control del sonido. Debe establecer esta propiedad en un objeto para inicializarlo y para que los cambios surtan efecto. Al leer el valor de la propiedad, obtiene una copia de la configuracin actual, que puede modificar. El valor predeterminado es undefined.
Ejemplo
En el siguiente ejemplo, se establece la propiedad transform para reproducir el sonido del archivo FLV nicamente en el altavoz izquierdo. Arrastre un componente FLVPlayback al escenario y asgnele el nombre de instancia my_FLVPlybk. Aada el siguiente cdigo al panel Acciones, en el fotograma 1 de la lnea de tiempo:
/** Se requiere: - Componente FLVPlayback en el escenario, con el nombre de instancia my_FLVPlybk */ /* Reproducir todo el audio slo en el altavoz izquierdo */ import mx.video.*; var listenerObject:Object = new Object(); listenerObject.stateChange = function(eventObject:Object) { if (eventObject.target.state == "loading") { // si se carga myTransform = new Object(); myTransform.ll = 100; myTransform.lr = 100; myTransform.rr = 0; myTransform.rl = 0; my_FLVPlybk.transform = myTransform; } }; my_FLVPlybk.addEventListener("stateChange", listenerObject); my_FLVPlybk.contentPath = "http://www.helpexamples.com/flash/video/ cuepoints.flv";
Vase tambin
FLVPlayback.volume
Clase FLVPlayback
725
FLVPlayback.version
Disponibilidad
Flash Player 8.
Edicin
Flash Professional 8.
Sintaxis
mx.video.FLVPlayback.version
Descripcin
Propiedad de slo lectura de la clase FLVPlayback que contiene el nmero de versin del componente.
Ejemplo
En el siguiente ejemplo, se muestra el nmero de versin del componente en el panel Salida. Aada el siguiente cdigo al panel Acciones, en el fotograma 1 de la lnea de tiempo:
import mx.video.*; trace(FLVPlayback.version);
FLVPlayback.visible
Disponibilidad
Flash Player 8.
Edicin
Flash Professional 8.
Sintaxis
my_FLVPlybk.visible
Descripcin
Propiedad; valor booleano. Si es true, hace que el componente FLVPlayback sea visible. Si es false, hace que el componente sea invisible. El valor predeterminado es true.
Ejemplo
En el ejemplo siguiente, se establece el valor de la propiedad visible en false para hacer que la instancia de FLVPlayback sea invisible cuando haya acabado la reproduccin del archivo FLV.
726
Componente FLVPlayback
Arrastre un componente FLVPlayback al escenario y asgnele el nombre de instancia my_FLVPlybk. Aada el siguiente cdigo al panel Acciones, en el fotograma 1 de la lnea de tiempo:
/** Se requiere: - Componente FLVPlayback en el escenario, con el nombre de instancia my_FLVPlybk */ import mx.video.*; var listenerObject:Object = new Object(); listenerObject.complete = function(eventObject:Object):Void { my_FLVPlybk.visible = false; }; my_FLVPlybk.addEventListener("complete", listenerObject); my_FLVPlybk.contentPath = "http://www.helpexamples.com/flash/video/ water.flv";
Vase tambin
FLVPlayback.activeVideoPlayerIndex, FLVPlayback.closeVideoPlayer(), FLVPlayback.visibleVideoPlayerIndex
FLVPlayback.visibleVideoPlayerIndex
Disponibilidad
Flash Player 8.
Edicin
Flash Professional 8.
Sintaxis
my_FLVPlybk.visibleVideoPlayerIndex
Descripcin
Propiedad; nmero que puede utilizar para administrar varios flujos de archivos FLV. Establece la instancia del reproductor de vdeo que puede verse, orse y controlarse mediante el aspecto o los controles de reproduccin, mientras los dems reproductores de vdeo quedan ocultos y silenciados. El valor predeterminado es 0. No convierte al reproductor de vdeo en el destino de la mayora de las API; utilice la propiedad activeVideoPlayerIndex en su lugar.
Clase FLVPlayback
727
Los mtodos y las propiedades que controlan las dimensiones interactan con esta propiedad. Los mtodos y las propiedades que establecen las dimensiones del reproductor de vdeo (setScale(), setSize(), width, height, scaleX, scaleY) pueden utilizarse en todos los reproductores de vdeo. Sin embargo, podran tener dimensiones diferentes, dependiendo de si el valor de autoSize o maintaintAspectRatio est establecido en esos reproductores de vdeo. Al leer las dimensiones a travs de las propiedades width, height, scaleX y scaleY obtendr las dimensiones del reproductor de vdeo visible nicamente. Los otros reproductores de vdeo pueden tener (o no) las mismas dimensiones. Para obtener las dimensiones de diversos reproductores de vdeo cuando no estn visibles hay que detectar el evento resize y almacenar el valor del tamao. Esta propiedad no tiene ninguna implicacin para la visibilidad de todo el componente, sino slo para el reproductor de vdeo que est visible cuando el componente est visible. Para establecer la visibilidad de todo el componente, utilice la propiedad visible.
Ejemplo
En el siguiente ejemplo, se crean dos reproductores de vdeo para reproducir dos archivos FLV de forma consecutiva en una sola instancia de FLVPlayback. Establece la propiedad visibleVideoPlayerIndex para hacer visibles los reproductores de vdeo y los archivos FLV. Arrastre un componente FLVPlayback al escenario y asgnele el nombre de instancia my_FLVPlybk. Aada el siguiente cdigo al panel Acciones, en el fotograma 1 de la lnea de tiempo:
/** Se requiere: - Componente FLVPlayback en el escenario, con el nombre de instancia my_FLVPlybk */ import mx.video.*; // especificar nombre y ubicacin del archivo FLV correspondiente al // reproductor predeterminado my_FLVPlybk.contentPath = "http://www.helpexamples.com/flash/video/ clouds.flv" var listenerObject:Object = new Object(); listenerObject.ready = function(eventObject:Object):Void { // aadir un segundo reproductor de vdeo y especificar el nombre y la // ubicacin de su archivo FLV my_FLVPlybk.activeVideoPlayerIndex = 1; my_FLVPlybk.contentPath = "http://www.helpexamples.com/flash/video/ water.flv"; // restablecer el reproductor de vdeo predeterminado, que reproduce su // archivo FLV automticamente my_FLVPlybk.activeVideoPlayerIndex = 0; };
728
Componente FLVPlayback
my_FLVPlybk.addEventListener("ready", listenerObject); listenerObject.complete = function(eventObject:Object):Void { // si complete hace referencia al segundo archivo FLV, convertir al // predeterminado en activo y visible if (eventObject.vp == 1) { my_FLVPlybk.activeVideoPlayerIndex = 0; my_FLVPlybk.visibleVideoPlayerIndex = 0; } else { // convertir al segundo reproductor en activo y visible y // reproducir archivo FLV my_FLVPlybk.activeVideoPlayerIndex = 1; my_FLVPlybk.visibleVideoPlayerIndex = 1; my_FLVPlybk.play(); } }; // aadir detector de evento complete my_FLVPlybk.addEventListener("complete", listenerObject);
Vase tambin
FLVPlayback.activeVideoPlayerIndex, FLVPlayback.setScale(), FLVPlayback.setSize(), FLVPlayback.height, FLVPlayback.width, FLVPlayback.scaleX, FLVPlayback.scaleY, FLVPlayback.visible
FLVPlayback.volume
Disponibilidad
Flash Player 8.
Edicin
Flash Professional 8.
Sintaxis
my_FLVPlybk.volume
Descripcin
Propiedad; nmero del intervalo 0 a 100 que indica el nivel del control de volumen. El valor predeterminado es 100.
Clase FLVPlayback
729
Ejemplo
En el ejemplo siguiente, se establece el volumen inicial en un valor relativamente bajo: 10. Arrastre un componente FLVPlayback al escenario y asgnele el nombre de instancia my_FLVPlybk. Aada el siguiente cdigo al panel Acciones, en el fotograma 1 de la lnea de tiempo:
/** Se requiere: - Componente FLVPlayback en el escenario, con el nombre de instancia my_FLVPlybk */ import mx.video.*; // Puede cambiar este valor de 0 a 100 my_FLVPlybk.volume = 10; my_FLVPlybk.contentPath = "http://www.helpexamples.com/flash/video/ cuepoints.flv";
Vase tambin
FLVPlayback.transform, FLVPlayback.volumeBar, FLVPlayback.volumeBarInterval, FLVPlayback.volumeUpdate
FLVPlayback.volumeBar
Disponibilidad
Flash Player 8.
Edicin
Flash Professional 8.
Sintaxis
my_FLVPlybk.volumeBarInterval
Descripcin
Propiedad; objeto MovieClip que es el control de la barra de volumen. Para ms informacin sobre el uso de componentes de interfaz de usuario personalizados de reproduccin de FLV para controlar la reproduccin, consulte Aplicacin de aspectos a componentes individuales de interfaz de usuario personalizados de reproduccin FLV en la pgina 556.
730
Componente FLVPlayback
Ejemplo
En el ejemplo siguiente, se utilizan las propiedades backButton, forwardButton, playButton, pauseButton, stopButton y volumeBar para asociar controles personalizados de interfaz de usuario de FLV individuales a un componente FLVPlayback. Arrastre un componente FLVPlayback al escenario y asgnele el nombre de instancia my_FLVPlybk. En el inspector de componentes, establezca el parmetro Skin en None. A continuacin, aada los siguientes componentes de interfaz de usuario personalizados de FLV individuales y asgneles los nombres de instancia mostrados entre parntesis: BackButton (my_bkbttn), ForwardButton (my_fwdbttn), PlayButton (my_plybttn), PauseButton (my_pausbttn), StopButton (my_stopbttn), y VolumeBar (my_vBar). Despus aada las siguientes lneas de cdigo al panel Acciones:
/** Se requiere: - Componente FLVPlayback en el escenario, con el nombre de instancia my_FLVPlybk - Componentes personalizados de interfaz de usuario de FLV BackButton, ForwardButton, PlayButton, PauseButton, StopButton y VolumeBar en la Biblioteca */ import mx.video.*; my_FLVPlybk.backButton = my_bkbttn; my_FLVPlybk.forwardButton = my_fwdbttn; my_FLVPlybk.playButton = my_plybttn; my_FLVPlybk.pauseButton = my_pausbttn; my_FLVPlybk.stopButton = my_stopbttn; my_FLVPlybk.volumeBar = my_vBar; my_FLVPlybk.contentPath = "http://www.helpexamples.com/flash/video/ cuepoints.flv";
Vase tambin
FLVPlayback.volume, FLVPlayback.volumeBarInterval, FLVPlayback.volumeBarScrubTolerance, FLVPlayback.volumeUpdate
Clase FLVPlayback
731
FLVPlayback.volumeBarInterval
Disponibilidad
Flash Player 8.
Edicin
Flash Professional 8.
Sintaxis
my_FLVPlybk.volumeBarInterval
Descripcin
Propiedad; nmero que especifica la frecuencia en milisegundos con que se debe comprobar la ubicacin del selector de la barra de volumen durante el desplazamiento. El valor predeterminado es 250.
Ejemplo
En el siguiente ejemplo, se establece la propiedad volumeBarInterval en 1 segundo (1000 milisegundos) y se crea un evento volumeUpdate que muestra el tiempo de la cabeza lectora y el volumen mientras el usuario arrastra el selector en la barra de volumen. El evento volumeUpdate se produce aproximadamente a intervalos de 1 segundo como consecuencia del valor establecido en volumeBarInterval. Arrastre un componente FLVPlayback al escenario y asgnele el nombre de instancia my_FLVPlybk. Aada el siguiente cdigo al panel Acciones, en el fotograma 1 de la lnea de tiempo:
/** Se requiere: - Componente FLVPlayback en el escenario, con el nombre de instancia my_FLVPlybk */ import mx.video.*; my_FLVPlybk.volumeBarInterval = 1000; var listenerObject:Object = new Object(); listenerObject.volumeUpdate = function(eventObject:Object) { trace("Playhead time is: " + my_FLVPlybk.playheadTime); trace("Volume is: " + my_FLVPlybk.volume); }; my_FLVPlybk.addEventListener("volumeUpdate", listenerObject); my_FLVPlybk.contentPath = "http://www.helpexamples.com/flash/video/ cuepoints.flv";
Vase tambin
FLVPlayback.volume, FLVPlayback.volumeBar, FLVPlayback.volumeBarScrubTolerance, FLVPlayback.volumeUpdate
732 Componente FLVPlayback
FLVPlayback.volumeBarScrubTolerance
Disponibilidad
Flash Player 8.
Edicin
Flash Professional 8.
Sintaxis
my_FLVPlybk.volumeBarScrubTolerance
Descripcin
Propiedad; nmero que especifica hasta dnde puede mover un usuario el selector de la barra de volumen antes de que se produzca una actualizacin. El valor se expresa como un porcentaje. El valor predeterminado es 5.
Ejemplo
En el siguiente ejemplo, se establece la propiedad volumeBarScrubTolerance en 20 y se crea un evento volumeUpdate que muestra el volumen establecido mientras el usuario arrastra el selector en la barra de volumen. Arrastre un componente FLVPlayback al escenario y asgnele el nombre de instancia my_FLVPlybk. Aada el siguiente cdigo al panel Acciones, en el fotograma 1 de la lnea de tiempo:
/** Se requiere: - Componente FLVPlayback en el escenario, con el nombre de instancia my_FLVPlybk */ import mx.video.*; my_FLVPlybk.volumeBarScrubTolerance = 20; var listenerObject:Object = new Object(); listenerObject.volumeUpdate = function(eventObject:Object) { trace("Playhead time is: " + my_FLVPlybk.playheadTime); trace("Volume is: " + my_FLVPlybk.volume); }; my_FLVPlybk.addEventListener("volumeUpdate", listenerObject); my_FLVPlybk.contentPath = "http://www.helpexamples.com/flash/video/ cuepoints.flv";
Vase tambin
FLVPlayback.volumeBar, FLVPlayback.volumeBarInterval
Clase FLVPlayback
733
FLVPlayback.volumeUpdate
Disponibilidad
Flash Player 8.
Edicin
Flash Professional 8.
Sintaxis
var listenerObject:Object = new Object(); listenerObject.volumeUpdate = function(eventObject:Object):Void { // insertar aqu cdigo de gestin de eventos }; my_FLVplybk.addEventListener("volumeUpdate", listenerObject);
Descripcin
Evento; se distribuye cuando el volumen cambia porque el usuario mueve el selector del control volumeBar o porque se establece la propiedad volume en ActionScript. El objeto de evento tiene una propiedad volume.
Ejemplo
En el siguiente ejemplo, se muestra el valor de la propiedad volume en el panel Salida con los ajustes que el usuario hace al volumen. Arrastre un componente FLVPlayback al escenario y asgnele el nombre de instancia my_FLVPlybk. Aada el siguiente cdigo al panel Acciones, en el fotograma 1 de la lnea de tiempo:
/** Se requiere: - Componente FLVPlayback en el escenario, con el nombre de instancia my_FLVPlybk */ import mx.video.*; var listenerObject:Object = new Object(); listenerObject.volumeUpdate = function(eventObject:Object):Void { trace("Volume setting is: " + eventObject.volume); }; my_FLVPlybk.addEventListener("volumeUpdate", listenerObject); my_FLVPlybk.contentPath = "http://www.helpexamples.com/flash/video/ cuepoints.flv";
Vase tambin
FLVPlayback.addEventListener()FLVPlayback.volume, FLVPlayback.volumeBar
734
Componente FLVPlayback
FLVPlayback.width
Disponibilidad
Flash Player 8.
Edicin
Flash Professional 8.
Sintaxis
my_FLVPlybk.width
Descripcin
Propiedad; nmero que especifica la anchura de la instancia de FLVPlayback en el escenario. Esta propiedad slo afecta a la anchura de la instancia de FLVPlayback y no incluye la anchura de un archivo SWF de aspecto que pueda cargarse. Utilice la propiedad width de FLVPlayback y no la propiedad MovieClip._width, ya que _width podra devolver un valor distinto si se carga un archivo SWF de aspecto.
Ejemplo
En el ejemplo siguiente, se establecen los valores de las propiedades width y height, lo que activa un evento resize, ya que el valor predeterminado de la propiedad maintainAspectRatio es true. Cuando se produce el evento, el controlador de eventos muestra la anchura y la altura de la instancia de FLVPlayback a la que se ha cambiado el tamao en el panel Salida.
Clase FLVPlayback
735
Arrastre un componente FLVPlayback al escenario y asgnele el nombre de instancia my_FLVPlybk. Aada el siguiente cdigo al panel Acciones, en el fotograma 1 de la lnea de tiempo:
/** Se requiere: - Componente FLVPlayback en el escenario, con el nombre de instancia my_FLVPlybk */ import mx.video.*; // maintainAspectRatio (true de forma predeterminada) afecta a las // dimensiones reales my_FLVPlybk.width = 400; my_FLVPlybk.height = 350; var listenerObject:Object = new Object(); listenerObject.resize = function(eventObject:Object) { trace("Width is: " + eventObject.target.width + " Height is: " + eventObject.target.height); }; my_FLVPlybk.addEventListener("resize", listenerObject); my_FLVPlybk.contentPath = "http://www.helpexamples.com/flash/video/ water.flv";
Vase tambin
FLVPlayback.height, FLVPlayback.setSize(), FLVPlayback.preferredHeight, FLVPlayback.preferredWidth
FLVPlayback.x
Disponibilidad
Flash Player 8.
Edicin
Flash Professional 8.
Sintaxis
my_FLVPlybk.x
Descripcin
Propiedad; nmero que especifica la ubicacin de la coordenada horizontal del reproductor de vdeo. Esta propiedad slo afecta a la ubicacin horizontal de la instancia de FLVPlayback y no incluye la ubicacin de un archivo SWF de aspecto que pueda modificar la ubicacin cuando se aplique. Utilice la propiedad x de FLVPlayback y no la propiedad MovieClip._x, ya que _x podra devolver un valor distinto si se carga un archivo SWF de aspecto.
736
Componente FLVPlayback
Ejemplo
En el siguiente ejemplo, se coloca la instancia de FLVPlayback a una distancia de 50 pxeles desde la izquierda y de 25 pxeles desde la parte superior. Arrastre un componente FLVPlayback al escenario y asgnele el nombre de instancia my_FLVPlybk. Aada el siguiente cdigo al panel Acciones, en el fotograma 1 de la lnea de tiempo:
/** Se requiere: - Componente FLVPlayback en el escenario, con el nombre de instancia my_FLVPlybk */ import mx.video.*; my_FLVPlybk.contentPath = "http://www.helpexamples.com/flash/video/ water.flv"; my_FLVPlybk.x = 50; my_FLVPlybk.y = 25;
Vase tambin
FLVPlayback.y
FLVPlayback.y
Disponibilidad
Flash Player 8.
Edicin
Flash Professional 8.
Sintaxis
my_FLVPlybk.y
Descripcin
Propiedad; nmero que especifica la ubicacin de la coordenada vertical del reproductor de vdeo. Esta propiedad slo afecta a la ubicacin vertical de la instancia de FLVPlayback y no incluye la ubicacin de un archivo SWF de aspecto que pueda modificar la ubicacin cuando se aplique. Utilice la propiedad y de FLVPlayback y no la propiedad MovieClip._y, ya que _y podra devolver un valor distinto si se carga un archivo SWF de aspecto.
Clase FLVPlayback
737
Ejemplo
En el siguiente ejemplo, se coloca la instancia de FLVPlayback a una distancia de 25 pxeles desde la izquierda y de 50 pxeles desde la parte superior. Arrastre un componente FLVPlayback al escenario y asgnele el nombre de instancia my_FLVPlybk. Aada el siguiente cdigo al panel Acciones, en el fotograma 1 de la lnea de tiempo:
/** Se requiere: - Componente FLVPlayback en el escenario, con el nombre de instancia my_FLVPlybk */ import mx.video.*; my_FLVPlybk.contentPath = "http://www.helpexamples.com/flash/video/ water.flv"; my_FLVPlybk.x = 25; my_FLVPlybk.y = 50;
Vase tambin
FLVPlayback.x
Clase VideoError
Herencia
Las propiedades de la clase VideoError permiten diagnosticar situaciones de error que se producen al trabajar con el componente FLVPlayback. La clase mx.video.VideoError ampla la clase Error.
N OT A 738
La clase VideoError slo es compatible si trabaja con un documento que especifique ActionScript 2.0 en la Configuracin de publicacin.
Componente FLVPlayback
Descripcin
Cdigo de error numrico. de vdeo predeterminado.
VideoError.DELETE_DEFAULT_PLAYER Nmero que indica un punto de referencia no vlido. VideoError.INVALID_CONTENT_PATH VideoError.INVALID_SEEK VideoError.INVALID_XML
Nmero que indica un valor de contentPath no vlido. Nmero que indica una bsqueda no vlida. Nmero que indica que se ha encontrado XML no vlido en un archivo XML. Nmero que indica que no se ha encontrado un archivo FLV predeterminado correspondiente a ninguna velocidad de transferencia. Nmero que indica que el mtodo no se puede conectar al servidor o no encuentra el archivo FLV en el servidor. Nmero que indica que no se encontr ningn punto de referencia coincidente.
VideoError.NO_BITRATE_MATCH
VideoError.NO_CONNECTION
VideoError.NO_CUE_POINT_MATCH
VideoError.code
Disponibilidad
Flash Player 8.
Edicin
Flash Professional 8.
Sintaxis
mx.video.VideoError.code
Descripcin
Clase VideoError
739
Ejemplo
VideoError.DELETE_DEFAULT_PLAYER
Disponibilidad
Flash Player 8.
Edicin
Flash Professional 8.
Sintaxis
mx.video.VideoError.DELETE_DEFAULT_PLAYER
Descripcin
Valor 1007, que se produce si se llama al mtodo FLVPlayback.closeVideoPlayer() para intentar cerrar el reproductor de vdeo predeterminado (nmero 0). No se puede eliminar el reproductor de vdeo predeterminado.
Ejemplo
Vase tambin
FLVPlayback.activeVideoPlayerIndex
740
Componente FLVPlayback
VideoError.ILLEGAL_CUE_POINT
Disponibilidad
Flash Player 8.
Edicin
Flash Professional 8.
Sintaxis
mx.video.VideoError.ILLEGAL_CUE_POINT
Descripcin
Vase tambin
FLVPlayback.cuePoint
VideoError.INVALID_CONTENT_PATH
Disponibilidad
Flash Player 8.
Edicin
Flash Professional 8.
Sintaxis
mx.video.VideoError.INVALID_CONTENT_PATH
Descripcin
Clase VideoError
741
Ejemplo
Vase tambin
FLVPlayback.contentPath
VideoError.INVALID_SEEK
Disponibilidad
Flash Player 8.
Edicin
Flash Professional 8.
Sintaxis
mx.video.VideoError.INVALID_SEEK
Descripcin
}
Vase tambin
FLVPlayback.seek()
742
Componente FLVPlayback
VideoError.INVALID_XML
Disponibilidad
Flash Player 8.
Edicin
Flash Professional 8.
Sintaxis
mx.video.VideoError.INVALID_XML
Descripcin
Valor 1005, que indica que se encontr XML no vlido. Un error de XML no vlido puede producirse cuando se descarga y analiza un archivo SMIL. La propiedad VideoError.message contiene texto que describe el problema concreto. Para ms informacin, consulte Utilizacin de un archivo SMIL en la pgina 753.
Ejemplo
}
Vase tambin
FLVPlayback.contentPath
Clase VideoError
743
VideoError.NO_BITRATE_MATCH
Disponibilidad
Flash Player 8.
Edicin
Flash Professional 8.
Sintaxis
mx.video.VideoError.NO_BITRATE_MATCH
Descripcin
Valor 1006, que indica que no hay ningn archivo FLV predeterminado correspondiente a ninguna velocidad de transferencia. Slo se produce cuando se descarga y analiza un archivo SMIL. Para ms informacin, consulte Utilizacin de un archivo SMIL en la pgina 753.
Ejemplo
}
Vase tambin
FLVPlayback.bitrate
744
Componente FLVPlayback
VideoError.NO_CONNECTION
Disponibilidad
Flash Player 8.
Edicin
Flash Professional 8.
Sintaxis
mx.video.VideoError.NO_CONNECTION
Descripcin
Valor 1000, que indica que el mtodo no se puede conectar al servidor o no encuentra el archivo FLV en el servidor.
Ejemplo
Clase VideoError
745
VideoError.NO_CUE_POINT_MATCH
Disponibilidad
Flash Player 8.
Edicin
Flash Professional 8.
Sintaxis
mx.video.VideoError.NO_CUE_POINT_MATCH
Descripcin
Valor 1001, que indica que no se encontr ningn punto de referencia coincidente.
Ejemplo
}
Vase tambin
FLVPlayback.findCuePoint()
746
Componente FLVPlayback
Clase VideoPlayer
Herencia
La clase ViceoPlayer slo es compatible si trabaja con un documento que especifique ActionScript 2.0 en la Configuracin de publicacin.
La clase FLVPlayback ajusta la clase VideoPlayer y Adobe le recomienda que la utilice en casi todos los casos. No hay ninguna funcin de la clase VideoPlayer a la que no pueda accederse mediante la clase FLVPlayback. La clase VideoPlayer se incluye aqu porque permite crear un reproductor de vdeo con un archivo SWF de menor tamao. La clase VideoPlayer no permite incluir un aspecto ni controles de reproduccin y tiene una API ms pequea. Por ejemplo, no es posible realizar bsquedas de puntos de referencia, aunque s se producirn eventos cuePoint. Adems, la clase FLVPlayback interacta automticamente con la clase NCManager para acceder a archivos FLV transmitidos desde un servidor FMS, por ejemplo. La interaccin con la clase NCManager se produce al establecer la propiedad contentPath y al pasar una URL a los mtodos play() y load(). Sin embargo, si utiliza la clase VideoPlayer de forma independiente, debe incluir la siguiente sentencia en el cdigo ActionScript para asegurarse de que se incluye la clase NCManager:
_forceNCManager:mx.video.NCManager;
La clase NCManager tambin tiene una clase de interfaz, INCManager, que permite reemplazar la clase NCManager por una clase personalizada para administrar comunicaciones de red. Si lo hace, tambin necesitar incluir la siguiente sentencia para reemplazar NCManager por el nombre de la clase que haya proporcionado:
mx.video.VideoPlayer.DEFAULT_INCMANAGER = "mx.video.NCManager";
Para gestionar varios flujos en varios anchos de banda, NCManager admite un subconjunto de SMIL. Para ms informacin, consulte Utilizacin de un archivo SMIL en la pgina 753. En esta seccin, se ofrece un resumen de la clase VideoPlayer. Encontrar documentacin detallada sobre los mtodos, propiedades y eventos de la clase VideoPlayer en www.adobe.com/go/videoplayer_es.
Clase VideoPlayer
747
Descripcin
Crea un detector de un evento especificado. Cierra el flujo de vdeo y la conexin al servidor FMS. Carga el archivo FLV pero no inicia su reproduccin. Despus de cambiar el tamao (si es necesario) se pausa el archivo FLV. Pausa la reproduccin del flujo de vdeo. Inicia la reproduccin del flujo de vdeo. Elimina un detector de eventos. Busca un tiempo especificado en el archivo (en segundos, con una precisin decimal de milisegundos). Establece simultneamente los valores de scaleX y scaleY. Establece simultneamente los valores de width y height. Detiene la reproduccin del flujo de vdeo.
VideoPlayer.load()
VideoPlayer.setScale()
VideoPlayer.setSize()
VideoPlayer.stop()
748
Componente FLVPlayback
Propiedades de clase
Las siguientes propiedades slo se aplican a la clase VideoPlayer. Son constantes de slo lectura que se aplican a todas las instancias de la clase VideoPlayer.
Propiedad
VideoPlayer.BUFFERING
Valor
"buffering"
Descripcin
Valor posible para la propiedad state. Indica el estado que se adquiere inmediatamente despus de llamar a play() o load(). Valor posible para la propiedad state. Indica que se ha producido un error de conexin. Nombre de la implementacin predeterminada (mx.video.NCManager) o personalizada de la interfaz de INCManager. Valor posible para la propiedad state. Indica que el flujo del archivo FLV est desconectado. Valor posible para la propiedad state. Indica que el archivo FLV se est cargando. Valor posible para la propiedad state. Indica que el archivo FLV est en pausa. Valor posible para la propiedad state. Indica que el archivo FLV se est reproduciendo.
VideoPlayer.CONNECTION_ERROR
"connectionError"
VideoPlayer.DEFAULT_INCMANAGER
mx.video.NCManager
VideoPlayer.DISCONNECTED
"disconnected"
VideoPlayer.LOADING
"loading"
VideoPlayer.PAUSED
"paused"
VideoPlayer.PLAYING
"playing"
Clase VideoPlayer
749
Propiedad
VideoPlayer.RESIZING
Valor
resizing
Descripcin
Valor posible para la propiedad state. Indica que se est cambiando el tamao del archivo FLV. Valor posible para la propiedad state. Indica que el archivo FLV se est rebobinando. Valor posible para la propiedad state. Indica que el archivo FLV est buscando. Valor posible para la propiedad state. Indica que el archivo FLV est detenido. Nmero de versin del componente.
VideoPlayer.REWINDING
"rewinding"
VideoPlayer.SEEKING
"seeking"
VideoPlayer.STOPPED
"stopped"
VideoPlayer.version
x.x.x.xx
Propiedades de instancia
En la tabla siguiente, se enumeran las propiedades de instancia de la clase VideoPlayer. Este conjunto de propiedades se aplica a cada instancia de una clase VideoPlayer.
Propiedad
VideoPlayer.autoRewind
Descripcin
Valor booleano. Si es true hace que se rebobine el archivo FLV hasta el primer fotograma cuando se detenga la reproduccin. Valor booleano. Si es true, hace que se ajuste automticamente el tamao del vdeo a las dimensiones de origen. Valor que especifica el nmero de segundos que se almacenarn en la memoria antes de que se inicie la reproduccin de un flujo de vdeo. Valor que indica el nmero de bytes descargados para una descarga HTTP. Slo lectura. Valor que especifica el nmero total de bytes descargados para una descarga HTTP. Slo lectura. Valor booleano que indica si el flujo de archivo FLV est conectado. Slo lectura.
VideoPlayer.autoSize
VideoPlayer.bufferTime
VideoPlayer.bytesLoaded
VideoPlayer.bytesTotal
VideoPlayer.connected
750
Componente FLVPlayback
Propiedad
VideoPlayer.height VideoPlayer.idleTimeout
Descripcin
Nmero que especifica la altura del vdeo en pxeles. Cantidad de tiempo en milisegundos antes de que se cierre una conexin inactiva al servidor FMS tras pausar o detener una reproduccin. Valor booleano. Es true si el flujo de vdeo es dinmico. No se aplica a las descargas HTTP. Valor booleano. Es true si el archivo FLV se transmite desde un servidor FMS. Slo lectura. Valor booleano. Si es true, mantiene la proporcin de vdeo. Objeto que es un paquete de informacin de metadatos que se recibe de una llamada a la funcin callback onMetaData(), si est disponible. Slo lectura. Objeto INCManager que proporciona acceso a una instancia de la clase que implementa INCManager. Nmero que representa el tiempo o la posicin actual (en segundos) de la cabeza lectora, que puede ser un valor fraccionario. Nmero que es la cantidad de tiempo en milisegundos entre cada evento playheadUpdate. Nmero que es la cantidad de tiempo en milisegundos entre cada evento progress. Nmero que especifica la escala horizontal. Nmero que especifica la escala vertical. Cadena que especifica el estado del componente. Se establece con los mtodos load(), play(), stop(), pause() y seek(). Slo lectura. Valor booleano. Es true si el estado es interactivo (es decir, si se pueden activar los controles en el estado actual). Slo lectura. Nmero que representa el tiempo total de reproduccin del vdeo. Objeto que proporciona acceso directo a los mtodos Sound.setTransform() y Sound.getTransform() para proporcionar mayor control del sonido.
VideoPlayer.isLive
VideoPlayer.isRTMP
VideoPlayer.maintainAspectRatio
VideoPlayer.metadata
VideoPlayer.ncMgr
VideoPlayer.playheadTime
VideoPlayer.playheadUpdateInterval
VideoPlayer.progressInterval
VideoPlayer.stateResponsive
VideoPlayer.totalTime
VideoPlayer.transform
Clase VideoPlayer
751
Propiedad
VideoPlayer.url
Descripcin
Cadena que especifica la URL del flujo cargado (o que se est cargando). Nmero que especifica la altura del archivo FLV. Nmero que especifica la anchura del archivo FLV. Valor booleano. Si es true, hace que el archivo FLV sea visible. Nmero del intervalo 0 a 100 que indica el nivel del control de volumen. Nmero (porcentaje) que especifica hasta dnde puede mover un usuario el selector de la barra de volumen antes de que se produzca una actualizacin. Nmero que especifica la dimensin horizontal en pxeles del reproductor de vdeo. Nmero que especifica la dimensin vertical en pxeles del reproductor de vdeo.
VideoPlayer.volume
VideoPlayer.width
VideoPlayer.x
VideoPlayer.y
Descripcin
Se distribuye cuando se cierra el flujo de vdeo porque se agot el tiempo de espera o mediante una llamada al mtodo close(). Se distribuye cuando finaliza la reproduccin al llegar al final del archivo FLV. Se distribuye cuando se llega a un punto de referencia. Se distribuye la primera vez que se llega a los metadatos del archivo FLV. Se distribuye cada 0,25 segundos mientras se est reproduciendo el archivo FLV. Se distribuye cada 0,25 segundos, desde que se llama al mtodo load() hasta que se hayan cargado todos los bytes o se produzca un error de red.
VideoPlayer.complete
VideoPlayer.cuePoint VideoPlayer.metadataReceived
VideoPlayer.playheadUpdate
VideoPlayer.progress
752
Componente FLVPlayback
Evento
VideoPlayer.ready
Descripcin
Se distribuye cuando el archivo FLV est cargado y preparado para mostrarse. Se distribuye cuando se cambia el tamao del vdeo. Se distribuye cuando se mueve hacia atrs la ubicacin de la cabeza lectora mediante una llamada a seek() o cuando finaliza la operacin de rebobinado automtico. Se distribuye cuando cambia el estado de reproduccin.
VideoPlayer.resize VideoPlayer.rewind
VideoPlayer.stateChange
753
La etiqueta <head> puede contener las etiquetas <meta> y <layout>. La etiqueta <meta> slo admite el atributo base, que se utiliza para especificar la URL del vdeo de flujo (RTMP desde un servidor FMS). La etiqueta <layout> slo admite el elemento root-layout, que se utiliza para establecer los atributos height y width; por lo tanto, determina el tamao de la ventana en la que se representa el archivo FLV. Estos atributos slo aceptan valores de pxeles, no porcentajes. En el cuerpo del archivo SMIL, se puede incluir un nico vnculo a un archivo FLV de origen o, si se transmiten varios archivos en distintos anchos de banda desde un servidor FMS (como en el ejemplo anterior), se puede utilizar la etiqueta <switch> para enumerar los archivos de origen. Las etiquetas video y ref contenidas en la etiqueta <switch> son sinnimas: ambas pueden utilizar el atributo src para especificar archivos FLV. Adems, cada una de ellas puede utilizar los atributos region, system-bitrate y dur para especificar la regin, el ancho de banda mnimo requerido y la duracin del archivo FLV. En la etiqueta <body>, slo se permite que las etiquetas <video>, <src> o <switch> aparezcan una vez. En el siguiente ejemplo, se muestra una descarga progresiva de un solo archivo FLV que no utiliza la deteccin de ancho de banda:
<smil> <head> <layout> <root-layout width="240" height="180" /> </layout> </head> <body> <video src=""myvideo.flv" /> </body> </smil>
754
Componente FLVPlayback
<smil>
Disponibilidad
Flash Professional 8.
Sintaxis
<smil>
...
child tags
... </smil>
Atributos
Ninguno.
Etiquetas secundarias
<head>, <body>
Etiqueta principal
Ninguno.
Descripcin
En el siguiente ejemplo, se muestra un archivo SMIL que especifica tres archivos FLV:
<smil> <head> <meta base="rtmp://myserver/mypgm/" > <layout> <root-layout width="240" height="180" > </layout> </head> <body> <switch> <video src="myvideo_mdm.flv" system-bitrate="56000" dur="3:00.1"> <video src="myvideo_isdn.flv" system-bitrate="128000" dur="3:00.1"> <ref src="myvideo_cable.flv" dur="3:00.1"/> </switch> </body> </smil>
755
<head>
Disponibilidad
Flash Professional 8.
Sintaxis
<head>
...
child tags
... </head>
Atributos
Ninguno.
Etiquetas secundarias
<meta>, <layout>
Etiqueta principal
<smil>
Descripcin
Admite las etiquetas <meta> y <layout>, y especifica la ubicacin y el diseo predeterminado (altura y anchura) de los archivos FLV de origen.
Ejemplo
En el siguiente ejemplo, se establece el diseo raz en 240 pxeles por 180 pxeles: <head> <meta base="rtmp://myserver/mypgm/" > <layout> <root-layout width="240" height="180" > </layout> </head>
756
Componente FLVPlayback
<meta>
Disponibilidad
Flash Professional 8.
Sintaxis
<meta/>
Atributos
base
Etiquetas secundarias
<layout>
Etiqueta principal
Ninguno.
Descripcin
Contiene el atributo base, que especifica la ubicacin (URL RTMP) de los archivos FLV de origen.
Ejemplo
En el siguiente ejemplo, se muestra una etiqueta meta de una ubicacin de base en myserver:
<meta base="rtmp://myserver/mypgm/" >
<layout>
Disponibilidad
Flash Professional 8.
Sintaxis
<layout> ... child tags ... </layout>
Atributos
Ninguno.
Etiquetas secundarias
<root-layout>
757
Etiqueta principal
<meta>
Descripcin
<root-layout>
Disponibilidad
Flash Professional 8.
Sintaxis
<root-layout...attributes.../>
Atributos
Anchura, altura
Etiquetas secundarias
None.
Etiqueta principal
<layout>
Descripcin
758
Componente FLVPlayback
<body>
Disponibilidad
Flash Professional 8.
Sintaxis
<body> ... child tags ... </body>
Atributos
Ninguno.
Etiquetas secundarias
<video>, <ref>, <switch>
Etiqueta principal
<smil>
Descripcin
Contiene las etiquetas <video>, <ref> y <switch>, que especifican el nombre del archivo FLV de origen, el ancho de banda mnimo y la duracin del archivo FLV. El atributo systembitrate slo se admite cuando se utiliza la etiqueta <switch>. En la etiqueta <body>, slo se permite que las etiquetas <switch>, <video> o <ref> aparezcan una vez.
Ejemplo
En el siguiente ejemplo, se especifican tres archivos FLV, dos de ellos con la etiqueta video y el otro con la etiqueta ref:
<body> <switch> <video src="myvideo_mdm.flv" system-bitrate="56000" dur="3:00.1"> <video src="myvideo_isdn.flv" system-bitrate="128000" dur="3:00.1"> <ref src="myvideo_cable.flv" dur="3:00.1"/> </switch> </body>
759
<video>
Disponibilidad
Flash Professional 8.
Sintaxis
<video...attributes.../>
Atributos
src, system-bitrate, dur
Etiquetas secundarias
None
Etiqueta principal
<body>
Descripcin
Sinnimo de la etiqueta <ref>. Admite los atributos src y dur, que especifican el nombre del archivo FLV de origen y su duracin. El atributo dur admite los formatos de tiempo completo (00:03:00:01) y parcial (03:00:01).
Ejemplo
<ref>
Disponibilidad
Flash Professional 8.
Sintaxis
<ref...attributes.../>
Atributos
src, system-bitrate, dur
Etiquetas secundarias
None
Etiqueta principal
<body>
760
Componente FLVPlayback
Descripcin
Sinnimo de la etiqueta <video>. Admite los atributos src y dur, que especifican el nombre del archivo FLV de origen y su duracin. El atributo dur admite los formatos de tiempo completo (00:03:00:01) y parcial (03:00:01).
Ejemplo
<switch>
Disponibilidad
Flash Professional 8.
Sintaxis
<switch> ... child tags ... <switch/> Atributos
Ninguno
Etiquetas secundarias
<video>, <ref>
Etiqueta principal
<body>
Descripcin
Se utiliza con las propiedades secundarias <video> o <ref> para enumerar los archivos FLV de flujo de vdeo transmitido en varios anchos de banda. La etiqueta <switch> admite el atributo system-bitrate, que especifica el ancho de banda mnimo, y los atributos src y dur.
Ejemplo
En el siguiente ejemplo, se especifican tres archivos FLV, dos de ellos con la etiqueta video y el otro con la etiqueta ref:
<switch> <video src="myvideo_mdm.flv" system-bitrate="56000" dur="3:00.1"> <video src="myvideo_isdn.flv" system-bitrate="128000" dur="3:00.1"> <ref src="myvideo_cable.flv" dur="3:00.1"/> </switch>
761
762
Componente FLVPlayback
CAPTULO 23
Clase FocusManager
Se puede utilizar la clase Focus Manager para especificar el orden en el que se seleccionan los componentes cuando el usuario presiona el tabulador para desplazarse por una aplicacin. Tambin es posible emplear Focus Manager para definir un botn en el documento que reciba la entrada del teclado cuando el usuario presione Intro (Windows) o Retorno (Macintosh). Por ejemplo, cuando los usuarios rellenan un formulario, deben pasar de un campo a otro con el tabulador y presionar Intro (Windows) o Retorno (Macintosh) para enviar el formulario. Todos los componentes implementan compatibilidad con Focus Manager; no es necesario escribir cdigo alguno para invocar la clase FocusManager.
N OT A SUGERENCIA
23
La clase FocusManager slo es compatible si trabaja con un documento que especifique ActionScript 2.0 en la Configuracin de publicacin.
La compatibilidad con Focus Manager sustituye el uso del controlador global on(keyPress). Dado que todos los componentes implementan Focus Manager, una aplicacin que incluya componentes y utilice el controlador global on(keyPress), deber tener establecido de forma explcita un tabIndex para cada control (incluidos los componentes y clips de pelcula). Consulte Utilizacin de Focus Manager en la pgina 764. O bien, es preferible aadir un detector de eventos para cada tecla especfica y Focus Manager no sustituir al controlador de eventos correspondiente. Para ms informacin sobre la creacin de un detector de eventos de una tecla, consulte Captura de teclas presionadas en Aprendizaje de ActionScript 2.0 en Adobe Flash.
Focus Manager interacta con System Manager, que activa y desactiva instancias de FocusManager a medida que se activan y desactivan ventanas emergentes. Cada ventana modal tiene una instancia de FocusManager, por lo que los componentes de la ventana se convierten en su propio conjunto de tabuladores, lo que impide que el usuario pase a componentes de otras ventanas al tabular.
763
Focus Manager reconoce los grupos de botones de opcin (los que tienen definida una propiedad RadioButton.groupName) y selecciona la instancia del grupo que tiene una propiedad selected definida en true. Cuando se presiona el tabulador, Focus Manager comprueba si el objeto siguiente tiene el mismo nombre de grupo que el objeto activo. Si es as, desplaza automticamente la seleccin al objeto siguiente que tenga un nombre de grupo diferente. Tambin pueden utilizar esta funcin los grupos de componentes que admitan la propiedad groupName. Focus Manager controla los cambios de seleccin producidos con clics del ratn. Si el usuario hace clic en un componente, el componente se selecciona.
S U G E R E N CI A 764 NO T A
Para probar un script con Focus Manager (Control > Probar pelcula), seleccione Control > Deshabilitar mtodos abreviados de teclado en modo Probar pelcula; de lo contrario, Focus Manager no parecer que funcione. Adems, la tabulacin y los mtodos abreviados del teclado se utilizan en el entorno de edicin de forma predeterminada. As pues, si utiliza el modo de prueba, la navegacin mediante tabuladores, la tecla Intro y otras combinaciones de teclas, pueden producirse resultados inesperados. Estas funciones deberan probarse en Flash Player fuera del entorno de edicin.
Para que la seleccin pueda desplazarse por la aplicacin, defina la propiedad tabIndex en los objetos que deban seleccionarse (botones incluidos). Cuando el usuario presione el tabulador, Focus Manager buscar el objeto activado cuya propiedad tabIndex sea superior al valor actual de tabIndex. Cuando el administrador de seleccin alcance la propiedad tabIndex ms alta, volver a cero. De este modo, en el ejemplo siguiente el objeto comment (probablemente un componente TextArea) es el primero en seleccionarse y despus se selecciona el objeto okButton:
comment.tabIndex = 1; okButton.tabIndex = 2;
Tambin se puede utilizar el panel Accesibilidad para asignar un valor de ndice de tabulacin.
Clase FocusManager
Si ningn elemento del escenario tiene un valor de ndice de tabulacin, Focus Manager utiliza la profundidad (orden de apilamiento u orden z). La profundidad se configura principalmente con el orden en el que los componentes se arrastran al escenario. Sin embargo, tambin se pueden utilizar los comandos Modificar > Organizar > Traer al frente/Enviar al fondo para determinar la profundidad final. Para crear un botn que se seleccione cuando el usuario presione la tecla Intro (Windows) o Retorno (Macintosh), defina la propiedad FocusManager.defaultPushButton en el nombre de instancia del botn deseado, como se muestra a continuacin:
focusManager.defaultPushButton = okButton;
NO T A NO T A
Focus Manager detecta cundo se colocan los objetos en el escenario (el orden de profundidad de los objetos), pero no sus posiciones relativas en el mismo. Es diferente al modo en el que Flash Player controla la tabulacin.
tabEnabled
false
tabChildren
true
true false
false false
Esto resulta diferente al comportamiento predeterminado de Flash Player, en el que la propiedad tabChildren de un contenedor puede ser undefined.
765
Observe el siguiente caso: en el escenario de la lnea de tiempo principal, hay dos campos de texto (txt1 y txt2), as como un clip de pelcula (mc) que incluye un componente DataGrid (grid1) y otro campo de texto (txt3). Se usar el siguiente cdigo para permitir que los usuarios presionen el tabulador y se desplacen por los objetos en el orden indicado a continuacin: txt1, txt2, grid1, txt3.
NO T A 766
// Notificar a Focus Manager que mc tiene elementos secundarios; // esto sustituye mc.focusEnabled=true; mc.tabChildren=true; mc.tabEnabled=false; // Establecer secuencia de tabulacin. txt1.tabIndex = 1; txt2.tabIndex = 2; mc.grid1.tabIndex = 3; mc.txt3.tabIndex = 4; // Establecer txt 1 como seleccin inicial. txt1.text = "focus"; focusManager.setFocus(txt1);
Si el clip de pelcula no tiene un mtodo onPress o onRelease, o bien una propiedad tabEnabled, Focus Manager no lo ver a menos que establezca focusEnabled en true. Los campos de introduccin de texto siempre se encuentran en el esquema de tabulacin a menos que estn desactivados. Si se est reproduciendo una aplicacin Flash en un navegador Web, la aplicacin no estar seleccionada hasta que un usuario haga clic en algn lugar de la aplicacin. Asimismo, una vez que un usuario haga clic en la aplicacin Flash, es posible que la seleccin salte fuera de dicha aplicacin al presionar el tabulador. Para mantener la tabulacin limitada a los objetos dentro de la aplicacin Flash en el control ActiveX de Flash Player 7, aada el siguiente parmetro a la etiqueta HTML <object>:
<param name="SeamlessTabbing" value="false"/>
Clase FocusManager
Seleccione Archivo > Nuevo y, a continuacin, Archivo Flash (ActionScript 2.0). Arrastre el componente TextInput desde el panel Componentes al escenario. En el inspector de propiedades, asgnele el nombre de instancia comment. Arrastre el componente Button desde el panel Componentes al escenario. En el inspector de propiedades, asgnele el nombre de instancia okButton y defina el parmetro de etiqueta en OK. En el fotograma 1 del panel Acciones, introduzca lo siguiente:
comment.tabIndex = 1; okButton.tabIndex = 2; focusManager.setFocus(comment); function click(evt){ trace(evt.type); } okButton.addEventListener("click", this);
6.
7. 8.
Seleccione Control > Probar pelcula. Seleccione Control > Deshabilitar mtodos abreviados de teclado. El cdigo establece el orden de tabulacin. Aunque el campo de comentarios no tiene un anillo de seleccin inicial, s que se selecciona de forma inicial; puede empezar a escribir en dicho campo sin necesidad de hacer clic en l. Adems, tiene que seleccionar la opcin de men Deshabilitar mtodos abreviados de teclado para que funcione correctamente en el modo de prueba.
Focus Manager utiliza un aspecto FocusRect para seleccionar. Este aspecto puede reemplazarse o modificarse, y es posible sustituir UIComponent.drawFocus por subclases para emplear indicadores de seleccin personalizados.
767
MovieClip > Clase UIObject > Clase UIComponent > FocusManager mx.managers.FocusManager
Se puede utilizar Focus Manager para especificar el orden en el que se seleccionan los componentes cuando el usuario presiona el tabulador para desplazarse por una aplicacin. Asimismo, es posible emplear la clase FocusManager para definir un botn en el documento que reciba la entrada del teclado cuando el usuario presione Intro (Windows) o Retorno (Macintosh).
S U G ER E N C I A 768
En un archivo de clase que reciba una herencia de UIComponent, no se recomienda hacer referencia a _root.focusManager. Cada instancia de UIComponent hereda un mtodo getFocusManager(), que devuelve una referencia a la instancia de FocusManager responsable de controlar el esquema de seleccin del componente.
Descripcin
Devuelve una referencia al objeto seleccionado. registrados en el botn de comando predeterminado.
FocusManager.setFocus()
Descripcin
Crea un objeto en la clase especificada. Crea un subobjeto en un objeto. Elimina una instancia de componente.
Clase FocusManager
Mtodo
UIObject.doLater()
Descripcin
Llama a una funcin cuando se han establecido parmetros en el inspector de propiedades y el inspector de componentes. Obtiene la propiedad de estilo de la declaracin de estilo o del objeto. Marca el objeto de forma que se pueda volver a dibujar en el siguiente intervalo de fotogramas. Mueve el objeto a la posicin indicada. Fuerza la validacin del objeto, de forma que se pueda dibujar sobre el fotograma actual. Cambia el tamao del objeto al indicado. Define un aspecto en el objeto. Define la propiedad de estilo en la declaracin de estilo o en el objeto.
UIObject.getStyle()
UIObject.invalidate()
UIObject.move() UIObject.redraw()
Descripcin
Devuelve una referencia al objeto seleccionado. Define la seleccin en la instancia de componente.
UIComponent.setFocus()
769
Descripcin
Objeto que recibe el evento click cuando el usuario presiona la tecla Intro (Windows) o Retorno (Macintosh). Indica si la gestin con el teclado est activada (true) o desactivada (false) para el botn de comando predeterminado. El valor predeterminado es true. Indica si la gestin con el tabulador est activada (true) o desactivada (false). El valor predeterminado es true. Valor siguiente de la propiedad tabIndex.
FocusManager.defaultPushButtonEnabled
FocusManager.enabled
FocusManager.nextTabIndex
Descripcin
Posicin del borde inferior del objeto con respecto al borde inferior de su elemento principal correspondiente. Slo lectura. Altura del objeto, expresada en pxeles. Slo lectura. Borde izquierdo del objeto, expresado en pxeles. Slo lectura. Posicin del borde derecho del objeto con respecto al borde derecho de su elemento principal correspondiente. Slo lectura. Nmero que indica el factor de escala en la direccin x del objeto con respecto a su elemento principal correspondiente. Nmero que indica el factor de escala en la direccin y del objeto con respecto a su elemento principal correspondiente.
UIObject.height
UIObject.left
UIObject.right
UIObject.scaleX
UIObject.scaleY
770
Clase FocusManager
Propiedad
UIObject.top
Descripcin
Posicin del borde superior del objeto con respecto a su elemento principal correspondiente. Slo lectura. Valor booleano que indica si el objeto es visible (true) o no (false). Anchura del objeto, expresada en pxeles. Slo lectura. Borde izquierdo del objeto, expresado en pxeles. Slo lectura. Borde superior del objeto, expresado en pxeles. Slo lectura.
UIObject.visible
UIObject.width
UIObject.x
UIObject.y
Descripcin
Indica si el componente puede recibir selecciones y entradas. Nmero que indica el orden de tabulacin para un componente de un documento.
UIComponent.tabIndex
Descripcin
Se difunde cuando un objeto est a punto de dibujar sus grficos. Se difunde cuando el estado de un objeto pasa de ser visible a invisible. Se difunde cuando se crean subobjetos.
UIObject.hide
UIObject.load
771
Evento
UIObject.move UIObject.resize
Descripcin
Se difunde cuando se mueve el objeto. Se difunde cuando cambia el tamao de un objeto. Se difunde cuando el estado de un objeto pasa de ser invisible a visible. Se difunde durante la descarga de los subobjetos.
UIObject.reveal
UIObject.unload
Descripcin
Se difunde cuando se selecciona un objeto. Se difunde cuando un objeto deja de seleccionarse. Se difunde cuando se presiona una tecla. Se difunde cuando se suelta una tecla.
UIComponent.keyDown UIComponent.keyUp
FocusManager.defaultPushButton
Disponibilidad
Descripcin
Propiedad; especifica el botn de comando predeterminado para una aplicacin. Cuando el usuario presiona Intro (Windows) o Retorno (Macintosh), los detectores del botn de comando predeterminado reciben un evento click. El valor predeterminado es undefined y el tipo de datos de esta propiedad es objeto.
772
Clase FocusManager
Focus Manager utiliza la declaracin de estilo emphasized de la clase SimpleButton para indicar visualmente el botn de comando predeterminado actual. El valor de la propiedad defaultPushButton es siempre el botn seleccionado. El botn de comando predeterminado no se selecciona inicialmente por haber definido la propiedad defaultPushButton. Si hay varios botones en una aplicacin, el botn seleccionado actualmente recibe el evento click cuando se presiona la tecla Intro o Retorno. Si hay algn otro componente seleccionado cuando se presiona Intro o Retorno, se restablece el valor original de la propiedad defaultPushButton.
Ejemplo
Vase tambin
FocusManager.defaultPushButtonEnabled, FocusManager.sendDefaultPushButtonEvent()
FocusManager.defaultPushButtonEnabled
Disponibilidad
Flash MX 2004.
Sintaxis
focusManager.defaultPushButtonEnabled
Descripcin
Propiedad; valor booleano que determina si la gestin con el teclado est activada (true) o no (false) para el botn de comando predeterminado. Si defaultPushButtonEnabled se define con el valor false, los componentes pueden recibir la entrada de las teclas Retorno o Intro y gestionarla internamente. Deber volver a activar la gestin con el botn de comando predeterminado observando el mtodo onKillFocus() del componente (consulte el controlador MovieClip.onKillFocus en Referencia del lenguaje ActionScript 2.0) o el evento focusOut. El valor predeterminado es true. Los desarrolladores de componentes avanzados utilizan esta propiedad.
Ejemplo
FocusManager.defaultPushButtonEnabled
773
FocusManager.enabled
Disponibilidad
Flash MX 2004.
Sintaxis
focusManager.enabled
Descripcin
Propiedad; valor booleano que determina si una gestin con el tabulador est activada (true) o no (false) para un grupo determinado de objetos de seleccin. Por ejemplo, otra ventana emergente podra tener su propio Focus Manager. Si enabled se define en false, los componentes pueden recibir la entrada del tabulador y gestionarla internamente. Deber volver a activar la gestin con Focus Manager observando el mtodo onKillFocus() del componente (consulte el controlador MovieClip.onKillFocusen Referencia del lenguaje ActionScript 2.0) o el evento focusOut. El valor predeterminado es true.
Ejemplo
FocusManager.getFocus()
Disponibilidad
Parmetros
Ninguno.
Valor devuelto
774
Clase FocusManager
Descripcin
Vase tambin
FocusManager.setFocus()
FocusManager.nextTabIndex
Disponibilidad
Flash MX 2004.
Sintaxis
FocusManager.nextTabIndex
Descripcin
Propiedad; siguiente nmero de ndice de tabulador disponible. Utilice esta propiedad para definir dinmicamente la propiedad tabIndex de un objeto.
Ejemplo
Vase tambin
UIComponent.tabIndex
FocusManager.nextTabIndex
775
FocusManager.sendDefaultPushButtonEvent()
Disponibilidad
Parmetros
Ninguno.
Valor devuelto
Ninguno.
Descripcin
Mtodo; enva un evento click a los objetos detectores registrados en el botn de comando predeterminado. Utilice este mtodo para enviar un evento click mediante programacin.
Ejemplo
El cdigo siguiente activa el evento click del botn de comando predeterminado y rellena los campos de nombre de usuario y contrasea cuando un usuario selecciona la instancia de CheckBox chb (la casilla de verificacin debe tener la etiqueta Conexin automtica):
name_txt.tabIndex = 1; password_txt.tabIndex = 2; chb.tabIndex = 3; submit_ib.tabIndex = 4; focusManager.defaultPushButton = submit_ib; chbObj = new Object(); chbObj.click = function(o){ if (chb.selected == true){ name_txt.text = "Jody"; password_txt.text = "foobar"; focusManager.sendDefaultPushButtonEvent(); } else { name_txt.text = ""; password_txt.text = ""; } } chb.addEventListener("click", chbObj);
776
Clase FocusManager
submitObj = new Object(); submitObj.click = function(o){ if (password_txt.text != "foobar"){ trace("error on submit"); } else { trace("Yeah! sendDefaultPushButtonEvent worked!"); } } submit_ib.addEventListener("click", submitObj);
Vase tambin
FocusManager.defaultPushButton
FocusManager.setFocus()
Disponibilidad
Parmetros
object
Valor devuelto
Ninguno.
Descripcin
Mtodo; selecciona el objeto especificado. Si el objeto que desea seleccionar no se encuentra en la lnea de tiempo principal, utilice el cdigo siguiente:
_root.focusManager.setFocus(object);
Ejemplo
Vase tambin
FocusManager.getFocus()
FocusManager.setFocus()
777
778
Clase FocusManager
CAPTULO 24
Clase Form
La clase Form proporciona el comportamiento en tiempo de ejecucin de los formularios creados por el usuario en el panel Contorno de pantalla en Adobe Flash CS3 Professional. La clase Form es una subclase de la clase Screen. Para ver informacin general sobre cmo trabajar con pantallas, consulte Trabajo con pantallas en Utilizacin de Flash.
N O TA
24
la funcin Pantallas est desfasada en Flash CS3. Puede abrir y editar archivos FLA basados en pantallas creados en versiones anteriores de Flash, pero no podr crear nuevos documentos basados en pantallas. Adems, la clase Form slo es compatible si trabaja con un documento que especifique ActionScript2.0 en la Configuracin de publicacin.
779
Vista de contorno de pantalla de una aplicacin de formulario de ejemplo En la ilustracin se muestra el contorno de una aplicacin de ejemplo de directorio de empleados denominada Employee Directory, compuesta por varios formularios. El formulario denominado entryForm (que aparece seleccionado en la ilustracin anterior) contiene varios objetos de interfaz de usuario, entre ellos campos de introduccin de texto, etiquetas y un botn de comando. El desarrollador puede presentar fcilmente este formulario al usuario alternando su visibilidad (mediante la propiedad Form.visible), a la vez que alterna la visibilidad de otros formularios. En el panel Comportamientos tambin puede asociar comportamientos y controles con los formularios. Para ms informacin sobre cmo aadir transiciones y controles a pantallas, consulte Creacin de controles y transiciones para las pantallas con comportamientos en Utilizacin de Flash.
780
Clase Form
Puesto que la clase Form es una extensin de la clase Loader, puede cargar fcilmente contenido externo (un archivo SWF o un archivo JPEG) en un formulario. Por ejemplo, el contenido de un formulario puede ser un archivo SWF independiente, que puede contener formularios. De este modo, se pueden dividir en mdulos las aplicaciones de formularios, lo cual facilita el mantenimiento de las aplicaciones y reduce el tiempo de descarga inicial. Para ms informacin, consulte Carga de contenido externo en pantallas en la pgina 1154.
Parmetros de Form
A continuacin se indican los parmetros de edicin que se pueden definir para cada instancia de Form en el inspector de propiedades o en el inspector de componentes:
autoload
indica si el contenido especificado por el parmetro contentPath debe cargarse automticamente (true) o si debe esperar hasta que se llame al mtodo Loader.load() (false). El valor predeterminado es true. especifica el contenido del formulario. Este valor puede ser el identificador de vinculacin de un clip de pelcula o la URL absoluta o relativa de un archivo SWF o JPEG que se carga en la diapositiva. De forma predeterminada, el contenido cargado se recorta para que quepa en la diapositiva. especifica si el formulario se ve (true) o est oculto (false) al cargarse la primera vez.
contentPath
visible
Clase Form
Herencia MovieClip > Clase UIObject > Clase UIComponent > View > Componente Loader > Clase Screen > Form Nombre de clase de ActionScript
mx.screens.Form
La clase Form proporciona el comportamiento en tiempo de ejecucin de los formularios creados por el usuario en el panel Contorno de pantalla en Flash.
Descripcin
Devuelve el formulario secundario en un ndice especificado.
Clase Form
781
Crea un subobjeto en un objeto. Elimina una instancia de componente. Llama a una funcin cuando se han establecido parmetros en el inspector de propiedades y el inspector de componentes. Obtiene la propiedad de estilo de la declaracin de estilo o del objeto. Marca el objeto de forma que se pueda volver a dibujar en el siguiente intervalo de fotogramas. Mueve el objeto a la posicin indicada. Fuerza la validacin del objeto, de forma que se pueda dibujar sobre el fotograma actual. Cambia el tamao del objeto al indicado. Define un aspecto en el objeto. Define la propiedad de estilo en la declaracin de estilo o en el objeto.
UIObject.getStyle()
UIObject.invalidate()
UIObject.move() UIObject.redraw()
Descripcin
Devuelve una referencia al objeto seleccionado. Define la seleccin en la instancia de componente.
782
Clase Form
Descripcin
Carga el contenido especificado en la propiedad contentPath.
Descripcin
Devuelve la pantalla secundaria de esta pantalla en un ndice concreto.
Descripcin
Slo lectura; devuelve el formulario que contiene la seleccin actual global. Slo lectura, devuelve el ndice (basado en cero) de este formulario en la lista de subformularios de su formulario principal. Slo lectura; devuelve el nmero de formularios secundarios que contiene este formulario. Slo lectura; especifica si el objeto principal de este formulario es tambin un formulario. Slo lectura; referencia al formulario principal del formulario. Slo lectura; devuelve la raz del rbol de formularios, o subrbol, que contiene el formulario. Especifica si el formulario est visible cuando se puede ver su formulario, diapositiva, clip de pelcula o archivo SWF principal.
Form.indexInParentForm
Form.numChildForms
Form.parentIsForm
Form.parentForm Form.rootForm
Form.visible
Clase Form
783
Descripcin
Posicin del borde inferior del objeto con respecto al borde inferior de su elemento principal correspondiente. Slo lectura. Altura del objeto, expresada en pxeles. Slo lectura. Borde izquierdo del objeto, expresado en pxeles. Slo lectura. Posicin del borde derecho del objeto con respecto al borde derecho de su elemento principal correspondiente. Slo lectura. Nmero que indica el factor de escala en la direccin x del objeto con respecto a su elemento principal correspondiente. Nmero que indica el factor de escala en la direccin y del objeto con respecto a su elemento principal correspondiente. Posicin del borde superior del objeto con respecto a su elemento principal correspondiente. Slo lectura. Valor booleano que indica si el objeto es visible (true) o no (false). Anchura del objeto, expresada en pxeles. Slo lectura. Borde izquierdo del objeto, expresado en pxeles. Slo lectura. Borde superior del objeto, expresado en pxeles. Slo lectura.
UIObject.height UIObject.left
UIObject.right
UIObject.scaleX
UIObject.scaleY
UIObject.top
UIObject.visible
UIObject.width UIObject.x
UIObject.y
Descripcin
Indica si el componente puede recibir selecciones y entradas. Nmero que indica el orden de tabulacin para un componente de un documento.
784
Clase Form
Descripcin
Valor booleano que indica si el contenido se carga automticamente (true) o si es preciso llamar a Loader.load() (false). Propiedad de slo lectura que indica el nmero de bytes que se han cargado. Propiedad de slo lectura que indica el nmero total de bytes del contenido. Referencia al contenido del componente Loader. Es una propiedad de slo lectura. Cadena que indica la URL del contenido que va a cargarse. Nmero que indica el porcentaje de contenido cargado. Es una propiedad de slo lectura. Valor booleano que indica si el contenido se redimensiona para adaptarse al componente Loader (true) o si el componente Loader se redimensiona para adaptarse al contenido (false).
Loader.bytesLoaded
Loader.bytesTotal
Loader.content
Loader.contentPath Loader.percentLoaded
Loader.scaleContent
Descripcin
Slo lectura; devuelve la pantalla que contiene la seleccin actual global. Slo lectura; devuelve el ndice de la pantalla (basado en cero) en la lista de pantallas secundarias de su pantalla principal. Slo lectura; devuelve el nmero de pantallas secundarias que contiene la pantalla.
Screen.indexInParent
Screen.numChildScreens
Clase Form
785
Propiedad
Screen.parentIsScreen
Descripcin
Slo lectura; devuelve un valor booleano (true o false) que indica si el objeto principal de la pantalla tambin es una pantalla. Slo lectura; devuelve la pantalla raz del rbol o subrbol que contiene la pantalla.
Screen.rootScreen
Descripcin
Se difunde cuando un objeto est a punto de dibujar sus grficos. Se difunde cuando el estado de un objeto pasa de ser visible a invisible. Se difunde cuando se crean subobjetos. Se difunde cuando se mueve el objeto. Se difunde cuando cambia el tamao de un objeto. Se difunde cuando el estado de un objeto pasa de ser invisible a visible. Se difunde durante la descarga de los subobjetos.
UIObject.hide
UIObject.unload
Descripcin
Se difunde cuando se selecciona un objeto. Se difunde cuando un objeto deja de seleccionarse. Se difunde cuando se presiona una tecla. Se difunde cuando se suelta una tecla.
786
Clase Form
Descripcin
Se activa cuando el contenido termina de cargarse. Se activa mientras se carga el contenido.
Descripcin
Se difunde cuando todas las transiciones de entrada aplicadas a una pantalla han finalizado. a una pantalla han finalizado.
Screen.mouseDown
Se difunde cuando se ha presionado el botn del ratn sobre un objeto (forma o clip de pelcula) que es propiedad directa de la pantalla. Se difunde cuando se ha presionado el botn del ratn en algn lugar del escenario, pero no necesariamente en un objeto propiedad de esta pantalla. Se difunde cuando el ratn se mueve mientras se encuentra sobre una pantalla. Se difunde cuando el ratn se mueve del interior al exterior de la pantalla. Se difunde cuando el ratn se mueve del exterior al interior de la pantalla. Se difunde cuando el botn del ratn se ha soltado sobre un objeto (forma o clip de pelcula) que es propiedad directa de la pantalla. Se difunde cuando el botn del ratn se ha soltado en algn lugar del escenario, pero no necesariamente en un objeto propiedad de esta pantalla.
Screen.mouseDownSomewhere
Screen.mouseMove
Screen.mouseOut
Screen.mouseOver
Screen.mouseUp
Screen.mouseUpSomewhere
Clase Form
787
Form.currentFocusedForm
Disponibilidad
Descripcin
Propiedad (slo lectura); devuelve el objeto Form que contiene la seleccin actual global. La seleccin actual puede estar en el propio formulario o en un clip de pelcula, objeto de texto o componente que se halle dentro de dicho formulario. Puede devolver el valor null en caso de que no haya seleccin actual.
Ejemplo
El cdigo siguiente, asociado con un botn (que no se muestra), muestra el nombre del formulario que contiene la seleccin actual.
trace("The form with the current focus is: " + mx.screens.Form.currentFocusedForm);
Form.getChildForm()
Disponibilidad
Parmetros
childIndex Nmero que indica el ndice basado en cero del formulario secundario que debe devolverse.
Valor devuelto
Un objeto Form.
788
Clase Form
Descripcin
En el ejemplo siguiente, se muestra un panel Salida con los nombres de todos los objetos Form secundarios que pertenecen al objeto Form raz denominado application.
for (var i:Number = 0; i < _root.application.numChildForms; i++) { var childForm:mx.screens.Form = _root.application.getChildForm(i); trace(childForm._name); }
Vase tambin
Form.numChildForms
Form.indexInParentForm
Disponibilidad
Descripcin
Propiedad (slo lectura); contiene el ndice basado en cero de myForm en la lista de formularios secundarios de su formulario principal. Si el objeto principal de myForm es una pantalla en lugar de un formulario (por ejemplo, si es una diapositiva), indexInParentForm es siempre 0.
Ejemplo
var myIndex:Number = myForm.indexInParent; if (myForm == myForm._parent.getChildForm(myIndex)) { trace("I'm where I should be"); }
Vase tambin
Form.getChildForm()
Form.indexInParentForm
789
Form.numChildForms
Disponibilidad
Descripcin
Propiedad (slo lectura); nmero de formularios secundarios que contiene myForm y que se derivan directamente de la clase mx.screens.Form. Esta propiedad no incluye diapositivas contenidas en myForm; slo contiene formularios.
N OT A 790
Al usar una clase personalizada de ActionScript 2.0 que ampla mx.screens.Form, el formulario no se cuenta en la propiedad numChildForms.
Ejemplo
El cdigo siguiente se repite en todos los formularios secundarios que contiene myForm y muestra sus nombres en el panel Salida.
var howManyKids:Number = myForm.numChildForms; for(i=0; i<howManyKids; i++) { var childForm = myForm.getChildForm(i); trace(childForm._name); }
Vase tambin
Form.getChildForm()
Form.parentIsForm
Disponibilidad
Clase Form
Descripcin
Propiedad (slo lectura): devuelve un valor booleano que indica si el objeto principal del formulario especificado tambin es un formulario (true) o si no lo es (false). Si esta propiedad es false, myForm se encuentra en la raz de su jerarqua de formularios.
Ejemplo
if (myForm.parentIsForm) { trace("I have "+myForm._parent.numChildScreens+" sibling screens"); } else { trace("I am the root form and have no siblings"); }
Form.parentForm
Disponibilidad
El siguiente cdigo de ejemplo reside en una pantalla denominada myForm que es una pantalla secundaria de la pantalla form1 predeterminada, creada al elegir Aplicacin de formularios Flash en el cuadro de dilogo Nuevo documento.
onClipEvent(keyDown){ var parentForm:mx.screens.Form = this.parentForm; trace(parentForm); } // salida: _level0.application.form1
Form.parentForm
791
Form.rootForm
Disponibilidad
Descripcin
Propiedad (slo lectura); devuelve el formulario superior de la jerarqua de formularios que contiene myForm. Si myForm se encuentra en un objeto que no es un formulario (es decir, una diapositiva), la propiedad devuelve myForm.
Ejemplo
En el ejemplo siguiente, se coloca una referencia al formulario raz de myForm en una variable denominada root. Si el valor asignado a root hace referencia a myForm, myForm se encuentra en la parte superior de su rbol de formularios.
var root:mx.screens.Form = myForm.rootForm; if(root == myForm) { trace("myForm is the top form in its tree"); }
792
Clase Form
Form.visible
Disponibilidad
Descripcin
Propiedad; determina si myForm est visible cuando se puede ver su formulario, diapositiva, clip de pelcula o archivo SWF principal. Tambin puede establecer esta propiedad mediante el inspector de propiedades del entorno de edicin de Flash. Si esta propiedad tiene el valor true, myForm recibe un evento reveal; si tiene el valor false, myForm recibe un evento hide. Puede asociar transiciones con los formularios para que se ejecuten cuando un formulario reciba uno de estos eventos. Para ms informacin sobre cmo aadir transiciones a pantallas, consulte Creacin de controles y transiciones para las pantallas con comportamientos en Utilizacin de Flash.
Ejemplo
El cdigo siguiente, en un fotograma de la lnea de tiempo, establece en false la propiedad visible del formulario que contiene el botn.
btnOk.addEventListener("click", btnOkClick); function btnOkClick(eventObj:Object):Void { eventObj.target._parent.visible = false; }
Form.visible
793
794
Clase Form
CAPTULO 25
Interfaz Iterator
Nombre de clase de ActionScript
25
mx.utils.Iterator
La interfaz Iterator permite avanzar por los objetos que contiene una coleccin.
N OT A
La interfaz Iterator slo es compatible si trabaja con un documento que especifique ActionScript 2.0 en la Configuracin de publicacin.
Descripcin
Indica si el repetidor tiene ms elementos. Devuelve el siguiente elemento de la repeticin.
795
Iterator.hasNext()
Disponibilidad
Flash Player 7.
Edicin
Valor devuelto
Valor booleano que indica si hay (true) o no hay (false) ms instancias en el repetidor.
Descripcin
Mtodo; indica si hay ms instancias en el repetidor. Este mtodo se suele utilizar en una sentencia while al reproducir indefinidamente a travs de un repetidor.
Ejemplo
El ejemplo siguiente utiliza el mtodo hasNext() para controlar la reproduccin indefinida a travs del repetidor de elementos de una coleccin:
on (click) { var myColl:mx.utils.Collection; myColl = _parent.thisShelf.MyCompactDisks; var itr:mx.utils.Iterator = myColl.getIterator(); while (itr.hasNext()) { var cd:CompactDisk = CompactDisk(itr.next()); var title:String = cd.Title; var artist:String = cd.Artist; trace("Title: "+title+" Artist: "+artist); } }
796
Interfaz Iterator
Iterator.next()
Disponibilidad
Flash Player 7.
Edicin
Valor devuelto
Mtodo; devuelve una instancia del siguiente elemento del repetidor. Esta instancia debe convertirse al tipo correcto.
Ejemplo
El ejemplo indicado a continuacin utiliza el mtodo next() para acceder al siguiente elemento de una coleccin:
on (click) { var myColl:mx.utils.Collection; myColl = _parent.thisShelf.MyCompactDisks; var itr:mx.utils.Iterator = myColl.getIterator(); while (itr.hasNext()) { var cd:CompactDisk = CompactDisk(itr.next()); var title:String = cd.Title; var artist:String = cd.Artist; trace("Title: "+title+" Artist: "+artist); } }
Iterator.next()
797
798
Interfaz Iterator
CAPTULO 26
Componente Label
Un componente Label es una lnea de texto. Es posible especificar que una etiqueta se formatee con HTML. Tambin se puede controlar la alineacin y el tamao de una etiqueta. Los componentes Label no tienen bordes, no se pueden seleccionar y no difunden eventos.
NO T A
26
El componente Label es compatible tanto con ActionScript 2.0 como con ActionScript 3.0. En este documento se describe el componente de la versin 2. Si utiliza el componente de la versin 3, consulte Utilizacin de Label en Utilizacin de componentes ActionScript 3.0.
La previsualizacin dinmica de cada instancia de Label refleja los cambios de parmetros realizados durante la edicin en el inspector de propiedades o el inspector de componentes. La etiqueta no tiene bordes, por lo que el nico modo de obtener una previsualizacin dinmica es definir su parmetro text. El parmetro autoSize no se admite en la previsualizacin dinmica. Cuando se aade el componente Label a una aplicacin, es posible utilizar el panel Accesibilidad para que los lectores de pantalla puedan acceder al mismo. En primer lugar, debe aadir la lnea de cdigo siguiente para activar la accesibilidad:
mx.accessibility.LabelAccImpl.enableAccessibility();
La accesibilidad de un componente slo se activa una vez, sea cual sea su nmero de instancias. Para ms informacin, consulte Creacin de contenido accesible en Utilizacin de Flash.
799
Parmetros de Label
A continuacin se indican los parmetros de edicin que se pueden definir para cada instancia del componente Label en el inspector de propiedades o el inspector de componentes (opcin de men Ventana > Inspector de componentes):
autoSize indica cmo se cambia de tamao y se alinea la etiqueta para que encaje el texto. El valor predeterminado es none. El parmetro puede tener cualquiera de estos cuatro valores:
none, que especifica que la etiqueta no cambia de tamao ni se alinea para que encaje
el texto.
left, que especifica que los lados derecho e inferior de la etiqueta cambian de tamao para que encaje el texto. Los lados izquierdo y superior no cambian de tamao. center, que especifica que los lados izquierdo y derecho de la etiqueta cambian de tamao
para que encaje el texto. El centro horizontal de la etiqueta permanece fijo en su posicin central horizontal original.
right, que especifica que los lados izquierdo e inferior de la etiqueta cambian de tamao para que encaje el texto. Los lados superior y derecho no cambian de tamao.
NO T A
La propiedad autoSize del componente Label es diferente de la propiedad autoSize del objeto TextField incorporado de ActionScript.
indica si la etiqueta va a formatearse con HTML (true) o no (false). Si este parmetro se establece como true, no se podr formatear con estilos una etiqueta, pero s se podr aplicar formato al texto como HTML mediante la etiqueta font. El valor predeterminado es false.
html text
800
Componente Label
A continuacin se indican los parmetros adicionales que se pueden definir para cada instancia del componente Label en el inspector de componentes (Ventana > Inspector de componentes):
visible es un valor booleano que indica si el objeto es visible (true) o no (false). El valor predeterminado es true.
NO T A
Las propiedades minHeight y minWidth se utilizan en rutinas internas de cambio de tamao. Se definen en UIObject y se sustituyen por distintos componentes segn convenga. Estas propiedades pueden utilizarse si se crea un administrador de diseo personalizado en la aplicacin. De lo contrario, establecer estas propiedades en el inspector de componentes no produce ningn efecto visible.
Puede escribir cdigo ActionScript para definir opciones adicionales para instancias de Label con sus mtodos, propiedades y eventos. Para ms informacin, consulte Clase Label en la pgina 803.
Confirme que se especifica ActionScript 2.0 en la Configuracin de publicacin. Arrastre un componente Label desde el panel Componentes al escenario. En el inspector de componentes, introduzca Expiration Date en el parmetro de la etiqueta.
Para crear una instancia del componente Label mediante cdigo ActionScript:
1. 2.
Confirme que se especifica ActionScript 2.0 en la Configuracin de publicacin. Arrastre el componente Label desde el panel Componentes a la biblioteca del documento actual. De esta manera, se aade el componente a la biblioteca, aunque ste no se vuelve visible en la aplicacin.
3.
Seleccione el primer fotograma de la lnea de tiempo principal, abra el panel Acciones e introduzca el cdigo siguiente:
this.createClassObject(mx.controls.Label, "my_label", 1); my_label.text = "Hello World";
Tema
Ambos Ambos
Descripcin
Color del texto. El valor predeterminado es 0x0B333C para el tema Halo y en blanco para el tema Sample. Color del texto cuando el componente est desactivado. El color predeterminado es 0x848384 (gris oscuro). Valor booleano que indica si la fuente especificada en fontFamily es una fuente incorporada. Este estilo debe definirse como true si fontFamily hace referencia a una fuente incorporada. De lo contrario, no se utiliza la fuente incorporada. Si el estilo se define como true y fontFamily no hace referencia a una fuente incorporada, no se muestra ningn texto. El valor predeterminado es false. Nombre de la fuente del texto. El valor predeterminado es _sans.
disabledColor
embedFonts
Ambos
fontFamily
Ambos
802
Componente Label
Estilo
fontSize
Tema
Ambos Ambos Ambos
Descripcin
Tamao de la fuente en puntos. El valor predeterminado es 10. Estilo de la fuente: puede ser normal o italic. El valor predeterminado es normal. Grosor de la fuente: puede ser none o bold. El valor predeterminado es none. Todos los componentes pueden aceptar adems el valor normal en lugar de none durante una llamada a setStyle(), pero las llamadas posteriores a getStyle() devolvern none. Alineacin del texto: puede ser left, right o center. El valor predeterminado es left. Decoracin del texto: puede ser none o underline. El valor predeterminado es none.
fontStyle
fontWeight
textAlign
Ambos Ambos
textDecoration
Clase Label
Herencia
Las propiedades de la clase Label permiten especificar en tiempo de ejecucin el texto de la etiqueta, indicar si el texto se va a formatear con HTML e indicar si la etiqueta cambia de tamao automticamente para que encaje el texto. Si una propiedad de la clase Label se define con ActionScript, sustituye al parmetro del mismo nombre definido en el inspector de propiedades o el inspector de componentes. Cuando acceda a los valores de las propiedades de etiqueta, asegrese de que el componente se ha cargado completamente antes de intentar acceder a la propiedad que desee. Observe el siguiente ejemplo:
var listenerObject:Object = new Object(); listenerObject.load = function(){ trace(label.width); }; label.addEventListener("load", listenerObject);
Clase Label
803
Cada clase de componente tiene una propiedad version que es una propiedad de clase. Las propiedades de clase slo estn disponibles en la propia clase. La propiedad version devuelve una cadena que indica la versin del componente. Para acceder a esta propiedad, utilice el cdigo siguiente:
trace(mx.controls.Label.version);
N OT A 804
Crea un subobjeto en un objeto. Elimina una instancia de componente. Llama a una funcin cuando se han establecido parmetros en el inspector de propiedades y el inspector de componentes. Obtiene la propiedad de estilo de la declaracin de estilo o del objeto. Marca el objeto de forma que se pueda volver a dibujar en el siguiente intervalo de fotogramas. Mueve el objeto a la posicin indicada. Fuerza la validacin del objeto, de forma que se pueda dibujar sobre el fotograma actual. Cambia el tamao del objeto al indicado. Define un aspecto en el objeto. Define la propiedad de estilo en la declaracin de estilo o en el objeto.
UIObject.getStyle()
UIObject.invalidate()
UIObject.move() UIObject.redraw()
Componente Label
Descripcin
Cadena que indica cmo una etiqueta cambia de tamao y se alinea para que encaje el valor de su propiedad text. Hay cuatro valores posibles: none, left, center y right. El valor predeterminado es none. Valor booleano que indica si la etiqueta puede formatearse con HTML (true) o no (false). Texto de la etiqueta.
Label.html
Label.text
Descripcin
Posicin del borde inferior del objeto con respecto al borde inferior de su elemento principal correspondiente. Slo lectura. Altura del objeto, expresada en pxeles. Slo lectura. Borde izquierdo del objeto, expresado en pxeles. Slo lectura. Posicin del borde derecho del objeto con respecto al borde derecho de su elemento principal correspondiente. Slo lectura. Nmero que indica el factor de escala en la direccin x del objeto con respecto a su elemento principal correspondiente. Nmero que indica el factor de escala en la direccin y del objeto con respecto a su elemento principal correspondiente. Posicin del borde superior del objeto con respecto a su elemento principal correspondiente. Slo lectura. Valor booleano que indica si el objeto es visible (true) o no (false). Anchura del objeto, expresada en pxeles. Slo lectura.
UIObject.height UIObject.left
UIObject.right
UIObject.scaleX
UIObject.scaleY
UIObject.top
UIObject.visible
UIObject.width
Clase Label
805
Propiedad
UIObject.x
Descripcin
Borde izquierdo del objeto, expresado en pxeles. Slo lectura. Borde superior del objeto, expresado en pxeles. Slo lectura.
UIObject.y
Descripcin
Se difunde cuando un objeto est a punto de dibujar sus grficos. Se difunde cuando el estado de un objeto pasa de ser visible a invisible. Se difunde cuando se crean subobjetos. Se difunde cuando se mueve el objeto. Se difunde cuando cambia el tamao de un objeto. Se difunde cuando el estado de un objeto pasa de ser invisible a visible. Se difunde durante la descarga de los subobjetos.
UIObject.hide
UIObject.unload
806
Componente Label
Label.autoSize
Disponibilidad
Flash MX 2004.
Sintaxis
labelInstance.autoSize
Descripcin
Propiedad; cadena que indica cmo una etiqueta cambia de tamao y se alinea para que encaje el valor de su propiedad text. Hay cuatro valores posibles: none, left, center y right. El valor predeterminado es none.
none left
Los lados derecho e inferior de la etiqueta cambian de tamao para que encaje el texto. Los lados izquierdo y superior no cambian de tamao.
center Los lados izquierdo y derecho de la etiqueta cambian de tamao para que encaje el texto. El centro horizontal de la etiqueta permanece fijo en su posicin central horizontal original. right
Los lados izquierdo e inferior de la etiqueta cambian de tamao para que encaje el texto. Los lados superior y derecho no cambian de tamao.
NO T A
La propiedad autoSize del componente Label es diferente de la propiedad autoSize del objeto TextField incorporado de ActionScript.
Ejemplo
En el siguiente ejemplo, la instancia de Label my_label cambia el tamao de los lados izquierdo e inferior de la etiqueta para que encaje el texto:
my_label.text = "A really long label with Label.autoSize set"; my_label.autoSize = "right";
Label.autoSize
807
Label.html
Disponibilidad
Flash MX 2004.
Sintaxis
labelInstance.html
Descripcin
Propiedad; valor booleano que indica si la etiqueta puede formatearse con HTML (true) o no (false). El valor predeterminado es false. Los componentes Label con la propiedad html definida en true no pueden formatearse con estilos. Para recuperar el texto normal de un texto con formato HTML, defina la propiedad HTML en y, a continuacin, acceda a la propiedad text. Esto eliminar el formato HTML. Tal vez desee copiar el texto de la etiqueta en un componente Label o TextArea de fuera de la pantalla antes de recuperar el texto normal.
false
Ejemplo
En el ejemplo siguiente se define la propiedad html en true para que la etiqueta pueda formatearse con HTML. La propiedad text se define en una cadena que incluye formato con HTML.
my_label.html = true; my_label.text = "The <b>Royal</b> Nonesuch"; my_label.autoSize = "right";
808
Componente Label
Label.text
Disponibilidad
Flash MX 2004.
Sintaxis
labelInstance.text
Descripcin
El cdigo siguiente define la propiedad text de la instancia my_label de Label y enva el valor al panel Salida:
my_label.text = "The Royal Nonesuch"; trace(my_label.text);
Label.text
809
810
Componente Label
CAPTULO 27
Componente List
El componente List es un cuadro de lista de desplazamiento de seleccin nica o mltiple. Una lista tambin puede mostrar grficos, incluidos otros componentes. Los elementos que se visualizan en la lista se aaden con el cuadro de dilogo Valores que aparece al hacer clic en los campos de parmetros data o labels. Para aadir elementos a la lista tambin pueden utilizarse los mtodos List.addItem() y List.addItemAt().
N OT A
27
El componente List es compatible tanto con ActionScript 2.0 como con ActionScript 3.0. En este documento, se describe el componente de la versin 2. Si utiliza el componente de la versin 3, consulte Utilizacin de List en Utilizacin de componentes ActionScript 3.0.
El componente List utiliza un ndice basado en cero, en el que el elemento con el ndice 0 aparece en primer lugar. Si aade, elimina o reemplaza elementos de lista mediante los mtodos y propiedades de la clase List, es posible que tenga que especificar el ndice del elemento de lista.
811
La lista se selecciona cuando se hace clic en ella o se presiona el tabulador hasta su posicin y, a continuacin, se pueden utilizar las siguientes teclas para controlarla:
Tecla
Teclas alfanumricas Control Flecha abajo Inicio Av Pg Re Pg Mays Flecha arriba
N OT A 812
Descripcin
Salta al siguiente elemento que tiene Key.getAscii() como el primer carcter de su etiqueta. Tecla conmutadora que permite seleccionar y anular la seleccin de varios elementos no contiguos. La seleccin desciende un elemento. La seleccin se desplaza al principio de la lista. La seleccin avanza una pgina. La seleccin retrocede una pgina. Permite seleccionar elementos contiguos. La seleccin asciende un elemento.
Para las teclas Av Pg y Re Pg, una pgina est formada por los elementos que caben en pantalla menos uno. Por ejemplo, para avanzar por una lista desplegable que presenta las lneas de diez en diez, la pantalla muestra los elementos 0-9, 9-18, 18-27 y as sucesivamente, solapando un elemento por pgina.
Para ms informacin sobre el control de la seleccin, consulte Clase FocusManager en la pgina 763 o Creacin de un desplazamiento personalizado de la seleccin en Utilizacin de componentes ActionScript 2.0. La previsualizacin dinmica de cada instancia de List del escenario refleja los cambios de parmetros realizados durante la edicin en el inspector de propiedades o en el inspector de componentes. Cuando se aade el componente List a una aplicacin, es posible utilizar el panel Accesibilidad para que los lectores de pantalla puedan acceder a l. En primer lugar, debe aadir la lnea de cdigo siguiente para activar la accesibilidad:
mx.accessibility.ListAccImpl.enableAccessibility();
La accesibilidad de un componente slo se activa una vez, sea cual sea su nmero de instancias. Para ms informacin, consulte Creacin de contenido accesible en Utilizacin de Flash.
Componente List
Cuanto ms pequeo, rpido y simple, mejor. Es preferible no hacer algo ms complicado de lo que sea absolutamente necesario. sta ha sido la directiva de diseo ms importante; la mayora de los requisitos que se enumeran a continuacin se basan en esta directiva.
Las listas tienen alturas de fila uniformes. Cada fila debe tener la misma altura; sta se puede definir durante la edicin o en tiempo de ejecucin.
La escala de las listas debe ajustarse a miles de registros. Las listas no miden el texto. Esta restriccin tiene las ramificaciones con mayor potencial. Puesto que la escala de una lista debe ajustarse a miles de registros, de los cuales cualquiera podra contener una cadena excepcionalmente larga, dicha lista no debe crecer para ajustar la mayor cadena de texto dentro de ella ni aadir una barra de desplazamiento horizontal en el modo auto. Asimismo, medir miles de cadenas resultara demasiado intensivo. La solucin es la propiedad maxHPosition, que, cuando se establece vScrollPolicy en on, proporciona el espacio de bfer adicional de la lista para el desplazamiento. Si prev la aparicin de cadenas largas, establezca hScrollPolicy en on y aada un valor de 200 pxeles maxHPosition al componente List o Tree. Ms o menos se garantiza que el usuario podr desplazarse para verlo todo. Sin embargo, el componente DataGrid admite auto como valor hScrollPolicy, ya que mide columnas (con la misma anchura por elemento) y no texto.
813
El hecho de que las listas no midan texto tambin explica por qu las listas tienen alturas de fila uniformes. Cambiar el tamao de cada fila para que se ajuste al texto precisa demasiadas mediciones. Por ejemplo, si desea mostrar de forma precisa las barras de desplazamiento de una lista con altura de fila no uniforme, no es necesario medir previamente cada fila.
Las listas funcionan peor como funcin de sus filas visibles. Aunque hay listas que pueden mostrar 5000 registros, no pueden representar 5000 registros a la vez. Cuantas ms filas visibles (especificadas por la propiedad rowCount) tenga en el escenario, ms trabajo deber llevar a cabo la lista para generar sus representaciones. Limitar el nmero de filas visibles, si es posible, supone la mejor solucin.
Las listas no son tablas. Por ejemplo, los componentes DataGrid, que amplan la clase List, estn pensados para proporcionar una interfaz para muchos registros. No estn diseados para mostrar toda la informacin, sino para mostrar la suficiente informacin como para que los usuarios puedan ampliarla posteriormente. La vista de mensajes en Microsoft Outlook es un excelente ejemplo. No se lee todo el mensaje de correo electrnico en la cuadrcula; resultara difcil leerlo y el rendimiento del cliente sera bajo. Outlook muestra suficiente informacin para que el usuario vaya al elemento expuesto y vea ms detalles.
Parmetros de List
A continuacin, se indican los parmetros de edicin que se pueden definir para cada instancia del componente List en el inspector de propiedades o en el inspector de componentes:
data
es una matriz de valores que rellenan los datos de la lista. El valor predeterminado es [] (matriz vaca). No hay propiedad en tiempo de ejecucin equivalente. es una matriz de valores de texto que rellenan los valores de etiqueta de la lista. El valor predeterminado es [] (matriz vaca). No hay propiedad en tiempo de ejecucin equivalente.
labels
multipleSelection es una valor booleano que indica si se permite la seleccin de varios valores
se define una fuente, la altura de la fila no cambia. Puede escribir cdigo ActionScript para definir opciones adicionales para instancias de List con sus mtodos, propiedades y eventos. Para ms informacin, consulte Clase List en la pgina 822.
814
Componente List
Seleccione Archivo > Nuevo y, a continuacin, Archivo Flash (ActionScript 2.0). Arrastre un componente List desde el panel Componentes al escenario. Seleccione la herramienta Transformacin libre y cambie el tamao del componente para que se ajuste a la aplicacin. En el inspector de propiedades, siga este procedimiento:
4.
Introduzca el nombre de la instancia my_list. Introduzca Item1, Item2 e Item3 como parmetro labels. Introduzca item1.html, item2.html e item3.html como parmetro data.
5. 6. 7.
Elija Control > Probar pelcula para ver la lista con sus elementos. Vuelva al entorno de edicin, inserte una nueva capa y asgnele el nombre acciones. Aada el siguiente cdigo ActionScript al fotograma 1 de la capa acciones.
my_list.change = function(evt:Object) { getURL(evt.target.selectedItem.data, "_blank"); }; my_list.addEventListener("change", my_list);
Seleccione Archivo > Nuevo y, a continuacin, Archivo Flash (ActionScript 2.0). Arrastre un componente List desde el panel Componentes al escenario. Seleccione la herramienta Transformacin libre y cambie el tamao del componente para que se ajuste a la aplicacin. En el inspector de propiedades, introduzca el nombre de instancia my_list. Seleccione el fotograma 1 de la lnea de tiempo y, en el panel Acciones, introduzca lo siguiente:
my_list.dataProvider = myDP;
4. 5.
Si ha definido un proveedor de datos denominado myDP, la lista se llenar de datos. Para ms informacin sobre los proveedores de datos, consulte List.dataProvider.
6.
Elija Control > Probar pelcula para ver la lista con sus elementos.
815
Seleccione Archivo > Nuevo y, a continuacin, Archivo Flash (ActionScript 2.0). Arrastre un componente List desde el panel Componentes al escenario. Seleccione la herramienta Transformacin libre y cambie el tamao del componente para que se ajuste a la aplicacin. En el inspector de propiedades, introduzca el nombre de instancia my_list. Cree un clip de pelcula en el escenario y asgnele el nombre de instancia my_mc. Abra el clip de pelcula en el modo de edicin de smbolos y aada alguna animacin. Inserte una nueva capa y asgnele el nombre acciones. Aada el siguiente cdigo ActionScript al fotograma 1 de la capa acciones.
my_list.addItem({label:"play", data:"play"}); my_list.addItem({label:"stop", data:"stop"}); var listHandler:Object = new Object(); listHandler.change = function(evt:Object) { switch (evt.target.selectedItem.data) { case "play" : my_mc.play(); break; case "stop" : my_mc.stop(); break; default : trace("unhandled event: "+evt.target.selectedItem.data); break; } }; my_list.addEventListener("change", listHandler);
4. 5. 6. 7. 8.
9.
Seleccione Control > Probar pelcula para que la lista reproduzca y detenga la instancia del clip de pelcula my_mc.
816
Componente List
Para crear una instancia del componente List mediante cdigo ActionScript:
1. 2.
Seleccione Archivo > Nuevo y, a continuacin, Archivo Flash (ActionScript 2.0). Arrastre un componente List desde el panel Componentes a la biblioteca. De esta manera, se aade el componente a la biblioteca, aunque ste no se vuelve visible en la aplicacin.
3.
Seleccione el primer fotograma de la lnea de tiempo principal, abra el panel Acciones e introduzca el cdigo siguiente:
this.createClassObject(mx.controls.List, "my_list", 1); my_list.addItem({label:"One", data:dt1}); my_list.addItem({label:"Two", data:dt2});
817
Tema
Halo
Descripcin
Esquema de colores base de un componente. Los valores posibles son haloGreen, haloBlue y haloOrange. El valor predeterminado es haloGreen. Especifica los colores de las filas en un patrn alterno. El valor puede ser una matriz de ms de dos colores, por ejemplo, 0xFF00FF, 0xCC6699 y 0x996699. A diferencia de los estilos de color de un solo valor, alternatingRowColors no acepta nombres de color; los valores deben ser cdigos de color numricos. De forma predeterminada, el estilo no est definido y backgroundColor se usa en su lugar para todas las filas. Color de fondo de la lista. El color predeterminado es blanco y se define en la declaracin de estilo de clase. Este estilo se omite si se especifica alternatingRowColors. Color de fondo cuando la propiedad del componente
enabled est establecida en false. El valor
alternatingRowColors
Ambos
backgroundColor
Ambos
backgroundDisabledColor
Ambos
Ambos
El componente List utiliza una instancia de RectBorder como borde y responde a los estilos definidos en dicha clase. Consulte Clase RectBorder en la pgina 1145. El estilo de borde predeterminado es inset. Color del texto. Color del texto cuando el componente est desactivado. El color predeterminado es 0x848384 (gris oscuro).
color disabledColor
Ambos Ambos
818
Componente List
Estilo
embedFonts
Tema
Ambos
Descripcin
Valor booleano que indica si la fuente especificada en fontFamily es una fuente incorporada. Este estilo debe definirse como true si fontFamily hace referencia a una fuente incorporada. De lo contrario, no se utiliza la fuente incorporada. Si el estilo se define como true y fontFamily no hace referencia a una fuente incorporada, no se muestra ningn texto. El valor predeterminado es false. Nombre de la fuente del texto. El valor predeterminado es _sans. Tamao de la fuente en puntos. El valor predeterminado es 10. Estilo de la fuente: puede ser normal o italic. El valor predeterminado es normal. Grosor de la fuente: puede ser none o bold. El valor predeterminado es none. Todos los componentes pueden aceptar adems el valor normal en lugar de none durante una llamada a setStyle(), pero las llamadas posteriores a getStyle() devolvern none. Alineacin del texto: puede ser left, right o center. El valor predeterminado es left. Decoracin del texto: puede ser none o
underline. El valor predeterminado es none.
fontFamily
fontSize
fontStyle
fontWeight
textAlign
textDecoration
textIndent
Nmero que indica la sangra del texto. El valor predeterminado es 0. Nombre del icono predeterminado que se mostrar en cada fila. El valor predeterminado es undefined, el cual indica que no se muestra ningn icono. Nmero de milisegundos de demora entre el momento en que el usuario presiona por primera vez un botn en la barra de desplazamiento y el momento en que comienza a repetirse la accin. El valor predeterminado es 500, medio segundo. Nmero de milisegundos entre clics automticos cuando un usuario mantiene presionado el botn del ratn sobre un botn de la barra de desplazamiento. El valor predeterminado es 35.
defaultIcon
repeatDelay
Ambos
repeatInterval
Ambos
819
Estilo
rollOverColor
Tema
Ambos
Descripcin
Color de fondo de una fila por la que se desplaza el puntero. El valor predeterminado es 0xE3FFD6 (verde brillante) con el tema Halo y 0xAAAAAA (gris claro) con el tema Sample. Cuando se cambia themeColor en una llamada a setStyle(), el marco establece rollOverColor en un valor relacionado con el valor de themeColor elegido. Color de fondo de una fila seleccionada. El valor predeterminado es 0xCDFFC1 (verde claro) con el tema Halo y 0xEEEEEE (gris muy claro) con el tema Sample. Cuando se cambia themeColor en una llamada a setStyle(), el marco establece selectionColor en un valor relacionado con el valor de themeColor elegido. Duracin de la transicin del estado normal al estado seleccionado o viceversa, expresado en milisegundos. El valor predeterminado es 200. Color de fondo de una fila seleccionada. El valor predeterminado es 0xDDDDDD (gris medio). Como el valor predeterminado de esta propiedad coincide con el valor predeterminado de backgroundDisabledColor, la seleccin no es visible cuando se desactiva el componente, a menos que se cambie una de estas propiedades de estilo. Referencia a la ecuacin de suavizado que se utiliza para controlar la transicin entre los estados de seleccin. Esto slo se aplica a la transicin del estado normal al seleccionado. La ecuacin predeterminada usa una funcin sinusoidal entrante/ saliente. Para ms informacin, consulte Personalizacin de animaciones de componentes en Utilizacin de componentes de ActionScript 2.0. Color del texto cuando el puntero se desplaza sobre l. El valor predeterminado es 0x2B333C (gris oscuro). Este estilo es importante cuando se establece rollOverColor porque ambos colores deben complementarse para que el texto pueda verse con claridad al desplazar el puntero sobre l.
selectionColor
Ambos
selectionDuration
Ambos
selectionDisabledColor
Ambos
selectionEasing
Ambos
textRollOverColor
Ambos
820
Componente List
Estilo
textSelectedColor
Tema
Ambos
Descripcin
Color del texto de la fila seleccionada. El valor predeterminado es 0x005F33 (gris oscuro). Este estilo es importante al definir selectionColor, ya que los dos valores deben complementarse entre s para que se pueda ver fcilmente el texto cuando est seleccionado. Determina si el resaltado se activa cuando el puntero se desplaza sobre una fila. El valor predeterminado es true.
useRollOver
Ambos
Para definir una propiedad de estilo nicamente en los componentes List y los componentes basados en List, se puede crear una nueva instancia de CSSStyleDeclaration y almacenarla en _global.styles.List.
import mx.styles.CSSStyleDeclaration; if (_global.styles.List == undefined) { _global.styles.List = new CSSStyleDeclaration(); } _global.styles.List.setStyle("backgroundColor", 0xFF00AA);
Cuando se crea una nueva declaracin de estilo de clase, se pierden todos los valores predeterminados proporcionados por la declaracin ScrollSelectList. Entre ellos, el valor de backgroundColor, necesario para la compatibilidad con eventos de ratn. Para crear una declaracin de estilo de clase y conservar los valores predeterminados, utilice un bucle for..in para copiar los valores anteriores a la nueva declaracin.
var source = _global.styles.ScrollSelectList; var target = _global.styles.List; for (var style in source) { target.setStyle(style, source.getStyle(style)); }
821
Para proporcionar estilos al componente List, pero no a componentes que amplen List (DataGrid y Tree), debe ofrecer declaraciones de estilo de clase a estas subclases.
import mx.styles.CSSStyleDeclaration; if (_global.styles.DataGrid == undefined) { _global.styles.DataGrid = new CSSStyleDeclaration(); } _global.styles.DataGrid.setStyle("backgroundColor", 0xFFFFFF); if (_global.styles.Tree == undefined) { _global.styles.Tree = new CSSStyleDeclaration(); } _global.styles.Tree.setStyle("backgroundColor", 0xFFFFFF);
Para ms informacin sobre los estilos de clase, consulte Definicin de los estilos de una clase de componente en Utilizacin de componentes ActionScript 2.0.
Clase List
Herencia MovieClip > Clase UIObject > Clase UIComponent > View > ScrollView > ScrollSelectList > List Nombre de clase de ActionScript
mx.controls.List
El componente List consta de tres partes: elementos, fila y proveedor de datos. Un elemento es un objeto de ActionScript que sirve para almacenar las unidades de informacin de la lista. Una lista puede concebirse como una matriz; cada espacio indexado de la matriz es un elemento. Un elemento es un objeto que, normalmente, tiene una propiedad label que se muestra y una propiedad data que se utiliza para almacenar datos. Una fila es un componente que se utiliza para mostrar un elemento. Las filas las suministra de forma predeterminada la lista (se utiliza la clase SelectableRow) o las suministra el usuario, normalmente con una subclase de la clase SelectableRow. La clase SelectableRow implementa la interfaz API CellRenderer, que es el conjunto de propiedades y mtodos que permiten que la lista pueda manipular cada fila y enviar datos e informacin sobre el estado (por ejemplo, tamao, seleccin) a la fila para su visualizacin.
822
Componente List
Un proveedor de datos es el modelo de datos de la lista de elementos de una lista. Si en un mismo fotograma hay una lista y una matriz, sta recibe automticamente mtodos que permiten manipular datos y difundir cambios a varias vistas. Puede crear una instancia de Array u obtener una en un servidor y utilizarla como modelo de datos para varias listas, cuadros combinados, cuadrculas de datos, etc. El componente List posee mtodos que le permiten comunicarse con su proveedor de datos (por ejemplo, addItem() y removeItem()). Si no se proporciona ningn proveedor de datos externo a la lista, estos mtodos crean automticamente una instancia de proveedor de datos que se presenta mediante List.dataProvider. Para aadir un componente List al orden de tabulacin de una aplicacin, defina su propiedad tabIndex (consulte UIComponent.tabIndex). El componente List utiliza Focus Manager para sustituir el rectngulo de seleccin predeterminado de Flash Player y dibuja uno personalizado con esquinas redondeadas. Para ms informacin, consulte Creacin de un desplazamiento personalizado de la seleccin en Utilizacin de componentes de ActionScript 2.0. Cada clase de componente tiene una propiedad version que es una propiedad de clase. Las propiedades de clase slo estn disponibles en la propia clase. La propiedad version devuelve una cadena que indica la versin del componente. Para acceder a esta propiedad, utilice el cdigo siguiente:
trace(mx.controls.List.version);
N OT A
Descripcin
Aade un elemento al final de la lista. Aade un elemento a la lista en el ndice especificado. Devuelve el elemento del ndice especificado. Elimina todos los elementos de la lista. Elimina el elemento en el ndice especificado. Sustituye por otro el elemento del ndice especificado. Aplica las propiedades especificadas al elemento especificado.
Clase List
823
Mtodo
List.sortItems()
Descripcin
Ordena los elementos de la lista segn la funcin de comparacin especificada. Ordena los elementos de la lista segn la propiedad especificada.
List.sortItemsBy()
Crea un subobjeto en un objeto. Elimina una instancia de componente. Llama a una funcin cuando se han establecido parmetros en el inspector de propiedades y el inspector de componentes. Obtiene la propiedad de estilo de la declaracin de estilo o del objeto. Marca el objeto de forma que se pueda volver a dibujar en el siguiente intervalo de fotogramas. Mueve el objeto a la posicin indicada. Fuerza la validacin del objeto, de forma que se pueda dibujar sobre el fotograma actual. Cambia el tamao del objeto al indicado. Define un aspecto en el objeto. Define la propiedad de estilo en la declaracin de estilo o en el objeto.
UIObject.getStyle()
UIObject.invalidate()
UIObject.move() UIObject.redraw()
824
Componente List
Descripcin
Devuelve una referencia al objeto seleccionado. Define la seleccin en la instancia de componente.
Descripcin
Asigna la clase o el smbolo que se va utilizar para mostrar cada fila de la lista. Origen de los elementos de la lista. Posicin horizontal de la lista. Indica si la barra de desplazamiento horizontal se muestra (on) o no (off). Campo de cada elemento que se utiliza para especificar iconos. Funcin que determina qu icono se debe utilizar. Especifica el campo de cada elemento que se utilizar como texto de etiqueta. Funcin que determina qu campos de cada elemento se utilizarn para el texto de etiqueta. Nmero de elementos de la lista. Es una propiedad de slo lectura. Nmero de pxeles que la lista puede desplazarse a la derecha cuando List.hScrollPolicy est definida en on. Indica si en la lista se permite la seleccin mltiple (true) o no (false). Nmero de filas que son al menos parcialmente visibles en la lista. Altura de las filas de la lista, expresada en pxeles.
List.iconField
List.iconFunction List.labelField
List.labelFunction
List.length
List.maxHPosition
List.multipleSelection
List.rowCount
List.rowHeight
Clase List
825
Propiedad
List.selectable List.selectedIndex List.selectedIndices
Descripcin
Indica si la lista es seleccionable (true) o no (false). ndice de una seleccin en una lista de seleccin nica. Matriz de los elementos seleccionados en una lista de seleccin mltiple. Elemento seleccionado en una lista de seleccin nica. Es una propiedad de slo lectura. Objetos del elemento seleccionado en una lista de seleccin mltiple. Es una propiedad de slo lectura. Elemento visible situado en la parte superior de la lista. Indica si la barra de desplazamiento vertical se muestra (on), no se muestra (off) o se muestra cuando es necesario (auto).
List.selectedItem
List.selectedItems
List.vPosition List.vScrollPolicy
Descripcin
Posicin del borde inferior del objeto con respecto al borde inferior de su elemento principal correspondiente. Slo lectura. Altura del objeto, expresada en pxeles. Slo lectura. Borde izquierdo del objeto, expresado en pxeles. Slo lectura. Posicin del borde derecho del objeto con respecto al borde derecho de su elemento principal correspondiente. Slo lectura. Nmero que indica el factor de escala en la direccin x del objeto con respecto a su elemento principal correspondiente. Nmero que indica el factor de escala en la direccin y del objeto con respecto a su elemento principal correspondiente. Posicin del borde superior del objeto con respecto a su elemento principal correspondiente. Slo lectura. Valor booleano que indica si el objeto es visible (true) o no (false).
UIObject.height UIObject.left
UIObject.right
UIObject.scaleX
UIObject.scaleY
UIObject.top
UIObject.visible
826
Componente List
Propiedad
UIObject.width UIObject.x
Descripcin
Anchura del objeto, expresada en pxeles. Slo lectura. Borde izquierdo del objeto, expresado en pxeles. Slo lectura. Borde superior del objeto, expresado en pxeles. Slo lectura.
UIObject.y
Descripcin
Indica si el componente puede recibir selecciones y entradas. Nmero que indica el orden de tabulacin para un componente de un documento.
Descripcin
Se difunde cuando la interaccin del usuario provoca un cambio en la seleccin. Se difunde cuando el puntero se desplaza sobre elementos de la lista y despus sale de ellos. Se difunde cuando el puntero se desplaza sobre un elemento. Se difunde cuando se recorre la lista.
List.itemRollOut
List.itemRollOver
List.scroll
Clase List
827
Descripcin
Se difunde cuando un objeto est a punto de dibujar sus grficos. Se difunde cuando el estado de un objeto pasa de ser visible a invisible. Se difunde cuando se crean subobjetos. Se difunde cuando se mueve el objeto. Se difunde cuando cambia el tamao de un objeto. Se difunde cuando el estado de un objeto pasa de ser invisible a visible. Se difunde durante la descarga de los subobjetos.
UIObject.hide
UIObject.unload
Descripcin
Se difunde cuando se selecciona un objeto. Se difunde cuando un objeto deja de seleccionarse. Se difunde cuando se presiona una tecla. Se difunde cuando se suelta una tecla.
828
Componente List
List.addItem()
Disponibilidad
Flash MX 2004.
Sintaxis
listInstance.addItem(label[, data]) listInstance.addItem(itemObject)
Parmetros
label data
Cadena que indica la etiqueta del elemento nuevo. Datos del elemento. Este parmetro es optativo y puede ser de cualquier tipo de datos. Objeto de elemento que normalmente tiene propiedades label y data.
itemObject
Valor devuelto
Mtodo; aade un elemento nuevo al final de la lista. En el primer ejemplo de sintaxis, se crea siempre un objeto de elemento con la propiedad label especificada y, si se ha especificado, la propiedad data. En el segundo ejemplo de sintaxis, se aade el objeto de elemento especificado. Cuando se llama a este mtodo, se modifica el proveedor de datos del componente List. Si el proveedor de datos se comparte con otros componentes, stos tambin se actualizan.
Ejemplo
Las dos siguientes lneas de cdigo aaden un elemento a la instancia my_list. Para probar este cdigo, arrastre un componente List al escenario y asgnele el nombre de instancia my_list. Aada el cdigo siguiente al fotograma 1 de la lnea de tiempo:
var my_list:mx.controls.List; my_list.addItem("this is an Item"); my_list.addItem({label:"Gordon", age:"very old", data:123});
List.addItem()
829
List.addItemAt()
Disponibilidad
Flash MX 2004.
Sintaxis
listInstance.addItemAt(index, label[, data]) listInstance.addItemAt(index, itemObject)
Parmetros
index label data
Nmero mayor o igual que 0 que indica la posicin del elemento. Cadena que indica la etiqueta del elemento nuevo. Datos del elemento. Este parmetro es optativo y puede ser de cualquier tipo de datos. Objeto de elemento que normalmente tiene propiedades label y data.
itemObject
Valor devuelto
Mtodo; aade un elemento nuevo en la posicin especificada por el parmetro index. En el primer ejemplo de sintaxis, se crea siempre un objeto de elemento con la propiedad label especificada y, si se ha especificado, la propiedad data. En el segundo ejemplo de sintaxis, se aade el objeto de elemento especificado. Cuando se llama a este mtodo, se modifica el proveedor de datos del componente List. Si el proveedor de datos se comparte con otros componentes, stos tambin se actualizan.
Ejemplo
En el siguiente ejemplo, se aade un elemento en la posicin del primer ndice, que es el segundo elemento de la lista. Para probar este cdigo, arrastre un componente List al escenario y asgnele el nombre de instancia my_list. Aada el cdigo siguiente al fotograma 1 de la lnea de tiempo:
var my_list:mx.controls.List; my_list.addItem("this is an Item"); my_list.addItem({label:"Gordon", age:"very old", data:123}); my_list.addItemAt(1, {label:"Red", data:0xFF0000});
830
Componente List
List.cellRenderer
Disponibilidad
Flash MX 2004.
Sintaxis
listInstance.cellRenderer
Descripcin
Propiedad; asigna el procesador de celdas que va a utilizarse en cada fila de la lista. Esta propiedad debe ser una referencia a un objeto de clase o un identificador de vinculacin del smbolo. Todas las clases que se utilicen con esta propiedad deben implementar Interfaz API CellRenderer.
Ejemplo
En el ejemplo siguiente, se utiliza un identificador de vinculacin para definir un nuevo procesador de celdas:
my_list.cellRenderer = "ComboBoxCell";
List.change
Disponibilidad
Flash MX 2004.
Sintaxis
Sintaxis 1:
var listenerObject:Object = new Object(); listenerObject.change = function(eventObject:Object) { // El cdigo se escribe aqu. }; listInstance.addEventListener("change", listenerObject);
Sintaxis 2:
on (change) { // El cdigo se escribe aqu. }
List.change 831
Descripcin
Evento; se difunde a todos los detectores registrados cuando el ndice seleccionado de la lista cambia como resultado de la interaccin del usuario. El primer ejemplo de sintaxis utiliza un modelo de eventos distribuidor/detector. Una instancia de componente (listInstance) distribuye un evento (en este caso, change), y ste se controla mediante una funcin, tambin denominada controlador, asociada con el objeto detector (listenerObject) que crea el usuario. Se define un mtodo con el mismo nombre que el evento del objeto detector; se llama al mtodo cuando se activa el evento. Cuando se activa el evento, ste pasa automticamente un objeto de evento (eventObject) al mtodo del objeto detector. Cada objeto de evento tiene propiedades que contienen informacin sobre el evento. Estas propiedades sirven para escribir el cdigo que controla el evento. Para ms informacin, consulte Clase EventDispatcher (API) en la pgina 528. Finalmente, se llama al mtodo addEventListener() de la instancia del componente que difunde el evento para registrar el detector con la instancia. Cuando la instancia distribuya el evento, se llamar al detector. El segundo ejemplo de sintaxis utiliza un controlador on() que debe asociarse directamente con una instancia de List. La palabra clave this, utilizada en un controlador on() asociado con un componente, hace referencia a la instancia del componente. Por ejemplo, el cdigo siguiente, asociado con la instancia my_list del componente List, enva _level0.my_list al panel Salida:
on (change) { trace(this); }
Ejemplo
En el siguiente ejemplo, se aaden tres elementos al componente List. Si se cambia el valor seleccionado de la lista, el valor del elemento que ha seleccionado aparecer en el panel Salida. Para probar este cdigo, arrastre un componente List al escenario y asgnele el nombre de instancia my_list. Aada el cdigo siguiente al fotograma 1 de la lnea de tiempo:
var my_list:mx.controls.List; my_list.addItem({data:'flash', label:'Flash'}); my_list.addItem({data:'dreamweaver', label:'Dreamweaver'}); my_list.addItem({data:'coldfusion', label:'ColdFusion'}); // Crear un objeto detector. var listListener:Object = new Object(); listListener.change = function(evt_obj:Object) { trace("Value changed to: " + evt_obj.target.value); } // Aadir detector. my_list.addEventListener("change", listListener);
Vase tambin
EventDispatcher.addEventListener()
832
Componente List
List.dataProvider
Disponibilidad
Flash MX 2004.
Sintaxis
listInstance.dataProvider
Descripcin
Propiedad; modelo de datos de los elementos que se ven en una lista. El valor de esta propiedad puede ser una matriz o cualquier objeto que implemente la API DataProvider. El valor predeterminado es []. Para ms informacin, consulte Interfaz API de DataProvider en la pgina 339. El componente List, al igual que otros componentes para datos, aade mtodos al prototipo del objeto Array para ceirse a la interfaz API DataProvider. Por lo tanto, cualquier matriz que exista a la vez que la lista tiene automticamente todos los mtodos necesarios (addItem(), getItemAt(), etc.) para ser el modelo de datos de la lista y puede utilizarse para difundir cambios de modelo a varios componentes. Si la matriz contiene objetos, accede a las propiedades List.labelField o List.labelFunction para determinar qu partes del elemento deben mostrarse. El valor predeterminado es label, por lo que si existe un campo label, es el campo que se muestra; en caso contrario, se muestra una lista de todos los campos separados por comas.
NO T A
Si la matriz contiene cadenas y no objetos en todos los ndices, la lista no puede ordenar los elementos y mantener el estado de la seleccin. Al ordenar, se pierde la seleccin.
Cualquier instancia que implemente la API DataProvider puede ser un proveedor de datos del componente List. Esto incluye los juegos de registros de Flash Remoting, los juegos de datos de Firefly, etc.
Ejemplo
List.dataProvider
833
Este ejemplo crea una matriz de proveedor de datos y la asigna a la propiedad dataProvider, como se muestra a continuacin:
var myDP_array:Array = new Array(); my_list.dataProvider = myDP_array; var accounts_array:Array = new Array(); accounts_array.push({name:"checkings", accountID:12345}); accounts_array.push({name:"savings", accountID:67890}); for (var i:Number = 0; i < accounts_array.length; i++) { // Estos cambios en el proveedor de datos se difundirn a la lista myDP_array.addItem({label:accounts_array[i].name, data:accounts_array[i].accountID}); }
List.getItemAt()
Disponibilidad
Flash MX 2004.
Sintaxis
listInstance.getItemAt(index)
Parmetros
index Nmero mayor o igual que 0 y menor que List.length. Especifica el ndice del elemento que debe recuperarse.
Valor devuelto
Mtodo; recupera el elemento del ndice especificado. Este mtodo obtiene el elemento de datos de una matriz, DataProvider, o de un objeto de datos creado mediante CellRenderer.setValue().
834
Componente List
Ejemplo
El siguiente cdigo muestra la etiqueta del elemento en la posicin de ndice 2. Para probar este cdigo, arrastre un componente List al escenario y asgnele el nombre de instancia my_list. Aada el cdigo siguiente al fotograma 1 de la lnea de tiempo:
var my_list:mx.controls.List; my_list.addItem({data:'flash', label:'Flash'}); my_list.addItem({data:'dreamweaver', label:'Dreanweaver'}); my_list.addItem({data:'coldfusion', label:'ColdFusion'}); trace(my_list.getItemAt(2).label);
List.hPosition
Disponibilidad
Flash MX 2004.
Sintaxis
listInstance.hPosition
Descripcin
Propiedad; desplaza la lista el nmero de pxeles especificado en sentido horizontal. hPosition no puede definirse a menos que el valor de hScrollPolicy sea on y la lista tenga un maxHPosition superior a 0.
Ejemplo
El siguiente cdigo muestra el valor actual de hPosition siempre que la instancia de List se recorra de forma horizontal. Para probar este cdigo, arrastre un componente List al escenario y asgnele el nombre de instancia my_list. Aada el cdigo siguiente al fotograma 1 de la lnea de tiempo:
var my_list:mx.controls.List; my_list.setSize(150, 100); my_list.hScrollPolicy = "on"; my_list.maxHPosition = 50; my_list.addItem({data:'flash', label:'Flash'}); my_list.addItem({data:'dreamweaver', label:'Dreanweaver'}); my_list.addItem({data:'coldfusion', label:'ColdFusion'});
List.hPosition
835
var listListener:Object = new Object(); listListener.scroll = function (evt_obj:Object) { trace("my_list.hPosition = " + my_list.hPosition); } my_list.addEventListener("scroll", listListener);
List.hScrollPolicy
Disponibilidad
Flash MX 2004.
Sintaxis
listInstance.hScrollPolicy
Descripcin
Propiedad; cadena que determina si se muestra la barra de desplazamiento horizontal; el valor puede ser on u off. El valor predeterminado es off. La barra de desplazamiento horizontal no mide el texto; es preciso definir una posicin mxima de desplazamiento horizontal (consulte List.maxHPosition).
NO T A 836 List.hScrollPolicy no admite el valor auto.
Ejemplo
El cdigo siguiente activa el desplazamiento horizontal de la lista hasta 200 pxeles. Para probar este cdigo, arrastre un componente List al escenario y asgnele el nombre de instancia my_list. Aada el cdigo siguiente al fotograma 1 de la lnea de tiempo:
var my_list:mx.controls.List; my_list.setSize(150, 100); my_list.hScrollPolicy = "on"; my_list.maxHPosition = 200; my_list.addItem({data:'flash', label:'Flash'}); my_list.addItem({data:'dreamweaver', label:'Dreanweaver'}); my_list.addItem({data:'coldfusion', label:'ColdFusion'});
Vase tambin
List.hPosition, List.maxHPosition
Componente List
List.iconField
Disponibilidad
Flash MX 2004.
Sintaxis
listInstance.iconField
Descripcin
Propiedad; especifica el nombre del campo que va a utilizarse como identificador de icono. Si el valor del campo es undefined, se utiliza el icono predeterminado especificado en el estilo defaultIcon. Si el estilo defaultIcon es undefined, no se utiliza ningn icono.
Ejemplo
En el ejemplo siguiente, se define la propiedad iconField en la propiedad icon de cada elemento. Para probar este cdigo, arrastre un componente List al escenario, asgnele el nombre de instancia my_list y cree tres smbolos con los nombres de instancia flash, dreamweaver y cf, respectivamente. Aada el cdigo siguiente al fotograma 1 de la lnea de tiempo:
/** Se requiere: - Componente List en el escenario - Smbolo MovieClip/Graphic en la vinculacin de "flash" - Smbolo MovieClip/Graphic en la vinculacin de "dreamweaver" - Smbolo MovieClip/Graphic en la vinculacin de "cf" */ var my_list:mx.controls.List; my_list.setSize(200, 100); my_list.addItem({data:"flash", label:"Flash", icon:"flash"}); my_list.addItem({data:"dreamweaver", label:"Dreamweaver", icon:"dreamweaver"}); my_list.addItem({data:"coldfusion", label:"ColdFusion", icon:"cf"}); my_list.iconField = "icon";
(nombre de instancia: my_list) biblioteca con identificacin de biblioteca con identificacin de biblioteca con identificacin de
Vase tambin
List.iconFunction
List.iconField
837
List.iconFunction
Disponibilidad
Flash MX 2004.
Sintaxis
listInstance.iconFunction
Descripcin
Propiedad; especifica la funcin que determina qu icono utilizar cada fila para mostrar su elemento. Esta funcin recibe un parmetro item, que es el elemento que se va a representar, y debe devolver una cadena que represente el identificador de smbolo del icono.
Ejemplo
En el ejemplo siguiente, se aaden iconos que indican si el archivo es un documento de imagen o de texto. Si el campo data.fileExtension contiene un valor jpg o gif, el icono utilizado ser pictureIcon, y as sucesivamente.
my_list.iconFunction = function(item:Object):String { var type:String = item.data.fileExtension; if (type == "jpg" || type == "gif") { return "pictureIcon"; } else if (type == "doc" || type == "txt") { return "docIcon"; } }
En el ejemplo siguiente, se define la propiedad iconField en la propiedad icon de cada elemento. Para probar este cdigo, arrastre un componente List al escenario, asgnele el nombre de instancia my_list y cree tres smbolos con los nombres de instancia flash, dreamweaver y cf, respectivamente. Aada el cdigo siguiente al fotograma 1 de la lnea de tiempo:
/** Se requiere: - Componente List en el escenario (nombre de instancia: my_list) - Smbolo MovieClip/Graphic en la biblioteca con identificacin de vinculacin de "flashIcon" */ var my_list:mx.controls.List; my_list.setSize(200, 100);
838
Componente List
my_list.addItem({data:"flash", label:"Flash"}); my_list.addItem({data:"dreamweaver", label:"Dreamweaver"}); my_list.addItem({data:"coldfusion", label:"ColdFusion"}); my_list.iconFunction = function(item:Object):String { if (item.data == "flash") { // Colocar icono junto al elemento de lista con los datos "flash". return "flashIcon"; } }; my_list.iconField = "icon";
List.itemRollOut
Disponibilidad
Flash MX 2004.
Sintaxis
Sintaxis 1:
var listenerObject:Object = new Object(); listenerObject.itemRollOut = function(eventObject:Object) { // El cdigo se escribe aqu. }; listInstance.addEventListener("itemRollOut", listenerObject);
Sintaxis 2:
on (itemRollOut) { // El cdigo se escribe aqu. }
Objeto de evento
Adems de las propiedades estndar del objeto de evento, el evento itemRollOut tiene una propiedad index, que especifica el nmero del elemento del que ha salido el puntero.
List.itemRollOut
839
Descripcin
Evento; se difunde a todos los detectores registrados cuando el puntero se desplaza sobre elementos de la lista y despus sale de ellos. El primer ejemplo de sintaxis utiliza un modelo de eventos distribuidor/detector. Una instancia de componente (listInstance) distribuye un evento (en este caso, itemRollOut), y ste se controla mediante una funcin, tambin denominada controlador, asociada con el objeto detector (listenerObject) que crea el usuario. Se define un mtodo con el mismo nombre que el evento del objeto detector; se llama al mtodo cuando se activa el evento. Cuando se activa el evento, ste pasa automticamente un objeto de evento (eventObject) al mtodo del objeto detector. Cada objeto de evento tiene propiedades que contienen informacin sobre el evento. Estas propiedades sirven para escribir el cdigo que controla el evento. Finalmente, se llama al mtodo EventDispatcher.addEventListener() de la instancia del componente que difunde el evento para registrar el detector con la instancia. Cuando la instancia distribuya el evento, se llamar al detector. Para ms informacin, consulte Clase EventDispatcher (API) en la pgina 528. El segundo ejemplo de sintaxis utiliza un controlador on() que debe asociarse directamente con una instancia de List. La palabra clave this, utilizada en un controlador on() asociado con un componente, hace referencia a la instancia del componente. Por ejemplo, el cdigo siguiente, asociado con la instancia my_list del componente List, enva _level0.my_list al panel Salida:
on (itemRollOut) { trace(this); }
Ejemplo
En el ejemplo siguiente, se enva un mensaje al panel Salida para indicar por qu nmero de ndice de elemento ha pasado el puntero:
var my_list:mx.controls.List; my_list.addItem({data:"flash", label:"Flash"}); my_list.addItem({data:"dreamweaver", label:"Dreamweaver"}); my_list.addItem({data:"coldfusion", label:"ColdFusion"}); // Crear un objeto detector. var listListener:Object = new Object(); listListener.itemRollOut = function(evt_obj:Object) { trace("Item #" + evt_obj.index + " has been rolled out."); }; // Aadir detector. my_list.addEventListener("itemRollOut", listListener);
Vase tambin
List.itemRollOver
840
Componente List
List.itemRollOver
Disponibilidad
Flash MX 2004.
Sintaxis
Sintaxis 1:
var listenerObject:Object = new Object(); listenerObject.itemRollOver = function(eventObject:Object) { // El cdigo se escribe aqu. }; listInstance.addEventListener("itemRollOver", listenerObject);
Sintaxis 2:
on (itemRollOver) { // El cdigo se escribe aqu. }
Objeto de evento
Adems de las propiedades estndar del objeto de evento, el evento itemRollOver tiene una propiedad index, que especifica el nmero del elemento sobre el que ha pasado el puntero.
Descripcin
Evento; se difunde a todos los detectores registrados cuando el puntero se desplaza por los elementos de la lista. El primer ejemplo de sintaxis utiliza un modelo de eventos distribuidor/detector. Una instancia de componente (listInstance) distribuye un evento (en este caso, itemRollOver), y ste se controla mediante una funcin, tambin denominada controlador, asociada con el objeto detector (listenerObject) que crea el usuario. Se define un mtodo con el mismo nombre que el evento del objeto detector; se llama al mtodo cuando se activa el evento. Cuando se activa el evento, ste pasa automticamente un objeto de evento (eventObject) al mtodo del objeto detector. Cada objeto de evento tiene propiedades que contienen informacin sobre el evento. Estas propiedades sirven para escribir el cdigo que controla el evento. Finalmente, se llama al mtodo EventDispatcher.addEventListener() de la instancia del componente que difunde el evento para registrar el detector con la instancia. Cuando la instancia distribuya el evento, se llamar al detector. Para ms informacin, consulte Clase EventDispatcher (API) en la pgina 528.
List.itemRollOver
841
El segundo ejemplo de sintaxis utiliza un controlador on() que debe asociarse directamente con una instancia de List. La palabra clave this, utilizada en un controlador on() asociado con un componente, hace referencia a la instancia del componente. Por ejemplo, el cdigo siguiente, asociado con la instancia my_list del componente List, enva _level0.my_list al panel Salida:
on (itemRollOver) { trace(this); }
Ejemplo
En el ejemplo siguiente, se enva un mensaje al panel Salida para indicar por qu nmero de ndice de elemento ha pasado el puntero:
var my_list:mx.controls.List; my_list.addItem({data:"flash", label:"Flash"}); my_list.addItem({data:"dreamweaver", label:"Dreamweaver"}); my_list.addItem({data:"coldfusion", label:"ColdFusion"}); // Crear un objeto detector. var listListener:Object = new Object(); listListener.itemRollOver = function (evt_obj:Object) { trace("Item #" + evt_obj.index + " has been rolled over."); }; // Aadir detector. my_list.addEventListener("itemRollOver", listListener);
Vase tambin
List.itemRollOut
842
Componente List
List.labelField
Disponibilidad
Flash MX 2004.
Sintaxis
listInstance.labelField
Descripcin
Propiedad; especifica un campo en cada elemento que se utilizar como el texto que se muestra. Esta propiedad toma el valor del campo y lo utiliza como etiqueta. El valor predeterminado es label.
Ejemplo
En el ejemplo siguiente, se define la propiedad labelField en el campo name de cada elemento. Nina aparecera como la etiqueta del elemento aadido en la segunda lnea de cdigo:
var my_list:mx.controls.List; my_list.labelField = "name"; my_list.addItem({name: "Nina", age: 25});
Vase tambin
List.labelFunction
List.labelField
843
List.labelFunction
Disponibilidad
Flash MX 2004.
Sintaxis
listInstance.labelFunction
Descripcin
Propiedad; especifica una funcin que determina qu campo (o combinacin de campos) de cada elemento va a mostrarse. Esta funcin recibe un parmetro item, que es el elemento que se va a representar, y debe devolver una cadena que represente el texto que va a mostrarse.
Ejemplo
Vase tambin
List.labelField
844
Componente List
List.length
Disponibilidad
Flash MX 2004.
Sintaxis
listInstance.length
Descripcin
En el siguiente ejemplo, se muestra el nmero de elementos que actualmente estn en el proveedor de datos de la lista:
var my_list:mx.controls.List; // Aadir datos a la lista. my_list.addItem({data:"flash", label:"Flash"}); my_list.addItem({data:"dreamweaver", label:"Dreamweaver"}); my_list.addItem({data:"coldfusion", label:"ColdFusion"}); var listLength_num:Number = my_list.length; trace("Length of List: " + listLength_num);
List.length
845
List.maxHPosition
Disponibilidad
Flash MX 2004.
Sintaxis
listInstance.maxHPosition
Descripcin
Propiedad; especifica el nmero de pxeles que puede desplazarse la lista cuando List.hScrollPolicy est definida en on. La lista no mide con precisin la anchura del texto que contiene. Es preciso definir maxHPosition para indicar la cantidad de desplazamiento necesario. Si no se define la propiedad, la lista no se desplaza horizontalmente.
Ejemplo
En el ejemplo siguiente, se crea una lista con 200 pxeles de desplazamiento horizontal:
var my_list:mx.controls.List; my_list.setSize(150, 100); my_list.hScrollPolicy = "on"; my_list.maxHPosition = 200; my_list.addItem({data:"flash", label:"Flash"}); my_list.addItem({data:"dreamweaver", label:"Dreamweaver"}); my_list.addItem({data:"coldfusion", label:"ColdFusion"});
Vase tambin
List.hScrollPolicy
846
Componente List
List.multipleSelection
Disponibilidad
Flash MX 2004.
Sintaxis
listInstance.multipleSelection
Descripcin
Propiedad; indica si se permite la seleccin mltiple (true) o nica (false). El valor predeterminado es false.
Ejemplo
En el siguiente ejemplo, se realiza una prueba para determinar si se pueden seleccionar varios elementos y, en caso afirmativo, se muestran las instrucciones en un componente Label. Para probar este cdigo, arrastre un componente List al escenario y asgnele el nombre de instancia my_list. A continuacin, arrastre un componente Label al escenario y asgnele el nombre de instancia my_label. Aada el cdigo siguiente al fotograma 1 de la lnea de tiempo:
var my_list:mx.controls.List; my_list.addItem({data:"flash", label:"Flash"}); my_list.addItem({data:"dreamweaver", label:"Dreamweaver"}); my_list.addItem({data:"coldfusion", label:"ColdFusion"}); my_list.multipleSelection = true; if (my_list.multipleSelection) { my_label.text = "Hold down Control or Shift to select multiple items"; my_label.autoSize = "left"; }
List.multipleSelection
847
List.removeAll()
Disponibilidad
Flash MX 2004.
Sintaxis
listInstance.removeAll()
Valor devuelto
Ninguno.
Descripcin
Mtodo; elimina todos los elementos de la lista. Cuando se llama a este mtodo, se modifica el proveedor de datos del componente List. Si el proveedor de datos se comparte con otros componentes, stos tambin se actualizan.
Ejemplo
En el siguiente ejemplo, se borran todos los elementos de un componente List cuando se hace clic en un botn. Para probar este cdigo, arrastre un componente List al escenario y asgnele el nombre de instancia my_list. A continuacin, arrastre un componente Button al escenario y asgnele el nombre de instancia remove_button. Aada el cdigo siguiente al fotograma 1 de la lnea de tiempo:
var my_list:mx.controls.List; var remove_button:mx.controls.Button; remove_button.label = "Remove"; my_list.addItem({data:"flash", label:"Flash"}); my_list.addItem({data:"dreamweaver", label:"Dreamweaver"}); my_list.addItem({data:"coldfusion", label:"ColdFusion"}); var buttonListener:Object = new Object(); buttonListener.click = function(evt_obj:Object) { my_list.removeAll(); evt_obj.target.enabled = false; } remove_button.addEventListener("click", buttonListener);
848
Componente List
List.removeItemAt()
Disponibilidad
Flash MX 2004.
Sintaxis
listInstance.removeItemAt(index)
Parmetros
index
Nmero que indica la posicin del elemento. El valor debe ser mayor que cero y menor que List.length.
Valor devuelto
Mtodo; elimina el elemento de la posicin de ndice especificada. Los ndices de la lista a partir del ndice especificado se contraen una posicin. Cuando se llama a este mtodo, se modifica el proveedor de datos del componente List. Si el proveedor de datos se comparte con otros componentes, stos tambin se actualizan.
Ejemplo
En el siguiente ejemplo, se borran los elementos seleccionados de un componente List cuando se hace clic en un botn. Para probar este cdigo, arrastre un componente List al escenario y asgnele el nombre de instancia my_list. A continuacin, arrastre un componente Button al escenario y asgnele el nombre de instancia remove_button. Aada el cdigo siguiente al fotograma 1 de la lnea de tiempo:
var my_list:mx.controls.List; var remove_button:mx.controls.Button; remove_button.label = "Remove"; my_list.addItem({data:"flash", label:"Flash"}); my_list.addItem({data:"dreamweaver", label:"Dreamweaver"}); my_list.addItem({data:"coldfusion", label:"ColdFusion"}); var buttonListener:Object = new Object(); buttonListener.click = function(evt_obj:Object) { if (my_list.selectedIndex != undefined) { my_list.removeItemAt(my_list.selectedIndex); } } remove_button.addEventListener("click", buttonListener);
List.removeItemAt() 849
List.replaceItemAt()
Disponibilidad
Flash MX 2004.
Sintaxis
listInstance.replaceItemAt(index, label[, data]) listInstance.replaceItemAt(index, itemObject)
Parmetros
index
Nmero mayor que 0 y menor que List.length, que indica la posicin en la que insertar el elemento (ndice del elemento nuevo). Cadena que indica la etiqueta del elemento nuevo. Datos del elemento. Este parmetro es optativo y puede ser de cualquier tipo.
label data
Objeto que se utiliza como el elemento, que normalmente contiene las propiedades label y data.
itemObject
Valor devuelto
Ninguno.
Descripcin
Mtodo; sustituye el contenido del elemento en el ndice especificado. Cuando se llama a este mtodo, se modifica el proveedor de datos del componente List. Si el proveedor de datos se comparte con otros componentes, stos tambin se actualizan.
Ejemplo
En el siguiente ejemplo, se reemplaza el elemento en la posicin que est actualmente seleccionada. Para probar este cdigo, arrastre un componente List al escenario y asgnele el nombre de instancia my_list. A continuacin, arrastre un componente Button al escenario y asgnele el nombre de instancia replace_button. Aada el cdigo siguiente al fotograma 1 de la lnea de tiempo:
var my_list:mx.controls.List; var replace_button:mx.controls.Button; replace_button.label = "Replace"; my_list.addItem({data:"flash", label:"Flash"});
850
Componente List
my_list.addItem({data:"dreamweaver", label:"Dreamweaver"}); my_list.addItem({data:"coldfusion", label:"ColdFusion"}); var buttonListener:Object = new Object(); buttonListener.click = function(evt_obj:Object) { if (my_list.selectedIndex != undefined) { my_list.replaceItemAt(my_list.selectedIndex, {data:"flex", label:"Flex"}); } } replace_button.addEventListener("click", buttonListener);
List.rowCount
Disponibilidad
Flash MX 2004.
Sintaxis
listInstance.rowCount
Descripcin
Propiedad; nmero de filas que son al menos parcialmente visibles en la lista. Resulta til cuando la escala de la lista est expresada en pxeles y es necesario contar las filas. Por el contrario, si se define el nmero de filas, se muestra un nmero exacto de filas sin que aparezca la fila final partida. El cdigo my_list.rowCount = num es equivalente al cdigo my_list.setSize(my_list.width, h) (en el que h es la altura necesaria para mostrar el nmero num de elementos). El valor predeterminado se basa en la altura de la lista definida durante la edicin o con el mtodo List.setSize() (consulte UIObject.setSize()).
Ejemplo
List.rowCount
851
En el ejemplo siguiente, se define una lista con el nmero mnimo de filas que puede mostrar por completo:
my_list.rowCount = 1; trace("my_list has " + my_list.rowCount + " rows");
En el ejemplo siguiente, se cambia el tamao de la lista mediante el mtodo setSize() y, a continuacin, se establece un recuento de fila de 8 elementos:
my_list.addItem({data:"flash", label:"Flash"}); my_list.addItem({data:"dreamweaver", label:"Dreamweaver"}); my_list.addItem({data:"coldfusion", label:"ColdFusion"}); my_list.setSize(200, 30); my_list.rowCount = 8; trace("my_list has " + my_list.rowCount + " rows.");
List.rowHeight
Disponibilidad
Flash MX 2004.
Sintaxis
listInstance.rowHeight
Descripcin
Propiedad; altura de cada fila de la lista, expresada en pxeles. Las filas no aumentan de tamao para que encaje la fuente configurada, por lo que definir la propiedad rowHeight es la mejor manera de asegurar que los elementos se muestren por completo. El valor predeterminado es 20.
Ejemplo
En el ejemplo siguiente, se establece la altura de fila en 30 pxeles y, a continuacin, se cambia el tamao de la lista para ajustarse al nmero total de elementos que contiene:
my_list.addItem({data:"flash", label:"Flash"}); my_list.addItem({data:"dreamweaver", label:"Dreamweaver"}); my_list.addItem({data:"coldfusion", label:"ColdFusion"}); my_list.rowHeight = 30; my_list.rowCount = my_list.length;
852 Componente List
List.scroll
Disponibilidad
Flash MX 2004.
Sintaxis
Sintaxis 1:
var listenerObject:Object = new Object(); listenerObject.scroll = function(eventObject:Object) { // El cdigo se escribe aqu. }; listInstance.addEventListener("scroll", listenerObject);
Sintaxis 2:
on (scroll) { // El cdigo se escribe aqu. }
Objeto de evento
Adems de las propiedades estndar del objeto de evento, el evento scroll tiene una propiedad adicional, direction. Es una cadena con dos valores posibles, horizontal o vertical. En los eventos scroll de ComboBox, el valor es siempre vertical.
Descripcin
Evento; se difunde a todos los detectores registrados cuando se recorre la lista. El primer ejemplo de sintaxis utiliza un modelo de eventos distribuidor/detector. Una instancia de componente (listInstance) distribuye un evento (en este caso, scroll), y ste se controla mediante una funcin, tambin denominada controlador, asociada con el objeto detector (listenerObject) que crea el usuario. Se define un mtodo con el mismo nombre que el evento del objeto detector; se llama al mtodo cuando se activa el evento. Cuando se activa el evento, ste pasa automticamente un objeto de evento (eventObject) al mtodo del objeto detector. Cada objeto de evento tiene propiedades que contienen informacin sobre el evento. Estas propiedades sirven para escribir el cdigo que controla el evento. Finalmente, se llama al mtodo EventDispatcher.addEventListener() de la instancia del componente que difunde el evento para registrar el detector con la instancia. Cuando la instancia distribuya el evento, se llamar al detector. Para ms informacin, consulte Clase EventDispatcher (API) en la pgina 528.
List.scroll
853
El segundo ejemplo de sintaxis utiliza un controlador on() que debe asociarse directamente con una instancia de List. La palabra clave this, utilizada en un controlador on() asociado con un componente, hace referencia a la instancia del componente. Por ejemplo, el cdigo siguiente, asociado con la instancia my_list del componente List, enva _level0.my_list al panel Salida:
on (scroll) { trace(this); }
Ejemplo
En el siguiente ejemplo, se enva la direccin y la posicin de la lista cada vez que se recorren los elementos de la lista:
var my_list:mx.controls.List; my_list.rowCount = 2; for (var i:Number = 0; i < 10; i++) { my_list.addItem({data:i, label:"Item #" + i}); } var listListener:Object = new Object(); listListener.scroll = function(evt_obj:Object) { trace("list scrolled (direction:" + evt_obj.direction + ", position:" + evt_obj.position + ")"); }; my_list.addEventListener("scroll", listListener);
854
Componente List
List.selectable
Disponibilidad
Flash MX 2004.
Sintaxis
listInstance.selectable
Descripcin
Propiedad; valor booleano que indica si la lista es seleccionable (true) o no (false). El valor predeterminado es true.
Ejemplo
En el siguiente ejemplo, se impide que los usuarios puedan seleccionar elementos de la lista al establecer la propiedad seleccionable en false:
var my_list:mx.controls.List; my_list.addItem({data:"flash", label:"Flash"}); my_list.addItem({data:"dreamweaver", label:"Dreamweaver"}); my_list.addItem({data:"coldfusion", label:"ColdFusion"}); my_list.selectable = false;
List.selectable
855
List.selectedIndex
Disponibilidad
Flash MX 2004.
Sintaxis
listInstance.selectedIndex
Descripcin
Propiedad; ndice seleccionado en una lista de seleccin nica. El valor es undefined si no se selecciona nada; el valor es igual al ltimo elemento seleccionado si se seleccionan varios. Si se asigna un valor a selectedIndex, se borra la seleccin actual y se selecciona el elemento indicado.
change.
Si se utiliza la propiedad selectedIndex para cambiar la seleccin, no se enva un evento Para enviar el evento change, utilice el cdigo siguiente:
my_list.dispatchEvent({type:"change", target:my_list});
Ejemplo
En el siguiente ejemplo, se selecciona el primer elemento de una lista de forma predeterminada y se muestra el ndice del elemento actualmente seleccionado siempre que el usuario elige un elemento nuevo:
var my_list:mx.controls.List; my_list.addItem({data:"flash", label:"Flash"}); my_list.addItem({data:"dreamweaver", label:"Dreamweaver"}); my_list.addItem({data:"coldfusion", label:"ColdFusion"}); // Seleccionar primer elemento de forma predeterminada. my_list.selectedIndex = 0; var listListener:Object = new Object(); listListener.change = function(evt_obj:Object) { trace("selectedIndex = " + evt_obj.target.selectedIndex); } my_list.addEventListener("change", listListener);
Vase tambin
List.selectedIndices, List.selectedItem, List.selectedItems
856
Componente List
List.selectedIndices
Disponibilidad
Flash MX 2004.
Sintaxis
listInstance.selectedIndices
Descripcin
Propiedad; matriz de ndices de los elementos seleccionados. Si se asigna esta propiedad, se sustituye la seleccin actual. Si selectedIndices se define en una matriz de longitud 0 (o undefined), se borra la seleccin actual. El valor es undefined si no se selecciona nada. La propiedad selectedIndices muestra el orden en el que se han seleccionado los elementos. Si se hace clic en el segundo elemento, despus en el tercero y despus en el primero, selectedIndices devuelve [1,2,0].
Ejemplo
En el siguiente ejemplo, se seleccionan dos elementos de la lista de forma predeterminada y se muestra su propiedad label en el panel Salida:
my_list.multipleSelection = true; my_list.addItem({data:"flash", label:"Flash"}); my_list.addItem({data:"dreamweaver", label:"Dreamweaver"}); my_list.addItem({data:"coldfusion", label:"ColdFusion"}); my_list.selectedIndices = [0, 2]; var numSelected:Number = my_list.selectedIndices.length; for (var i:Number = 0; i < numSelected; i++) { trace("selectedIndices[" + i + "] = "+ my_list.getItemAt(my_list.selectedIndices[i]).label); }
Vase tambin
List.selectedIndex, List.selectedItem, List.selectedItems
List.selectedIndices
857
List.selectedItem
Disponibilidad
Flash MX 2004.
Sintaxis
listInstance.selectedItem
Descripcin
Propiedad (slo lectura); objeto de elemento de una lista de seleccin nica. En una lista de seleccin mltiple con varios elementos seleccionados, selectedItem devuelve el elemento seleccionado en ltimo lugar. Si no hay seleccin, el valor es undefined.
Ejemplo
En el siguiente ejemplo, se muestra el contenido de un elemento seleccionado cuando el usuario selecciona un elemento nuevo de la lista:
my_list.multipleSelection = true; my_list.addItem({data:"flash", label:"Flash"}); my_list.addItem({data:"dreamweaver", label:"Dreamweaver"}); my_list.addItem({data:"coldfusion", label:"ColdFusion"}); // Crear un objeto detector. var listListener:Object = new Object(); listListener.change = function(evt_obj:Object) { // Mostrar cada propiedad del objeto. var tempStr:String = "[object"; for (var i:String in evt_obj.target.selectedItem) { tempStr += " " + i + ":'" + evt_obj.target.selectedItem[i]+"'"; } tempStr += "]"; trace(tempStr); }; // Aadir detector. my_list.addEventListener("change", listListener);
Vase tambin
List.selectedIndex, List.selectedIndices, List.selectedItems
858
Componente List
List.selectedItems
Disponibilidad
Flash MX 2004.
Sintaxis
listInstance.selectedItems
Descripcin
Propiedad (slo lectura); matriz de objetos del elemento seleccionado. En una lista de seleccin mltiple, selectedItems permite acceder al conjunto de elementos seleccionados como objetos de elemento.
Ejemplo
En el siguiente ejemplo, se muestran dos instancias de List en el escenario. Cuando un usuario selecciona un elemento de la primera lista, el elemento seleccionado se copia en la segunda lista. Para probar este cdigo, debe aadir una copia del componente List a la biblioteca del documento actual. Aada el cdigo siguiente al fotograma 1 de la lnea de tiempo:
this.createClassObject(mx.controls.List, "my_list", 10, {multipleSelection:true}); my_list.setSize(200, 100); this.createClassObject(mx.controls.List, "selectedItems_list", 20, {selectable:false}); selectedItems_list.setSize(200, 100); selectedItems_list.move(0, 110); my_list.addItem({data:"flash", label:"Flash"}); my_list.addItem({data:"dreamweaver", label:"Dreamweaver"}); my_list.addItem({data:"coldfusion", label:"ColdFusion"}); var listListener:Object = new Object(); listListener.change = function(evt_obj:Object) { trace("You have selected " + my_list.selectedItems.length + " items."); selectedItems_list.dataProvider = my_list.selectedItems; } my_list.addEventListener("change", listListener);
Vase tambin
List.selectedIndex, List.selectedItem, List.selectedIndices
List.selectedItems
859
List.setPropertiesAt()
Disponibilidad
Flash MX 2004.
Sintaxis
listInstance.setPropertiesAt(index, styleObj)
Parmetros
index
Nmero mayor que 0 o menor que List.length, que indica el ndice del elemento que va a cambiarse. Objeto que enumera las propiedades y valores que van a definirse.
styleObj
Valor devuelto
Ninguno.
Descripcin
Mtodo; aplica las propiedades especificadas al elemento especificado. Las propiedades admitidas son icon y backgroundColor.
Ejemplo
En el siguiente ejemplo, se cambia el color de fondo del tercer elemento a rojo y se le asigna un icono. Para probar este cdigo, arrastre un componente List al escenario y asgnele el nombre de instancia my_list. A continuacin, aada un smbolo MovieClip/Graphic a la biblioteca con un identificador de vinculacin de file. Aada el cdigo siguiente al fotograma 1 de la lnea de tiempo:
var my_list:mx.controls.List; my_list.setSize(200, 100); my_list.addItem({data:"flash", label:"Flash"}); my_list.addItem({data:"dreamweaver", label:"Dreamweaver"}); my_list.addItem({data:"coldfusion", label:"ColdFusion"}); my_list.setPropertiesAt(2, {backgroundColor:0xFF0000, icon: "file"});
860
Componente List
List.sortItems()
Disponibilidad
Flash MX 2004.
Sintaxis
listInstance.sortItems(compareFunc)
Parmetros
compareFunc
Referencia a una funcin. Esta funcin se utiliza para comparar dos elementos y determinar su orden de clasificacin. Para ms informacin, consulte el mtodo Array.sort() en Referencia del lenguaje ActionScript 2.0.
Valor devuelto
Ninguno.
Descripcin
Mtodo; ordena los elementos de la lista mediante la funcin especificada en el parmetro compareFunc.
Ejemplo
En el ejemplo siguiente, se ordenan los elementos por etiquetas en maysculas. Observe que los parmetros a y b que pasan a la funcin son elementos que tienen las propiedades label y data.
var my_list:mx.controls.List; my_list.setSize(200, 100); my_list.addItem({data:"flash", label:"Flash"}); my_list.addItem({data:"dreamweaver", label:"Dreamweaver"}); my_list.addItem({data:"coldfusion", label:"ColdFusion"}); my_list.sortItems(upperCaseFunc); function upperCaseFunc(a:Object, b:Object):Boolean { return (a.label.toUpperCase() > b.label.toUpperCase()); }
Vase tambin
List.sortItemsBy()
List.sortItems()
861
List.sortItemsBy()
Disponibilidad
Flash MX 2004.
Sintaxis
listInstance.sortItemsBy(fieldName, optionsFlag) listInstance.sortItemsBy(fieldName, order)
Parmetros
fieldName
Cadena que especifica el nombre del campo que se va a utilizar para la ordenacin. Normalmente, este valor es label o data.
order
Cadena que especifica si los elementos deben clasificarse en orden ascendente (ASC) o descendente (DESC).
optionsFlag
Permite realizar varias ordenaciones de tipos distintos en una nica matriz sin necesidad de duplicar toda la matriz ni de volver a ordenarla repetidas veces. Los valores posibles de optionsFlag son:
Array.DESCENDING,
que ordena de mayor a menor. que ordena sin distinguir entre maysculas y minsculas.
Array.CASEINSENSITIVE, Array.NUMERIC,
que ordena numricamente si los dos elementos comparados son nmeros. Si no se trata de nmeros, utilice la comparacin de cadenas, que se puede realizar sin distinguir entre maysculas y minsculas si se ha especificado esa etiqueta.
Array.UNIQUESORT, que devuelve un cdigo de error (0) en lugar de una matriz ordenada si dos objetos de la matriz son idnticos o lo son sus campos de ordenacin. Array.RETURNINDEXEDARRAY, que devuelve una matriz de ndice de nmero entero que es
el resultado de la ordenacin. Por ejemplo, la siguiente matriz devolvera la segunda lnea de cdigo y la matriz no cambiara:
["a", "d", "c", "b"] [0, 3, 2, 1]
Estas opciones se pueden combinar en un valor nico. Por ejemplo, en el cdigo siguiente se combinan las opciones 3 y 1:
my_array.sort (Array.NUMERIC | Array.DESCENDING)
Valor devuelto
Ninguno.
862
Componente List
Descripcin
Mtodo; ordena los elementos de la lista en el orden especificado mediante el nombre de campo especificado. Si los elementos de fieldName son una combinacin de cadenas de texto y enteros, los enteros aparecen en primer lugar. El parmetro fieldName suele ser label o data, pero puede especificarse cualquier valor de datos primitivos. sta es la forma ms rpida de ordenar datos en un componente. Tambin mantiene el estado de seleccin del componente. El mtodo sortItemsBy() es rpido porque no ejecuta ningn cdigo ActionScript mientras ordena. El mtodo sortItems() necesita ejecutar una funcin de comparacin de ActionScript y, por tanto, es ms lento.
Ejemplo
En el cdigo siguiente, los elementos de la lista se ordenan en sentido ascendente por sus etiquetas:
var my_list:mx.controls.List; my_list.setSize(200, 100); my_list.addItem({data:"flash", label:"Flash"}); my_list.addItem({data:"dreamweaver", label:"Dreamweaver"}); my_list.addItem({data:"coldfusion", label:"ColdFusion"}); my_list.sortItemsBy("label", "ASC");
Vase tambin
List.sortItems()
List.sortItemsBy()
863
List.vPosition
Disponibilidad
Flash MX 2004.
Sintaxis
listInstance.vPosition
Descripcin
Propiedad, define el elemento visible situado en la parte superior de la lista. Si establece esta propiedad en un nmero de ndice que no existe, la lista se desplaza hasta el ndice ms cercano. El valor predeterminado es 0.
Ejemplo
En el siguiente ejemplo, se muestra el valor actual de la vPosition de la lista cuando se recorre el contenido de la lista:
my_list.setSize(200, 60); my_list.rowCount = 4; my_list.vPosition = 2; my_list.addItem({data:"flash", label:"Flash"}); my_list.addItem({data:"flex", label:"Flex"}); my_list.addItem({data:"coldfusion", label:"ColdFusion"}); my_list.addItem({data:"dreamweaver", label:"Dreamweaver"}); my_list.addItem({data:"fireworks", label:"Fireworks"}); my_list.addItem({data:"contribute", label:"Contribute"}); my_list.addItem({data:"breeze", label:"Breeze"}); var listListener:Object = new Object(); listListener.scroll = function(evt_obj:Object) { trace("my_list.vPosition = " + my_list.vPosition); } my_list.addEventListener("scroll", listListener);
864
Componente List
List.vScrollPolicy
Disponibilidad
Flash MX 2004.
Sintaxis
listInstance.vScrollPolicy
Descripcin
Propiedad; cadena que determina si la lista admite desplazamiento vertical. El valor de esta propiedad puede ser on, off o auto. El valor auto muestra la barra de desplazamiento cuando es necesario.
Ejemplo
List.vScrollPolicy
865
866
Componente List
CAPTULO 28
Componente Loader
El componente Loader es un contenedor que puede mostrar archivos SWF o JPEG (pero no archivos JPEG progresivos). Se puede ajustar el tamao del contenido del componente o cambiar su tamao para que quepa el contenido. De forma predeterminada, el contenido se ajusta al componente Loader. Tambin puede cargar el contenido en tiempo de ejecucin y controlar el progreso de carga (aunque despus de que el contenido se haya cargado, se almacena en la cach y el progreso salta al 100% rpidamente).
NO T A
28
El componente Loader slo es compatible si trabaja con un documento que especifique ActionScript 2.0 en la Configuracin de publicacin.
El componente Loader no se puede seleccionar. Sin embargo, s se puede seleccionar el contenido cargado en el componente Loader e interactuar con l. Para ms informacin sobre el control de la seleccin, consulte Clase FocusManager en la pgina 763 o Creacin de un desplazamiento personalizado de la seleccin en Utilizacin de componentes ActionScript 2.0. La previsualizacin dinmica de cada instancia de Loader refleja los cambios de parmetros realizados durante la edicin en el inspector de propiedades o el inspector de componentes. Puede utilizar el panel Accesibilidad para que los lectores de pantalla tengan acceso al contenido del componente Loader. Para ms informacin, consulte Creacin de contenido accesible en Utilizacin de Flash.
867
Si est usando un clip de pelcula con una llamada a loadMovie(), aada el cdigo siguiente:
myMovieClip._lockroot = true;
Si no establece _lockroot en true en el clip de pelcula de cargador, el cargador slo podr acceder a su propia biblioteca, pero no a la biblioteca del clip de pelcula cargado. Flash Player 7 admite la propiedad _lockroot. Para ms informacin sobre esta propiedad, consulte la propiedad MovieClip._lockroot en Referencia del lenguaje ActionScript 2.0. Los componentes como Loader, ScrollPane y Window tienen eventos para determinar que ha finalizado la carga del contenido. De este modo, si desea establecer propiedades en el contenido de un componente Loader, ScrollPane o Window, aada la sentencia de propiedad en un controlador de eventos complete, como se muestra en el siguiente ejemplo:
loadtest = new Object(); loadtest.complete = function(eventObject){ content_mc._rotation= 45; } my_loader.addEventListener("complete", loadtest)
868
Componente Loader
El componente Loader puede cargar contenido de otros dominios si se dispone de archivos de poltica en tales dominios. Consulte Permiso de carga de datos de varios dominios en Aprendizaje de ActionScript 2.0 en Adobe Flash.
scaleContent indica si el contenido se redimensiona para adaptarse al componente Loader (true) o si el componente Loader se redimensiona para adaptarse al contenido (false). El valor predeterminado es true.
A continuacin se indican los parmetros adicionales que se pueden definir para cada instancia del componente Loader en el inspector de componentes (Ventana > Inspector de componentes):
enabled
es un valor booleano que indica si el componente acepta selecciones y entradas. El valor predeterminado es true.
es un valor booleano que indica si el objeto es visible (true) o no (false). El valor predeterminado es true.
visible
N O TA
Las propiedades minHeight y minWidth se utilizan en rutinas internas de cambio de tamao. Se definen en UIObject y se sustituyen por distintos componentes segn convenga. Estas propiedades pueden utilizarse si se crea un administrador de diseo personalizado en la aplicacin. De lo contrario, establecer estas propiedades en el inspector de componentes no produce ningn efecto visible.
Puede escribir cdigo ActionScript para definir opciones adicionales para instancias de Loader con sus mtodos, propiedades y eventos. Para ms informacin, consulte Clase Loader en la pgina 872.
869
Seleccione Archivo > Nuevo y, a continuacin, Archivo Flash (ActionScript 2.0). Arrastre un componente Loader desde el panel Componentes al escenario. En el inspector de propiedades, introduzca el nombre de instancia flower. Seleccione el cargador en el escenario y en el inspector de componentes, e introduzca http://www.helpexamples.com/flash/images/image1.jpg para el parmetro contentPath. Seleccione Control > Probar pelcula.
5.
Para crear una instancia del componente Loader mediante cdigo ActionScript:
1. 2. 3.
Seleccione Archivo > Nuevo y, a continuacin, Archivo Flash (ActionScript 2.0). Arrastre un componente Loader desde el panel Componentes a la biblioteca. Seleccione el primer fotograma de la lnea de tiempo principal, abra el panel Acciones e introduzca el cdigo siguiente:
this.createClassObject(mx.controls.Loader, "my_loader", 1); my_loader.contentPath = "http://www.helpexamples.com/flash/images/ image1.jpg";
Este script utiliza el mtodo UIObject.createClassObject() en la pgina 1458 para crear la instancia de Loader.
4.
870
Componente Loader
Tema
Ambos
Descripcin
El componente Loader utiliza una instancia de RectBorder como borde y responde a los estilos definidos en dicha clase. Consulte Clase RectBorder en la pgina 1145. El estilo de borde predeterminado es none.
Por ejemplo:
my_ldr.setStyle("backgroundColor", 0xEEEEEE);
Para ms informacin, consulte Utilizacin de estilos para personalizar el texto y el color de un componente en Utilizacin de componentes ActionScript 2.0.
871
Clase Loader
Herencia
MovieClip > Clase UIObject > Clase UIComponent > View > Loader mx.controls.Loader
Las propiedades de la clase Loader permiten definir el contenido que va a cargarse y controlar el progreso de carga en tiempo de ejecucin. Si una propiedad de la clase Loader se define con ActionScript, sustituye al parmetro del mismo nombre definido en el inspector de propiedades o el inspector de componentes. Cada clase de componente tiene una propiedad version, que es una propiedad de clase. Las propiedades de clase slo estn disponibles en la propia clase. La propiedad version devuelve una cadena que indica la versin del componente. Para acceder a esta propiedad, utilice el cdigo siguiente:
trace(mx.controls.Loader.version);
N OT A 872
Descripcin
Carga el contenido especificado en la propiedad contentPath.
Crea un subobjeto en un objeto. Elimina una instancia de componente. Llama a una funcin cuando se han establecido parmetros en el inspector de propiedades y el inspector de componentes.
Componente Loader
Mtodo
UIObject.getStyle()
Descripcin
Obtiene la propiedad de estilo de la declaracin de estilo o del objeto. Marca el objeto de forma que se pueda volver a dibujar en el siguiente intervalo de fotogramas. Mueve el objeto a la posicin indicada. Fuerza la validacin del objeto, de forma que se pueda dibujar sobre el fotograma actual. Cambia el tamao del objeto al indicado. Define un aspecto en el objeto. Define la propiedad de estilo en la declaracin de estilo o en el objeto.
UIObject.invalidate()
UIObject.move() UIObject.redraw()
Descripcin
Devuelve una referencia al objeto seleccionado. Define la seleccin en la instancia de componente.
Descripcin
Valor booleano que indica si el contenido se carga automticamente (true) o si es preciso llamar a Loader.load() (false). Propiedad de slo lectura que indica el nmero de bytes que se han cargado. Propiedad de slo lectura que indica el nmero total de bytes del contenido. Referencia al contenido del componente Loader. Es una propiedad de slo lectura.
Loader.bytesLoaded
Loader.bytesTotal
Loader.content
Clase Loader
873
Propiedad
Loader.contentPath Loader.percentLoaded
Descripcin
Cadena que indica la URL del contenido que va a cargarse. Nmero que indica el porcentaje de contenido cargado. Es una propiedad de slo lectura. Valor booleano que indica si el contenido se redimensiona para adaptarse al componente Loader (true) o si el componente Loader se redimensiona para adaptarse al contenido (false).
Loader.scaleContent
Descripcin
Posicin del borde inferior del objeto con respecto al borde inferior de su elemento principal correspondiente. Slo lectura. Altura del objeto, expresada en pxeles. Slo lectura. Borde izquierdo del objeto, expresado en pxeles. Slo lectura. Posicin del borde derecho del objeto con respecto al borde derecho de su elemento principal correspondiente. Slo lectura. Nmero que indica el factor de escala en la direccin x del objeto con respecto a su elemento principal correspondiente. Nmero que indica el factor de escala en la direccin y del objeto con respecto a su elemento principal correspondiente. Posicin del borde superior del objeto con respecto a su elemento principal correspondiente. Slo lectura. Valor booleano que indica si el objeto es visible (true) o no (false). Anchura del objeto, expresada en pxeles. Slo lectura. Borde izquierdo del objeto, expresado en pxeles. Slo lectura. Borde superior del objeto, expresado en pxeles. Slo lectura.
UIObject.height UIObject.left
UIObject.right
UIObject.scaleX
UIObject.scaleY
UIObject.top
UIObject.visible
UIObject.width UIObject.x
UIObject.y
874
Componente Loader
Descripcin
Indica si el componente puede recibir selecciones y entradas. Nmero que indica el orden de tabulacin para un componente de un documento.
Descripcin
Se activa cuando el contenido termina de cargarse. Se activa mientras se carga el contenido.
Descripcin
Se difunde cuando un objeto est a punto de dibujar sus grficos. Se difunde cuando el estado de un objeto pasa de ser visible a invisible. Se difunde cuando se crean subobjetos. Se difunde cuando se mueve el objeto. Se difunde cuando cambia el tamao de un objeto. Se difunde cuando el estado de un objeto pasa de ser invisible a visible. Se difunde durante la descarga de los subobjetos.
UIObject.hide
UIObject.unload
Clase Loader
875
Descripcin
Se difunde cuando se selecciona un objeto. Se difunde cuando un objeto deja de seleccionarse. Se difunde cuando se presiona una tecla. Se difunde cuando se suelta una tecla.
Loader.autoLoad
Disponibilidad
Flash MX 2004.
Sintaxis
loaderInstance.autoLoad
Descripcin
Propiedad; valor booleano que indica si el contenido se carga automticamente (true) o si es preciso esperar a que se llame a Loader.load() (false). El valor predeterminado es true.
Ejemplo
El cdigo siguiente define que el componente Loader espere a que se llame a Loader.load():
loader.autoload = false;
876
Componente Loader
Loader.bytesLoaded
Disponibilidad
Flash MX 2004.
Sintaxis
loaderInstance.bytesLoaded
Descripcin
Propiedad (slo lectura); nmero de bytes del contenido cargado. El valor predeterminado es 0 hasta que el contenido comienza a cargarse.
Ejemplo
Con un componente Loader y un componente ProgressBar en la biblioteca del documento actual, el siguiente cdigo crea instancias de ambos componentes. A continuacin crea un objeto detector con un controlador de eventos progress que muestra el progreso de la carga. El detector se registra en la instancia my_ldr. Cuando se crea una instancia con createClassObject(), es preciso colocarla en el escenario con move(). Consulte UIObject.move().
import mx.controls.Loader; import mx.controls.ProgressBar; System.security.allowDomain("http://www.flash-mx.com"); this.createClassObject(Loader, "my_ldr", 10); this.createClassObject(ProgressBar, "my_pb", 20, {source:"my_ldr"}); my_ldr.move(1, 50); my_pb.move(1, 1); var loaderListener:Object = new Object(); loaderListener.progress = function(evt_obj:Object) { // evt_obj.target es el componente que genera el evento progress, // es decir, el componente Loader. my_pb.setProgress(my_ldr.bytesLoaded, my_ldr.bytesTotal); // Mostrar progreso. }; my_ldr.addEventListener("progress", loaderListener); my_ldr.contentPath = "http://www.flash-mx.com/images/image2.jpg";
Loader.bytesLoaded
877
Loader.bytesTotal
Disponibilidad
Flash MX 2004.
Sintaxis
loaderInstance.bytesTotal
Descripcin
Propiedad (slo lectura); tamao del contenido, expresado en bytes. El valor predeterminado es 0 hasta que el contenido comienza a cargarse.
Ejemplo
El cdigo siguiente crea una barra de progreso y un componente Loader. A continuacin crea un objeto detector de carga con un controlador de eventos progress que muestra el progreso de la carga. El detector se registra en la instancia de my_ldr de este modo:
import mx.controls.Loader; import mx.controls.ProgressBar; this.createClassObject(ProgressBar, "my_pb", 998); this.createClassObject(Loader, "my_ldr", 999); my_pb.move(1, 1); my_ldr.move(1, 50); my_pb.source = "my_ldr"; var loadListener:Object = new Object(); loadListener.progress = function(eventObj){ // eventObj.target es el componente que genera el evento progress, // es decir, el componente Loader. my_pb.setProgress(my_ldr.bytesLoaded, my_ldr.bytesTotal); // Mostrar progreso. } my_ldr.addEventListener("progress", loadListener); my_ldr.contentPath = "http://www.flash-mx.com/images/image2.jpg";
Vase tambin
Loader.bytesLoaded
878
Componente Loader
Loader.complete
Disponibilidad
Flash MX 2004.
Sintaxis
Sintaxis 1:
var listenerObject:Object = new Object(); listenerObject.complete = function(eventObj:Object){ // ... }; loaderInstance.addEventListener("complete", listenerObject);
Sintaxis 2:
on (complete) { // ... }
Descripcin
Evento; se difunde a todos los detectores registrados cuando finaliza la carga del contenido. El primer ejemplo de sintaxis utiliza un modelo de eventos distribuidor/detector. Una instancia de componente (loaderInstance) distribuye un evento (en este caso, complete), y ste se controla mediante una funcin, tambin denominada controlador, asociada con el objeto detector (listenerObject) que crea el usuario. Se define un mtodo con el mismo nombre que el evento del objeto detector; se llama al mtodo cuando se activa el evento. Cuando se activa el evento, ste pasa automticamente un objeto de evento (eventObject) al mtodo del objeto detector. Cada objeto de evento tiene propiedades que contienen informacin sobre el evento. Estas propiedades sirven para escribir el cdigo que controla el evento. Finalmente, se llama al mtodo EventDispatcher.addEventListener() de la instancia del componente que difunde el evento para registrar el detector con la instancia. Cuando la instancia distribuya el evento, se llamar al detector. Para ms informacin, consulte Clase EventDispatcher en la pgina 527. El segundo ejemplo de sintaxis utiliza un controlador on() que debe asociarse directamente con una instancia de Loader. La palabra clave this, utilizada en un controlador on() asociado con un componente, hace referencia a la instancia del componente. Por ejemplo, el cdigo siguiente, asociado con la instancia myLoaderComponent del componente Loader, enva _level0.myLoaderComponent al panel Salida:
on (complete) { trace(this); }
Loader.complete
879
Ejemplo
En el ejemplo siguiente, se crea un componente Loader my_ldr y, a continuacin, se establece un objeto detector para un evento complete. El ejemplo carga una imagen desde una pgina Web. Cuando finaliza la carga, el detector muestra un mensaje en el panel Salida. Arrastre un componente Loader a la biblioteca, a continuacin, aada el siguiente cdigo al primer fotograma de la lnea de tiempo.
/** Se requiere: - Componente Loader en la biblioteca */ System.security.allowDomain("http://www.flash-mx.com"); //Crear instancia de Loader. this.createClassObject(mx.controls.Loader, "my_ldr", 10); // Crear un objeto detector. var loaderListener:Object = new Object(); loaderListener.complete = function(evt_obj:Object){ trace("loading complete"); } // Aadir detector. my_ldr.addEventListener("complete", loaderListener); my_ldr.load("http://www.flash-mx.com/images/image2.jpg");
Loader.content
Disponibilidad
Flash MX 2004.
Sintaxis
loaderInstance.content
Descripcin
Propiedad (slo lectura); referencia a una instancia del clip de pelcula que incluye el contenido del archivo cargado. El valor es undefined hasta que comienza la carga. Establezca propiedades para el contenido de una funcin de controlador de eventos para el evento Loader.complete.
880
Componente Loader
Ejemplo
El componente Loader tiene un evento complete, por lo que puede asegurarse de que el contenido se ha cargado completamente antes de intentar acceder a las propiedades del contenido de Loader. En el siguiente ejemplo, se utiliza la propiedad Loader.content de una funcin de controlador de eventos para el evento complete. Arrastre un componente Loader desde el panel Componentes a la biblioteca del documento actual para que el componente aparezca en la biblioteca. A continuacin, aada el siguiente cdigo ActionScript al primer fotograma de la lnea de tiempo principal:
this.createClassObject(mx.controls.Loader, "my_ldr", 10); my_ldr.contentPath = "http://www.flash-mx.com/images/image1.jpg"; //Asignar una variable al contenido. var content_mc:MovieClip = my_ldr.content; var loadtest:Object = new Object(); loadtest.complete = function(){ //Definir propiedades para el contenido. content_mc._alpha = 50; content_mc._rotation= 45; trace(content_mc._width); } my_ldr.addEventListener("complete", loadtest);
Loader.contentPath
Disponibilidad
Flash MX 2004.
Sintaxis
loaderInstance.contentPath
Descripcin
Propiedad; cadena que indica la URL absoluta o relativa del archivo que va a cargarse en el componente Loader. La ruta relativa debe hacer referencia al archivo SWF que carga el contenido. La URL debe pertenecer al mismo subdominio que el archivo SWF que va a cargarse. Si utiliza Flash Player o el modo de prueba en Flash, todos los archivos SWF deben almacenarse en la misma carpeta, y los nombres de archivo no pueden incluir informacin de carpeta ni de unidad de disco.
Loader.contentPath
881
Ejemplo
En el ejemplo siguiente, se indica a la instancia del componente Loader que muestre el contenido del archivo logo.swf:
flower.contentPath = "http://www.flash-mx.com/images/image1.jpg"
En el ejemplo siguiente, se descarga contenido de Loader cuando se hace clic en la instancia de botn my_btn:
flower.contentPath = "http://www.flash-mx.com/images/image1.jpg" function clicked(){ flower.contentPath = ""; } my_btn.addEventListener("click", clicked);
Loader.load()
Disponibilidad
Flash MX 2004.
Sintaxis
loaderInstance.load([path])
Parmetros
path Parmetro opcional que especifica el valor de la propiedad contentPath antes de iniciarse la carga. Si no se especifica ningn valor, se utiliza el valor actual de contentPath.
Valor devuelto
Ninguno.
Descripcin
En el ejemplo siguiente, se crea una instancia de Loader, my_ldr, y una instancia de Button y se establece la propiedad del cargador autoload en false, de modo que la carga no comienza hasta que se llama al mtodo load(). A continuacin, el ejemplo establece contentPath en la ubicacin Web de una imagen y crea un detector para un evento click en el botn. Cuando el usuario hace clic en el botn, el controlador de evento llama a my_ldr.load() para cargar la imagen. El controlador de eventos tambin desactiva el botn.
882
Componente Loader
Arrastre un componente Loader y un componente Button desde el panel Componentes a la biblioteca y, a continuacin, aada el siguiente cdigo al primer fotograma de la lnea de tiempo.
/** Se requiere: - Componente Loader en la biblioteca - componente Button en la biblioteca */ System.security.allowDomain("http://www.flash-mx.com"); //Crear instancia de Loader. this.createClassObject(mx.controls.Loader, "my_ldr", 10); this.createClassObject(mx.controls.Button, "load_button", 20, {label:"Load image"}); my_ldr.move(0, 30); my_ldr.autoLoad = false; my_ldr.contentPath = "http://www.flash-mx.com/images/image1.jpg"; var loadListener:Object = new Object(); loadListener.click = function (evt_obj:Object) { my_ldr.load(); load_button.enabled = false; } load_button.addEventListener("click", loadListener);
Loader.percentLoaded
Disponibilidad
Flash MX 2004.
Sintaxis
loaderInstance.percentLoaded
Descripcin
Propiedad (slo lectura); nmero que indica el porcentaje de contenido cargado. Normalmente, esta propiedad se utiliza para presentar el progreso en un formato de lectura fcil para el usuario. Utilice el siguiente cdigo para redondear la cifra al nmero entero ms cercano:
Math.round(bytesLoaded/bytesTotal*100))
Loader.percentLoaded
883
Ejemplo
En el ejemplo siguiente, se crea una instancia de Loader y, a continuacin, un objeto detector con un controlador progress averigua el porcentaje cargado y lo enva al panel Salida:
import mx.controls.Loader; this.createClassObject(Loader, "my_ldr", 999); var loadListener:Object = new Object(); loadListener.progress = function(eventObj) { // eventObj.target es el componente que genera el evento progress, // es decir, el componente Loader. trace("The image is "+my_ldr.percentLoaded+"% loaded."); // Realizar seguimiento del progreso de carga. }; my_ldr.addEventListener("progress", loadListener); my_ldr.contentPath = "http://www.flash-mx.com/images/image2.jpg";
Loader.progress
Disponibilidad
Flash MX 2004.
Sintaxis
Sintaxis 1:
var listenerObject:Object = new Object(); listenerObject.progress = function(eventObj:Object) { // ... }; loaderInstance.addEventListener("progress", listenerObject);
Sintaxis 2:
on (progress) { // ... }
Descripcin
Evento; se difunde a todos los detectores registrados mientras se carga el contenido. Este evento se produce cuando la carga se activa con el parmetro autoload o con una llamada a Loader.load(). El evento de progreso no siempre se difunde y el evento complete puede difundirse sin que se distribuyan eventos progress. Esto sucede cuando el contenido cargado es un archivo local.
884
Componente Loader
El primer ejemplo de sintaxis utiliza un modelo de eventos distribuidor/detector. Una instancia de componente (loaderInstance) distribuye un evento (en este caso, progress), y ste se controla mediante una funcin, tambin denominada controlador, asociada con el objeto detector (listenerObject) que crea el usuario. Se define un mtodo con el mismo nombre que el evento del objeto detector; se llama al mtodo cuando se activa el evento. Cuando se activa el evento, ste pasa automticamente un objeto de evento (eventObject) al mtodo del objeto detector. Cada objeto de evento tiene propiedades que contienen informacin sobre el evento. Estas propiedades sirven para escribir el cdigo que controla el evento. Finalmente, se llama al mtodo EventDispatcher.addEventListener() de la instancia del componente que difunde el evento para registrar el detector con la instancia. Cuando la instancia distribuya el evento, se llamar al detector. Para ms informacin, consulte Clase EventDispatcher en la pgina 527. El segundo ejemplo de sintaxis utiliza un controlador on() que debe asociarse directamente con una instancia de Loader. La palabra clave this, utilizada en un controlador on() asociado con un componente, hace referencia a la instancia del componente. Por ejemplo, el cdigo siguiente, asociado con la instancia myLoaderComponent del componente Loader, enva _level0.myLoaderComponent al panel Salida:
on (progress) { trace(this); }
Ejemplo
El cdigo siguiente crea una instancia de Loader y despus un objeto detector con un controlador de eventos para el evento progress que enva un mensaje al panel Salida con el porcentaje de contenido cargado:
//Crear instancia de Loader. this.createClassObject(mx.controls.Loader, "my_ldr", 10); // Crear un objeto detector. var loaderListener:Object = new Object(); loaderListener.progress = function(evt_obj:Object){ // evt_obj.target es el componente que genera el evento progress, // es decir, el componente Loader. trace("image is " + my_ldr.percentLoaded + "% loaded."); } // Aadir detector. my_ldr.addEventListener("progress", loaderListener); //Asignar la ruta del contenido de Loader. my_ldr.contentPath = "http://www.flash-mx.com/images/image1.jpg";
Loader.progress
885
Loader.scaleContent
Disponibilidad
Flash MX 2004.
Sintaxis
loaderInstance.scaleContent
Descripcin
Propiedad; indica si el contenido se redimensiona para adaptarse al componente Loader (true) o si el componente Loader se redimensiona para adaptarse al contenido (false). El valor predeterminado es true.
Ejemplo
El cdigo siguiente indica al componente Loader que cambie de tamao para ajustarse a su contenido:
my_ldr.scaleContent = false;
886
Componente Loader
CAPTULO 29
Componentes Media
Los componentes de flujo de medios facilitan la incorporacin de flujo de medios en las presentaciones de Adobe Flash. Estos componentes permiten presentar los medios de varias maneras.
NO T A
29
Los componentes multimedia slo son compatible si trabaja con un documento que especifique ActionScript 2.0 en la Configuracin de publicacin.
Puede utilizar los tres componentes multimedia siguientes: El componente MediaDisplay permite reproducir medios sin interrupcin en el contenido de Flash sin necesidad de utilizar una interfaz de usuario como soporte. Este componente puede utilizarse con datos de vdeo y de audio. Al utilizar este componente por s solo, el usuario no tiene control sobre los medios. El componente MediaController proporciona controles de interfaz de usuario estndar (reproduccin, pausa, etc.) para la reproduccin multimedia. Los medios no se cargan nunca en MediaController y ste tampoco los reproduce; dicho componente slo se utiliza para controlar la reproduccin en una instancia de MediaPlayback o MediaDisplay. El componente MediaController presenta un cajn que muestra el contenido de los controles de reproduccin al colocar el ratn sobre el componente. El componente MediaPlayback es una combinacin de los componentes MediaDisplay y MediaController; dicho componente proporciona mtodos para reproducir sin interrupcin el contenido de los medios. Los componentes multimedia requieren Flash Player 6 o posterior. En Flash Player 6, los componentes multimedia slo admiten archivos FLV mediante Flash Media Server y no mediante HTTP. Los componentes multimedia no admiten la funcin para explorar hacia adelante y hacia atrs. No obstante, puede conseguir esta funcin moviendo el deslizador del reproductor. Slo se reflejan en la previsualizacin dinmica el tamao del componente y el aspecto del controlador. Los componentes multimedia no admiten la accesibilidad.
887
Debe considerar los puntos siguientes, relacionados con los componentes multimedia:
Navegacin
Desplazamiento del ratn
Descripcin
Se resalta el botn.
Los usuarios pueden hacer clic en los controles de reproduccin para manipular la reproduccin de los medios de audio y de vdeo. Los botones Pausar/Reproducir e Ir al principio/Ir al final se comportan como los botones estndar. Al presionar el botn del ratn, el botn de la pantalla se resalta en estado presionado y al soltar el botn del ratn, el botn de la pantalla vuelve a tener el aspecto de no estar seleccionado. El botn Ir al final se desactiva cuando se reproducen archivos de medios FLV.
888
Componentes Media
Destino
Controles deslizantes de un controlador determinado
Navegacin
Mover deslizador hacia atrs y hacia adelante
Descripcin
La barra de reproduccin indica la posicin del usuario en el medio; el deslizador del reproductor se mueve horizontalmente (de forma predeterminada) para indicar la reproduccin de principio (izquierda) a fin (derecha). El deslizador se mueve de abajo arriba cuando los controles estn orientados verticalmente. A medida que el deslizador se mueve de izquierda a derecha, resalta el espacio de pantalla anterior para indicar que el contenido del mismo se ha vuelto a reproducir o seleccionar. El espacio de pantalla situado delante del deslizador permanece sin resaltar hasta que pasa el deslizador. Los usuarios pueden arrastrar el deslizador para actuar sobre la posicin de la reproduccin de los medios. Si se estn reproduciendo los medios, la reproduccin automtica comienza en el punto en que se suelta el ratn. Si los medios estn en pausa, el usuario puede mover y soltar el deslizador, y los medios permanecern en posicin de pausa. Tambin hay un deslizador de volumen, que se mueve de izquierda (sin sonido) a derecha (volumen mximo) en el diseo horizontal y vertical. Cambia la seleccin de un botn a otro en el componente del controlador, donde se resalta el elemento seleccionado. Esta navegacin funciona con los controles Pausar/Reproducir, Ir al principio, Ir al final, Volumen desactivado y Volumen mx. La seleccin cambia de izquierda a derecha y de arriba abajo a medida que los usuarios se desplazan por los elementos con la tecla de tabulacin. La combinacin de Mays+Tab mueve la seleccin de derecha a izquierda y de abajo arriba. Tras seleccionar un elemento mediante la tecla Tab, el control pasa inmediatamente al botn Reproducir/Pausar. Cuando se selecciona el botn Volumen mx. y se presiona la tecla Tab, la seleccin pasa al siguiente control en el ndice de tabulacin del escenario. Marca el elemento seleccionado. Tras presionar la tecla adecuada, el botn aparece en estado presionado. Al soltarla, el botn vuelve a tener el estado de seleccin que se obtiene cuando se pasa el ratn por encima.
Tab, Mays+Tab
889
El tipo de medios, que puede establecerse en MP3 o FLV (consulte Media.mediaType y Media.setMedia()). La ruta del contenido relativo o absoluto, que aloja el archivo de medios que se va a reproducir sin interrupcin (consulte Media.contentPath). Objetos de punto de referencia, junto con el nombre correspondiente, la hora y las propiedades del reproductor (consulte Media.addCuePoint() y Media.cuePoints). El nombre del punto de referencia es arbitrario; asigne un nombre que tenga significado al utilizar eventos de detector y de trazado. Un punto de referencia difunde un evento cuePoint cuando el valor de su propiedad de tiempo es igual al de la ubicacin de la cabeza lectora del componente MediaPlayback o MediaDisplay con el que est asociado. La propiedad del reproductor es una referencia a la instancia de MediaPlayback con la que est asociada. Aun as, puede eliminar puntos de referencia con Media.removeCuePoint() y Media.removeAllCuePoints().
Los componentes de flujo de medios difunden varios eventos relacionados. Para poner en movimiento otros elementos pueden utilizarse los eventos de difusin siguientes:
Un evento change se difunde continuamente mediante los componentes MediaDisplay y MediaPlayback mientras se reproducen los medios. (Consulte Media.change.) Un evento progress se difunde continuamente mediante los componentes MediaDisplay y MediaPlayback mientras se cargan los medios. (Consulte Media.progress.) Un evento click se difunde mediante los componentes MediaController y MediaPlayback cuando el usuario hace clic en el botn Pausar/Reproducir. En este caso, la propiedad detail del objeto del evento proporciona informacin acerca del botn en el que se ha hecho clic. (Consulte Media.click.) Un evento volume se difunde mediante los componentes MediaController y MediaPlayback cuando el usuario ajusta los controles de volumen. (Consulte Media.volume.)
890
Componentes Media
Un evento playheadChange se difunde mediante los componentes MediaController y MediaPlayback cuando el usuario mueve el deslizador del reproductor o hace clic en el botn Ir al principio o Ir al final. (Consulte Media.playheadChange.)
El componente MediaDisplay funciona con el componente MediaController. Al estar combinados, los componentes se comportan de una manera similar al componente MediaPlayback, pero ofrecen ms flexibilidad con respecto al aspecto y funcionamiento de la presentacin de los medios.
Media.aspectRatio Media.autoSize
La propiedad Media.aspectRatio tiene prioridad sobre las otras propiedades. Si Media.aspectRatio se establece en true (valor predeterminado), el componente siempre vuelve a ajustar el medio que se reproduce para mantener la proporcin del medio. Para los archivos FLV, si Media.autoSize se establece en true, el medio se reproduce con su tamao preferido, independientemente del tamao del componente. Esto implica que si el tamao de la instancia de MediaDisplay es diferente al tamao de los medios, stos rebasarn los lmites de la instancia o no llenarn el tamao de la misma. Si Media.autoSize se establece en false, Flash utiliza el tamao de la instancia mientras sea posible, al tiempo que respeta la proporcin. Si Media.autoSize y Media.aspectRatio se establecen en false, se utiliza el tamao exacto del componente.
NO T A
Como no hay ninguna imagen que pueda mostrarse con los archivos MP3, establecer Media.autoSize no tendr ningn efecto. Para los archivos MP3, el tamao utilizable mnimo es 60 pxeles de altura por 256 pxeles de anchura en la orientacin predeterminada.
El componente MediaDisplay tambin admite la propiedad Media.volume. Esta propiedad acepta valores enteros de 0 (sin sonido) a 100 (volumen mximo). El valor predeterminado es 75.
891
Etiquetas de texto a la izquierda, que indican el estado de reproduccin (sin interrupcin o pausada) y a la derecha, que indican la ubicacin de la cabeza lectora (en segundos). Un indicador de la ubicacin de la cabeza lectora. Un deslizador, que los usuarios pueden arrastrar para desplazarse por los medios. Un botn Pausar/Reproducir Los botones Ir al principio e Ir al final, que sirven para desplazarse al principio y al final de los medios, respectivamente. Un control de volumen, que consta de un deslizador, un botn para quitar el sonido y otro botn de volumen mximo.
Tanto el estado contrado como el estado expandido del componente MediaController utilizan la propiedad Media.backgroundStyle. Esta propiedad determina si el controlador dibuja un fondo cromtico (valor predeterminado) o permite que el fondo del medio se visualice desde detrs de los controles.
Media.horizontal,
El componente MediaController tiene una configuracin de orientacin, que puede utilizarse para dibujar el componente con la orientacin horizontal (valor predeterminado) o vertical. Con la orientacin horizontal, la barra de reproduccin hace un seguimiento de los medios que se estn reproduciendo de izquierda a derecha. Con la orientacin vertical, la barra de reproduccin hace un seguimiento de los medios de abajo arriba. Los componentes MediaDisplay y MediaController pueden asociarse entre s mediante los mtodos Media.associateDisplay() y Media.associateController(). Estos mtodos permiten a la instancia de MediaController actualizar sus controles en funcin de los eventos difundidos desde la instancia de MediaDisplay. Asimismo, permiten que el componente MediaDisplay reaccione a la configuracin del usuario de MediaController.
892
Componentes Media
Mostrar los medios que presentan a una empresa Reproducir sin interrupcin pelculas o vistas previas de pelculas Reproducir sin interrupcin canciones o fragmentos de canciones Proporcionar material de aprendizaje multimedia
Seleccione Archivo > Nuevo y, a continuacin, Archivo Flash (ActionScript 2.0). Abra el panel Componentes y haga doble clic en el componente MediaPlayback para colocar una instancia de ste en el escenario. Seleccione la instancia de componente MediaPlayback e introduzca el nombre de instancia myMedia en el inspector de propiedades. En el inspector de componentes, defina el tipo de medio que se reproducir sin interrupcin (MP3 o FLV).
3.
4.
893
5.
Si ha seleccionado FLV, introduzca la duracin del vdeo en los cuadros de texto Video Length; utilice el formato HH:MM:SS. Introduzca la ubicacin del vdeo de vista previa en el cuadro de texto URL. Por ejemplo, podra introducirhttp://www.helpexamples.com/flash/video/clouds.flv. Establezca las opciones que desee en las casillas de verificacin Automatically Play, Use Preferred Media Size y Respect Aspect Ratio. Establezca la colocacin del control en el lado del componente MediaPlayback que desee. Aada un punto de referencia casi al final del medio haciendo clic en el botn Aadir (+); dicho punto de referencia se utilizar con un detector para abrir una ventana emergente que anuncie que la pelcula est a la venta. Asigne al punto de referencia el nombre cuePointName y una posicin cerca del final de la duracin del medio. un componente Window desde el panel Componentes a la biblioteca del documento actual. Se colocar un smbolo denominado Window en la biblioteca y el componente Window estar disponible para el archivo SWF en tiempo de ejecucin.
6.
7.
8. 9.
10. Arrastre
11.
Cree un cuadro de texto y escriba un texto para informar al usuario de que la pelcula est a la venta. Modificar > Convertir en smbolo para convertir el cuadro de texto en un clip de pelcula y asgnele el nombre mySale_mc.
12. Seleccione
13.
Haga clic con el botn derecho del ratn (Windows) o con la tecla Control presionada (Macintosh) en el clip de pelcula mySale_mc situado en la biblioteca; seleccione Vinculacin y, a continuacin, Exportar para ActionScript. Asegrese de que el identificador de vinculacin tiene el nombre correcto. Esto coloca el clip de pelcula en la biblioteca de tiempo de ejecucin. el cuadro de texto del escenario.
14. Elimine
Aada el siguiente cdigo ActionScript al fotograma 1. Con este cdigo se crea un detector para abrir una ventana emergente que informa al usuario de que la pelcula est a la venta.
// Importar las clases necesarias para crear la ventana emergente // dinmicamente. import mx.containers.Window; import mx.managers.PopUpManager; // Crear un objeto detector para abrir la ventana emergente de venta. var saleListener:Object = new Object();
894
Componentes Media
saleListener.cuePoint = function(eventObj:Object) { var saleWin:MovieClip = PopUpManager.createPopUp(_root, Window, false, {closeButton:true, title:"Movie Sale", contentPath:"mySale_mc"}); // Ampliar la ventana para que quepa el contenido. saleWin.setSize(80, 80); var delSaleWin:Object = new Object(); delSaleWin.click = function(eventObj:Object) { saleWin.deletePopUp(); } saleWin.addEventListener("click", delSaleWin); } myMedia.addEventListener("cuePoint", saleListener); 16.
Seleccione Control > Probar pelcula para probar el archivo SWF. Cuando la aplicacin llegue al tiempo de reproduccin del punto de referencia cuePointName, aparecer una ventana emergente donde se mostrar el mensaje.
Seleccione Archivo > Nuevo y, a continuacin, Archivo Flash (ActionScript 2.0). En el panel Componentes, arrastre un componente MediaController y un componente MediaDisplay al escenario. Seleccione la instancia de MediaDisplay e introduzca el nombre de instancia myDisplay en el inspector de propiedades. Seleccione la instancia de MediaController e introduzca el nombre de instancia myController en el inspector de propiedades. Seleccione la instancia de MediaDisplay y abra la ficha Parmetros del inspector de componentes. Defina el tipo de medio que se reproducir sin interrupcin (MP3 o FLV).
3.
4.
5.
895
6.
Si ha seleccionado FLV, introduzca la duracin del vdeo en los cuadros de texto Video Length mediante el formato HH:MM:SS. Introduzca la ubicacin del vdeo de vista previa en el cuadro de texto URL. Por ejemplo, podra introducirwww.helpexamples.com/flash/video/clouds.flv. Establezca las opciones que desee en las casillas de verificacin Automatically Play, Use Preferred Media Size y Respect Aspect Ratio. Seleccione la instancia de MediaController y, en la ficha Parmetros del inspector de componentes, defina la orientacin como vertical estableciendo la propiedad horizontal en false. la ficha Parmetros del inspector de componentes, establezca none como valor de backgroundStyle.
7.
8.
9.
10. En
Esta accin especifica que la instancia de MediaController no debe dibujar un fondo, sino llenar los medios entre los controles. A continuacin, utilice un comportamiento para asociar las instancias de MediaController y MediaDisplay de manera que la instancia de MediaController refleje de forma precisa el movimiento de la cabeza lectora y otras configuraciones de la instancia de MediaDisplay, y sta responda a los clics de los usuarios.
11.
Con la instancia de MediaController todava seleccionada, abra el panel Comportamientos (Ventana > Comportamientos). el panel Comportamientos, haga clic en el botn Aadir (+) y seleccione Medios > Visualizacin asociada.
12. En
13.
Para ms informacin sobre cmo utilizar comportamientos con componentes multimedia, consulte Control de componentes multimedia mediante comportamientos en la pgina 898.
896
Componentes Media
Reproducir automticamente el medio (consulte Media.activePlayControl y Media.autoPlay) Mantener o ignorar la proporcin del elemento multimedia (consulte Media.aspectRatio) Determinar si se cambiar automticamente el tamao del medio para adaptarlo a la instancia del componente (consulte Media.autoSize) Activar o desactivar el fondo cromtico (consulte Media.backgroundStyle) Especificar la ruta del medio con formato de URL (consulte Media.contentPath) Especificar la visibilidad de los controles de reproduccin (consulte Media.controllerPolicy) Aadir objetos de punto de referencia (consulte Media.addCuePoint()) Eliminar objetos de punto de referencia (consulte Media.removeCuePoint()) Establecer la orientacin de las instancias de MediaController (consulte Media.horizontal) Establecer el tipo de medio que se va a reproducir (consulte Media.setMedia()) Establecer el tiempo de reproduccin del medio FLV (consulte Media.totalTime) Establecer los ltimos dgitos de la visualizacin de tiempo para indicar los milisegundos o los fotogramas por segundo (fps)
897
Es importante que comprenda algunos conceptos del inspector de componentes para trabajar con l:
El control de tiempo del vdeo no est disponible al seleccionar un tipo de vdeo MP3, ya que esta informacin se lee automticamente cuando se utilizan archivos MP3. En el caso de los archivos FLV creados con Flash Video Exporter 1.0, debe introducir el tiempo total del medio (Media.totalTime) para que la barra de reproduccin del componente MediaPlayback (o cualquier otro componente MediaController de sonido) pueda reflejar de forma precisa el progreso de la reproduccin. Los archivos FLV creados con Flash Video Exporter 1.1 o posterior establecen la duracin automticamente. Si se selecciona el tipo de archivo FLV, aparecern una opcin Milisegundos y, si esta opcin no est seleccionada, un men emergente de control de fotogramas por segundo (FPS). Si se selecciona la opcin Milisegundos, el control FPS no aparece. En este modo, el tiempo que aparece en la barra de reproduccin en tiempo de ejecucin tiene el formato HH:MM:SS.mmm (H = horas, M = minutos, S = segundos, m = milisegundos), y se utiliza el valor de segundos para los puntos de referencia. Si la opcin Milisegundos no est seleccionada, el control FPS est activado y el tiempo de la barra de reproduccin tiene el formato HH:MM:SS.FF (F = fotogramas por segundo). Para los puntos de referencia, se utiliza el valor de fotogramas.
N OT A
El valor de fps slo puede establecerse mediante el inspector de componentes. Si se utiliza ActionScript para definir un valor de fps, ste no tiene ningn efecto y se omite.
898
Componentes Media
Con Flash se incluyen los siguientes comportamientos que sirven para controlar componentes multimedia incorporados.
Comportamiento Propsito Parmetros
Nombre de instancia de los componentes MediaController de destino Nombre de instancia de los componentes MediaController de destino Nombre de fotograma y nombre del punto de referencia (los nombres deben ser idnticos)
Controlador asociado Asocia un componente MediaController con un componente MediaDisplay Visualizacin asociada Navegacin por puntos de referencia en fotogramas con nombre Asocia un componente MediaDisplay con un componente MediaController Coloca una accin en una instancia de MediaDisplay o MediaPlayback que indica a un clip de pelcula determinado que se desplace a un fotograma cuyo nombre sea igual al de un punto de referencia especificado Desplaza un documento de Flash de diapositiva a una diapositiva cuyo nombre sea igual al de un punto de referencia especificado
Nombre de diapositiva y nombre de punto de referencia (los nombres deben ser idnticos)
Confirme que se especifica ActionScript 2.0 en la Configuracin de publicacin. Coloque una instancia de MediaDisplay y una instancia de MediaController en el escenario. Seleccione la instancia de MediaDisplay e introduzca el nombre de instancia myMediaDisplay con el inspector de propiedades. Seleccione la instancia de MediaController que activar el comportamiento. En el panel Comportamientos, haga clic en el botn Aadir (+) y seleccione Medios > Visualizacin asociada. En la ventana Visualizacin asociada, seleccione myMediaDisplay en _root y haga clic en Aceptar.
N O TA
3.
4. 5.
6.
Si ha asociado el componente MediaDisplay con el componente MediaController, no es necesario que asocie el componente MediaController con el componente MediaDisplay.
899
Confirme que se especifica ActionScript 2.0 en la Configuracin de publicacin. Coloque una instancia de MediaDisplay y una instancia de MediaController en el escenario. Seleccione la instancia de MediaController e introduzca el nombre de instancia myMediaController con el inspector de propiedades. Seleccione la instancia de MediaDisplay que activar el comportamiento. En el panel Comportamientos, haga clic en el botn Aadir (+) y seleccione Medios > Controlador asociado. En la ventana Controlador asociado, seleccione myMediaController en _root y haga clic en Aceptar.
3.
4. 5.
6.
Para utilizar un comportamiento Navegacin por puntos de referencia en fotogramas con nombre:
1. 2. 3.
Confirme que se especifica ActionScript 2.0 en la Configuracin de publicacin. Coloque una instancia de componente MediaDisplay o MediaPlayback en el escenario. Seleccione el fotograma al que se desplazar el medio e introduzca el nombre de fotograma myLabeledFrame con el inspector de propiedades. Seleccione la instancia de MediaDisplay o de MediaPlayback. En el inspector de componentes, haga clic en el botn Aadir (+) e introduzca el tiempo del punto de referencia en el formato HH:MM:SS:mmm o HH:MM:SS:FF y asigne el nombre myLabeledFrame al punto de referencia. El punto de referencia indica el tiempo que debe transcurrir antes de desplazarse al fotograma seleccionado. Por ejemplo, si desea saltar al fotograma myLabeledFrame del medio al cabo de 5 segundos, introduzca 5 en el cuadro de texto de los segundos y myLabeledFrame en el cuadro de texto del nombre.
4. 5.
6.
En el panel Comportamientos, haga clic en el botn Aadir (+) y seleccione Medios > Navegacin por puntos de referencia en fotogramas con nombre. En la ventana Navegacin por puntos de referencia en fotogramas con nombre, seleccione el clip _root y haga clic en Aceptar.
7.
900
Componentes Media
Abra una presentacin de diapositivas de Flash ya existente. (Flash CS3 no permite la creacin de nuevos de presentacin FLA.) Coloque una instancia de componente MediaDisplay o MediaPlayback en el escenario. En el panel Contorno de pantalla situado a la izquierda del escenario, haga clic en el botn Insertar pantalla (+) para aadir una segunda diapositiva; a continuacin, seleccione la segunda diapositiva y asgnele el nombre mySlide. Seleccione la instancia de MediaDisplay o de MediaController. En el inspector de componentes, haga clic en el botn Aadir (+) e introduzca el tiempo de punto de referencia en el formato HH:MM:SS:mmm o HH:MM:SS:FF y asigne el nombre MySlide al punto de referencia. El punto de referencia indica el tiempo que debe transcurrir antes de desplazarse a la diapositiva seleccionada. Por ejemplo, si desea saltar a la diapositiva mySlide del medio al cabo de 5 segundos, introduzca 5 en el cuadro de texto de los segundos y mySlide en el cuadro de texto de nombre.
2. 3.
4. 5.
6.
En el panel Comportamientos, haga clic en el botn Aadir (+) y seleccione Medios > Navegacin por puntos de referencia en diapositivas. En la ventana Navegacin por puntos de referencia en diapositivas, seleccione Presentacin en el clip _root y haga clic en Aceptar.
7.
901
Parmetros de MediaDisplay
Nombre
Automatically Play (Media.autoPlay)
Tipo
Boolean
Valor predeterminado
Selected Selected
Descripcin
Determina si el medio se reproduce en cuanto se carga. Determina si el medio asociado con la instancia de MediaDisplay se adapta al tamao del componente o simplemente utiliza su tamao predeterminado. Indica el nmero de fotogramas por segundo. Si la opcin Milisegundos est seleccionada, este control est desactivado. Matriz de objetos de punto de referencia, cada uno con un nombre y una posicin en el tiempo en un formato HH:MM:SS:FF vlido (opcin Milisegundos seleccionada) o HH:MM:SS:mmm. Indica el tipo de medio que se va a reproducir. Determina si la barra de reproduccin utiliza fotogramas o milisegundos, y si los puntos de referencia utilizan segundos o fotogramas. Si se selecciona esta opcin, el control FPS no aparece.
FPS
Integer
30
Array
Undefined
FLV
Unselected
902
Componentes Media
Nombre
URL (Media.contentPath)
Tipo
String
Valor predeterminado
Undefined
Descripcin
Cadena que contiene la ruta y el nombre de archivo del medio que va a reproducirse. Tiempo total necesario para reproducir el medio FLV. Esta configuracin es necesaria para que la barra de reproduccin funcione correctamente. Este control slo es visible cuando el valor del tipo de medio es FLV.
Integer
Undefined
Parmetros de MediaController
Nombre Tipo Valor predeterminado
pause
Descripcin
Determina si la barra de reproduccin est en modo de reproduccin o de pausa despus de la creacin de instancias. Este modo determina la imagen que se muestra en el botn Reproducir/Pausar, que es lo contrario del estado de reproduccin/pausa en el que se encuentra realmente el controlador. Determina si se extraer el fondo cromtico para la instancia de MediaController. Determina si el controlador se abre o se cierra segn la posicin del ratn, o si se bloquea una vez que est abierto o cerrado.
String:
default o none
default
903
Nombre
horizontal (Media.horizontal)
Tipo
Boolean
Valor predeterminado
true
Descripcin
Determina si la parte de controlador de la instancia est orientada vertical u horizontalmente. El valor true indica que el componente estar orientado horizontalmente. Determina si el usuario puede modificar este control. El valor true indica que el control puede ser modificado. Determina si el usuario puede visualizar este control. El valor true indica que el control est visible.
enabled
Boolean
true
visible
Boolean
true
Parmetros de MediaPlayback
Nombre
Control Placement (Media.controlPlacement)
Tipo
String: top, bottom, left,
right
Valor predeterminado
bottom
Descripcin
Posicin del controlador. El valor est relacionado con la orientacin.
Boolean
true
Determina si el controlador se abre o se cierra en funcin de la posicin del ratn. Determina si el medio se reproduce en cuanto se carga. Determina si la instancia de MediaController cambia de tamao para adaptase al medio o utiliza otra configuracin.
Boolean
true true
904
Componentes Media
Nombre
FPS
Tipo
Integer
Valor predeterminado
30
Descripcin
Nmero de fotogramas por segundo. Si la opcin Milisegundos est seleccionada, este control est desactivado. Matriz de objetos de puntos de referencia, cada uno con un nombre y una posicin en el tiempo en un formato HH:MM:SS:mmm vlido (opcin Milisegundos seleccionada) o HH:MM:SS:FF. Indica el tipo de medio que se va a reproducir. Determina si la barra de reproduccin utiliza fotogramas o milisegundos, y si los puntos de referencia utilizan segundos o fotogramas. Cuando esta opcin est seleccionada, el control FPS est desactivado. Cadena que contiene la ruta y el nombre de archivo del medio que va a reproducirse. Tiempo total necesario para reproducir el medio FLV. Esta configuracin es necesaria para que la barra de reproduccin funcione correctamente.
Array
undefined
FLV
false
URL (Media.contentPath)
String
undefined
Integer
undefined
905
Seleccione Archivo > Nuevo y, a continuacin, Archivo Flash (ActionScript 2.0). En el panel Componentes, haga doble clic en el componente MediaPlayback para aadirlo al escenario. En el inspector de propiedades, siga este procedimiento:
3.
4.
En el inspector de componentes, introduzca http://www.helpexamples.com/flash/video/ water.flv en el cuadro de texto URL. Seleccione Control > Probar pelcula, para ver la reproduccin del medio.
5.
906
Componentes Media
Windows: C:\Archivos de programa\Adobe\Adobe Flash CS3\idioma\Configuration\ Component Source\ActionScript 2.0\FLA\MediaComponents.fla Macintosh: Disco duro/Applications/Adobe/Adobe Flash CS3/Configuration/ Component Source/ActionScript 2.0/FLA/MediaComponents.fla
Clase Media
Herencia
Cada clase de componente tiene una propiedad version que es una propiedad de clase. Las propiedades de clase slo estn disponibles para la propia clase. La propiedad version devuelve una cadena que indica la versin del componente. Para acceder a esta propiedad, utilice el cdigo siguiente:
trace(mx.controls.MediaPlayback.version);
N OT A
Clase Media
907
Componentes
MediaDisplay, MediaPlayback
Descripcin
Aade un objeto de punto de referencia a la instancia de componente. Asocia una instancia de MediaDisplay con una instancia de MediaController. Asocia una instancia de MediaController con una instancia de MediaDisplay. Convierte la instancia de componente al modo de reproduccin de pantalla completa. Vuelve a convertir la instancia de componente al tamao de pantalla original. Devuelve un objeto de punto de referencia. Pone en pausa la cabeza lectora en la ubicacin actual de la lnea de tiempo del medio. Reproduce el medio asociado con la instancia de componente en un punto inicial concreto. Elimina todos los objetos de punto de referencia asociados con una instancia de componente determinada. Elimina un punto de referencia concreto, asociado con una instancia de componente determinada. Establece el tipo de medio y la ruta del tipo de medio especificado. Detiene la cabeza lectora y la desplaza a la posicin 0, que es el principio del medio.
Media.associateController() MediaDisplay
Media.associateDisplay()
MediaController MediaPlayback
Media.displayFull()
Media.displayNormal()
MediaPlayback
Media.getCuePoint()
MediaDisplay, MediaPlayback MediaDisplay, MediaPlayback MediaDisplay, MediaPlayback MediaDisplay, MediaPlayback MediaDisplay, MediaPlayback MediaDisplay, MediaPlayback MediaDisplay, MediaPlayback
Media.pause()
Media.play()
Media.removeAllCuePoints()
Media.removeCuePoint()
Media.setMedia()
Media.stop()
908
Componentes Media
Componentes
MediaController
Descripcin
Determina el estado del componente cuando ste se carga en tiempo de ejecucin. Determina si la instancia de componente mantiene su proporcin de vdeo. Determina si la instancia de componente comenzar inmediatamente a almacenarse en el bfer y a reproducirse. Determina el tamao de la parte de visualizacin del medio del componente MediaDisplay o MediaPlayback. Determina si la instancia de componente dibuja su fondo cromtico. Slo lectura; nmero de bytes cargados disponibles para reproducir. Nmero de bytes que se van a cargar en la instancia de componente. Cadena que contiene la ruta relativa y el nombre de archivo del medio que va a reproducirse con o sin interrupcin. Determina si se oculta el controlador cuando se crean instancias de l y slo aparece cuando el usuario desplaza el puntero del ratn sobre el controlador en estado contrado. Determina la posicin de los controles del componente. Matriz de objetos de punto de referencia que se han asignado a una instancia de componente determinada. Determina la orientacin de la instancia de componente. Determina el tipo de medio que va a reproducirse.
Media.aspectRatio
MediaDisplay, MediaPlayback MediaDisplay, MediaPlayback MediaDisplay, MediaPlayback MediaController MediaDisplay, MediaPlayback MediaDisplay, MediaPlayback MediaDisplay, MediaPlayback MediaController, MediaPlayback
Media.autoPlay
Media.autoSize
Media.backgroundStyle
Media.bytesLoaded
Media.bytesTotal
Media.contentPath
Media.controllerPolicy
Media.controlPlacement
Media.cuePoints
Media.horizontal
Media.mediaType
Clase Media
909
Propiedad
Media.playheadTime
Componentes
MediaDisplay, MediaPlayback
Descripcin
Contiene la posicin actual de la cabeza lectora (en segundos) en la lnea de tiempo del medio que se est reproduciendo. Para MediaDisplay y MediaPlayback, esta propiedad es de slo lectura y devuelve un valor booleano que indica si una determinada instancia de componente est reproduciendo un medio. Para MediaController, esta propiedad es de lectura/escritura y controla la imagen (en reproduccin o pausa) que se muestra en el botn Reproducir/Pausar del controlador. Valor predeterminado de la altura de un archivo FLV. Valor predeterminado de la anchura de un archivo FLV. Entero que indica la duracin total en segundos del medio. Entero de 0 (mnimo) a 100 (mximo) que representa el nivel de volumen.
Media.playing
Media.preferredHeight
Media.preferredWidth
Media.totalTime
Media.volume
910
Componentes Media
Componentes
MediaDisplay, MediaPlayback MediaController, MediaPlayback MediaDisplay, MediaPlayback MediaDisplay, MediaPlayback MediaController, MediaPlayback
Descripcin
Se difunde continuamente mientras se reproduce el medio. Se difunde cuando el usuario hace clic en el botn Reproducir/Pausar. Notificacin de que la cabeza lectora ha alcanzado el final del medio. Notificacin de que la cabeza lectora ha alcanzado un punto de referencia determinado. Difundido por la instancia de componente cuando un usuario mueve el control deslizante del reproductor o hace clic en el botn Ir al principio o Ir al final. Se genera continuamente hasta que el medio est totalmente descargado. Se genera cuando se arrastra la cabeza lectora. Se difunde cuando el usuario ajusta el volumen.
Media.click
Media.complete
Media.cuePoint
Media.playheadChange
Media.progress
Media.scrubbing
Media.volume
Clase Media
911
Media.activePlayControl
Se aplica a
MediaController.
Disponibilidad
Flash Player 7.
Edicin
Descripcin
Propiedad; valor de cadena que especifica el estado en que debe encontrarse el componente MediaController al cargarse en tiempo de ejecucin. Un valor play indica un estado de reproduccin; un valor pause indica un estado de pausa. Establezca esta propiedad y la propiedad autoPlay de forma que ambas indiquen el mismo estado. El valor predeterminado es play. La imagen del botn que se muestra en el componente MediaController es lo contrario del estado de reproduccin/pausa actual. Por ejemplo, en el estado de reproduccin, MediaController muestra un botn de pausa, ya que eso es lo que sucedera si el usuario hiciera clic en el botn y cambiara el estado. Puesto que indica el estado en que se encontrar el controlador cuando se cargue, la propiedad debe establecerse antes de que se cree el controlador, ya sea mediante el inspector de propiedades o el inspector de componentes, si el componente est en el escenario. Si el componente se crea con cdigo ActionScript, esta propiedad debe establecerse en el parmetro initObj. Cambiar el valor de esta propiedad tras la creacin del componente no tiene ninguna consecuencia. El valor slo puede modificarlo el usuario haciendo clic en el botn Reproducir/Pausar.
activePlayControl
Ejemplo
En el ejemplo siguiente, se indica que el control est en pausa cuando se carga por primera vez:
myMedia.activePlayControl = "pause";
Vase tambin
Media.autoPlay
912
Componentes Media
Media.addCuePoint()
Se aplica a
MediaDisplay, MediaPlayback.
Disponibilidad
Flash Player 7.
Edicin
Parmetros
cuePointName cuePointTime
Cadena que asigna un nombre al punto de referencia. Nmero que indica, en segundos, cundo se difunde un evento cuePoint.
Valor devuelto
Ninguno.
Descripcin
Mtodo; aade un objeto de punto de referencia a una instancia de MediaPlayback o MediaDisplay. Cuando el tiempo de la cabeza lectora y el del punto de referencia son iguales, se difunde un evento cuePoint.
Ejemplo
En el cdigo siguiente se aade un punto de referencia llamado Homerun a myMedia cuando el tiempo de la cabeza lectora equivale a 16 segundos.
myMedia.addCuePoint("Homerun", 16);
Vase tambin
Media.cuePoint, Media.cuePoints, Media.getCuePoint(), Media.removeAllCuePoints(), Media.removeCuePoint()
Media.addCuePoint()
913
Media.aspectRatio
Se aplica a
MediaDisplay, MediaPlayback.
Disponibilidad
Flash Player 7.
Edicin
Descripcin
Propiedad; valor booleano que determina si una instancia de MediaDisplay o MediaPlayback mantiene su proporcin de vdeo durante la reproduccin. true indica que la proporcin debe mantenerse; false indica que la proporcin puede cambiar durante la reproduccin. El valor predeterminado es true.
Ejemplo
914
Componentes Media
Media.associateController()
Se aplica a
MediaDisplay.
Disponibilidad
Flash Player 7.
Edicin
Parmetros
instanceName
Cadena que especifica el nombre de instancia del componente MediaController que se va a asociar.
Valor devuelto
Ninguno.
Descripcin
Mtodo; asocia una instancia de MediaDisplay con una instancia de MediaController. Si utiliza Media.associateDisplay() para asociar una instancia de MediaController con una instancia de MediaDisplay, no es necesario utilizar Media.associateController().
Ejemplo
Vase tambin
Media.associateDisplay()
Media.associateController()
915
Media.associateDisplay()
Se aplica a
MediaController.
Disponibilidad
Flash Player 7.
Edicin
Parmetros
instanceName
Cadena que especifica el nombre de instancia del componente MediaDisplay que se va a asociar.
Valor devuelto
Ninguno.
Descripcin
Mtodo; asocia una instancia de MediaController con una instancia de MediaDisplay. Si asocia una instancia de MediaDisplay con una instancia de MediaController mediante Media.associateController(), no es necesario utilizar Media.associateDisplay().
Ejemplo
Vase tambin
Media.associateController()
916
Componentes Media
Media.autoPlay
Se aplica a
MediaDisplay, MediaPlayback.
Disponibilidad
Flash Player 7.
Edicin
Descripcin
Propiedad; valor booleano que determina si la instancia de MediaPlayback o MediaDisplay debe comenzar inmediatamente a intentar almacenarse en el bfer y reproducirse. Un valor true indica que el control se almacena en el bfer y se reproduce en tiempo de ejecucin; un valor false indica que el control se detiene en tiempo de ejecucin. Esta propiedad depende de las propiedades contentPath y mediaType. Si contentPath y mediaType no se establecen, no hay reproduccin en tiempo de ejecucin. El valor predeterminado es true.
Ejemplo
En el ejemplo siguiente, se indica que el control no se inicia cuando se carga por primera vez:
myMedia.autoPlay = false;
Vase tambin
Media.contentPath, Media.mediaType
Media.autoPlay
917
Media.autoSize
Se aplica a
MediaDisplay, MediaPlayback.
Disponibilidad
Flash Player 7.
Edicin
Descripcin
Propiedad; valor booleano que determina el tamao de la parte de visualizacin del medio del componente MediaDisplay o MediaPlayback. En el componente MediaDisplay, la propiedad se comporta de la manera siguiente:
Si establece el valor true para esta propiedad, Flash muestra el medio con su tamao preferido, independientemente del tamao del componente. Esto implica que, a menos que el tamao de la instancia de MediaDisplay sea igual al tamao del medio, ste rebasar los lmites de la instancia o no llenar el tamao de la misma. Si establece el valor false, Flash utiliza el tamao de la instancia mientras sea posible, al tiempo que respeta la proporcin. Si Media.autoSize y Media.aspectRatio se establecen en false, se utiliza el tamao exacto del componente. Si establece el valor true para esta propiedad, Flash muestra el medio con su tamao preferido, siempre que el rea de reproduccin del medio sea inferior al tamao preferido. En tal caso, Flash reduce el tamao del medio para adaptarlo al interior de la instancia, respetando la proporcin. Si el tamao preferido es inferior al tamao del rea del medio de la instancia, parte de dicha rea no se utiliza. Si establece el valor false, Flash utiliza el tamao de la instancia mientras sea posible, al tiempo que respeta la proporcin. Si Media.autoSize y Media.aspectRatio se establecen en false, se llena el rea del medio del componente. Esta rea se define como el rea situada sobre los controles (en el diseo predeterminado), menos un margen de 8 pxeles circundante que forma los bordes del componente.
918
Componentes Media
Ejemplo
En el ejemplo siguiente, se indica que el control no vuelve a reproducirse en funcin del tamao del medio:
myMedia.autoSize = false;
Vase tambin
Media.aspectRatio
Media.backgroundStyle
Se aplica a
MediaController.
Disponibilidad
Flash Player 7.
Edicin
Descripcin
Propiedad; valor de cadena que indica el fondo que se dibuja para la instancia de MediaController. Un valor default indica que se dibuja el fondo cromtico, mientras que un valor none indica que no se dibuja dicho fondo. El valor predeterminado es default. No se trata de una propiedad de estilo y, por lo tanto, no se ve afectada por la configuracin de estilos.
Ejemplo
Media.backgroundStyle
919
Media.bytesLoaded
Se aplica a
MediaDisplay, MediaPlayback.
Disponibilidad
Flash Player 7.
Edicin
Descripcin
Propiedad de slo lectura; el nmero de bytes ya cargados en el componente que estn disponibles para su reproduccin. El valor predeterminado es undefined.
Ejemplo
En el cdigo siguiente se crea una variable llamada PlaybackLoad que se establecer con el nmero de bytes cargados. La variable se utilizar en un bucle for.
// Crear variable que indique el nmero de bytes cargados. var PlaybackLoad:Number = myMedia.bytesLoaded; // Realizar alguna funcin hasta que la reproduccin est preparada. for (PlaybackLoad < 150) { someFunction(); }
920
Componentes Media
Media.bytesTotal
Se aplica a
MediaDisplay, MediaPlayback.
Disponibilidad
Flash Player 7.
Edicin
Descripcin
Propiedad de slo lectura; nmero de bytes que se van a cargar en el componente MediaPlayback o MediaDisplay. El valor predeterminado es undefined.
Ejemplo
En el ejemplo siguiente, se indica al usuario el tamao del medio que se va a reproducir sin interrupcin:
myTextField.text = myMedia.bytesTotal;
Media.bytesTotal
921
Media.change
Se aplica a
MediaDisplay, MediaPlayback.
Disponibilidad
Flash Player 7.
Edicin
Descripcin
Evento; difundido por los componentes MediaDisplay y MediaPlayback mientras se reproduce el medio. El porcentaje completo puede recuperarse de la instancia de componente. Cuando se activa el evento, ste pasa automticamente un objeto de evento (eventObject) al controlador. Cada objeto de evento tiene propiedades que contienen informacin sobre el evento. Estas propiedades sirven para escribir el cdigo que controla el evento. El objeto del evento Media.change tiene dos propiedades adicionales:
target type
En el ejemplo siguiente, se utiliza un detector de objetos para determinar la posicin de la cabeza lectora (Media.playheadTime), a partir de la cual puede calcularse el porcentaje completo:
var myPlayerListener:Object = new Object(); myPlayerListener.change = function(eventObj:Object) { var myPosition:Number = myPlayer.playheadTime; var myPercentPosition:Number = (myPosition/myPlayer.totalTime); }; myPlayer.addEventListener("change", myPlayerListener);
Vase tambin
Media.playing, Media.pause()
922
Componentes Media
Media.click
Se aplica a
MediaController, MediaPlayback.
Disponibilidad
Flash Player 7.
Edicin
Descripcin
Evento; se difunde cuando el usuario hace clic en el botn Reproducir/Pausar. El campo de detalle puede utilizarse para determinar en qu botn se ha hecho clic. El objeto del evento Media.click tiene las siguientes propiedades:
detail target type
Ejemplo
Para una instancia de componente MediaController denominada myMedia (con un componente Window en la biblioteca), el ejemplo siguiente abre una ventana emergente cuando el usuario hace clic en el botn Reproducir/Pausar:
var myMediaListener:Object = new Object(); myMediaListener.click = function(eventObj:Object) { mx.managers.PopUpManager.createPopUp(_root, mx.containers.Window, true); }; myMedia.addEventListener("click", myMediaListener);
Media.click
923
Media.complete
Se aplica a
MediaDisplay, MediaPlayback.
Disponibilidad
Flash Player 7.
Edicin
Descripcin
Evento; notificacin de que la cabeza lectora ha llegado al final del medio. El objeto del evento Media.complete tiene las siguientes propiedades:
target type
Ejemplo
En el ejemplo siguiente, se utiliza un detector de objetos para determinar cundo acaba la reproduccin del medio:
var myListener:Object = new Object(); myListener.complete = function(eventObj:Object) { trace("media is Finished"); }; myMedia.addEventListener("complete", myListener);
924
Componentes Media
Media.contentPath
Se aplica a
MediaDisplay, MediaPlayback.
Disponibilidad
Flash Player 7.
Edicin
Descripcin
Propiedad; cadena que contiene la ruta relativa y el nombre de archivo del medio que va a reproducirse con o sin interrupcin. Establecer la propiedad contentPath equivale a llamar al mtodo Media.setMedia() sin especificar un parmetro mediaType. Si no se establece ningn parmetro mediaType con Media.setMedia(), el tipo predeterminado es FLV. El valor predeterminado de la propiedad contentPath es undefined.
Ejemplo
En el ejemplo siguiente, se muestra el nombre del medio que se reproduce en un cuadro de texto:
myTextField.text = myMedia.contentPath;
Vase tambin
Media.setMedia()
Media.contentPath
925
Media.controllerPolicy
Se aplica a
MediaController, MediaPlayback.
Disponibilidad
Flash Player 7.
Edicin
Descripcin
Propiedad; determina si el componente MediaController (o el subcomponente de controlador del componente MediaPlayback) se oculta cuando se crean instancias de l y slo aparece cuando el usuario desplaza el puntero del ratn sobre el controlador en estado contrado. Los valores posibles para esta propiedad son los siguientes:
on
especifica que los controles estn siempre expandidos. especifica que los controles estn siempre contrados.
off
(valor predeterminado) especifica que el control permanece en estado contrado hasta que el usuario desplace el puntero del ratn sobre el rea activa. El rea activa coincide con el rea en la que se dibuja el control contrado. El control permanece expandido hasta que el ratn sale del rea activa.
auto
NO T A
Ejemplo
926
Componentes Media
Media.controlPlacement
Se aplica a
MediaPlayback.
Disponibilidad
Flash Player 7.
Edicin
Descripcin
Propiedad; determina la posicin de la parte de controlador del componente MediaPlayback con relacin a su visualizacin. Los valores posibles son top, bottom, left y right. El valor predeterminado es bottom.
Ejemplo
En el ejemplo siguiente, la parte de controlador del componte MediaPlayback se sita en el lado derecho:
myMedia.controlPlacement = "right";
Media.controlPlacement
927
Media.cuePoint
Se aplica a
MediaDisplay, MediaPlayback.
Disponibilidad
Flash Player 7.
Edicin
Descripcin
Evento; notificacin de que la cabeza lectora ha alcanzado el punto de referencia. El objeto del evento Media.cuePoint tiene las siguientes propiedades:
cuePointName cuePointTime
Nmero que indica, en fotogramas o segundos, cundo se ha alcanzado el punto de referencia. Referencia al objeto MediaPlayback, si lo hay, o bien al propio objeto MediaDisplay. Cadena cuePoint.
target type
Ejemplo
En el ejemplo siguiente, se utiliza un detector de objetos para determinar cundo se ha alcanzado un punto de referencia:
var myCuePointListener:Object = new Object(); myCuePointListener.cuePoint = function(eventObject:Object){ trace("heard " + eventObject.type + ", " + eventObject.target + ", " + eventObject.cuePointName + ", " + eventObject.cuePointTime); }; myPlayback.addEventListener("cuePoint", myCuePointListener);
Vase tambin
Media.addCuePoint(), Media.cuePoints, Media.getCuePoint()
928
Componentes Media
Media.cuePoints
Se aplica a
MediaDisplay, MediaPlayback.
Disponibilidad
Flash Player 7.
Edicin
o
myMedia.cuePoints[N]
Descripcin
Propiedad; matriz de objetos de punto de referencia asignados a una instancia de MediaPlayback o MediaDisplay. En la matriz, cada objeto de punto de referencia puede tener un nombre, un tiempo en segundos o fotogramas y una propiedad de reproductor (que es el nombre de instancia del componente con el que est asociado). El valor predeterminado es una matriz vaca ([]).
Ejemplo
En el ejemplo siguiente, se elimina el tercer punto de referencia si se reproduce la vista previa de una accin:
if (myVariable == actionPreview) { myMedia.removeCuePoint(myMedia.cuePoints[2]); }
Vase tambin
Media.addCuePoint(), Media.getCuePoint(), Media.removeCuePoint()
Media.cuePoints
929
Media.displayFull()
Se aplica a
MediaPlayback.
Disponibilidad
Flash Player 7.
Edicin
Valor devuelto
Ninguno.
Descripcin
Mtodo; establece el modo de pantalla completa para la instancia de MediaPlayback. En este modo, el componente se expande para llenar todo el escenario. Para que el componente recupere su tamao normal, utilice Media.displayNormal().
Ejemplo
En el cdigo siguiente se fuerza la expansin del componente para que ocupe el escenario:
myMedia.displayFull();
Vase tambin
Media.displayNormal()
930
Componentes Media
Media.displayNormal()
Se aplica a
MediaPlayback.
Disponibilidad
Flash Player 7.
Edicin
Valor devuelto
Ninguno.
Descripcin
Mtodo; restablece el tamao normal de la instancia de MediaPlayback tras haberse utilizado el mtodo Media.displayFull().
Ejemplo
Vase tambin
Media.displayFull()
Media.displayNormal()
931
Media.getCuePoint()
Se aplica a
MediaDisplay, MediaPlayback.
Disponibilidad
Flash Player 7.
Edicin
Parmetros
cuePointName
Valor devuelto
Vase tambin
Media.addCuePoint(), Media.cuePoint, Media.cuePoints, Media.removeCuePoint()
932
Componentes Media
Media.horizontal
Se aplica a
MediaController.
Disponibilidad
Flash Player 7.
Edicin
Descripcin
Propiedad; determina si el componente MediaController se muestra en posicin vertical u horizontal. true indica que el componente se muestra en posicin horizontal; false indica la posicin vertical. Si se establece el valor false, la barra de reproduccin y el deslizador del reproductor se desplazan de abajo arriba. El valor predeterminado es true.
Ejemplo
Media.horizontal
933
Media.mediaType
Se aplica a
MediaDisplay, MediaPlayback.
Disponibilidad
Flash Player 7.
Edicin
Descripcin
Propiedad; indica el tipo de medio (FLV o MP3) que se va a reproducir. El valor predeterminado es FLV. Consulte Trabajo con vdeo en Utilizacin de Flash.
Ejemplo
Vase tambin
Media.setMedia()
934
Componentes Media
Media.pause()
Se aplica a
MediaDisplay, MediaPlayback.
Disponibilidad
Flash Player 7.
Edicin
Valor devuelto
Ninguno.
Descripcin
Media.pause()
935
Media.play()
Se aplica a
MediaDisplay, MediaPlayback.
Disponibilidad
Flash Player 7.
Edicin
Parmetros
Entero no negativo que indica el punto inicial (en segundos) en el que el medio debe empezar a reproducirse.
startingPoint
Valor devuelto
Ninguno.
Descripcin
Mtodo; reproduce el medio asociado con la instancia de componente en el punto inicial especificado. El valor predeterminado es el valor actual de playheadTime.
Ejemplo
En el cdigo siguiente se indica que el componente multimedia debe empezar a reproducirse en el segundo 120:
myMedia.play(120);
Vase tambin
Media.pause()
936
Componentes Media
Media.playheadChange
Se aplica a
MediaController, MediaPlayback.
Disponibilidad
Flash Player 7.
Edicin
Descripcin
Evento; difundido por el componente MediaController o MediaPlayback cuando el usuario mueve el deslizador del reproductor o hace clic en el botn Ir al principio o Ir al final. El objeto del evento Media.playheadChange tiene las siguientes propiedades:
detail type
Ejemplo
En el ejemplo siguiente, se enva el porcentaje reproducido al panel Salida cuando el usuario deja de arrastrar la cabeza lectora:
var controlListen:Object = new Object(); controlListen.playheadChange = function(eventObj:Object) { trace(eventObject.detail); }; myMedia.addEventListener("playheadChange", controlListen);
Media.playheadChange
937
Media.playheadTime
Se aplica a
MediaDisplay, MediaPlayback.
Disponibilidad
Flash Player 7.
Edicin
Descripcin
Propiedad; contiene la posicin actual de la cabeza lectora (en segundos) en la lnea de tiempo del medio que se est reproduciendo. El valor predeterminado es la ubicacin de la cabeza lectora.
Ejemplo
En el ejemplo siguiente, se establece una variable con la ubicacin de la cabeza lectora, expresada en segundos:
var myPlayhead:Number = myMedia.playheadTime;
938
Componentes Media
Media.playing
Se aplica a
Flash Player 7.
Edicin
Descripcin
Propiedad; devuelve un valor booleano que indica si el medio se est reproduciendo (true) o est en pausa (false). Esta propiedad es de slo lectura para los componentes MediaDisplay y MediaPlayback, as como de lectura/escritura para el componente MediaController.
Ejemplo
Vase tambin
Media.change
Media.playing
939
Media.preferredHeight
Se aplica a
MediaDisplay, MediaPlayback.
Disponibilidad
Flash Player 7.
Edicin
Descripcin
Propiedad; se establece en funcin del valor de altura predeterminado de un archivo FLV. Esta propiedad se aplica slo a los medios FLV, dado que la altura de los archivos MP3 es fija. Esta propiedad puede utilizarse para establecer las propiedades de altura y anchura (ms un margen para el propio componente). El valor predeterminado es undefined si no se define un elemento multimedia FLV.
Ejemplo
En el ejemplo siguiente, se establece el tamao de una instancia de MediaPlayback en funcin del medio que se est reproduciendo y cuenta con el margen de pxeles necesario para la instancia de componente:
if (myPlayback.contentPath != undefined) { var mediaHeight:Number = myPlayback.preferredHeight; var mediaWidth:Number = myPlayback.preferredWidth; myPlayback.setSize((mediaWidth + 20), (mediaHeight + 70)); }
940
Componentes Media
Media.preferredWidth
Se aplica a
MediaDisplay, MediaPlayback.
Disponibilidad
Flash Player 7.
Edicin
Descripcin
Propiedad; se establece en funcin del valor de anchura predeterminado de un archivo FLV. El valor predeterminado es undefined.
Ejemplo
Media.progress
Se aplica a
MediaDisplay, MediaPlayback.
Disponibilidad
Flash Player 7.
Edicin
Media.progress
941
Descripcin
Evento; se genera continuamente hasta que el medio se ha descargado completamente. El objeto del evento Media.progress tiene las siguientes propiedades:
target type
Ejemplo
En el siguiente ejemplo, se detecta el progreso y se llama a otra funcin si el evento progress se prolonga durante ms de 3000 milisegundos (3 segundos):
// Duracin de demora antes de llamar a timeOut. var timeOut:Number = 3000; // Si se ha alcanzado timeOut, realizar la siguiente operacin: function callback(arg) { trace(arg); }
// Detectar progreso. var myListener:Object = new Object(); myListener.progress = function(eventObj:Object) { setInterval(callback, timeOut, "Experiencing Network Delay"); }; md.addEventListener("progress", myListener);
942
Componentes Media
Media.scrubbing
Se aplica a
MediaController, MediaPlayback.
Disponibilidad
Flash Player 7.
Edicin
Descripcin
Ejemplo
Media.scrubbing
943
Media.removeAllCuePoints()
Se aplica a
MediaDisplay, MediaPlayback.
Disponibilidad
Flash Player 7.
Edicin
Valor devuelto
Ninguno.
Descripcin
Mtodo; elimina todos los objetos de punto de referencia asociados con una instancia de componente.
Ejemplo
Vase tambin
Media.addCuePoint(), Media.cuePoints, Media.removeCuePoint()
944
Componentes Media
Media.removeCuePoint()
Se aplica a
MediaDisplay, MediaPlayback.
Disponibilidad
Flash Player 7.
Edicin
Parmetros
Valor devuelto
Ninguno.
Descripcin
Vase tambin
Media.addCuePoint(), Media.cuePoints, Media.removeAllCuePoints()
Media.removeCuePoint()
945
Media.setMedia()
Se aplica a
MediaDisplay, MediaPlayback.
Disponibilidad
Flash Player 7.
Edicin
Parmetros
contentPath
Cadena que indica la URL del medio que se va a reproducir. El valor predeterminado es undefined. Cadena utilizada para definir el tipo de elemento multimedia como FLV o MP3. Este parmetro es opcional. El valor predeterminado es FLV.
mediaType
Valor devuelto
Ninguno.
Descripcin
Mtodo; define mediante un parmetro URL el tipo de medio y la ruta del tipo de medio especificado. Este mtodo es el procedimiento recomendado para establecer la ruta del contenido y el tipo de medio para los componentes MediaPlayback y MediaDisplay. La propiedad Media.contentPath tambin se puede utilizar para establecer la ruta del contenido, pero no permite definir el tipo de medio. Si slo trabaja con archivos FLV, no es necesario que especifique un parmetro mediaType. Si trabaja exclusivamente con archivos MP3, debe establecer el parmetro mediaType en MP3 una vez. Si alterna archivos FLV y MP3, debe cambiar el tipo de medio cada vez en la llamada setMedia(). Si intenta reproducir un archivo MP3 sin establecer explcitamente el tipo de medio en MP3, no se reproducir el archivo.
946
Componentes Media
Ejemplo
En el cdigo siguiente se proporciona un medio nuevo para reproducir una instancia de componente:
myMedia.setMedia("http://www.helpexamples.com/flash/video/clouds.flv", "FLV");
Media.stop()
Se aplica a
MediaDisplay, MediaPlayback.
Disponibilidad
Flash Player 7.
Edicin
Valor devuelto
Ninguno.
Descripcin
Mtodo; detiene la cabeza lectora y la desplaza a la posicin 0, que es el principio del medio.
Ejemplo
Media.stop()
947
Media.totalTime
Se aplica a
MediaDisplay, MediaPlayback.
Disponibilidad
Flash Player 7.
Edicin
Descripcin
Propiedad; duracin total del medio, expresada en segundos. Dado que el formato de archivo FLV no proporciona su tiempo de reproduccin a un componente multimedia hasta que se ha cargado completamente, debe introducir manualmente Media.totalTime para que la barra de reproduccin pueda reflejar de forma precisa el tiempo de reproduccin real del medio. El valor predeterminado de los archivos MP3 es el tiempo de reproduccin del medio. En los archivos FLV, el valor predeterminado es undefined. Esta propiedad no puede establecerse para los archivos MP3, ya que la informacin se encuentra en el objeto Sound.
Ejemplo
En el ejemplo siguiente, se establece el tiempo de reproduccin (expresado en segundos) del medio FLV:
myMedia.totalTime = 151;
948
Componentes Media
Media.volume
Se aplica a
MediaDisplay, MediaPlayback.
Disponibilidad
Flash Player 7.
Edicin
Descripcin
Propiedad; almacena un entero que indica la configuracin del volumen, que puede oscilar entre 0 y 100. El valor predeterminado de esta propiedad es 75.
Ejemplo
Vase tambin
Media.volume, Media.pause()
Media.volume
949
Media.volume
Se aplica a
MediaController, MediaPlayback.
Disponibilidad
Flash Player 7.
Edicin
Descripcin
Evento; se difunde cuando el usuario ajusta el valor del volumen. El objeto del evento Media.volume tiene las siguientes propiedades:
detail type
Entero entre 0 y 100 que representa el nivel del volumen. Cadena volume.
Ejemplo
Vase tambin
Media.volume
950
Componentes Media
CAPTULO 30
Componente Menu
El componente Menu permite a los usuarios seleccionar un elemento de un men emergente, como por ejemplo, el men Archivo o Edicin de la mayora de las aplicaciones de software.
N OT A
30
El componente Menu slo es compatible si trabaja con un documento que especifique ActionScript 2.0 en la Configuracin de publicacin.
Normalmente, un componente Menu se abre en una aplicacin cuando el usuario desplaza el puntero sobre un activador de mens con forma de botn o hace clic en ste. Tambin puede configurar en un script que el componente Menu se abra cuando un usuario presione una tecla determinada. Los componentes Menu se crean siempre de forma dinmica en tiempo de ejecucin. Debe arrastrar el componente desde el panel Componentes a la biblioteca; a continuacin, utilice el siguiente cdigo para crear un men con ActionScript:
var myMenu = mx.controls.Menu.createMenu(parent, menuDataProvider);
Un evento menuShow se difunde a todos los detectores de la instancia de Menu inmediatamente antes de que se muestre el men, para poder actualizar el estado de los elementos de men. Del mismo modo, inmediatamente despus de ocultarse una instancia de Menu, se difunde un evento menuHide. Los elementos de un men se describen mediante XML. Para ms informacin, consulte Aspectos bsicos del componente Menu: vista y datos en la pgina 954. Los lectores de pantalla no pueden acceder al componente Menu. Los mens a menudo se anidan en barras de men. Para ms informacin sobre barras de mens, consulte Componente MenuBar en la pgina 1017.
951
Desplazar el puntero del ratn sobre ellos o hacer clic no tiene ningn efecto (el men permanece visible).
Anclajes de submen Al desplazar el puntero del ratn sobre ellos se activa el submen; los clics no tienen ningn efecto. Al desplazar el puntero sobre cualquier elemento que no sea del submen, ste se cierra.
Al seleccionar un elemento, se enva un evento Menu.change a todos los detectores del men, el men se oculta y tienen lugar las siguientes acciones en funcin del tipo de elemento:
check radio
Se activa o desactiva el atributo selected del elemento. El elemento pasa a ser la seleccin actual del grupo de opciones correspondiente.
Al mover el ratn, se activan los eventos Menu.rollOut y Menu.rollOver. Al presionar el ratn fuera del men, se cierra el men y se activa un evento Menu.menuHide. Al liberar el ratn en un elemento activado, los tipos de elemento se ven afectados como se indica a continuacin:
check
radio El atributo selected del elemento se establece en true, y el atributo selected del elemento previamente seleccionado en el grupo de opciones se establece en false. La propiedad selection del objeto de grupo de opciones correspondiente se establece con un valor que hace referencia al elemento de men seleccionado. Elemento no definido y nivel superior de un men jerrquico
Se activa o desactiva la
952
Componente Menu
Cuando se selecciona una instancia de Menu al hacer clic en ella o mediante la tabulacin, puede utilizar las teclas siguientes para controlarla:
Tecla
Flecha abajo Flecha arriba Flecha derecha Flecha izquierda Intro
Descripcin
Desplaza la seleccin hacia abajo y hacia arriba por las filas del men. La seleccin pasa de la ltima fila a la primera y viceversa. Abre un submen o desplaza la seleccin al men siguiente de una barra de mens (si existe). Cierra un submen y vuelve a seleccionar el men principal (si existe), o desplaza la seleccin al men anterior de una barra de mens (si existe). Abre un submen. Si no existe, esta clave tiene el mismo efecto que hacer clic en una fila y soltar el botn del ratn.
cdigo.
Anclajes de submens Botones de opcin
en uno.
Elementos de casilla de verificacin
o false).
Separadores Estos elementos proporcionan una lnea horizontal sencilla que divide los elementos de un men en distintos grupos visuales.
NO T A
Si hay un men abierto, puede presionar el tabulador para salir de l. Debe realizar una seleccin o cerrar el men presionando la tecla Esc.
Estos elementos funcionan en grupos; slo pueden seleccionarse de uno Estos elementos representan un valor booleano (true
953
Los nombres de etiqueta de los nodos XML (menu y menuitem) no son importantes; en el men se utilizan los atributos y sus relaciones de anidacin.
Mens jerrquicos
Para crear mens jerrquicos, incorpore elementos XML en un elemento XML principal, de la siguiente manera:
<menu> <menuitem label="MenuItem A" > <menuitem label="SubMenuItem <menuitem label="SubMenuItem </menuitem> <menuitem label="MenuItem B" > <menuitem label="SubMenuItem <menuitem label="SubMenuItem </menuitem> </menu>
Esto convierte al elemento de men principal en un anclaje del men emergente, que no genera eventos cuando se selecciona.
Componente Menu
Valor predeterminado
undefined
Descripcin
Texto que se visualiza para representar un elemento de men. Este atributo es necesario para todos los tipos de elementos, excepto separator. Tipo de elemento de men: separator, check box, radio button o normal (un activador de comandos o submens). Si este atributo no existe, el valor predeterminado es normal. Identificador de vinculacin de un activo de imagen. Este atributo no es necesario ni est disponible para los tipos check, radio o separator. Identificador que puede utilizarse para hacer referencia a la instancia del elemento de men desde la instancia del men raz. Por ejemplo, puede hacerse referencia a un elemento de men llamado yellow como myMenu.yellow. Este atributo no es necesario. Identificador que puede utilizarse para asociar varios elementos de botn de opcin en un grupo de opciones y para exponer el estado de un grupo de opciones desde la instancia del men raz. Por ejemplo, puede hacerse referencia a un grupo de opciones llamado colors como myMenu.colors. Este atributo slo es necesario para el tipo radio.
String
type
undefined
icon
String
undefined
instanceName
String
undefined
groupName
String
undefined
955
Valor predeterminado
Descripcin
Valor booleano o cadena que indica si un elemento check o radio est activado (true) o desactivado (false). Este atributo no es necesario. Valor booleano o cadena que indica si este elemento de men puede seleccionarse (true) o no (false). Este atributo no es necesario.
Valor booleano false (false o true) o cadena (false o true) Valor booleano true (false o true) o cadena (false o true)
enabled
Todos los elementos separadores estn desactivados. Hacer clic en un separador o desplazar el puntero sobre ste no tiene efecto alguno.
956 Componente Menu
Se pueden utilizar los nombres de instancia de ActionScript para tener acceso a los elementos de men directamente desde el propio men, como se indica en el ejemplo siguiente:
myMenu.setMenuItemSelected(myMenu.buyapples, true); myMenu.setMenuItemSelected(myMenu.buyoranges, false);
N OT A
El atributo selected slo debe modificarse con el mtodo setMenuItemSelected(). Se puede examinar directamente el atributo selected, pero devuelve el valor de cadena true o false.
957
Cuando el usuario selecciona uno de los elementos, la seleccin actual cambia automticamente y se difunde un evento change a todos los detectores del men raz. El elemento seleccionado actualmente de un grupo de opciones est disponible en ActionScript con la propiedad selection, como se indica a continuacin:
var selectedMenuItem = myMenu.alignment_group.selection; myMenu.alignment_group = myMenu.center_item;
Cada uno de los valores groupName debe ser exclusivo en el mbito de la instancia del men raz.
N OT A 958
El atributo selected slo debe modificarse con el mtodo setMenuItemSelected(). Se puede examinar directamente el atributo selected, pero devuelve el valor de cadena true o false.
Componente Menu
Puede utilizar ActionScript para acceder directamente a las instancias correspondientes y a sus atributos desde el componente Menu, como se indica a continuacin:
var aMenuItem = myMenu.item_1; myMenu.setMenuItemEnabled(item_2, true); var aLabel = myMenu.sub_item_A.attributes.label;
N OT A
Cada atributo instanceName debe ser exclusivo en el mbito de la instancia del componente del men raz (incluidos todos los submens del men raz).
959
En el ejemplo siguiente, se crea un parmetro initObject con dos propiedades, label e instanceName:
var i = myMenu.addMenuItem({label:"myMenuItem", instanceName:"myFirstItem"});
Varias propiedades se combinan para crear un tipo concreto de elemento de men. Para crear determinados tipos de elementos de mens (normal, separador, casilla de verificacin o botn de opcin) es necesario asignar propiedades especficas. Por ejemplo, puede inicializar un elemento de men normal con el parmetro initObject siguiente:
myMenu.addMenuItem({label:"myMenuItem", enabled:true, icon:"myIcon", instanceName:"myFirstItem"});
Debe tratar los atributos instanceName, groupName y type de un elemento de men como de slo lectura. Slo debe definirlos al crear un elemento (por ejemplo, en una llamada a addMenuItem()). Si modifica estos atributos despus de crearlos, los resultados pueden ser imprevisibles.
Parmetros de Menu
Tambin puede establecer el siguiente parmetro de edicin para cada instancia del componente Menu en el inspector de propiedades:
rowHeight
indica la altura de cada una de las filas, en pxeles. Al modificar el tamao de fuente no se altera la altura de la fila. El valor predeterminado es 20. Utilice ActionScript para controlar el componente Menu con sus propiedades, mtodos y eventos. Para ms informacin, consulte Clase Menu en la pgina 970.
960
Componente Menu
Seleccione Archivo > Nuevo y, a continuacin, Archivo Flash (ActionScript 2.0). Arrastre un componente Menu desde el panel Componentes a la biblioteca. Los mens se crean de forma dinmica con ActionScript. Arrastre un componente Button desde el panel Componentes a la biblioteca. El botn se utilizar para activar el men. En el panel Acciones, en el primer fotograma, introduzca el cdigo siguiente para aadir un detector de eventos que detecte los eventos click en el botn. El cdigo tambin detecta un evento change en el men y muestra el nombre del elemento de men seleccionado en el panel Salida:
/** Se requiere: - Componente Menu en la biblioteca - Componente Button en la biblioteca */ import mx.controls.Button; import mx.controls.Menu; this.createClassObject(Button, "menu_button", 10, {label:"Launch Menu"}); // Crear un men. var my_menu:Menu = Menu.createMenu(); // Aadir algunos elementos de men. my_menu.addMenuItem("Open"); my_menu.addMenuItem("Close"); my_menu.addMenuItem("Save"); my_menu.addMenuItem("Revert"); // Aadir un detector de cambios al componente Menu para detectar el // elemento de men que se selecciona. var menuListener:Object = new Object(); menuListener.change = function(evt_obj:Object) { var item_obj:Object = evt_obj.menuItem; trace("Item selected: "+item_obj.attributes.label); };
3.
4.
961
my_menu.addEventListener("change", menuListener); // Aadir un detector de botn que muestre el men cuando se haga clic en // el botn. var buttonListener:Object = new Object(); buttonListener.click = function(evt_obj:Object) { var my_button:Button = evt_obj.target; // Mostrar el men en la parte inferior del botn. my_menu.show(my_button.x, my_button.y + my_button.height); }; menu_button.addEventListener("click", buttonListener); 5.
Seleccione Control > Probar pelcula. Haga clic en el botn Launch Menu para que aparezca el men. Si selecciona un elemento de men, una sentencia trace() indica la seleccin en el panel Salida.
Para utilizar datos XML desde un servidor a fin de crear y rellenar un men:
1. 2.
Seleccione Archivo > Nuevo y, a continuacin, Archivo Flash (ActionScript 2.0). Arrastre un componente Menu desde el panel Componentes a la biblioteca. Los mens se crean de forma dinmica con ActionScript. En el panel Acciones, aada el siguiente cdigo al primer fotograma para crear un men y utilice la propiedad dataProvider para cargar elementos de men desde una pgina Web:
/** Se requiere: - Componente Menu en la biblioteca */ import mx.controls.Menu; var my_menu:Menu = Menu.createMenu(); // Importar un archivo XML. var myDP_xml:XML = new XML(); myDP_xml.ignoreWhite = true; myDP_xml.onLoad = function(success:Boolean) { // Cuando llegan los datos, se pasan al men. if (success) { my_menu.dataProvider = myDP_xml.firstChild; } }; myDP_xml.load("http://www.flash-mx.com/mm/xml/menu.xml"); // Mostrar y colocar mens. my_menu.show(100, 20);
N O TA
3.
Los elementos de men se describen mediante los elementos secundarios del primer elemento secundario del documento XML.
962
Componente Menu
4.
Seleccione Control > Probar pelcula. A continuacin se proporciona la definicin de men xml de la pgina Web como referencia:
<?xml version="1.0" ?> <menu> <menuitem label="Undo" /> <menuitem type="separator" /> <menuitem label="Cut" /> <menuitem label="Copy" /> <menuitem label="Paste" /> <menuitem label="Clear" /> <menuitem type="separator" /> <menuitem label="Select All" /> </menu>
Para crear una cadena XML correcta para crear y rellenar un men:
1. 2.
Seleccione Archivo > Nuevo y, a continuacin, Archivo Flash (ActionScript 2.0). Arrastre un componente Menu desde el panel Componentes a la biblioteca. Los mens se crean de forma dinmica con ActionScript. En el panel Acciones, aada el cdigo siguiente al primer fotograma para crear un men y aada algunos elementos:
/** Se requiere: - Componente Menu en la biblioteca */ import mx.controls.Menu; // Crear un objeto XML para que acte como un almacn. var my_xml:XML = new XML(); // El elemento que se cree a continuacin no aparecer en el men. // La llamada al mtodo createMenu(), que figura a continuacin, espera // recibir un elemento raz cuyos secundarios se convertirn // en los elementos. sta es una manera sencilla de crear // este elemento raz y asignarle un nombre. var theMenuElement_obj:Object = my_xml.addMenuItem("XXXXX"); // Aadir elementos de men. theMenuElement_obj.addMenuItem({label:"Undo"}); theMenuElement_obj.addMenuItem({type:"separator"}); theMenuElement_obj.addMenuItem({label:"Cut"}); theMenuElement_obj.addMenuItem({label:"Copy"}); theMenuElement_obj.addMenuItem({label:"Paste"}); theMenuElement_obj.addMenuItem({label:"Clear", enabled:"false"}); theMenuElement_obj.addMenuItem({type:"separator"});
3.
963
theMenuElement_obj.addMenuItem({label:"Select All"}); // Crear el objeto Menu. var my_menu:Menu = Menu.createMenu(this, theMenuElement_obj); // Mostrar y colocar mens. my_menu.show(100, 20); 4.
Seleccione Archivo > Nuevo y, a continuacin, Archivo Flash (ActionScript 2.0). Arrastre un componente Menu desde el panel Componentes a la biblioteca. Los mens se crean de forma dinmica con ActionScript. En el panel Acciones, aada el cdigo siguiente al primer fotograma para crear un men y aada algunos elementos:
/** Se requiere: - Componente Menu en la biblioteca */ import mx.controls.Menu; // Crear un objeto XML para que acte como un almacn. var xml = new XML(); // El elemento que se cree a continuacin no aparecer en el men. // La llamada al mtodo createMenu(), que figura a continuacin, espera // recibir un elemento raz cuyos secundarios se convertirn // en los elementos. sta es una manera sencilla de crear // este elemento raz y asignarle un nombre. var theMenuElement = xml.addMenuItem("XXXXX"); // Aadir elementos de men. theMenuElement.addMenuItem({label:"Undo"}); theMenuElement.addMenuItem({type:"separator"}); theMenuElement.addMenuItem({label:"Cut"}); theMenuElement.addMenuItem({label:"Copy"}); theMenuElement.addMenuItem({label:"Paste"}); theMenuElement.addMenuItem({label:"Clear", enabled:"false"}); theMenuElement.addMenuItem({type:"separator"}); theMenuElement.addMenuItem({label:"Select All"}); // Crear el objeto Menu. var my_menu = mx.controls.Menu.createMenu(_root, theMenuElement); my_menu.show(100, 20);
3.
4.
964
Componente Menu
n
Halo
Descripcin
Esquema de colores base de un componente. Los valores posibles son haloGreen, haloBlue y haloOrange. El valor predeterminado es haloGreen. Especifica los colores de las filas en un patrn alterno. El valor puede ser una matriz de ms de dos colores, por ejemplo, 0xFF00FF, 0xCC6699 y 0x996699. A diferencia de los estilos de color de un solo valor, alternatingRowColors no acepta nombres de color; los valores deben ser cdigos de color numricos. De forma predeterminada, el estilo no est definido y backgroundColor se usa en su lugar para todas las filas. Color de fondo del men. El color predeterminado es blanco y se define en la declaracin de estilo de clase. Este estilo se omite si se especifica alternatingRowColors. Color de fondo cuando la propiedad del componente enabled est establecida en false. El valor predeterminado es 0xDDDDDD (gris medio). El componente Menu utiliza una instancia de RectBorder como borde y responde a los estilos definidos en dicha clase. Consulte Clase RectBorder en la pgina 1145. El estilo de borde predeterminado es menuBorder.
alternatingRowColors
Ambos
backgroundColor
Ambos
backgroundDisabledColor
Ambos
borderStyle
Ambos
color disabledColor
Ambos Ambos
Color del texto. Color del texto cuando el componente est desactivado. El color predeterminado es 0x848384 (gris oscuro).
965
Estilo
embedFonts
n
Ambos
Descripcin
Valor booleano que indica si la fuente especificada en fontFamily es una fuente incorporada. Este estilo debe definirse como true si fontFamily hace referencia a una fuente incorporada. De lo contrario, no se utiliza la fuente incorporada. Si el estilo se define como true y fontFamily no hace referencia a una fuente incorporada, no se muestra ningn texto. El valor predeterminado es false. Nombre de la fuente del texto. El valor predeterminado es _sans. Tamao de la fuente en puntos. El valor predeterminado es 10. Estilo de la fuente: puede ser normal o italic. El valor predeterminado es normal. Grosor de la fuente: puede ser none o bold. El valor predeterminado es none. Todos los componentes pueden aceptar adems el valor normal en lugar de none durante una llamada a setStyle(), pero las llamadas posteriores a getStyle() devolvern none. Alineacin del texto: puede ser left, right o center. El valor predeterminado es left. Decoracin del texto: puede ser none o underline. El valor predeterminado es none. Nmero que indica la sangra del texto. El valor predeterminado es 0. Nombre del icono predeterminado que se mostrar en cada fila. El valor predeterminado es undefined, el cual indica que no se muestra ningn icono. No se necesita la propiedad del icono, no funciona para los elementos check, radio o separator, y utiliza el identificador de vinculacin de un activo de imagen como parmetro de valor. Todos los elementos de men muestran el mismo icono. Duracin de la transicin durante la apertura de un men. El valor se especifica en milisegundos; 0 indica que no hay transicin. El valor predeterminado es 150.
fontFamily
fontSize
fontStyle
fontWeight
textAlign
textDecoration
textIndent
defaultIcon
popupDuration
Ambos
966
Componente Menu
Estilo
rollOverColor
n
Ambos
Descripcin
Color de fondo de una fila por la que se desplaza el puntero. El valor predeterminado es 0xE3FFD6 (verde brillante) con el tema Halo y 0xAAAAAA (gris claro) con el tema Sample. Cuando se cambia themeColor en una llamada a setStyle(), el marco establece rollOverColor en un valor relacionado con el valor de themeColor elegido.
selectionColor
Ambos
Color de fondo de una fila seleccionada. El valor predeterminado es 0xCDFFC1 (verde claro) con el tema Halo y 0xEEEEEE (gris muy claro) con el tema Sample. Cuando se cambia themeColor en una llamada a setStyle(), el marco establece selectionColor en un valor relacionado con el valor de themeColor elegido.
selectionDuration
Ambos
Duracin de la transicin del estado normal al estado seleccionado, expresado en milisegundos. El valor predeterminado es 200. Referencia a la ecuacin de suavizado que se utiliza para controlar la transicin entre los estados de seleccin. La ecuacin predeterminada usa una funcin sinusoidal entrante/saliente. Para ms informacin, consulte Personalizacin de animaciones de componentes en Utilizacin de componentes ActionScript 2.0. Color del texto cuando el puntero se desplaza sobre l. El valor predeterminado es 0x2B333C (gris oscuro). Este estilo es importante cuando se establece rollOverColor porque ambos colores deben complementarse para que el texto pueda verse con claridad al desplazar el puntero sobre l. Color del texto de la fila seleccionada. El valor predeterminado es 0x005F33 (gris oscuro). Este estilo es importante cuando se establece selectionColor porque ambos colores deben complementarse para que el texto pueda verse con claridad cuando se selecciona. Determina si el resaltado se activa cuando el puntero se desplaza sobre una fila. El valor predeterminado es true.
selectionEasing
Ambos
textRollOverColor
Ambos
textSelectedColor
Ambos
useRollOver
Ambos
967
Para definir una propiedad de estilo slo en el componente Menu, puede crear una nueva instancia CSSStyleDeclaration y almacenarla en _global.styles.Menu.
import mx.styles.CSSStyleDeclaration; if (_global.styles.Menu == undefined) { _global.styles.Menu = new CSSStyleDeclaration(); } _global.styles.Menu.setStyle("backgroundColor", 0xFF00AA);
Cuando se crea una nueva declaracin de estilo de clase, se pierden todos los valores predeterminados proporcionados por la declaracin ScrollSelectList. Entre ellos, el valor de backgroundColor, necesario para la compatibilidad con eventos de ratn. Para crear una declaracin de estilo de clase y conservar los valores predeterminados, utilice un bucle for..in para copiar los valores anteriores a la nueva declaracin.
var source = _global.styles.ScrollSelectList; var target = _global.styles.Menu; for (var style in source) { target.setStyle(style, source.getStyle(style)); }
Para ms informacin sobre los estilos de clase, consulte Definicin de los estilos de una clase de componente en Utilizacin de componentes ActionScript 2.0.
968
Componente Menu
Seleccione Archivo > Nuevo y, a continuacin, Archivo Flash (ActionScript 2.0). Seleccione Archivo > Importar > Abrir biblioteca externa y seleccione el archivo HaloTheme.fla.
Este archivo se encuentra en la carpeta de configuracin a nivel de la aplicacin. Para saber cul es la ubicacin exacta en el sistema operativo, consulte Temas en Utilizacin de componentes. 3. En el panel Biblioteca del tema, expanda la carpeta Flash UI Components 2/Themes/ MMDefault y arrastre la carpeta Menu Assets a la biblioteca del documento.
4. 5.
Expanda la carpeta Menu Assets/States en la biblioteca del documento. Abra los smbolos que desea personalizar.
Por ejemplo, abra el smbolo MenuCheckEnabled. 6. Personalice el smbolo como desee. Por ejemplo, cambie la imagen de la marca de verificacin por una X. 7. Repita los pasos 6 y 7 en todos los smbolos que desee personalizar.
8. 9.
Haga clic en el botn Atrs para volver a la lnea de tiempo principal. Arrastre un componente Menu desde el panel Componentes a la biblioteca del documento actual. De este modo, el componente se aade a la biblioteca y est disponible en tiempo de ejecucin.
10. Aada cdigo ActionScript a la lnea de tiempo principal para crear una instancia de Menu
en tiempo de ejecucin:
var myMenu = mx.controls.Menu.createMenu(); myMenu.addMenuItem({label: "One", type: "check", selected: true}); myMenu.addMenuItem({label: "Two", type: "check"}); myMenu.addMenuItem({label: "Three", type: "check"}); myMenu.show(0, 0); 11.
969
Clase Menu
MovieClip > Clase UIObject > Clase UIComponent > View > ScrollView > ScrollSelectList > Menu
Herencia Nombre de clase de ActionScript
mx.controls.Menu
Los mtodos y las propiedades de la clase Menu permiten crear y editar mens en tiempo de ejecucin. Si una propiedad de la clase Menu se define con ActionScript, se sustituye el parmetro del mismo nombre definido en el inspector de propiedades o en el inspector de componentes. Cada clase de componente tiene una propiedad version que es una propiedad de clase. Las propiedades de clase slo estn disponibles en la propia clase. La propiedad version devuelve una cadena que indica la versin del componente. Para acceder a esta propiedad, utilice el cdigo siguiente:
trace(mx.controls.Menu.version);
NO TA 970
Descripcin
Aade un elemento al men. Aade un elemento al men en una ubicacin determinada. Crea una instancia de la clase Menu. Se trata de un mtodo esttico. Obtiene una referencia a un elemento de men en una ubicacin determinada. Cierra un men. Devuelve el ndice de un elemento de men determinado. Elimina todos los elementos de un men. Elimina el elemento de men especificado. Elimina un elemento de un men en una ubicacin determinada.
Menu.getMenuItemAt()
Componente Menu
Mtodo
Menu.setMenuItemEnabled()
Descripcin
Indica si un elemento de men est activado (true) o desactivado (false). Indica si un elemento de men est seleccionado (true) o no (false). Abre un men en una ubicacin especificada o en una ubicacin anterior.
Menu.setMenuItemSelected()
Menu.show()
Crea un subobjeto en un objeto. Elimina una instancia de componente. Llama a una funcin cuando se han establecido parmetros en el inspector de propiedades y el inspector de componentes. Obtiene la propiedad de estilo de la declaracin de estilo o del objeto. Marca el objeto de forma que se pueda volver a dibujar en el siguiente intervalo de fotogramas. Mueve el objeto a la posicin indicada. Fuerza la validacin del objeto, de forma que se pueda dibujar sobre el fotograma actual. Cambia el tamao del objeto al indicado. Define un aspecto en el objeto. Define la propiedad de estilo en la declaracin de estilo o en el objeto.
UIObject.getStyle()
UIObject.invalidate()
UIObject.move() UIObject.redraw()
Clase Menu
971
Descripcin
Devuelve una referencia al objeto seleccionado. Define la seleccin en la instancia de componente.
Descripcin
Origen de datos de un men.
Descripcin
Posicin del borde inferior del objeto con respecto al borde inferior de su elemento principal correspondiente. Slo lectura. Altura del objeto, expresada en pxeles. Slo lectura. Borde izquierdo del objeto, expresado en pxeles. Slo lectura. Posicin del borde derecho del objeto con respecto al borde derecho de su elemento principal correspondiente. Slo lectura. Nmero que indica el factor de escala en la direccin x del objeto con respecto a su elemento principal correspondiente. Nmero que indica el factor de escala en la direccin y del objeto con respecto a su elemento principal correspondiente. Posicin del borde superior del objeto con respecto a su elemento principal correspondiente. Slo lectura.
UIObject.height UIObject.left
UIObject.right
UIObject.scaleX
UIObject.scaleY
UIObject.top
972
Componente Menu
Propiedad
UIObject.visible
Descripcin
Valor booleano que indica si el objeto es visible (true) o no (false). Anchura del objeto, expresada en pxeles. Slo lectura. Borde izquierdo del objeto, expresado en pxeles. Slo lectura. Borde superior del objeto, expresado en pxeles. Slo lectura.
UIObject.width UIObject.x
UIObject.y
Descripcin
Indica si el componente puede recibir selecciones y entradas. Nmero que indica el orden de tabulacin para un componente de un documento.
Descripcin
Se difunde cuando un usuario provoca un cambio en un men. Se difunde cuando un men se cierra. Se difunde cuando un men se abre. Se difunde cuando el puntero deja de estar sobre un elemento. Se difunde cuando el puntero se desplaza sobre un elemento.
Menu.rollOver
Clase Menu
973
Descripcin
Se difunde cuando un objeto est a punto de dibujar sus grficos. Se difunde cuando el estado de un objeto pasa de ser visible a invisible. Se difunde cuando se crean subobjetos. Se difunde cuando se mueve el objeto. Se difunde cuando cambia el tamao de un objeto. Se difunde cuando el estado de un objeto pasa de ser invisible a visible. Se difunde durante la descarga de los subobjetos.
UIObject.hide
UIObject.unload
Descripcin
Se difunde cuando se selecciona un objeto. Se difunde cuando un objeto deja de seleccionarse. Se difunde cuando se presiona una tecla. Se difunde cuando se suelta una tecla.
974
Componente Menu
Menu.addMenuItem()
Disponibilidad
Sintaxis 1:
menuInstance.addMenuItem(initObject)
Sintaxis 2:
menuInstance.addMenuItem(childMenuItem)
Parmetros
initObject Objeto que contiene propiedades que inicializan los atributos de un elemento de men. Consulte Atributos XML de elementos de men en la pgina 955. childMenuItem
Valor devuelto
Mtodo; la sintaxis 1 aade un elemento de men al final del men. El elemento de men se crea a partir de los valores proporcionados en el parmetro initObject. La sintaxis 2 aade al final del men un elemento que es un nodo XML creado previamente (con la forma de objeto XML). Si se aade un nodo que ya exista, ste se elimina de su ubicacin anterior.
Menu.addMenuItem()
975
Ejemplo
En el siguiente ejemplo, se crean dos mens, inicialmente se aade un elemento de men a cada uno. A continuacin, se aaden dos elementos de men ms al primer men, llamando a addMenuItem() para aadir el primer elemento de men mediante la especificacin de sus atributos. Despus, se aade el segundo elemento de men con el nodo de elemento de men creado previamente del segundo men. Primero debe arrastrar un componente Menu a la biblioteca y, despus, aadir el siguiente cdigo al fotograma 1:
/** Se requiere: - Componente Menu en la biblioteca */ import mx.controls.Menu; // Crear los objetos Menu. var first_menu:Menu = Menu.createMenu(); first_menu.addMenuItem({label:"1st Item"}); var second_menu:Menu = Menu.createMenu(); second_menu.addMenuItem({label:"1st Item 2nd Menu"}); // Mtodo de sintaxis 1 first_menu.addMenuItem({label:"Radio Item", instanceName:"radioItem1", type:"radio", selected:false, enabled:true, groupName:"myRadioGroup"}); // Mtodo de sintaxis 2 first_menu.addMenuItem(second_menu.getMenuItemAt(0)); // Mostrar men. first_menu.show();
976
Componente Menu
Menu.addMenuItemAt()
Disponibilidad
Sintaxis 1:
menuInstance.addMenuItemAt(index, initObject)
Sintaxis 2:
menuInstance.addMenuItemAt(index, childMenuItem)
Parmetros
Entero que indica la posicin de ndice (entre los nodos secundarios) en el que se aade el elemento.
index initObject Objeto que contiene propiedades que inicializan los atributos de un elemento de men. Consulte Atributos XML de elementos de men en la pgina 955. childMenuItem
Valor devuelto
Mtodo; la sintaxis 1 aade un elemento (nodo secundario) en una ubicacin determinada de un men. El elemento de men se crea a partir de los valores proporcionados en el parmetro initObject. La sintaxis 2 aade en una ubicacin determinada del men un elemento que es un nodo XML creado previamente (con la forma de objeto XML). Si se aade un nodo que ya exista, ste se elimina de su ubicacin anterior.
Menu.addMenuItemAt()
977
Ejemplo
En el siguiente ejemplo, se crean dos mens, inicialmente se aade un elemento de men a cada uno. A continuacin, se aaden dos elementos de men ms al primer men, llamando a addMenuItemAt() para aadir un elemento de men en la segunda posicin mediante la especificacin de sus atributos. Despus, se aade un elemento de men en la tercera posicin con el nodo de elemento de men creado previamente del segundo men. Primero debe arrastrar un componente Menu a la biblioteca y, despus, aadir el siguiente cdigo al fotograma 1:
/** Se requiere: - Componente Menu en la biblioteca */ import mx.controls.Menu; // Crear los objetos Menu. var first_menu:Menu = Menu.createMenu(); first_menu.addMenuItem({label:"1st Item"}); var second_menu:Menu = Menu.createMenu(); second_menu.addMenuItem({label:"1st Item 2nd Menu"}); // Mtodo de sintaxis 1 first_menu.addMenuItemAt(1, {label:"Radio Item", instanceName:"radioItem1", type:"radio", selected:false, enabled:true, groupName:"myRadioGroup"}); // Mtodo de sintaxis 2 first_menu.addMenuItemAt(2, second_menu.getMenuItemAt(0)); // Mostrar men. first_menu.show();
978
Componente Menu
Menu.change
Disponibilidad
Sintaxis 1:
var listenerObject:Object = new Object(); listenerObject.change = function(eventObject:Object) { // Introducir aqu el cdigo propio. }; menuInstance.addEventListener("change", listenerObject);
Sintaxis 2:
on (change) { // Introducir aqu el cdigo propio. }
Descripcin
Evento; se difunde a todos los detectores registrados cada vez que el usuario provoca un cambio en el men. Los componentes utilizan un modelo de evento distribuidor/detector. Cuando el componente Menu difunde un evento change, ste se controla mediante una funcin (tambin denominada controlador), asociada con el objeto detector (listenerObject) que crea el usuario. Llame al mtodo addEventListener() y pase el nombre del controlador como parmetro. Cuando se activa el evento, ste pasa automticamente un objeto de evento (eventObject) al controlador. Cada objeto de evento tiene propiedades que contienen informacin sobre el evento. Estas propiedades sirven para escribir el cdigo que controla el evento. El objeto del evento Menu.change tiene adems las propiedades adicionales siguientes:
Referencia a la instancia de MenuBar que es el elemento principal del men de destino. Si ste no pertenece a una instancia de MenuBar, este valor es undefined.
menuBar menu
Referencia a la instancia de Menu donde est ubicado el elemento de destino. Nodo XML, que es el elemento de men seleccionado.
menuItem groupName
Cadena que indica el nombre del grupo de botones de opcin al que pertenece el elemento. Si el elemento no pertenece a un grupo de botones de opcin, este valor es undefined.
Menu.change
979
En el siguiente ejemplo, se crea un men, my_menu, y se define un detector de eventos para l, menulistener, que detecta un evento change. Cuando un usuario crea un evento change al hacer clic en un elemento de men, el ejemplo muestra su atributo de etiqueta en el panel Salida. Primero debe arrastrar un componente Menu a la biblioteca y, despus, aadir el siguiente cdigo al fotograma 1:
/** Se requiere: - Componente Menu en la biblioteca */ import mx.controls.Menu; // Crear un objeto XML para que acte como un almacn. var my_xml:XML = new XML(); // El elemento que se cree a continuacin no aparecer en el men. // La llamada al mtodo createMenu(), que figura a continuacin, espera // recibir un elemento raz cuyos secundarios se convertirn // en los elementos. sta es una manera sencilla de crear // este elemento raz y asignarle un nombre. var menuDP_obj:Object = my_xml.addMenuItem("Edit"); // Aadir elementos de men. menuDP_obj.addMenuItem({label:"1st Item"}); menuDP_obj.addMenuItem({label:"2nd Item"}); // Crear el objeto Menu. var my_menu:Menu = Menu.createMenu(this, menuDP_obj); my_menu.show(); var menuListener:Object = new Object(); menuListener.change = function(evt_obj:Object) { trace("Menu item chosen: " + evt_obj.menuItem.attributes.label); }; my_menu.addEventListener("change", menuListener);
980
Componente Menu
Menu.createMenu()
Disponibilidad
Parmetros
parent
Instancia de MovieClip. El clip de pelcula es el componente principal que contiene la nueva instancia de Menu. Este parmetro es opcional.
mdp Instancia de MenuDataProvider que describe esta instancia de Menu. Este parmetro es opcional.
Valor devuelto
Mtodo (esttico); crea una instancia de Menu y, opcionalmente, la asocia con el elemento principal especificado, con el MenuDataProvider especificado como origen de datos para los elementos de men. Si el parmetro parent se omite o su valor es null, el men se asocia con la lnea de tiempo _root. Si el parmetro mdp se omite o su valor es null, el men no tiene elementos. Debe efectuar una llamada a los mtodos addMenu() o setDataProvider() para rellenar el men.
Menu.createMenu()
981
Ejemplo
En el siguiente ejemplo, se crea un men con un submen para el elemento de men New. Para crear el men, se crea un objeto XML, my_xml, y se le aaden elementos de men mediante llamadas a addMenuItem(). Despus, se crea el men con una llamada a createMenu(), pasando el objeto XML como proveedor de datos. Primero debe arrastrar un componente Menu a la biblioteca y, despus, aadir el siguiente cdigo al fotograma 1:
/** Se requiere: - Componente Menu en la biblioteca */ import mx.controls.Menu; var my_xml:XML = new XML(); var newItem_obj:Object = my_xml.addMenuItem({label:"New"}); // Crear otros elementos de submen para el men principal. my_xml.addMenuItem({label:"Open", instanceName:"miOpen"}); my_xml.addMenuItem({label:"Save", instanceName:"miSave"}); my_xml.addMenuItem({type:"separator"}); my_xml.addMenuItem({label:"Quit", instanceName:"miQuit"}); // Crear elementos de submen para el submen "New". newItem_obj.addMenuItem({label:"File..."}); newItem_obj.addMenuItem({label:"Project..."}); newItem_obj.addMenuItem({label:"Resource..."}); // Crear un men. var my_menu:Menu = Menu.createMenu(myParent_mc, my_xml); my_menu.show(100, 20);
Menu.dataProvider
Disponibilidad
982
Componente Menu
Descripcin
es un objeto de nodo XML. Si se define esta propiedad, se sustituye el origen de datos existente del componente Menu. El valor predeterminado es undefined.
NO TA
Todas las instancias de XML o de XMLNode reciben automticamente los mtodos y las propiedades de la clase MenuDataProvider cuando se utilizan con el componente Menu.
Ejemplo
En el siguiente ejemplo, se crea un men (my_menu), se cargan elementos de men de una pgina Web en un objeto XML y, a continuacin, se llena el men con elementos de men mediante la asignacin de nodos secundarios del objeto XML a la propiedad dataProvider del men (my_menu.dataProvider). Primero debe arrastrar un componente Menu a la biblioteca y, despus, aadir el siguiente cdigo al fotograma 1:
/** Se requiere: - Componente Menu en la biblioteca */ import mx.controls.Menu; // Crear el objeto Menu. var my_menu:Menu = Menu.createMenu(); var my_xml:XML = new XML(); my_xml.ignoreWhite = true; my_xml.onLoad = function(success:Boolean){ if (success) { my_menu.dataProvider = my_xml.firstChild; } } my_xml.load("http://www.flash-mx.com/mm/xml/menu.xml"); // Mostrar y colocar mens. my_menu.show(100, 20);
Menu.dataProvider
983
Menu.getMenuItemAt()
Disponibilidad
Parmetros
index
Valor devuelto
En el siguiente ejemplo, se crean primero dos mens con un solo elemento para cada uno. A continuacin, se aade un segundo elemento de men al primer men llamando al mtodo getmenuItemAt() para obtener el elemento del segundo men y aadirlo al primero. Primero debe arrastrar un componente Menu a la biblioteca y, despus, aadir el siguiente cdigo al fotograma 1:
/** Se requiere: - Componente Menu en la biblioteca */ import mx.controls.Menu; // Crear los objetos Menu. var first_menu:Menu = Menu.createMenu(); first_menu.addMenuItem({label:"1st Item"}); var second_menu:Menu = Menu.createMenu(); second_menu.addMenuItem({label:"1st Item 2nd Menu"}); // Aadir elemento desde el segundo men a la segunda posicin del primer // men. first_menu.addMenuItemAt(1, second_menu.getMenuItemAt(0)); // Mostrar men. first_menu.show();
984
Componente Menu
Menu.hide()
Disponibilidad
Valor devuelto
Ninguno.
Descripcin
En el siguiente ejemplo, se crea un botn y dos mens de elemento y se muestra el men durante un intervalo de 2000 milisegundos. Cuando caduca el intervalo, la funcin closeMenu() llama al mtodo menu.hide() para cerrar el men. Al hacer clic en el botn Reset Menu se activa el detector resetMenu(), que vuelve a mostrar el men y reinicia el intervalo. Primero debe arrastrar un componente Menu y un componente Button a la biblioteca y, despus, aadir el siguiente cdigo al fotograma 1:
/** Se requiere: - Componente Menu en la biblioteca - Componente Button en la biblioteca */ import mx.controls.Button; import mx.controls.Menu; this.createClassObject(Button, "my_button", 10, {label:"Reset Menu", _x:100, _y:50}); // Crear un objeto XML para que acte como un almacn. var my_xml:XML = new XML(); // // // // // El elemento que se cree a continuacin no aparecer en el men. La llamada al mtodo createMenu(), que figura a continuacin, espera recibir un elemento raz cuyos secundarios se convertirn en los elementos. sta es una manera sencilla de crear este elemento raz y asignarle un nombre.
Menu.hide() 985
var menuDP_obj:Object = my_xml.addMenuItem("Edit"); // Aadir elementos de men. menuDP_obj.addMenuItem({label:"1st Item"}); menuDP_obj.addMenuItem({label:"2nd Item"}); // Crear el objeto Menu. var my_menu:Menu = Menu.createMenu(this, menuDP_obj); my_menu.show(100, 100); // Llamar a closeMenu despus de 2000 milisegundos. var interval_id:Number = setInterval(closeMenu, 2000, my_menu); function closeMenu(the_menu:Menu):Void { the_menu.hide(); clearInterval(interval_id); } // Detector de clic de botn; mostrar men y restablecer intervalo. function resetMenu(evt_obj:Object):Void { clearInterval(interval_id); my_menu.show(100, 100); interval_id = setInterval(closeMenu, 2000, my_menu); } my_button.addEventListener("click", resetMenu);
Vase tambin
Menu.show()
Menu.indexOf()
Disponibilidad
Parmetros
item
Valor devuelto
El ndice del elemento de men especificado, o el valor undefined si el elemento no pertenece a este men.
986
Componente Menu
Descripcin
Mtodo; devuelve el ndice del elemento de men especificado en esta instancia de men.
Ejemplo
En el ejemplo siguiente, se crea un men con dos elementos desde un proveedor de datos XML y, a continuacin, se aade un tercer elemento al men y se guarda la referencia, que es devuelta por el mtodo addMenuItem(). Despus, se llama al mtodo indexOf() utilizando la referencia para obtener el ndice del elemento y mostrarlo en el panel Salida. Primero debe arrastrar un componente Menu y un componente Button a la biblioteca y, despus, aadir el siguiente cdigo al fotograma 1:
/** Se requiere: - Componente Menu en la biblioteca */ import mx.controls.Menu; // Crear un objeto XML para que acte como un almacn. var my_xml:XML = new XML(); // El elemento que se cree a continuacin no aparecer en el men. // La llamada al mtodo createMenu(), que figura a continuacin, espera // recibir un elemento raz cuyos secundarios se convertirn // en los elementos. sta es una manera sencilla de crear // este elemento raz y asignarle un nombre. var menuDP_obj:Object = my_xml.addMenuItem("Edit"); // Aadir elementos de men. menuDP_obj.addMenuItem({label:"1st Item"}); menuDP_obj.addMenuItem({label:"2nd Item"}); // Crear el objeto Menu. var my_menu:Menu = Menu.createMenu(this, menuDP_obj); var myItem_obj:Object = my_menu.addMenuItem({label:"That item"}); // Mostrar y colocar mens. my_menu.show(100, 20); var myIndex_num:Number = my_menu.indexOf(myItem_obj); trace("Index of 'That Item': " + myIndex_num);
Menu.indexOf()
987
Menu.menuHide
Disponibilidad
Sintaxis 1:
var listenerObject:Object = new Object(); listenerObject.menuHide = function(eventObject:Object) { // Introducir aqu el cdigo propio. }; menuInstance.addEventListener("menuHide", listenerObject);
Sintaxis 2:
on (menuHide) { // Introducir aqu el cdigo propio. }
Descripcin
Evento; se difunde a todos los detectores registrados cada vez que se cierra un men. Los componentes utilizan un modelo de evento distribuidor/detector. Cuando un componente Menu distribuye un evento menuHide, ste se controla mediante una funcin (tambin denominada controlador) asociada con el objeto detector (listenerObject), que crea el usuario. Debe llamar al mtodo addEventListener() y pasarle el nombre del controlador y el nombre del objeto detector como parmetros. Cuando se activa el evento, ste pasa automticamente un objeto de evento (eventObject) al controlador. Cada objeto de evento tiene propiedades que contienen informacin sobre el evento. Estas propiedades sirven para escribir el cdigo que controla el evento. El objeto del evento Menu.menuHide tiene dos propiedades adicionales:
menuBar Referencia a la instancia de MenuBar que es el elemento principal del men de destino. Si ste no pertenece a una instancia de MenuBar, este valor es undefined. menu
988
Componente Menu
Ejemplo
En el siguiente ejemplo, se crea un botn y dos mens de elemento. Cuando el usuario hace clic en el botn, un detector del evento de clic de botn muestra el men. Cuando el usuario hace clic por segunda vez, el men se oculta y un detector del evento menuHide, menuListener, muestra Menu closed en el panel Salida. Primero debe arrastrar un componente Menu y un componente Button a la biblioteca y, despus, aadir el siguiente cdigo al fotograma 1:
/** Se requiere: - Componente Menu en la biblioteca - Componente Button en la biblioteca */ import mx.controls.Button; import mx.controls.Menu; this.createClassObject(Button, "my_button", 10); // Crear un objeto XML para que acte como un almacn. var my_xml:XML = new XML(); // El elemento que se cree a continuacin no aparecer en el men. // La llamada al mtodo createMenu(), que figura a continuacin, espera // recibir un elemento raz cuyos secundarios se convertirn // en los elementos. sta es una manera sencilla de crear // este elemento raz y asignarle un nombre. var menuDP_obj:Object = my_xml.addMenuItem("XXXXX"); // Aadir elementos de men. menuDP_obj.addMenuItem({label:"1st Item"}); menuDP_obj.addMenuItem({label:"2nd Item"}); // Crear el objeto Menu. var my_menu:Menu = Menu.createMenu(this, menuDP_obj); // Aadir un botn que muestre el men cuando se haga clic en el botn. var buttonListener:Object = new Object(); buttonListener.click = function(evt_obj:Object) { // obtener referencia al botn var the_button:Button = evt_obj.target; // Mostrar el men en la parte inferior del botn. my_menu.show(the_button.x, the_button.y + the_button.height); }; my_button.addEventListener("click", buttonListener); // Crear un objeto detector. var menuListener:Object = new Object();
Menu.menuHide
989
Vase tambin
Menu.menuShow
Menu.menuShow
Disponibilidad
Sintaxis 1:
var listenerObject:Object = new Object(); listenerObject.menuShow = function(eventObject:Object) { // Introducir aqu el cdigo propio. }; menuInstance.addEventListener("menuShow", listenerObject);
Sintaxis 2:
on (menuShow) { // Introducir aqu el cdigo propio. }
Descripcin
Evento; se difunde a todos los detectores registrados cada vez que se abre un men. Todos los nodos principales abren mens para mostrar los elementos secundarios. Los componentes utilizan un modelo de evento distribuidor/detector. Cuando un componente Menu distribuye un evento menuShow, ste se controla mediante una funcin (tambin denominada controlador) asociada con el objeto detector (listenerObject), que crea el usuario. Debe llamar al mtodo addEventListener() y pasarle el nombre del controlador y el objeto detector como parmetros.
990
Componente Menu
Cuando se activa el evento, ste pasa automticamente un objeto de evento (eventObject) al controlador. Cada objeto de evento tiene propiedades que contienen informacin sobre el evento. Estas propiedades sirven para escribir el cdigo que controla el evento. El objeto del evento Menu.menuShow tiene dos propiedades adicionales:
menuBar Referencia a la instancia de MenuBar que es el elemento principal del men de destino. Si ste no pertenece a una instancia de MenuBar, este valor es undefined. menu
En el siguiente ejemplo, se crea un botn y dos mens de elemento. Cuando el usuario hace clic en el botn, un detector del evento de clic de botn muestra el men. Un detector del eventomenuShow, menuListener, muestra Menu open en el panel Salida. Primero debe arrastrar un componente Menu y un componente Button a la biblioteca y, despus, aadir el siguiente cdigo al fotograma 1:
/** Se requiere: - Componente Menu en la biblioteca - Componente Button en la biblioteca */ import mx.controls.Button; import mx.controls.Menu; this.createClassObject(Button, "my_button", 10); // Crear un objeto XML para que acte como un almacn. var my_xml:XML = new XML(); // El elemento que se cree a continuacin no aparecer en el men. // La llamada al mtodo createMenu(), que figura a continuacin, espera // recibir un elemento raz cuyos secundarios se convertirn // en los elementos. sta es una manera sencilla de crear // este elemento raz y asignarle un nombre. var menuDP_obj:Object = my_xml.addMenuItem("Edit"); // Aadir elementos de men. menuDP_obj.addMenuItem({label:"1st Item"}); menuDP_obj.addMenuItem({label:"2nd Item"}); // Crear el objeto Menu. var my_menu:Menu = Menu.createMenu(this, menuDP_obj); // Aadir un botn que muestre el men cuando se haga clic en el botn. var buttonListener:Object = new Object();
Menu.menuShow
991
buttonListener.click = function(evt_obj:Object) { // obtener referencia al botn var the_button:Button = evt_obj.target; // Mostrar el men en la parte inferior del botn. my_menu.show(the_button.x, the_button.y + the_button.height); }; my_button.addEventListener("click", buttonListener); // Crear un objeto detector. var menuListener:Object = new Object(); menuListener.menuShow = function(evt_obj:Object) { trace("Menu open."); }; // Aadir detector. my_menu.addEventListener("menuShow", menuListener);
Vase tambin
Menu.menuHide
Menu.removeAll()
Disponibilidad
Valor devuelto
Ninguno.
Descripcin
992
Componente Menu
Ejemplo
En el ejemplo siguiente, se crea un men con dos elementos y, despus de un intervalo de un par de segundos (2000 milisegundos), se eliminan todos los nodos del men. Primero debe arrastrar un componente Menu a la biblioteca y, despus, aadir el siguiente cdigo al fotograma 1:
/** Se requiere: - Componente Menu en la biblioteca */ import mx.controls.Menu; // Crear un objeto XML para que acte como un almacn. var my_xml:XML = new XML(); // El elemento que se cree a continuacin no aparecer en el men. // La llamada al mtodo createMenu(), que figura a continuacin, espera // recibir un elemento raz cuyos secundarios se convertirn // en los elementos. sta es una manera sencilla de crear // este elemento raz y asignarle un nombre. var menuDP_obj:Object = my_xml.addMenuItem("XXXXX"); // Aadir elementos de men. menuDP_obj.addMenuItem({label:"1st Item"}); menuDP_obj.addMenuItem({label:"2nd Item"}); // Crear el objeto Menu. var my_menu:Menu = Menu.createMenu(this, menuDP_obj); // Mostrar y colocar mens. my_menu.show(100, 20); var interval_id:Number = setInterval(remove, 2000, my_menu); function remove(the_menu:Menu):Void { // Borrar todos los elementos de men. the_menu.removeAll(); clearInterval(interval_id); the_menu.show(100, 20); }
Menu.removeAll()
993
Menu.removeMenuItem()
Disponibilidad
Valor devuelto
Una referencia al elemento de men que se devuelve (nodo XML). Si no hay ningn elemento en esta posicin, el valor es undefined.
Descripcin
Mtodo; elimina el elemento de men especificado y todos sus elementos secundarios. Adems, actualiza el men.
Ejemplo
En el siguiente ejemplo, se crea un men con tres elementos de men y se establece un intervalo para hacer que el men se muestre durante un par de segundos (2000 milisegundos). Cuando caduca el intervalo, el ejemplo llama a la funcin removeItem(), que llama al mtodo removeMenuItem() para eliminar el primer elemento del men y volver a mostrarlo. Primero debe arrastrar un componente Menu a la biblioteca y, despus, aadir el siguiente cdigo al fotograma 1:
/** Se requiere: - Componente Menu en la biblioteca */ import mx.controls.Menu; // Crear un objeto XML para que acte como un almacn. var my_xml:XML = new XML(); // El elemento que se cree a continuacin no aparecer en el men. // La llamada al mtodo createMenu(), que figura a continuacin, espera // recibir un elemento raz cuyos secundarios se convertirn // en los elementos. sta es una manera sencilla de crear // este elemento raz y asignarle un nombre. var menuDP_obj:Object = my_xml.addMenuItem("XXXXX");
994
Componente Menu
// Aadir elementos de men. menuDP_obj.addMenuItem({label:"first Item"}); menuDP_obj.addMenuItem({label:"second Item"}); menuDP_obj.addMenuItem({label:"third Item"}); // Crear el objeto Menu. var my_menu:Menu = Menu.createMenu(this, menuDP_obj); // Mostrar y colocar el men. my_menu.show(100, 20); // Llamar a closeMenu despus de 2000 milisegundos. var interval_id:Number = setInterval(removeItem, 2000, my_menu); function removeItem(the_menu:Menu):Void { // Borrar el primer elemento de nodo. var myItem_obj:Object = my_menu.getMenuItemAt(0); myItem_obj.removeMenuItem(); clearInterval(interval_id); my_menu.show(100, 20); }
Menu.removeMenuItemAt()
Disponibilidad
Parmetros
index
Valor devuelto
Una referencia al elemento de men que se devuelve (nodo XML). Si no hay ningn elemento en esta posicin, el valor es undefined.
Descripcin
Mtodo; elimina un elemento de men y todos sus elementos secundarios en el ndice especificado. Si no hay ningn elemento de men en dicho ndice, la llamada a este mtodo no tiene efecto alguno.
Menu.removeMenuItemAt()
995
Ejemplo
En el ejemplo siguiente, se crea un men con dos elementos y, despus de un intervalo de un par de segundos (2000 milisegundos), se elimina el segundo elemento (en el ndice 1). Primero debe arrastrar un componente Menu a la biblioteca y, despus, aadir el siguiente cdigo al fotograma 1:
/** Se requiere: - Componente Menu en la biblioteca */ import mx.controls.Menu; // Crear un objeto XML para que acte como un almacn. var my_xml:XML = new XML(); // El elemento que se cree a continuacin no aparecer en el men. // La llamada al mtodo createMenu(), que figura a continuacin, espera // recibir un elemento raz cuyos secundarios se convertirn // en los elementos. sta es una manera sencilla de crear // este elemento raz y asignarle un nombre. var menuDP_obj:Object = my_xml.addMenuItem("XXXXX"); // Aadir elementos de men. menuDP_obj.addMenuItem({label:"1st Item"}); menuDP_obj.addMenuItem({label:"2nd Item"}); // Crear el objeto Menu. var my_menu:Menu = Menu.createMenu(this, menuDP_obj); // Mostrar y colocar mens. my_menu.show(100, 20); var interval_id:Number = setInterval(remove, 2000, my_menu); function remove(the_menu:Menu):Void { // Borrar el segundo elemento de nodo. var item_obj:Object = my_menu.removeMenuItemAt(1); trace("Item removed: " + item_obj); clearInterval(interval_id); the_menu.show(100, 20); }
996
Componente Menu
Menu.rollOut
Disponibilidad
Sintaxis 1:
var listenerObject:Object = new Object(); listenerObject.rollOut = function(eventObject:Object) { // Introducir aqu el cdigo propio. }; menuInstance.addEventListener("rollOut", listenerObject);
Sintaxis 2:
on (rollOut) { // Introducir aqu el cdigo propio. }
Descripcin
Evento; se difunde a todos los detectores registrados cuando el puntero deja de estar sobre un elemento de men. Los componentes utilizan un modelo de evento distribuidor/detector. Cuando un componente Menu difunde un evento rollOut, ste se controla mediante una funcin (tambin denominada controlador), asociada con el objeto detector (listenerObject) que crea el usuario. Llame al mtodo addEventListener() y pase el nombre del controlador como parmetro. Cuando se activa el evento, ste pasa automticamente un objeto de evento (eventObject) al controlador. Cada objeto de evento tiene propiedades que contienen informacin sobre el evento. Estas propiedades sirven para escribir el cdigo que controla el evento. El objeto del evento Menu.rollOut tiene una propiedad adicional: menuItem, que es una referencia al elemento de men (nodo XML) que el puntero ha dejado de sealar. Para ms informacin, consulte Clase EventDispatcher en la pgina 527.
Menu.rollOut
997
Ejemplo
En el siguiente ejemplo, se crea un men con dos elementos y un detector para un evento rollOut. Cuando se difunde el evento rollOut, una funcin trace() del controlador de eventos, menuListener, muestra el nombre del elemento de men para el que se produce el evento. Primero debe arrastrar un componente Menu a la biblioteca y, despus, aadir el siguiente cdigo al fotograma 1:
/** Se requiere: - Componente Menu en la biblioteca */ import mx.controls.Menu; // Crear un objeto XML para que acte como un almacn. var my_xml:XML = new XML(); // El elemento que se cree a continuacin no aparecer en el men. // La llamada al mtodo createMenu(), que figura a continuacin, espera // recibir un elemento raz cuyos secundarios se convertirn // en los elementos. sta es una manera sencilla de crear // este elemento raz y asignarle un nombre. var menuDP_obj:Object = my_xml.addMenuItem("XXXXX"); // Aadir elementos de men. menuDP_obj.addMenuItem({label:"1st Item"}); menuDP_obj.addMenuItem({label:"2nd Item"}); // Crear el objeto Menu. var my_menu:Menu = Menu.createMenu(this, menuDP_obj); // Mostrar y colocar mens. my_menu.show(100, 20); // Crear un objeto detector. var menuListener:Object = new Object(); menuListener.rollOut = function(evt_obj:Object) { trace("Menu rollOut: " + evt_obj.menuItem.attributes.label); }; // Aadir detector. my_menu.addEventListener("rollOut", menuListener);
998
Componente Menu
Menu.rollOver
Disponibilidad
Sintaxis 1:
var listenerObject:Object = new Object(); listenerObject.rollOver = function(eventObject:Object) { // Introducir aqu el cdigo propio. }; menuInstance.addEventListener("rollOver", listenerObject);
Sintaxis 2:
on (rollOver) { // Introducir aqu el cdigo propio. }
Descripcin
Evento; se difunde a todos los detectores registrados cuando el puntero se desplaza sobre un elemento de men. Los componentes utilizan un modelo de evento distribuidor/detector. Cuando un componente Menu difunde un evento rollover, ste se controla mediante una funcin (tambin denominada controlador), asociada con el objeto detector (listenerObject) que crea el usuario. Llame al mtodo addEventListener() y pase el nombre del controlador como parmetro. Cuando se activa el evento, ste pasa automticamente un objeto de evento (eventObject) al controlador. Cada objeto de evento tiene propiedades que contienen informacin sobre el evento. Estas propiedades sirven para escribir el cdigo que controla el evento. El objeto del evento Menu.rollOver tiene una propiedad adicional: menuItem, que es una referencia al elemento de men (nodo XML) sobre el que se ha desplazado el puntero. Para ms informacin, consulte Clase EventDispatcher en la pgina 527.
Menu.rollOver
999
Ejemplo
En el siguiente ejemplo, se crea un men con dos elementos y un detector para un evento rollOver. Cuando se difunde el evento rollOver, una funcin trace() del controlador de eventos, menuListener, muestra el nombre del elemento de men para el que se produce el evento. Primero debe arrastrar un componente Menu a la biblioteca y, despus, aadir el siguiente cdigo al fotograma 1:
/** Se requiere: - Componente Menu en la biblioteca */ import mx.controls.Menu; // Crear un objeto XML para que acte como un almacn. var my_xml:XML = new XML(); // El elemento que se cree a continuacin no aparecer en el men. // La llamada al mtodo createMenu(), que figura a continuacin, espera // recibir un elemento raz cuyos secundarios se convertirn // en los elementos. sta es una manera sencilla de crear // este elemento raz y asignarle un nombre. var menuDP_obj:Object = my_xml.addMenuItem("XXXXX"); // Aadir elementos de men. menuDP_obj.addMenuItem({label:"1st Item"}); menuDP_obj.addMenuItem({label:"2nd Item"}); // Crear el objeto Menu. var my_menu:Menu = Menu.createMenu(this, menuDP_obj); // Mostrar y colocar mens. my_menu.show(100, 20); // Crear un objeto detector. var menuListener:Object = new Object(); menuListener.rollOver = function(evt_obj:Object) { trace("Menu rollOver: "+evt_obj.menuItem.attributes.label); }; // Aadir detector. my_menu.addEventListener("rollOver", menuListener);
Menu.setMenuItemEnabled()
Disponibilidad
Parmetros
item enable
Nodo XML; el nodo del elemento de men de destino en el proveedor de datos. Valor booleano que indica si el elemento est activado (true) o desactivado
(false).
Valor devuelto
Ninguno.
Descripcin
Mtodo; cambia el atributo enabled del elemento de destino por el estado especificado en el parmetro enable. Si esta llamada provoca un cambio de estado, el elemento se vuelve a dibujar con el estado nuevo.
Ejemplo
En el siguiente ejemplo, se crea un men con dos elementos de men y se llama al mtodo setMenuItemEnabled() para desactivar el primero. Primero debe arrastrar un componente Menu a la biblioteca y, despus, aadir el siguiente cdigo al fotograma 1:
/** Se requiere: - Componente Menu en la biblioteca */ import mx.controls.Menu; // Crear un objeto XML para que acte como un almacn. var my_xml:XML = new XML(); // El elemento que se cree a continuacin no aparecer en el men. // La llamada al mtodo createMenu(), que figura a continuacin, espera // recibir un elemento raz cuyos secundarios se convertirn
Menu.setMenuItemEnabled()
1001
// en los elementos. sta es una manera sencilla de crear // este elemento raz y asignarle un nombre. var menuDP_obj:Object = my_xml.addMenuItem("XXXXX"); // Aadir elementos de men. menuDP_obj.addMenuItem({label:"1st Item"}); menuDP_obj.addMenuItem({label:"2nd Item"}); // Crear el objeto Menu. var my_menu:Menu = Menu.createMenu(this, menuDP_obj); // Seleccionar el primer elemento de men y desactivarlo. var item_obj:Object = my_menu.getMenuItemAt(0); my_menu.setMenuItemEnabled(item_obj, false); // Mostrar y colocar el men. my_menu.show(100, 20);
Vase tambin
Menu.setMenuItemSelected()
Menu.setMenuItemSelected()
Disponibilidad
Parmetros
item select
Nodo XML. El nodo del elemento del men destino en el proveedor de datos.
Valor booleano que indica si el elemento est seleccionado (true) o no lo est (false). Si el elemento es una casilla de verificacin, este valor indica si la marca est visible o no. Si el elemento es un botn de opcin, pasa a ser la seleccin actual del grupo de opciones.
Valor devuelto
Ninguno.
1002
Componente Menu
Descripcin
Mtodo; cambia el atributo selected del elemento por el estado especificado por el parmetro select. Si esta llamada provoca un cambio de estado, el elemento se vuelve a dibujar con el estado nuevo. Slo es aplicable a los elementos cuyo atributo type sea radio o check, porque hace aparecer o desaparecer su punto o su marca de verificacin. Una llamada a este mtodo en un elemento cuyo tipo sea normal o separator no tendr ningn efecto.
Ejemplo
En el siguiente ejemplo, se crea un men con dos elementos de men, siendo el segundo de ellos un elemento de men de casilla de verificacin. El ejemplo llama al mtodo setMenuItemSelected() para poner el elemento de men de casilla de verificacin en un estado seleccionado. Primero debe arrastrar un componente Menu a la biblioteca y, despus, aadir el siguiente cdigo al fotograma 1:
/** Se requiere: - Componente Menu en la biblioteca */ import mx.controls.Menu; // Crear un objeto XML para que acte como un almacn. var my_xml:XML = new XML(); // El elemento que se cree a continuacin no aparecer en el men. // La llamada al mtodo createMenu(), que figura a continuacin, espera // recibir un elemento raz cuyos secundarios se convertirn // en los elementos. sta es una manera sencilla de crear // este elemento raz y asignarle un nombre. var menuDP_obj:Object = my_xml.addMenuItem("XXXXX"); // Aadir elementos de men. menuDP_obj.addMenuItem({label:"1st Item"}); menuDP_obj.addMenuItem({type:"check", label:"2nd Item"}) // Crear el objeto Menu. var my_menu:Menu = Menu.createMenu(this, menuDP_obj); var myItem = my_menu.getMenuItemAt(1); my_menu.setMenuItemSelected(myItem, true); // Mostrar y colocar el men. my_menu.show(100, 20);
Menu.setMenuItemSelected()
1003
Menu.show()
Disponibilidad
Parmetros
x y
Coordenada x. Coordenada y.
Valor devuelto
Ninguno.
Descripcin
Mtodo; abre un men en una ubicacin determinada. El men cambia su tamao automticamente para que se puedan ver todos los elementos del nivel superior. La esquina superior izquierda se coloca en la ubicacin especificada del sistema de coordenadas que proporciona el elemento principal del componente. Si los parmetros x e y se omiten, el men aparece en la ubicacin anterior.
Ejemplo
En el siguiente ejemplo, se crea un men de un objeto de men XML y se llama al mtodo menu.show() para que lo muestre. Primero debe arrastrar un componente Menu a la biblioteca y, despus, aadir el siguiente cdigo al fotograma 1:
/** Se requiere: - Componente Menu en la biblioteca */ import mx.controls.Menu; var my_xml:XML = new XML(); // Crear elementos para el men. var newItem_obj:Object = my_xml.addMenuItem({label:"New"}); my_xml.addMenuItem({label:"Open", instanceName:"miOpen"});
1004
Componente Menu
my_xml.addMenuItem({label:"Save", instanceName:"miSave"}); my_xml.addMenuItem({type:"separator"}); my_xml.addMenuItem({label:"Quit", instanceName:"miQuit"}); // Crear y mostrar el men. var my_menu:Menu = Menu.createMenu(myParent_mc, my_xml); my_menu.show(100, 20);
Vase tambin
Menu.hide()
Clase MenuDataProvider
Nombre de clase de ActionScript
mx.controls.menuclasses.MenuDataProvider
La clase MenuDataProvider es una clase de decoracin (adicin) que aade funcionalidad a la clase global XMLNode. Esta funcionalidad permite que instancias de XML asignadas a una propiedad Menu.dataProvider utilicen los mtodos y propiedades de MenuDataProvider para manipular sus propios datos, as como las vistas de men asociadas.
N OT A
La clase MenuDataProvider slo es compatible si trabaja con un documento que especifique ActionScript 2.0 en la Configuracin de publicacin.
Recuerde los conceptos siguientes, relacionados con la clase MenuDataProvider: MenuDataProvider es una clase de decoracin (adicin). No es necesario crear una instancia para usarla. Los mens aceptan directamente XML como valor de la propiedad dataProvider. Si se crea una instancia de una clase Menu, todas las instancias XML del archivo SWF se decoran con la clase MenuDataProvider. Slo los mtodos de MenuDataProvider difunden eventos a los componentes Menu. Puede seguir utilizando mtodos XML nativos, pero stos no difunden eventos que actualizan las vistas de Menu. Para controlar el modelo de datos, use los mtodos MenuDataProvider. Para operaciones de slo lectura, como el desplazamiento por la jerarqua de Menu, utilice los mtodos XML. Todos los elementos del componente Menu son objetos XML decorados con la clase MenuDataProvider. Los cambios efectuados en los atributos del elemento no se reflejan en el men en pantalla hasta que se vuelva a dibujar.
Clase MenuDataProvider
1005
Descripcin
Aade un elemento secundario. Aade un elemento secundario en una ubicacin determinada. Obtiene una referencia a un elemento de men en una ubicacin determinada. Devuelve el ndice de un elemento de men determinado. Elimina un elemento de men. Elimina un elemento de men de una ubicacin determinada.
MenuDataProvider.getMenuItemAt()
MenuDataProvider.indexOf()
MenuDataProvider.removeMenuItem() MenuDataProvider.removeMenuItemAt()
MenuDataProvider.addMenuItem()
Disponibilidad
Sintaxis 1:
myMenuDataProvider.addMenuItem(initObject)
Sintaxis 2:
myMenuDataProvider.addMenuItem(childMenuItem)
Parmetros
initObject Objeto que contiene los atributos que inicializan los atributos de un elemento del componente Menu. Para ms informacin, consulte Atributos XML de elementos de men en la pgina 955. childMenuItem
Nodo XML.
Valor devuelto
1006
Componente Menu
Descripcin
Mtodo; la sintaxis 1 aade un elemento secundario al final de un elemento de men principal (que puede ser el propio men). El elemento de men se crea a partir de los valores proporcionados en el parmetro initObject. La sintaxis 2 aade al final de un elemento de men principal un elemento secundario que est definido en el parmetro XML childMenuItem especificado. Los nodos o los elementos de men de una instancia de MenuDataProvider pueden llamar a los mtodos de la clase MenuDataProvider.
Ejemplo
En el siguiente ejemplo, se crea un men desde un proveedor de datos XML. Se llama al mtodo addMenuItem() para aadir dos elementos al men principal y, adems, aadir dos elementos a un submen para el primer elemento del men principal. Primero debe arrastrar un componente Menu a la biblioteca y, despus, aadir el siguiente cdigo al fotograma 1:
/** Se requiere: - Componente Menu en la biblioteca */ import mx.controls.Menu; // Crear un objeto XML para que acte como un almacn. var my_xml:XML = new XML(); // El elemento que se cree a continuacin no aparecer en el men. // La llamada al mtodo createMenu(), que figura a continuacin, espera // recibir un elemento raz cuyos secundarios se convertirn // en los elementos. sta es una manera sencilla de crear // este elemento raz y asignarle un nombre. var menuDP_obj:Object = my_xml.addMenuItem("XXXXX");
// Aadir elementos de men. menuDP_obj.addMenuItem({label:"Folders"}); menuDP_obj.addMenuItem({label:"Radio Edit", type:"radio"}); // Crear el objeto Menu. var my_menu:Menu = Menu.createMenu(this, menuDP_obj); // Mostrar y colocar el men. my_menu.show(100, 20); // Recuperar el primer elemento del men y aadirle elementos. var item_obj:Object = menuDP_obj.getMenuItemAt(0);
MenuDataProvider.addMenuItem()
1007
MenuDataProvider.addMenuItemAt()
Disponibilidad
Sintaxis 1:
myMenuDataProvider.addMenuItemAt(index, initObject)
Sintaxis 2:
myMenuDataProvider.addMenuItemAt(index, childMenuItem)
Parmetros
index
Entero.
initObject Objeto que contiene los atributos especficos que inicializan los atributos de un elemento de men. Para ms informacin, consulte Atributos XML de elementos de men en la pgina 955. childMenuItem
Nodo XML.
Valor devuelto
Mtodo; la sintaxis 1 aade un elemento secundario en la posicin de ndice especificada en el elemento de men principal (que puede ser el propio men). El elemento de men se crea a partir de los valores proporcionados en el parmetro initObject. La sintaxis 2 aade un elemento secundario que est definido en el parmetro XML childMenuItem especificado en el ndice determinado de un elemento de men principal. Los nodos o los elementos de men de una instancia de MenuDataProvider pueden llamar a los mtodos de la clase MenuDataProvider.
1008
Componente Menu
Ejemplo
En el siguiente ejemplo, se crea un men con un elemento de men y, a continuacin, se llama al mtodo addMenuItemAt() para aadir un segundo elemento. Primero debe arrastrar un componente Menu a la biblioteca y, despus, aadir el siguiente cdigo al fotograma 1:
/** Se requiere: - Componente Menu en la biblioteca */ import mx.controls.Menu; // Crear un objeto XML para que acte como un almacn. var my_xml:XML = new XML(); // El elemento que se cree a continuacin no aparecer en el men. // La llamada al mtodo createMenu(), que figura a continuacin, espera // recibir un elemento raz cuyos secundarios se convertirn // en los elementos. sta es una manera sencilla de crear // este elemento raz y asignarle un nombre. var menuDP_obj:Object = my_xml.addMenuItem("XXXXX"); // Aadir elementos de men. menuDP_obj.addMenuItem({label:"Edit"}); // Crear el objeto Menu. var my_menu:Menu = Menu.createMenu(this, menuDP_obj); // Mostrar y colocar el men. my_menu.show(100, 20); // Aadir el elemento de men. menuDP_obj.addMenuItemAt(1, {label:"Save", instanceName:"saveItem1"});
MenuDataProvider.addMenuItemAt()
1009
MenuDataProvider.getMenuItemAt()
Disponibilidad
Parmetros
index
Valor devuelto
Mtodo; devuelve una referencia al elemento de men secundario especificado del elemento de men actual. Los nodos o los elementos de men de una instancia de MenuDataProvider pueden llamar a los mtodos de la clase MenuDataProvider.
Ejemplo
En el siguiente ejemplo, se crea un men, se le aade un elemento de men y, a continuacin, se llama al mtodo getMenuItemAt() para acceder a su objeto de nodo con el fin de aadirle un elemento de submen. Tambin se llama al mtodo getMenuItemAt() para mostrar la etiqueta del elemento de submen en el panel Salida. Primero debe arrastrar un componente Menu a la biblioteca y, despus, aadir el siguiente cdigo al fotograma 1:
/** Se requiere: - Componente Menu en la biblioteca */ import mx.controls.Menu; // Crear un objeto XML para que acte como un almacn. var my_xml:XML = new XML(); // El elemento que se cree a continuacin no aparecer en el men. // La llamada al mtodo createMenu(), que figura a continuacin, espera
1010
Componente Menu
// recibir un elemento raz cuyos secundarios se convertirn // en los elementos. sta es una manera sencilla de crear // este elemento raz y asignarle un nombre. var menuDP_obj:Object = my_xml.addMenuItem("XXXXX"); // Aadir elementos de men. menuDP_obj.addMenuItem({label:"1st Item"}); var menuItem_obj:Object = menuDP_obj.getMenuItemAt(0); menuItem_obj.addMenuItem({label:"Submenu Item"}); menuDP_obj.addMenuItem({label:"2nd Item"}); // Crear el objeto Menu. var my_menu:Menu = Menu.createMenu(this, menuDP_obj); // Mostrar y colocar mens. my_menu.show(100, 20); // Recuperar el elemento de submen del primer elemento de men. var myMenuItem_obj:Object = menuDP_obj.firstChild; trace(myMenuItem_obj.getMenuItemAt(0));
MenuDataProvider.indexOf()
Disponibilidad
Parmetros
item
Valor devuelto
El ndice del elemento de men especificado; devuelve el valor undefined si el elemento no pertenece a este men.
Descripcin
Mtodo; devuelve el ndice del elemento de men especificado en este elemento de men principal. Los nodos o los elementos de men de una instancia de MenuDataProvider pueden llamar a los mtodos de la clase MenuDataProvider.
MenuDataProvider.indexOf()
1011
Ejemplo
En el siguiente ejemplo, se aade un elemento de men a un men y se llama al mtodo indexOf() para mostrar el ndice del elemento en el panel Salida. Primero debe arrastrar un componente Menu a la biblioteca y, despus, aadir el siguiente cdigo al fotograma 1:
/** Se requiere: - Componente Menu en la biblioteca */ import mx.controls.Menu; // Crear un objeto XML para que acte como un almacn. var my_xml:XML = new XML(); // El elemento que se cree a continuacin no aparecer en el men. // La llamada al mtodo createMenu(), que figura a continuacin, espera // recibir un elemento raz cuyos secundarios se convertirn // en los elementos. sta es una manera sencilla de crear // este elemento raz y asignarle un nombre. var menuDP_obj:Object = my_xml.addMenuItem("XXXXX"); // Aadir elementos de men. menuDP_obj.addMenuItem({label:"1st Item"}); // Crear el objeto Menu. var my_menu:Menu = Menu.createMenu(this, menuDP_obj); // Mostrar y colocar mens. my_menu.show(100, 20); // Aadir un elemento y realizar un seguimiento de la posicin de ese // elemento. var myItem_obj:Object = menuDP_obj.addMenuItem({label:"That item"}); var myIndex_num:Number = menuDP_obj.indexOf(myItem_obj); trace("Position: " + myIndex_num);
1012
Componente Menu
MenuDataProvider.removeMenuItem()
Disponibilidad
Valor devuelto
Una referencia al elemento de men eliminado (nodo XML); se devuelve el valor undefined si se produce un error.
Descripcin
Mtodo; elimina el elemento de destino y sus nodos secundarios. Los nodos o los elementos de men de una instancia de MenuDataProvider pueden llamar a los mtodos de la clase MenuDataProvider.
Ejemplo
En el siguiente ejemplo, se crea un men con tres elementos de men y, despus de un intervalo de un par de segundos (2000 milisegundos), se llama a removeMenuItem() para eliminar el primer elemento del men. Primero debe arrastrar un componente Menu a la biblioteca y, despus, aadir el siguiente cdigo al fotograma 1:
/** Se requiere: - Componente Menu en la biblioteca */ import mx.controls.Menu; // Crear un objeto XML para que acte como un almacn. var my_xml:XML = new XML(); // El elemento que se cree a continuacin no aparecer en el men. // La llamada al mtodo createMenu(), que figura a continuacin, espera // recibir un elemento raz cuyos secundarios se convertirn // en los elementos. sta es una manera sencilla de crear // este elemento raz y asignarle un nombre. var menuDP_obj:Object = my_xml.addMenuItem("XXXXX");
MenuDataProvider.removeMenuItem()
1013
// Aadir elementos de men. menuDP_obj.addMenuItem({label:"1st Item"}); menuDP_obj.addMenuItem({label:"2nd Item"}); menuDP_obj.addMenuItem({label:"3rd Item"}); // Crear el objeto Menu. var my_menu:Menu = Menu.createMenu(this, menuDP_obj); // Mostrar y colocar mens. my_menu.show(100, 20); // Llamar a removeItem despus de 2000 milisegundos. var interval_id:Number = setInterval(removeItem, 2000, my_menu); function removeItem(the_menu:Menu):Void { // Eliminar el elemento en la posicin 0. var myItem_obj:Object = menuDP_obj.getMenuItemAt(0); myItem_obj.removeMenuItem(); clearInterval(interval_id); }
MenuDataProvider.removeMenuItemAt()
Disponibilidad
Parmetros
index
Valor devuelto
Una referencia al elemento de men eliminado. Si no hay ningn elemento en esta posicin, el valor es undefined.
Descripcin
Mtodo; elimina el elemento secundario del elemento de men especificado en el parmetro index. Si no hay ningn elemento de men en dicho ndice, la llamada a este mtodo no tiene efecto alguno. Los nodos o los elementos de men de una instancia de MenuDataProvider pueden llamar a los mtodos de la clase MenuDataProvider.
1014
Componente Menu
Ejemplo
En el siguiente ejemplo, se crea un men con tres elementos de men y, despus de un intervalo de un par de segundos (2000 milisegundos), se llama a removeMenuItemAt() para eliminar el primer elemento del men. Primero debe arrastrar un componente Menu a la biblioteca y, despus, aadir el siguiente cdigo al fotograma 1:
/** Se requiere: - Componente Menu en la biblioteca */ import mx.controls.Menu; // Crear un objeto XML para que acte como un almacn. var my_xml:XML = new XML(); // El elemento que se cree a continuacin no aparecer en el men. // La llamada al mtodo createMenu(), que figura a continuacin, espera // recibir un elemento raz cuyos secundarios se convertirn // en los elementos. sta es una manera sencilla de crear // este elemento raz y asignarle un nombre. var menuDP_obj:Object = my_xml.addMenuItem("XXXXX"); // Aadir elementos de men. menuDP_obj.addMenuItem({label:"1st Item"}); menuDP_obj.addMenuItem({label:"2nd Item"}); menuDP_obj.addMenuItem({label:"3rd Item"}); // Crear el objeto Menu. var my_menu:Menu = Menu.createMenu(this, menuDP_obj); // Mostrar y colocar mens. my_menu.show(100, 20); // Llamar a removeItem despus de 2000 milisegundos. var interval_id:Number = setInterval(removeItem, 2000, my_menu); function removeItem(the_menu:Menu):Void { // Eliminar el elemento en la posicin 0. menuDP_obj.removeMenuItemAt(0); clearInterval(interval_id); }
MenuDataProvider.removeMenuItemAt()
1015
1016
Componente Menu
CAPTULO 31
Componente MenuBar
El componente MenuBar sirve para crear una barra de mens horizontal con mens emergentes y comandos, como las barras de mens que contienen los mens Archivo y Edicin de la mayora de las aplicaciones de software. El componente MenuBar complementa el componente Menu; proporciona una interfaz, en la que se puede hacer clic, que muestra y oculta mens que se comportan como un grupo para la interactividad del ratn y del teclado.
NO T A
31
El componente MenuBar slo es compatible si trabaja con un documento que especifique ActionScript 2.0 en la Configuracin de publicacin.
El componente MenuBar permite crear con pocos pasos un men de aplicacin. Para crear una barra de mens, puede asignar un proveedor de datos XML a la barra de mens que describa una serie de mens, o bien puede utilizar el mtodo MenuBar.addMenu() para aadir instancias de men de una en una. Cada uno de los mens de la barra de mens consta de dos partes: el men y el botn que hace que el men se abra (denominado activador de men). Estos activadores de men en los que se hace clic aparecen en la barra de mens como una etiqueta de texto, cuyo estado de resaltado de borde puede ser saliente o entrante; dichos estados reaccionan ante interacciones del ratn y del teclado. Cuando se hace clic en un activador de men, el men correspondiente se abre por debajo de ste. El men permanecer activo hasta se vuelva a hacer clic en el activador, o bien hasta que se seleccione un elemento de men o se haga clic fuera del rea del men. Adems de crear activadores de men que muestran u ocultan mens, el componente MenuBar crea un comportamiento de grupo entre una serie de mens. Ello permite al usuario explorar un gran nmero de opciones de comando desplazndose por la serie de activadores o utilizando las teclas de flecha para desplazarse por las listas. El ratn y el teclado funcionan conjuntamente de forma interactiva para que el usuario pueda desplazarse por los mens de la barra de mens. Un usuario no puede desplazarse por los mens de una barra de mens. Si la anchura de los mens es superior a la anchura de la barra de mens, stos se enmascaran. Los lectores de pantalla no pueden acceder al componente Menubar. Los mens a menudo se anidan en barras de men. Para ms informacin sobre mens, consulte Componente Menu en la pgina 951.
1017
Descripcin
Desplaza la seleccin a la fila inferior siguiente del men. Desplaza la seleccin a la fila superior siguiente del men. Desplaza la seleccin al botn siguiente. Desplaza la seleccin al botn anterior. Cierra un men abierto.
Si un men est abierto, no se puede presionar el tabulador para cerrarlo. Debe realizar una seleccin o cerrar el men con la tecla Esc.
Parmetros de MenuBar
A continuacin se indica el parmetro de edicin que se puede definir para cada instancia del componente MenuBar en el inspector de propiedades o el inspector de componentes (opcin de men Ventana > Inspector de componentes):
Labels Matriz que aade activadores de men con las etiquetas especificadas al componente MenuBar. El valor predeterminado es [] (matriz vaca).
A continuacin se indican los parmetros adicionales que se pueden definir para cada instancia del componente MenuBar en el inspector de componentes (Ventana > Inspector de componentes):
Componente MenuBar
enabled
es un valor booleano que indica si el componente acepta selecciones y entradas. El valor predeterminado es true.
es un valor booleano que indica si el objeto es visible (true) o no (false). El valor predeterminado es true.
visible
N OT A
Las propiedades minHeight y minWidth se utilizan en rutinas internas de cambio de tamao. Se definen en UIObject y se sustituyen por distintos componentes segn convenga. Estas propiedades pueden utilizarse si se crea un administrador de diseo personalizado en la aplicacin. De lo contrario, establecer estas propiedades en el inspector de componentes no produce ningn efecto visible.
No se puede acceder al parmetro Labels utilizando cdigo ActionScript. No obstante, se puede escribir cdigo ActionScript para controlar opciones adicionales del componente MenuBar mediante sus propiedades, mtodos y eventos. Para ms informacin, consulte Clase MenuBar en la pgina 1024.
Seleccione Archivo > Nuevo y, a continuacin, Archivo Flash (ActionScript 2.0). Arrastre el componente MenuBar desde el panel Componentes al escenario. Coloque el men en la parte superior del escenario si desea un diseo estndar. Seleccione la instancia de MenuBar y, en el inspector de propiedades, introduzca el nombre de instancia my_mb. En el panel Acciones del fotograma 1, introduzca el cdigo siguiente:
import mx.controls.Menu; import mx.controls.MenuBar; var my_mb:MenuBar; var my_menu:Menu = my_mb.addMenu("File"); my_menu.addMenuItem({label:"New", instanceName:"newInstance"}); my_menu.addMenuItem({label:"Open", instanceName:"openInstance"}); my_menu.addMenuItem({label:"Close", instanceName:"closeInstance"});
5.
Con este cdigo se aade un men File a la instancia de MenuBar. Despus, se utiliza un mtodo Menu para aadir tres elementos de men: New, Open y Close.
1019
6.
Este cdigo crea un objeto detector, mblistener, que captura una seleccin de elemento de men y muestra su nombre y el valor del objeto de elemento de men.
N OT A
Debe llamar al mtodo addEventListener() para registrar el detector con la instancia de men, no con la instancia de la barra de mens.
7.
1020
Componente MenuBar
Tema
Halo
Descripcin
Esquema de colores base de un componente. Los valores posibles son haloGreen, haloBlue y haloOrange. El valor predeterminado es haloGreen. Color del texto. El valor predeterminado es 0x0B333C para el tema Halo y en blanco para el tema Sample. Color del texto cuando el componente est desactivado. El color predeterminado es 0x848384 (gris oscuro). Valor booleano que indica si la fuente especificada en fontFamily es una fuente incorporada. Este estilo debe definirse como true si fontFamily hace referencia a una fuente incorporada. De lo contrario, no se utiliza la fuente incorporada. Si el estilo se define como true y fontFamily no hace referencia a una fuente incorporada, no se muestra ningn texto. El valor predeterminado es false. Nombre de la fuente del texto. El valor predeterminado es _sans. Tamao de la fuente en puntos. El valor predeterminado es 10. Estilo de la fuente: puede ser normal o italic. El valor predeterminado es normal.
color
disabledColor
embedFonts
fontFamily
fontSize
fontStyle
1021
Estilo
fontWeight
Tema
Ambos
Descripcin
Grosor de la fuente: puede ser none o bold. El valor predeterminado es none. Todos los componentes pueden aceptar adems el valor normal en lugar de none durante una llamada a setStyle(), pero las llamadas posteriores a getStyle() devolvern none. Decoracin del texto: puede ser none o underline. El valor predeterminado es none.
textDecoration
Ambos
El componente MenuBar tambin reenva todos los valores de las propiedades de estilo del componente Menu a las instancias compuestas de ste. Para obtener una lista de propiedades de estilo del componente Menu, consulte Utilizacin de estilos con el componente Menu en la pgina 965.
Descripcin
Estado sin presionar del icono emergente Estado presionado del icono emergente Estado desactivado del icono emergente
Seleccione Archivo > Nuevo y, a continuacin, Archivo Flash (ActionScript 2.0). Seleccione Archivo > Importar > Abrir biblioteca externa y, a continuacin, seleccione el archivo HaloTheme.fla. Este archivo se encuentra en la carpeta de configuracin a nivel de la aplicacin. Para saber cul es la ubicacin exacta en el sistema operativo, consulte Temas en Utilizacin de componentes ActionScript 2.0.
3.
En el panel Biblioteca del tema, expanda la carpeta Flash UI Components 2/Themes/ MMDefault y arrastre la carpeta MenuBar Assets a la biblioteca del documento.
1022
Componente MenuBar
4. 5.
Expanda la carpeta MenuBar Assets/Elements en la biblioteca del documento. Abra los smbolos que desea personalizar. Por ejemplo, abra el smbolo MenuBarBackLeft. Personalice el smbolo como desee. Por ejemplo, deje el borde exterior en blanco. Repita los pasos 5 y 6 en todos los smbolos que desee personalizar. Por ejemplo, defina los bordes exteriores de los smbolos central y derecho con color negro.
6.
7.
8. 9.
Haga clic en el botn Atrs para volver a la lnea de tiempo principal. Arrastre un componente MenuBar al escenario. las propiedades de MenuBar para que muestren los elementos en la barra. Seleccione Control > Probar pelcula.
NO TA
El borde utilizado para resaltar elementos individuales de un componente MenuBar es una instancia de ActivatorSkin, que se encuentra en la carpeta Flash UI Components 2/Themes/MMDefault/Button Assets. Se puede personalizar este smbolo para que apunte a una clase diferente y proporcione otro borde. Sin embargo, el nombre del smbolo no se puede modificar y tampoco se puede utilizar un smbolo diferente para instancias de MenuBar distintas de un mismo documento.
1023
Clase MenuBar
Herencia
MovieClip > Clase UIObject > Clase UIComponent > MenuBar mx.controls.MenuBar
Los mtodos y las propiedades de la clase MenuBar permiten crear una barra de mens horizontal con mens emergentes y comandos. Estos mtodos y propiedades complementan los de la clase Menu; permiten crear una interfaz, en la que se puede hacer clic, que muestra y oculta mens que se comportan como un grupo para la interactividad del ratn y del teclado.
Descripcin
Aade un elemento a la barra de mens. Aade un men de una ubicacin determinada a la barra de mens. Obtiene una referencia a un men en una ubicacin determinada. Devuelve un valor booleano que indica si el men est activado (true) o desactivado (false). Elimina, de una barra de mens, un men de una ubicacin determinada. Elimina todos los elementos de men de la barra de mens. Valor booleano que indica si un men puede elegirse (true) o no (false).
MenuBar.getMenuAt()
MenuBar.getMenuEnabledAt()
MenuBar.removeMenuAt()
MenuBar.removeAll() MenuBar.setMenuEnabledAt()
1024
Componente MenuBar
Crea un subobjeto en un objeto. Elimina una instancia de componente. Llama a una funcin cuando se han establecido parmetros en el inspector de propiedades y el inspector de componentes. Obtiene la propiedad de estilo de la declaracin de estilo o del objeto. Marca el objeto de forma que se pueda volver a dibujar en el siguiente intervalo de fotogramas. Mueve el objeto a la posicin indicada. Fuerza la validacin del objeto, de forma que se pueda dibujar sobre el fotograma actual. Cambia el tamao del objeto al indicado. Define un aspecto en el objeto. Define la propiedad de estilo en la declaracin de estilo o en el objeto.
UIObject.getStyle()
UIObject.invalidate()
UIObject.move() UIObject.redraw()
Descripcin
Devuelve una referencia al objeto seleccionado. Define la seleccin en la instancia de componente.
Clase MenuBar
1025
Descripcin
Modelo de datos de una barra de mens. Cadena que determina qu atributo de cada XMLNode se va a utilizar como texto de etiqueta del men. Funcin que determina lo que se debe mostrar en cada etiqueta de men.
MenuBar.labelFunction
Descripcin
Posicin del borde inferior del objeto con respecto al borde inferior de su elemento principal correspondiente. Slo lectura. Altura del objeto, expresada en pxeles. Slo lectura. Borde izquierdo del objeto, expresado en pxeles. Slo lectura. Posicin del borde derecho del objeto con respecto al borde derecho de su elemento principal correspondiente. Slo lectura. Nmero que indica el factor de escala en la direccin x del objeto con respecto a su elemento principal correspondiente. Nmero que indica el factor de escala en la direccin y del objeto con respecto a su elemento principal correspondiente. Posicin del borde superior del objeto con respecto a su elemento principal correspondiente. Slo lectura. Valor booleano que indica si el objeto es visible (true) o no (false). Anchura del objeto, expresada en pxeles. Slo lectura. Borde izquierdo del objeto, expresado en pxeles. Slo lectura. Borde superior del objeto, expresado en pxeles. Slo lectura.
UIObject.height UIObject.left
UIObject.right
UIObject.scaleX
UIObject.scaleY
UIObject.top
UIObject.visible
UIObject.width UIObject.x
UIObject.y
1026
Componente MenuBar
Descripcin
Indica si el componente puede recibir selecciones y entradas. Nmero que indica el orden de tabulacin para un componente de un documento.
Descripcin
Se difunde cuando un usuario provoca un cambio en un men. Se difunde cuando un men se cierra. Se difunde cuando un men se abre. Se difunde cuando el puntero deja de estar sobre un elemento. Se difunde cuando el puntero se desplaza sobre un elemento.
Menu.rollOver
Clase MenuBar
1027
Descripcin
Se difunde cuando un objeto est a punto de dibujar sus grficos. Se difunde cuando el estado de un objeto pasa de ser visible a invisible. Se difunde cuando se crean subobjetos. Se difunde cuando se mueve el objeto. Se difunde cuando cambia el tamao de un objeto. Se difunde cuando el estado de un objeto pasa de ser invisible a visible. Se difunde durante la descarga de los subobjetos.
UIObject.hide
UIObject.unload
Descripcin
Se difunde cuando se selecciona un objeto. Se difunde cuando un objeto deja de seleccionarse. Se difunde cuando se presiona una tecla. Se difunde cuando se suelta una tecla.
1028
Componente MenuBar
MenuBar.addMenu()
Disponibilidad
Sintaxis 1:
menuBarInstance.addMenu(label)
Sintaxis 2:
menuBarInstance.addMenu(label, menuDataProvider)
Parmetros
label
menuDataProvider
Instancia de XML o de XMLNode que describe el men y sus elementos. Si el valor es una instancia de XML, se utiliza el primer elemento secundario de la instancia.
Valor devuelto
Mtodo; la sintaxis 1 aade un men nico y un activador de men al final de la barra de mens y utiliza la etiqueta especificada. La sintaxis 2 aade un men nico y un activador de mens definidos en el parmetro menuDataProvider XML especificado.
Ejemplo
Sintaxis 1: en el ejemplo siguiente, se aade un men File y, a continuacin, se utiliza Menu.addMenuItem() para aadir los elementos de men New y Open. Arrastre una instancia del componente MenuBar al escenario y asgnele el nombre de instancia my_mb en el inspector de propiedades. Aada el cdigo siguiente al fotograma 1 de la lnea de tiempo:
/** Se requiere: - Componente MenuBar en el escenario (nombre de instancia: my_mb) */ var my_mb:mx.controls.MenuBar;
MenuBar.addMenu()
1029
Sintaxis 2: en el ejemplo siguiente, se aade un men Font con los elementos de men Bold e Italic, que estn definidos en el proveedor de datos XML myDP_xml:
my_mb
Arrastre una instancia del componente MenuBar al escenario y asgnele el nombre de instancia en el inspector de propiedades. Aada el cdigo siguiente al fotograma 1 de la lnea de tiempo:
/** Se requiere: - Componente MenuBar en el escenario (nombre de instancia: my_mb) */ var my_mb:mx.controls.MenuBar; var myDP_xml:XML = new XML(); myDP_xml.addMenuItem({type:"check", label:"Bold", instanceName:"check1"}); myDP_xml.addMenuItem({type:"check", label:"Italic", instanceName:"check2"}); var my_menu:mx.controls.Menu = my_mb.addMenu("Font", myDP_xml);
Sintaxis 3: el ejemplo siguiente, aade dos mens llamados File y Edit (Archivo y Edicin). Arrastre una instancia del componente MenuBar al escenario y asgnele el nombre de instancia my_mb en el inspector de propiedades. Aada el cdigo siguiente al fotograma 1 de la lnea de tiempo:
/** Se requiere: - Componente MenuBar en el escenario (nombre de instancia: my_mb) */ var my_mb:mx.controls.MenuBar; // Cambiar texto de etiqueta para que se lea desde "name". my_mb.labelField = "name"; var my_menu:mx.controls.Menu = my_mb.addMenu({name:"File"}); my_menu.addMenuItem({name:"New", instanceName:"newInstance"}); my_menu.addMenuItem({name:"Open", instanceName:"openInstance"}); var my2_menu:mx.controls.Menu = my_mb.addMenu({name:"Edit"}); my2_menu.addMenuItem({name:"Undo", instanceName:"undoInstance"}); my2_menu.addMenuItem({name:"Redo", instanceName:"redoInstance"});
1030
Componente MenuBar
MenuBar.addMenuAt()
Disponibilidad
Sintaxis 1:
menuBarInstance.addMenuAt(index, label)
Sintaxis 2:
menuBarInstance.addMenuAt(index, label, menuDataProvider)
Parmetros
index
Entero que indica la posicin en la que debe insertarse el men. La primera posicin es 0. Para realizar la adicin al final del men, llame al mtodo MenuBar.addMenu(label). Cadena que indica la etiqueta del nuevo men. Instancia de XML o de XMLNode que describe el men. Si el valor es una instancia de XML, se utiliza el primer elemento secundario de la instancia.
label
menuDataProvider
Valor devuelto
Mtodo; la sintaxis 1 aade un nico men y un activador de men en el ndice especificado con la etiqueta determinada. La sintaxis 2 aade un men nico y un activador de men con etiqueta en el ndice especificado. El contenido del men se define en el parmetro menuDataProvider.
Ejemplo
Sintaxis 1: en el siguiente ejemplo, se coloca un men en la primera posicin de la instancia de MenuBar my_mb.
MenuBar.addMenuAt()
1031
Arrastre una instancia del componente MenuBar al escenario y asgnele el nombre de instancia my_mb en el inspector de propiedades. Aada el cdigo siguiente al fotograma 1 de la lnea de tiempo:
/** Se requiere: - Componente MenuBar en el escenario (nombre de instancia: my_mb) */ var my_mb:mx.controls.MenuBar; var my_menu:mx.controls.Menu = my_mb.addMenuAt(0, "Flash"); my_menu.addMenuItem({label:"About Adobe Flash", instanceName:"aboutInst"}); my_menu.addMenuItem({label:"Preferences", instanceName:"PrefInst"});
Sintaxis 2: en el ejemplo siguiente, se aade un men Edit con los elementos de men Undo, Redo, Cut y Copy, que estn definidos en el proveedor de datos XML myDP_xml. Se aade el men a la primera posicin de la instancia de MenuBar my_mb. Arrastre una instancia del componente MenuBar al escenario y asgnele el nombre de instancia my_mb en el inspector de propiedades. Aada el cdigo siguiente al fotograma 1 de la lnea de tiempo:
/** Se requiere: - Componente MenuBar en el escenario (nombre de instancia: my_mb) */ var my_mb:mx.controls.MenuBar; var myDP_xml:XML = new XML(); myDP_xml.addMenuItem({label:"Undo", instanceName:"undoInst"}); myDP_xml.addMenuItem({label:"Redo", instanceName:"redoInst"}); myDP_xml.addMenuItem({type:"separator"}); myDP_xml.addMenuItem({label:"Cut", instanceName:"cutInst"}); myDP_xml.addMenuItem({label:"Copy", instanceName:"copyInst"}); my_mb.addMenuAt(0, "Edit", myDP_xml);
MenuBar.dataProvider
Disponibilidad
1032
Componente MenuBar
Sintaxis
menuBarInstance.dataProvider
Descripcin
es un objeto de nodo XML. Si se define esta propiedad, se sustituye el modelo de datos existente del componente MenuBar. Los nodos secundarios que tenga el proveedor de datos se utilizan como elementos de la propia barra de mens; los subnodos de estos nodos secundarios se utilizan como elementos de sus respectivos mens. El valor predeterminado es undefined.
N OT A
Todas las instancias de XML o de XMLNode reciben automticamente los mtodos y las propiedades de la clase MenuDataProvider cuando se utilizan con el componente MenuBar.
Ejemplo
En el siguiente ejemplo, se carga un archivo de men XML desde una pgina Web y se utiliza el controlador de eventos onLoad para asignarlo a la propiedad dataProvider de la instancia de MenuBar my_mb. Arrastre una instancia del componente MenuBar al escenario y asgnele el nombre de instancia my_mb en el inspector de propiedades. Aada el cdigo siguiente al fotograma 1 de la lnea de tiempo:
/** Se requiere: - Componente MenuBar en el escenario (nombre de instancia: my_mb) */ var my_mb:mx.controls.MenuBar; var myDP_xml:XML = new XML(); myDP_xml.ignoreWhite = true; myDP_xml.onLoad = function(success:Boolean) { if (success) { my_mb.dataProvider = myDP_xml.firstChild; } else { trace("error loading XML file"); } }; myDP_xml.load("http://www.flash-mx.com/mm/xml/menubar.xml");
MenuBar.dataProvider
1033
MenuBar.getMenuAt()
Disponibilidad
Parmetros
index
Valor devuelto
Una referencia al men en el ndice especificado. Si no hay ningn men en esta posicin, el valor es undefined.
Descripcin
Mtodo; devuelve una referencia al men en el ndice especificado. Puesto que getMenuAt() devuelve una referencia, es posible aadir elementos a un men en el ndice especificado.
Ejemplo
En el siguiente ejemplo, se crea un men File y se llama a getMenuAt(), que crea una referencia para l. A continuacin, se utiliza la referencia para aadir dos elementos de men, New y Open, al men File. Arrastre una instancia del componente MenuBar al escenario y asgnele el nombre de instancia my_mb en el inspector de propiedades. Aada el cdigo siguiente al fotograma 1 de la lnea de tiempo:
/** Se requiere: - Componente MenuBar en el escenario (nombre de instancia: my_mb) */ var my_mb:mx.controls.MenuBar; my_mb.addMenu("File"); var my_menu:mx.controls.Menu = my_mb.getMenuAt(0); my_menu.addMenuItem({label:"New",instanceName:"newInst"}); my_menu.addMenuItem({label:"Open",instanceName:"openInst"});
1034
Componente MenuBar
MenuBar.getMenuEnabledAt()
Disponibilidad
Parmetros
index
Valor devuelto
Valor booleano que indica si este men puede elegirse (true) o no (false).
Descripcin
Mtodo; devuelve un valor booleano que indica si este men puede elegirse (true) o no (false).
Ejemplo
En el siguiente ejemplo, se crea un men File con dos elementos de men y, a continuacin, se llama a setMenuEnabledAt() con un valor de false para desactivarlo. Tambin se llama a getMenuEnabledAt() y se muestra el resultado para ensear al usuario cmo determinar si un men est activado. Arrastre una instancia del componente MenuBar al escenario y asgnele el nombre de instancia my_mb en el inspector de propiedades. Aada el cdigo siguiente al fotograma 1 de la lnea de tiempo:
/** Se requiere: - Componente MenuBar en el escenario (nombre de instancia: my_mb) */ var my_mb:mx.controls.MenuBar; var my_menu:mx.controls.Menu = my_mb.addMenu("File"); my_menu.addMenuItem({label:"New", instanceName:"newInstance"}); my_menu.addMenuItem({label:"Open", instanceName:"openInstance"}); // Desactivar men "file". my_mb.setMenuEnabledAt(0, false); // Comprobar si se puede seleccionar el men "file". trace("Menu can be selected: " + my_mb.getMenuEnabledAt(0));
MenuBar.getMenuEnabledAt()
1035
MenuBar.labelField
Disponibilidad
Descripcin
Propiedad; cadena que especifica el atributo de cada nodo XML que se va a utilizar como texto de etiqueta del men. El valor de esta propiedad tambin se pasa a los mens que se crean desde la barra de mens. El valor predeterminado es label. Despus de definir la propiedad dataProvider, esta propiedad es de slo lectura.
Ejemplo
En el siguiente ejemplo, se especifica que el atributo name de cada nodo XML proporcionar el texto de etiqueta de los elementos de men.
my_mb
Arrastre una instancia del componente MenuBar al escenario y asgnele el nombre de instancia en el inspector de propiedades. Aada el cdigo siguiente al fotograma 1 de la lnea de tiempo:
/** Se requiere: - Componente MenuBar en el escenario (nombre de instancia: my_mb) */ var my_mb:mx.controls.MenuBar; // Cambiar texto de etiqueta para que se lea desde "name". my_mb.labelField = "name"; var my_menu:mx.controls.Menu = my_mb.addMenu({name:"File"}); my_menu.addMenuItem({name:"New", instanceName:"newInstance"}); my_menu.addMenuItem({name:"Open", instanceName:"openInstance"});
1036
Componente MenuBar
MenuBar.labelFunction
Disponibilidad
Descripcin
Propiedad; funcin que determina lo que se debe mostrar en cada texto de etiqueta de men. La funcin acepta el nodo XML asociado con un elemento como parmetro y devuelve la cadena que se va a utilizar como texto de etiqueta. Esta propiedad se pasa a los mens que se crean desde la barra de mens. El valor predeterminado es undefined. Despus de definir la propiedad dataProvider, esta propiedad es de slo lectura.
Ejemplo
En el siguiente ejemplo, se utiliza una funcin de etiqueta para crear y devolver una etiqueta personalizada, como por ejemplo New (Control +N), desde los atributos de nodo. Arrastre una instancia del componente MenuBar al escenario y asgnele el nombre de instancia my_mb en el inspector de propiedades. Aada el cdigo siguiente al fotograma 1 de la lnea de tiempo:
/** Se requiere: - Componente MenuBar en el escenario (nombre de instancia: my_mb) */ var my_mb:mx.controls.MenuBar; var my_menu:mx.controls.Menu = my_mb.addMenu("File"); my_menu.addMenuItem({label:"New", data:"Control+N", instanceName:"newInstance"}); my_menu.addMenuItem({label:"Open", data:"Control+O", instanceName:"openInstance"}); my_menu.addMenuItem({label:"Close", data:"Control+W", instanceName:"closeInstance"}); // Dar formato a los datos XML proporcionados para el men. my_menu.labelFunction = function(node:XMLNode):String { var attrb:Object = node.attributes; return (attrb.label + " (" + attrb.data + ")"); };
MenuBar.labelFunction
1037
MenuBar.removeAll()
Disponibilidad
Parmetros
Ninguno.
Valor devuelto
Ninguno.
Descripcin
En el siguiente ejemplo, se crean los mens File, Edit, Tools y Window en la barra de mens. Despus, cuando se hace clic en un botn, el script llama a removeAll() para eliminar los elementos de men.
myMenuBar
Arrastre una instancia del componente MenuBar al escenario y asgnele el nombre de instancia en el inspector de propiedades. Arrastre tambin el componente Button al escenario e introduzca el nombre de instancia remBtn. Aada el cdigo siguiente al fotograma 1 de la lnea de tiempo:
var menu = myMenuBar.addMenu("File"); var menu = myMenuBar.addMenu("Edit"); var menu = myMenuBar.addMenu("Tools"); var menu = myMenuBar.addMenu("Window"); // Aadir un botn que elimine los elementos de men. var rem_listener = new Object(); rem_listener.click = function() { myMenuBar.removeAll(); }; remBtn.addEventListener("click", rem_listener);
1038
Componente MenuBar
MenuBar.removeMenuAt()
Disponibilidad
Parmetros
index
Valor devuelto
Una referencia al men en el ndice especificado de la barra de mens. Si no hay ningn men en esta posicin de la barra de mens, el valor es undefined.
Descripcin
Mtodo; elimina el men en el ndice especificado. Si no hay ningn elemento de men en dicho ndice, la llamada a este mtodo no tiene efecto alguno. Adems, cuando se elimina ms de un men, la asignacin de ndices se desplaza en consecuencia segn se van eliminando mens.
Ejemplo
En el siguiente ejemplo, se crea un men File y un men Edit en la barra de mens. Despus, se llama a removeMenuAt() para eliminar el men de la posicin 0, que es el men File, y se deja el men Edit.
MenuBar.removeMenuAt()
1039
Arrastre una instancia del componente MenuBar al escenario y asgnele el nombre de instancia my_mb en el inspector de propiedades. Aada el cdigo siguiente al fotograma 1 de la lnea de tiempo:
/** Se requiere: - Componente MenuBar en el escenario (nombre de instancia: my_mb) */ import mx.controls.Menu; import mx.controls.MenuBar; var my_mb:MenuBar; var file_menu:Menu = my_mb.addMenu("File"); file_menu.addMenuItem({label:"New", instanceName:"newInstance"}); file_menu.addMenuItem({label:"Open", instanceName:"openInstance"}); var edit_menu:Menu = my_mb.addMenu("Edit"); edit_menu.addMenuItem({label:"Cut", instanceName:"cutInstance"}); edit_menu.addMenuItem({label:"Copy", instanceName:"copyInstance"}); edit_menu.addMenuItem({label:"Paste", instanceName:"pasteInstance"}); // Borrar men file. my_mb.removeMenuAt(0);
MenuBar.setMenuEnabledAt()
Disponibilidad
Parmetros
index boolean
Valor booleano que indica si el elemento de men del ndice especificado est activado (true) o no (false).
Valor devuelto
Ninguno.
1040
Componente MenuBar
Descripcin
Mtodo; activa el men en el ndice especificado. Si no hay ningn men en dicho ndice, la llamada a este mtodo no tiene efecto alguno.
Ejemplo
En el siguiente ejemplo, se aade un men File a la barra de mens y se llama al mtodo setMenuEnabledAt para activar o desactivar el men, segn est o no seleccionada la casilla de verificacin menuEnabled_ch. Arrastre una instancia del componente MenuBar al escenario y asgnele el nombre de instancia my_mb en el inspector de propiedades. Arrastre un componente CheckBox al escenario y asgnele el nombre de instancia menuEnabled_ch. Aada el cdigo siguiente al fotograma 1 de la lnea de tiempo:
/** Se requiere: - Componente MenuBar en el escenario (nombre de instancia: my_mb) - Componente CheckBox en el escenario (nombre de instancia: menuEnabled_ch) */ import mx.controls.CheckBox; import mx.controls.Menu; import mx.controls.MenuBar; var my_mb:MenuBar; var menuEnabled_ch:CheckBox; menuEnabled_ch.selected = true; var my_menu:Menu = my_mb.addMenu("File"); my_menu.addMenuItem({label:"New", instanceName:"newInstance"}); my_menu.addMenuItem({label:"Open", instanceName:"openInstance"}); var chListener:Object = new Object(); chListener.click = function(evt_obj:Object) { // Activar o desactivar el men "file". my_mb.setMenuEnabledAt(0, evt_obj.target.selected); } menuEnabled_ch.addEventListener("click", chListener);
MenuBar.setMenuEnabledAt()
1041
1042
Componente MenuBar
CAPTULO 32
Componente NumericStepper
El componente NumericStepper permite recorrer un conjunto ordenado de nmeros. El componente consta de un nmero en un cuadro de texto que se muestra junto a pequeos botones de flecha arriba y flecha abajo. Cuando el usuario presiona los botones, el nmero aumenta o disminuye de forma gradual segn la unidad especificada en el parmetro stepSize, hasta que el usuario suelta los botones o hasta que se alcanza el valor mximo o mnimo. El texto del cuadro de texto del componente NumericStepper tambin se puede editar.
NO TA
32
El componente NumericStepper es compatible tanto con ActionScript 2.0 como con ActionScript 3.0. En este documento, se describe el componente de la versin 2. Si utiliza el componente de la versin 3, consulte Utilizacin de NumericStepper en Utilizacin de componentes ActionScript 3.0.
El componente NumericStepper slo gestiona datos numricos. Adems, para ver ms de dos lugares numricos (por ejemplo, los nmeros 5246 o 1,34), es preciso cambiar el tamao del componente durante la edicin. Un componente NumericStepper puede estar activado o desactivado en una aplicacin. Si est desactivado, no recibe la entrada del ratn ni del teclado. Si est activado y la seleccin interna est definida en el cuadro de texto, se selecciona al presionar el tabulador hasta su posicin o al hacer clic en l. Cuando una instancia de NumericStepper est seleccionada, es posible utilizar las siguientes teclas para controlarla:
Tecla
Flecha abajo Flecha izquierda Flecha derecha Mays+Tabulador Tabulador Flecha arriba
Descripcin
El valor cambia en una unidad. Desplaza el punto de insercin a la izquierda dentro del cuadro de texto. Desplaza el punto de insercin a la derecha dentro del cuadro de texto. Desplaza la seleccin al objeto anterior. Desplaza la seleccin al objeto siguiente. El valor cambia en una unidad.
1043
Para ms informacin sobre el control de la seleccin, consulte Clase FocusManager en la pgina 763 o Creacin de un desplazamiento personalizado de la seleccin en Utilizacin de componentes ActionScript 2.0. La previsualizacin dinmica de cada instancia de NumericStepper refleja la configuracin del parmetro value en el inspector de propiedades o el inspector de componentes durante la edicin. Sin embargo, en la previsualizacin dinmica ni el teclado ni el ratn pueden interactuar con los botones de flecha de NumericStepper. Cuando se aade el componente NumericStepper a una aplicacin, es posible utilizar el panel Accesibilidad para que los lectores de pantalla puedan acceder al mismo. En primer lugar, debe aadir la lnea de cdigo siguiente para activar la accesibilidad:
mx.accessibility.NumericStepperAccImpl.enableAccessibility();
La accesibilidad de un componente slo se activa una vez, sea cual sea su nmero de instancias. Para ms informacin, consulte Creacin de contenido accesible en Utilizacin de Flash.
Parmetros de NumericStepper
A continuacin se indican los parmetros de edicin que se pueden definir para cada instancia del componente NumericStepper en el inspector de propiedades o el inspector de componentes (opcin de men Ventana > Inspector de componentes): define el valor mximo que se puede mostrar en el componente. El valor predeterminado es 10. Si establece un parmetro stepSize de forma que el valor mnimo ms el valor de stepSize en algn punto no sea igual al valor mximo (mnimo + stepSize + stepSize + stepSize y as sucesivamente), el valor mximo se mostrar cuando el control numrico supere el valor mximo.
maximum minimum
1044
Componente NumericStepper
stepSize
define la unidad de incremento o disminucin del componente con cada clic. El valor predeterminado es 1. define el valor que se muestra en el rea de texto del componente. El valor predeterminado es 0. A continuacin se indican los parmetros adicionales que se pueden definir para cada instancia del componente NumericStepper en el inspector de componentes (Ventana > Inspector de componentes):
value
enabled
es un valor booleano que indica si el componente acepta selecciones y entradas. El valor predeterminado es true.
es un valor booleano que indica si el objeto es visible (true) o no (false). El valor predeterminado es true.
visible
NO T A
Las propiedades minHeight y minWidth se utilizan en rutinas internas de cambio de tamao. Se definen en UIObject y se sustituyen por distintos componentes segn convenga. Estas propiedades pueden utilizarse si se crea un administrador de diseo personalizado en la aplicacin. De lo contrario, establecer estas propiedades en el inspector de componentes no produce ningn efecto visible.
Puede escribir cdigo ActionScript para controlar stas y otras opciones del componente NumericStepper utilizando sus propiedades, mtodos y eventos. Para ms informacin, consulte Clase NumericStepper en la pgina 1050.
Seleccione Archivo > Nuevo y, a continuacin, Archivo Flash (ActionScript 2.0). Arrastre un componente NumericStepper desde el panel Componentes al escenario. En el inspector de propiedades, introduzca el nombre de instancia my_nstep. Arrastre un componente Label desde el panel Componentes al escenario. En el inspector de propiedades, introduzca el nombre de instancia my_label.
1045
6.
Seleccione el fotograma 1 de la lnea de tiempo, abra el panel Acciones e introduzca el cdigo siguiente:
/** Se requiere: - Componente NumericStepper en el escenario (nombre de instancia: my_nstep) - Componente Label en el escenario (nombre de instancia: my_label) */ var my_nstep:mx.controls.NumericStepper; var my_label:mx.controls.Label; my_label.text = "value = " + my_nstep.value; // Crear un objeto detector. var nstepListener:Object = new Object(); nstepListener.change = function(evt_obj:Object) { my_label.text = "value = " + evt_obj.target.value; }; // Aadir detector. my_nstep.addEventListener("change", nstepListener);
La ltima lnea de cdigo aade un controlador de eventos change a la instancia my_nstep. El controlador (nstepListener) asigna el valor actual del control numrico a la propiedad de text de la instancia de Label.
7.
1046
Componente NumericStepper
Tema
Halo
Descripcin
Esquema de colores base de un componente. Los valores posibles son haloGreen, haloBlue y haloOrange. El valor predeterminado es haloGreen. Color del texto. El valor predeterminado es 0x0B333C para el tema Halo y en blanco para el tema Sample. Color del texto cuando el componente est desactivado. El color predeterminado es 0x848384 (gris oscuro). Valor booleano que indica si la fuente especificada en fontFamily es una fuente incorporada. Este estilo debe definirse como true si fontFamily hace referencia a una fuente incorporada. De lo contrario, no se utiliza la fuente incorporada. Si el estilo se define como true y fontFamily no hace referencia a una fuente incorporada, no se muestra ningn texto. El valor predeterminado es false. Nombre de la fuente del texto. El valor predeterminado es _sans. Tamao de la fuente en puntos. El valor predeterminado es 10. Estilo de la fuente: puede ser normal o italic. El valor predeterminado es normal. Grosor de la fuente: puede ser none o bold. El valor predeterminado es none. Todos los componentes pueden aceptar tambin el valor normal en lugar de none durante una llamada a setStyle(), pero las llamadas posteriores a getStyle() devolvern none. Alineacin del texto: puede ser left, right o center. El valor predeterminado es center.
color
disabledColor
embedFonts
fontFamily
fontSize
fontStyle
fontWeight
textAlign
Ambos
1047
Estilo
textDecoration
Tema
Ambos Ambos
Descripcin
Decoracin del texto: puede ser none o underline. El valor predeterminado es none. Nmero de milisegundos de demora entre el momento en que el usuario presiona por primera vez un botn y el momento en que comienza a repetirse la accin. El valor predeterminado es 500 (medio segundo). Nmero de milisegundos entre clics automticos cuando un usuario mantiene presionado el botn del ratn sobre un botn. El valor predeterminado es 35. Color de las flechas. El valor predeterminado es 0x2B333C (gris oscuro).
repeatDelay
repeatInterval
Ambos
symbolColor
Sample
Descripcin
Estado del botn de flecha arriba cuando no est presionado. El valor predeterminado es StepUpArrowUp. Estado del botn de flecha arriba cuando est presionado. El valor predeterminado es StepUpArrowDown.
upArrowDown
1048
Componente NumericStepper
Propiedad
upArrowOver
Descripcin
Estado del botn de flecha arriba cuando se desplaza el puntero sobre l. El valor predeterminado es StepUpArrowOver. Estado del botn de flecha arriba cuando est desactivado. El valor predeterminado es StepUpArrowDisabled. Estado del botn de flecha abajo cuando no est presionado. El valor predeterminado es StepDownArrowUp. Estado del botn de flecha abajo cuando est presionado. El valor predeterminado es StepDownArrowDown. Estado del botn de flecha abajo cuando se desplaza el puntero sobre l. El valor predeterminado es StepDownArrowOver. Estado del botn de flecha abajo cuando est desactivado. El valor predeterminado es StepDownArrowDisabled.
upArrowDisabled
downArrowUp
downArrowDown
downArrowOver
downArrowDisabled
Seleccione Archivo > Nuevo y, a continuacin, Archivo Flash (ActionScript 2.0). Seleccione Archivo > Importar > Abrir biblioteca externa y seleccione el archivo HaloTheme.fla. Este archivo se encuentra en la carpeta de configuracin a nivel de la aplicacin. Para saber cul es la ubicacin exacta en el sistema operativo, consulte Temas en Utilizacin de componentes ActionScript 2.0.
3.
En el panel Biblioteca del tema, expanda la carpeta Flash UI Components 2/Themes/ MMDefault y arrastre la carpeta Stepper Assets a la biblioteca del documento. Expanda la carpeta Stepper Assets en la biblioteca del documento. Expanda la carpeta Stepper Assets/States en la biblioteca del documento. Abra los smbolos que desea personalizar. Por ejemplo, abra el smbolo StepDownArrowDisabled. Personalice el smbolo como desee. Por ejemplo, cambie el color blanco del grfico interior por un gris claro. Repita los pasos 6 y 7 en todos los smbolos que desee personalizar. Por ejemplo, repita el mismo cambio en la flecha arriba. Haga clic en el botn Atrs para volver a la lnea de tiempo principal.
4. 5. 6.
7.
8.
9.
1049
10. Arrastre
Este ejemplo ha personalizado los aspectos desactivados; utilice cdigo ActionScript para establecer que la instancia de NumericStepper se desactive a fin de ver los aspectos modificados.
11.
La carpeta Stepper Assets/States tambin contiene un smbolo StepTrack, que se utiliza como espaciador entre los aspectos de flecha arriba y flecha abajo si la altura total de la instancia de NumericStepper es mayor que la suma de las dos alturas de flecha. Este identificador de vinculacin de smbolos no se puede modificar mediante una propiedad de aspecto, aunque el smbolo de biblioteca puede modificarse si el identificador de vinculacin permanece inalterado.
Clase NumericStepper
Herencia
MovieClip > Clase UIObject > Clase UIComponent > NumericStepper mx.controls.NumericStepper
Las propiedades de la clase NumericStepper permiten definir lo siguiente en tiempo de ejecucin: los valores mnimo y mximo que se muestran en el componente, la unidad de incremento o disminucin como respuesta a un clic y el valor actual mostrado en el componente. Si una propiedad de la clase NumericStepper se define con ActionScript, sustituye al parmetro del mismo nombre definido en el inspector de propiedades o el inspector de componentes. El componente NumericStepper utiliza Focus Manager para sustituir el rectngulo de seleccin predeterminado de Flash Player y dibuja uno personalizado con esquinas redondeadas. Para ms informacin, consulte Creacin de un desplazamiento personalizado de la seleccin en Utilizacin de componentes ActionScript 2.0. Cada clase de componente tiene una propiedad version que es una propiedad de clase. Las propiedades de clase slo estn disponibles en la propia clase. La propiedad version devuelve una cadena que indica la versin del componente. Para acceder a esta propiedad, utilice el cdigo siguiente:
trace(mx.controls.NumericStepper.version);
N O TA 1050
Componente NumericStepper
Crea un subobjeto en un objeto. Elimina una instancia de componente. Llama a una funcin cuando se han establecido parmetros en el inspector de propiedades y el inspector de componentes. Obtiene la propiedad de estilo de la declaracin de estilo o del objeto. Marca el objeto de forma que se pueda volver a dibujar en el siguiente intervalo de fotogramas. Mueve el objeto a la posicin indicada. Fuerza la validacin del objeto, de forma que se pueda dibujar sobre el fotograma actual. Cambia el tamao del objeto al indicado. Define un aspecto en el objeto. Define la propiedad de estilo en la declaracin de estilo o en el objeto.
UIObject.getStyle()
UIObject.invalidate()
UIObject.move() UIObject.redraw()
Clase NumericStepper
1051
Descripcin
Devuelve una referencia al objeto seleccionado. Define la seleccin en la instancia de componente.
Descripcin
Nmero que indica el valor mximo del rango. Nmero que indica el valor mnimo del rango. Nmero que indica el siguiente valor de la secuencia. Es una propiedad de slo lectura. Es una propiedad de slo lectura.
NumericStepper.stepSize NumericStepper.value
Nmero que indica la unidad de cambio de cada clic. Nmero que indica el valor actual del componente.
1052
Componente NumericStepper
Descripcin
Posicin del borde inferior del objeto con respecto al borde inferior de su elemento principal correspondiente. Slo lectura. Altura del objeto, expresada en pxeles. Slo lectura. Borde izquierdo del objeto, expresado en pxeles. Slo lectura. Posicin del borde derecho del objeto con respecto al borde derecho de su elemento principal correspondiente. Slo lectura. Nmero que indica el factor de escala en la direccin x del objeto con respecto a su elemento principal correspondiente. Nmero que indica el factor de escala en la direccin y del objeto con respecto a su elemento principal correspondiente. Posicin del borde superior del objeto con respecto a su elemento principal correspondiente. Slo lectura. Valor booleano que indica si el objeto es visible (true) o no (false). Anchura del objeto, expresada en pxeles. Slo lectura. Borde izquierdo del objeto, expresado en pxeles. Slo lectura. Borde superior del objeto, expresado en pxeles. Slo lectura.
UIObject.height UIObject.left
UIObject.right
UIObject.scaleX
UIObject.scaleY
UIObject.top
UIObject.visible
UIObject.width UIObject.x
UIObject.y
Descripcin
Indica si el componente puede recibir selecciones y entradas. Nmero que indica el orden de tabulacin para un componente de un documento.
Clase NumericStepper
1053
Descripcin
Se activa cuando cambia el valor del componente.
Descripcin
Se difunde cuando un objeto est a punto de dibujar sus grficos. Se difunde cuando el estado de un objeto pasa de ser visible a invisible. Se difunde cuando se crean subobjetos. Se difunde cuando se mueve el objeto. Se difunde cuando cambia el tamao de un objeto. Se difunde cuando el estado de un objeto pasa de ser invisible a visible. Se difunde durante la descarga de los subobjetos.
UIObject.hide
UIObject.unload
Descripcin
Se difunde cuando se selecciona un objeto. Se difunde cuando un objeto deja de seleccionarse. Se difunde cuando se presiona una tecla. Se difunde cuando se suelta una tecla.
1054
Componente NumericStepper
NumericStepper.change
Disponibilidad
Flash MX 2004.
Sintaxis
Sintaxis 1:
var listenerObject:Object = new Object(); listenerObject.change = function(eventObject:Object) { //... }; numericStepperInstance.addEventListener("change", listenerObject);
Sintaxis 2:
on (change) { // ... }
Descripcin
Evento; se difunde a todos los detectores registrados cuando se cambia el valor del componente. Una instancia de componente (stepperInstance) distribuye un evento (en este caso, change) y ste se controla mediante una funcin, tambin denominada controlador, asociada con el objeto detector (listenerObject) que crea el usuario. Se define un mtodo con el mismo nombre que el evento del objeto detector; se llama al mtodo cuando se activa el evento. Cuando se activa el evento, ste pasa automticamente un objeto de evento (eventObject) al mtodo del objeto detector. Cada objeto de evento tiene propiedades que contienen informacin sobre el evento. Estas propiedades sirven para escribir el cdigo que controla el evento. Finalmente, se llama al mtodo EventDispatcher.addEventListener() de la instancia del componente que difunde el evento para registrar el detector con la instancia. Cuando la instancia distribuya el evento, se llamar al detector. Para ms informacin, consulte Clase EventDispatcher en la pgina 527.
NumericStepper.change
1055
Ejemplo
En el ejemplo siguiente, se crea un detector para un evento change en el control numrico llamado my_nstep. Cuando se cambia el valor del control numrico, el detector muestra el valor (propiedad value) en el panel Salida. Arrastre una instancia del componente NumericStepper al escenario y asgnele el nombre de instancia my_nstep en el inspector de propiedades. Aada el cdigo siguiente al fotograma 1 de la lnea de tiempo:
/** Se requiere: - Componente NumericStepper en el escenario (nombre de instancia: my_nstep) */ var my_nstep:mx.controls.NumericStepper; // Crear un objeto detector. var nstepListener:Object = new Object(); nstepListener.change = function(evt_obj:Object){ // evt_obj.target es el componente que genera el evento change // es decir, el componente NumericStepper. trace("Value changed to " + evt_obj.target.value); } // Aadir detector. my_nstep.addEventListener("change", nstepListener);
1056
Componente NumericStepper
NumericStepper.maximum
Disponibilidad
Flash MX 2004.
Sintaxis
numericStepperInstance.maximum
Descripcin
Propiedad; valor mximo del rango del componente. Esta propiedad puede contener un nmero de tres cifras decimales como mximo. El valor predeterminado es 10.
Ejemplo
En el ejemplo siguiente, se define el valor mximo del rango del componente en 20. Arrastre una instancia del componente NumericStepper al escenario y asgnele el nombre de instancia my_nstep en el inspector de propiedades. Aada el cdigo siguiente al fotograma 1 de la lnea de tiempo:
/** Se requiere: - Componente NumericStepper en el escenario (nombre de instancia: my_nstep) */ var my_nstep:mx.controls.NumericStepper; my_nstep.maximum = 20;
Vase tambin
NumericStepper.minimum
NumericStepper.maximum
1057
NumericStepper.minimum
Disponibilidad
Flash MX 2004.
Sintaxis
numericStepperInstance.minimum
Descripcin
Propiedad; valor mnimo del rango del componente. Esta propiedad puede contener un nmero de tres cifras decimales como mximo. El valor predeterminado es 0.
Ejemplo
En el ejemplo siguiente, se establece el valor mnimo y el valor inicial de la instancia de NumericStepper en 100 y el valor mximo en 120. Arrastre una instancia del componente NumericStepper al escenario y asgnele el nombre de instancia my_nstep en el inspector de propiedades. Aada el cdigo siguiente al fotograma 1 de la lnea de tiempo:
/** Se requiere: - Componente NumericStepper en el escenario (nombre de instancia: my_nstep) */ var my_nstep:mx.controls.NumericStepper; my_nstep.minimum = 100; my_nstep.maximum = 120; my_nstep.value = my_nstep.minimum;
Vase tambin
NumericStepper.maximum
1058
Componente NumericStepper
NumericStepper.nextValue
Disponibilidad
Flash MX 2004.
Sintaxis
numericStepperInstance.nextValue
Descripcin
Propiedad (slo lectura); siguiente valor de la secuencia. Esta propiedad puede contener un nmero de tres cifras decimales como mximo.
Ejemplo
En el ejemplo siguiente, se establece el valor inicial de la instancia del componente NumericStepper en -6 y se establece la propiedad stepSize en 3. A continuacin, se muestra el valor de la propiedad nextValue en el panel Salida. Debera verse el mismo valor al hacer clic en la flecha arriba del control numrico. Arrastre una instancia del componente NumericStepper al escenario y asgnele el nombre de instancia my_nstep en el inspector de propiedades. Aada el cdigo siguiente al fotograma 1 de la lnea de tiempo:
/** Se requiere: - Componente NumericStepper en el escenario (nombre de instancia: my_nstep) */ var my_nstep:mx.controls.NumericStepper; my_nstep.stepSize = 3; my_nstep.minimum = -6; my_nstep.maximum = 12; my_nstep.value = my_nstep.minimum; trace(my_nstep.nextValue); // -3
Vase tambin
NumericStepper.previousValue
NumericStepper.nextValue
1059
NumericStepper.previousValue
Disponibilidad
Flash MX 2004.
Sintaxis
numericStepperInstance.previousValue
Descripcin
Propiedad (slo lectura); valor anterior de la secuencia. Esta propiedad puede contener un nmero de tres cifras decimales como mximo.
Ejemplo
En el ejemplo siguiente, se establece el valor inicial de la instancia de NumericStepper en el valor mnimo de 6. Se define el valor stepSize en 3 y se crea un objeto detector para un evento change. Cuando se produce un evento change, el ejemplo muestra la propiedad previousValue en el panel Salida. Arrastre una instancia del componente NumericStepper al escenario y asgnele el nombre de instancia my_nstep en el inspector de propiedades. Aada el cdigo siguiente al fotograma 1 de la lnea de tiempo:
/** Se requiere: - Componente NumericStepper en el escenario (nombre de instancia: my_nstep) */ var my_nstep:mx.controls.NumericStepper; my_nstep.minimum = 6; my_nstep.value = my_nstep.minimum; my_nstep.maximum = 120; my_nstep.stepSize = 3; // Crear un objeto detector. var nstepListener:Object = new Object(); nstepListener.change = function(evt_obj:Object) { trace("previous value = " + evt_obj.target.previousValue); } // Aadir detector. my_nstep.addEventListener("change", nstepListener);
Vase tambin
NumericStepper.nextValue
1060 Componente NumericStepper
NumericStepper.stepSize
Disponibilidad
Flash MX 2004.
Sintaxis
numericStepperInstance.stepSize
Descripcin
Propiedad; cantidad en unidades que cambia con respecto al valor actual. El valor predeterminado es 1. Este valor no puede ser 0. Esta propiedad puede contener un nmero de tres cifras decimales como mximo.
Ejemplo
En el ejemplo siguiente, se establece el valor inicial de la instancia de NumericStepper en el valor mnimo de 3. Tambin se define el valor stepSize en 3 para hacer que el control numrico produzca un incremento de 3 cuando el usuario haga clic en la flecha arriba y un decremento de 3 cuando el usuario haga clic en la flecha abajo. Arrastre una instancia del componente NumericStepper al escenario y asgnele el nombre de instancia my_nstep en el inspector de propiedades. Aada el cdigo siguiente al fotograma 1 de la lnea de tiempo:
/** Se requiere: - Componente NumericStepper en el escenario (nombre de instancia: my_nstep) */ var my_nstep:mx.controls.NumericStepper; my_nstep.minimum = 3; my_nstep.maximum = 120; my_nstep.value = my_nstep.minimum; my_nstep.stepSize = 3;
NumericStepper.stepSize
1061
NumericStepper.value
Disponibilidad
Flash MX 2004.
Sintaxis
numericStepperInstance.value
Descripcin
Propiedad; valor actual que se muestra en el rea de texto del componente. El valor no se asigna si no corresponde al rango y al incremento de paso del componente definidos en la propiedad stepSize. Esta propiedad puede contener un nmero de tres cifras decimales como mximo.
Ejemplo
En el ejemplo siguiente, se define el valor actual de la instancia de NumericStepper en 10 y se enva el valor al panel Salida. Arrastre una instancia del componente NumericStepper al escenario y asgnele el nombre de instancia my_nstep en el inspector de propiedades. Aada el cdigo siguiente al fotograma 1 de la lnea de tiempo:
/** Se requiere: - Componente NumericStepper en el escenario (nombre de instancia: my_nstep) */ var my_nstep:mx.controls.NumericStepper; my_nstep.value = 10; my_nstep.maximum = 100; trace(my_nstep.value); // 10
1062
Componente NumericStepper
CAPTULO 33
Clase PopUpManager
Nombre de clase de ActionScript
33
mx.managers.PopUpManager
La clase PopUpManager permite crear ventanas superpuestas que pueden ser modales o amodales (una ventana modal no permite interactuar con otras ventanas mientras est activa). Los mtodos de esta clase se utilizan para crear y eliminar ventanas emergentes.
N O TA
La clase PopupManager slo es compatible si trabaja con un documento que especifique ActionScript 2.0 en la Configuracin de publicacin.
Descripcin
Crea una ventana emergente. Elimina una ventana emergente creada llamando a PopUpManager.createPopUp().
1063
PopUpManager.createPopUp()
Disponibilidad
Parmetros
parent class modal initobj
Referencia para que aparezca una ventana. Referencia a la clase de objeto que desea crear. Valor booleano que indica si la ventana es modal (true) o no (false). Objeto que contiene propiedades de inicializacin. Este parmetro es opcional.
Valor booleano que indica si se activa un evento cuando el usuario hace clic fuera de la ventana (true) o no (false). Este parmetro es opcional.
outsideEvents
Valor devuelto
Referencia al objeto creado. Si el parmetro class es Window y hay un componente Window en la biblioteca, la referencia devuelta es Window.
Descripcin
Mtodo; si es modal, una llamada a createPopUp() busca la ventana de nivel superior a partir de la principal y crea una instancia de clase. Si es amodal, una llamada a createPopUp() crea una instancia de clase secundaria con respecto a la ventana principal.
Ejemplo
El cdigo siguiente crea una ventana modal cuando se hace clic en el botn:
lo = new Object(); lo.click = function(){ mx.managers.PopUpManager.createPopUp(_root, mx.containers.Window, true); } button.addEventListener("click", lo);
1064
Clase PopUpManager
PopUpManager.deletePopUp()
Disponibilidad
Parmetros
Ninguno.
Valor devuelto
Ninguno.
Descripcin
Mtodo; elimina una ventana emergente y quita el estado modal. La ventana superpuesta es la encargada de llamar a PopUpManager.deletePopUp() cuando se est eliminando la ventana.
Ejemplo
El cdigo siguiente crea una ventana modal denominada win con un botn de cierre, y elimina la ventana cuando se hace clic en el botn de cierre:
import mx.managers.PopUpManager import mx.containers.Window win = PopUpManager.createPopUp(_root, Window, true, {closeButton:true}); lo = new Object(); lo.click = function(){ win.deletePopUp(); } win.addEventListener("click", lo);
PopUpManager.deletePopUp()
1065
1066
Clase PopUpManager
CAPTULO 34
Componente ProgressBar
El componente ProgressBar muestra el progreso del contenido que se est cargando. Este componente resulta til para mostrar el estado de las imgenes y partes que se cargan de una aplicacin. El proceso de carga puede ser determinado o indeterminado. Una barra de progreso determinada es la representacin lineal del progreso de una tarea en el tiempo y se utiliza cuando la cantidad de contenido que va a cargarse es conocida. Una barra de progreso indeterminada se utiliza cuando la cantidad de contenido que va a cargarse es desconocida. Puede aadirse una etiqueta que muestre el progreso de carga del contenido que se est cargando.
N OT A
34
El componente ProgressBar es compatible tanto con ActionScript 2.0 como con ActionScript 3.0. En este documento, se describe el componente de la versin 2. Si utiliza el componente de la versin 3, consulte Utilizacin de ProgressBar en Utilizacin de componentes ActionScript 3.0.
El componente ProgressBar contiene un extremo izquierdo, un extremo derecho y una gua de progreso. Los extremos son simplemente los extremos de la barra de progreso, donde termina visualmente la barra de progreso. La previsualizacin dinmica de cada instancia de ProgressBar refleja los cambios de parmetros realizados durante la edicin en el inspector de propiedades o el inspector de componentes. En la previsualizacin dinmica se reflejan los siguientes parmetros: conversion, direction, label, labelPlacement, mode y source.
1067
Parmetros de ProgressBar
A continuacin se indican los parmetros de edicin que se pueden definir para cada instancia del componente ProgressBar en el inspector de propiedades o el inspector de componentes (opcin de men Ventana > Inspector de componentes): es un nmero por el que se dividen los valores %1 y %2 de la cadena de la etiqueta antes de que se muestren. El valor predeterminado es 1.
conversion direction
indica el sentido en el que se rellena la barra de progreso. Este valor puede ser right o left; el valor predeterminado es right. es el texto que indica el progreso de la carga. Este parmetro es una cadena con el formato %1 de %2 cargado (%3%%). En esta cadena, %1 es un marcador de posicin de los bytes actuales cargados, %2 un marcador de posicin de los bytes totales cargados y %3 un marcador de posicin del porcentaje del contenido cargado. Los caracteres %% son un marcador de posicin del carcter %. Si el valor de %2 es desconocido, se sustituye por dos signos de interrogacin (??). Si el valor es undefined, la etiqueta no se muestra.
label
labelPlacement indica la posicin de la etiqueta con respecto a la barra de progreso. Este parmetro puede tener uno de estos valores: top, bottom, left, right y center. El valor predeterminado es bottom. mode
es el modo en el que funciona la barra de progreso. Este valor puede ser uno de los siguientes: event, polled o manual. El valor predeterminado es event. una cadena que se convertir en el objeto que represente el nombre de instancia del
source es
origen.
1068
Componente ProgressBar
A continuacin se indican los parmetros adicionales que se pueden definir para cada instancia del componente ProgressBar en el inspector de componentes (a travs de la opcin de men Ventana > Inspector de componentes):
visible es un valor booleano que indica si el objeto es visible (true) o no (false). El valor predeterminado es true.
NO T A
Las propiedades minHeight y minWidth se utilizan en rutinas internas de cambio de tamao. Se definen en UIObject y se sustituyen por distintos componentes segn convenga. Estas propiedades pueden utilizarse si se crea un administrador de diseo personalizado en la aplicacin. De lo contrario, establecer estas propiedades en el inspector de componentes no produce ningn efecto visible.
Puede escribir cdigo ActionScript para controlar stas y otras opciones del componente ProgressBar utilizando sus propiedades, mtodos y eventos. Para ms informacin, consulte Clase ProgressBar en la pgina 1076.
Seleccione Archivo > Nuevo y, a continuacin, Archivo Flash (ActionScript 2.0). Arrastre un componente ProgressBar desde el panel Componentes al escenario. En el inspector de propiedades, siga este procedimiento:
4. 5. 6.
Arrastre un componente Loader desde el panel Componentes al escenario. En el inspector de propiedades, introduzca el nombre de instancia my_ldr. En el escenario, seleccione la barra de progreso; en el inspector de propiedades, introduzca my_ldr para el parmetro source.
1069
7.
Seleccione el fotograma 1 en la lnea de tiempo, abra el panel Acciones e introduzca el cdigo siguiente para cargar un archivo JPEG en el componente Loader:
/** Se requiere: - Componente Loader en el escenario (nombre de instancia: my_ldr) - Componente ProgressBar en el escenario (nombre de instancia: my_pb) */ System.security.allowDomain("http://www.helpexamples.com"); var my_ldr:mx.controls.Loader; var my_pb:mx.controls.ProgressBar; my_pb.source = my_ldr; my_ldr.autoLoad = false; my_ldr.contentPath = "http://www.helpexamples.com/flash/images/image1.jpg"; // cuando autoLoad es false, la carga no comienza hasta haber invocado el // mtodo load() my_ldr.load(); 8.
En el ejemplo siguiente, se utiliza la barra de progreso en modo polled. En este modo, ProgressBar utiliza los mtodos getBytesLoaded() y getBytesTotal() del objeto de origen para mostrar el progreso de la operacin.
Para crear una aplicacin con el componente ProgressBar en modo polled:
1. 2. 3. 4.
Seleccione Archivo > Nuevo y, a continuacin, Archivo Flash (ActionScript 2.0). Arrastre un componente ProgressBar desde el panel Componentes al escenario. En el inspector de propiedades, introduzca el nombre de instancia my_pb. Seleccione el fotograma 1 en la lnea de tiempo; abra el panel Acciones e introduzca el cdigo siguiente para crear un objeto Sound denominado my_sound y llamar al mtodo loadSound() a fin de cargar un sonido en el objeto Sound:
/** Se requiere: - Componente ProgressBar en el escenario (nombre de instancia: my_pb) */ System.security.allowDomain("http://www.helpexamples.com"); var my_pb:mx.controls.ProgressBar; my_pb.mode = "polled"; my_pb.source = "my_sound";
1070
Componente ProgressBar
var pbListener:Object = new Object(); pbListener.complete = function(evt_obj:Object) { trace("Sound loaded"); } my_pb.addEventListener("complete", pbListener); var my_sound:Sound = new Sound(); my_sound.loadSound("http://www.helpexamples.com/flash/sound/disco.mp3", true); 5.
En el ejemplo siguiente, se utiliza la barra de progreso en modo manual. Para mostrar el progreso de la operacin al utilizar el modo manual, debe definir las propiedades maximum, minimum e indeterminate junto con el mtodo setProgress(), pero no necesita definir la propiedad source.
Para crear una aplicacin con el componente ProgressBar en modo manual:
1. 2. 3.
Seleccione Archivo > Nuevo y, a continuacin, Archivo Flash (ActionScript 2.0). Arrastre un componente ProgressBar desde el panel Componentes al escenario. En el inspector de propiedades, siga este procedimiento:
4.
Seleccione el fotograma 1 en la lnea de tiempo; abra el panel Acciones e introduzca el cdigo siguiente para actualizar la barra de progreso de forma manual cada vez que se descarga un archivo con una llamada a setProgress():
for (var i:Number = 1; i <= total; i++){ // insertar cdigo para cargar archivo my_pb.setProgress(i, total); }
5.
Seleccione Archivo > Nuevo y, a continuacin, Archivo Flash (ActionScript 2.0). Arrastre un componente Label al escenario y asgnele el nombre de instancia my_label. Arrastre un componente ProgressBar al escenario y asgnele el nombre de instancia my_pb. Seleccione la instancia my_pb de ProgressBar en el escenario y, en el inspector de propiedades, establezca el parmetro mode del componente en manual.
1071
5.
Seleccione el fotograma 1 de la lnea de tiempo y aada el cdigo ActionScript siguiente en el panel Acciones:
var feed_xml:XML = new XML(); feed_xml.onLoad = function(success:Boolean):Void { clearInterval(timer); my_label.text = "XML Loaded"; my_pb.setProgress(feed_xml.getBytesLoaded(), feed_xml.getBytesTotal()); }; function updatePB(local_xml:XML):Void { my_pb.setProgress(local_xml.getBytesLoaded(), local_xml.getBytesTotal()); } var timer:Number = setInterval(updatePB, 100, feed_xml); feed_xml.load("http://www.helpexamples.com/flash/xml/menu.xml");
6.
Para crear una aplicacin con el componente ProgressBar en modo manual (ejemplo 3):
1. 2. 3.
Seleccione Archivo > Nuevo y, a continuacin, Archivo Flash (ActionScript 2.0). Arrastre un componente ProgressBar al escenario y asgnele el nombre de instancia my_pb. Seleccione la instancia my_pb de ProgressBar en el escenario y, en el inspector de propiedades, establezca el parmetro mode del componente en manual. Seleccione el fotograma 1 de la lnea de tiempo y aada el cdigo ActionScript siguiente en el panel Acciones:
var img_mcl:MovieClipLoader = new MovieClipLoader(); var mclListener:Object = new Object(); mclListener.onLoadProgress = function(target_mc:MovieClip, numBytesLoaded:Number, numBytesTotal:Number) { my_pb.setProgress(numBytesLoaded, numBytesTotal); }; mclListener.onLoadComplete = function(target_mc:MovieClip) { //my_pb._visible = false; }; img_mcl.addListener(mclListener); this.createEmptyMovieClip("image_mc", 20); img_mcl.loadClip("http://www.helpexamples.com/flash/images/image1.jpg", image_mc);
NO T A
4.
Puede quitar la marca de comentario de la lnea //my_pb._visible = false si desea ocultar el componente una vez que se haya cargado el contenido.
5.
1072
Componente ProgressBar
Tema
Halo
Descripcin
Esquema de colores base de un componente. Los valores posibles son haloGreen, haloBlue y haloOrange. El valor predeterminado es haloGreen. Color del texto. El valor predeterminado es 0x0B333C para el tema Halo y en blanco para el tema Sample. Color del texto cuando el componente est desactivado. El color predeterminado es 0x848384 (gris oscuro). Valor booleano que indica si la fuente especificada en fontFamily es una fuente incorporada. Este estilo debe definirse como true si fontFamily hace referencia a una fuente incorporada. De lo contrario, no se utiliza la fuente incorporada. Si el estilo se define como true y fontFamily no hace referencia a una fuente incorporada, no se muestra ningn texto. El valor predeterminado es false.
color
Ambos Ambos
disabledColor
embedFonts
Ambos
1073
Estilo
fontFamily
Tema
Ambos Ambos Ambos Ambos
Descripcin
Nombre de la fuente del texto. El valor predeterminado es _sans. Tamao de la fuente en puntos. El valor predeterminado es 10. Estilo de la fuente: puede ser normal o italic. El valor predeterminado es normal. Grosor de la fuente: puede ser none o bold. El valor predeterminado es none. Todos los componentes pueden aceptar adems el valor normal en lugar de none durante una llamada a setStyle(), pero las llamadas posteriores a getStyle() devolvern none. Decoracin del texto: puede ser none o underline. El valor predeterminado es none. Color en primer plano que indica el porcentaje completado. El color predeterminado es blanco. Para definir el color de la barra en un componente con el tema Halo, establezca la propiedad de estilo themeColor. Color de fondo de la barra. El valor predeterminado es 0x666666 (gris oscuro).
fontSize
fontStyle
fontWeight
textDecoration
Ambos Sample
barColor
trackColor
Sample
1074
Componente ProgressBar
Descripcin
Parte central ampliable de la gua de deslizamiento. El valor predeterminado es ProgTrackMiddle. Extremo izquierdo con tamao fijo. El valor predeterminado es ProgTrackLeft. Extremo derecho con tamao fijo. El valor predeterminado es ProgTrackRight. Grfico de barra central ampliable. El valor predeterminado es ProgBarMiddle. Extremo izquierdo de la barra con tamao fijo. El valor predeterminado es ProgBarLeft. Extremo derecho de la barra con tamao fijo. El valor predeterminado es ProgBarRight. Grfico de barra indeterminado. El valor predeterminado es ProgIndBar.
progTrackLeftName
progTrackRightName
progBarMiddleName
progBarLeftName
progBarRightName
progIndBarName
Seleccione Archivo > Nuevo y, a continuacin, Archivo Flash (ActionScript 2.0). Seleccione Archivo > Importar > Abrir biblioteca externa y, a continuacin, seleccione el archivo HaloTheme.fla.
Este archivo se encuentra en la carpeta de configuracin a nivel de la aplicacin. Para saber cul es la ubicacin exacta en el sistema operativo, consulte Temas en Utilizacin de componentes ActionScript 2.0. 3. En el panel Biblioteca del tema, expanda la carpeta Flash UI Components 2/Themes/ MMDefault y arrastre la carpeta ProgressBar Assets a la biblioteca del documento.
4. 5.
Expanda la carpeta ProgressBar Assets/Elements en la biblioteca del documento. Abra los smbolos que desea personalizar. Por ejemplo, abra el smbolo ProgIndBar. Personalice el smbolo como desee. Por ejemplo, gire la gua de deslizamiento horizontalmente. Repita los pasos 5 y 6 en todos los smbolos que desee personalizar. Haga clic en el botn Atrs para volver a la lnea de tiempo principal. Arrastre un componente ProgressBar al escenario.
6.
7. 8. 9.
Si desea ver los aspectos modificados de este ejemplo, utilice cdigo ActionScript para establecer la propiedad indeterminate en true. 10. Seleccione Control > Probar pelcula.
1075
Clase ProgressBar
Herencia
Si una propiedad de la clase ProgressBar se define con ActionScript, se sustituye el parmetro del mismo nombre definido en el inspector de propiedades o en el inspector de componentes. Cada clase de componente tiene una propiedad version que es una propiedad de clase. Las propiedades de clase slo estn disponibles en la propia clase. La propiedad version devuelve una cadena que indica la versin del componente. Para acceder a esta propiedad, utilice el cdigo siguiente:
trace(mx.controls.ProgressBar.version);
NO TA 1076
Descripcin
Define el estado de la barra de progreso para que refleje la cantidad de progreso realizado cuando la barra est en modo manual.
Crea un subobjeto en un objeto. Elimina una instancia de componente. Llama a una funcin cuando se han establecido parmetros en el inspector de propiedades y el inspector de componentes.
Componente ProgressBar
Mtodo
UIObject.getStyle()
Descripcin
Obtiene la propiedad de estilo de la declaracin de estilo o del objeto. Marca el objeto de forma que se pueda volver a dibujar en el siguiente intervalo de fotogramas. Mueve el objeto a la posicin indicada. Fuerza la validacin del objeto, de forma que se pueda dibujar sobre el fotograma actual. Cambia el tamao del objeto al indicado. Define un aspecto en el objeto. Define la propiedad de estilo en la declaracin de estilo o en el objeto.
UIObject.invalidate()
UIObject.move() UIObject.redraw()
Descripcin
Nmero utilizado para convertir el valor de los bytes actuales cargados y el valor total de los bytes cargados. Direccin en que se rellena la barra de progreso. Indica si se desconoce el tamao del origen que se est cargando. Texto que acompaa a la barra de progreso. Ubicacin de la etiqueta con respecto a la barra de progreso. Valor mximo de la barra de progreso en modo manual. Valor mnimo de la barra de progreso en modo manual. Modo en el que la barra de progreso carga el contenido.
ProgressBar.direction ProgressBar.indeterminate
ProgressBar.percentComplete Slo lectura; nmero que indica el porcentaje cargado. ProgressBar.source ProgressBar.value
Clase ProgressBar
1077
Descripcin
Posicin del borde inferior del objeto con respecto al borde inferior de su elemento principal correspondiente. Slo lectura. Altura del objeto, expresada en pxeles. Slo lectura. Borde izquierdo del objeto, expresado en pxeles. Slo lectura. Posicin del borde derecho del objeto con respecto al borde derecho de su elemento principal correspondiente. Slo lectura. Nmero que indica el factor de escala en la direccin x del objeto con respecto a su elemento principal correspondiente. Nmero que indica el factor de escala en la direccin y del objeto con respecto a su elemento principal correspondiente. Posicin del borde superior del objeto con respecto a su elemento principal correspondiente. Slo lectura. Valor booleano que indica si el objeto es visible (true) o no (false). Anchura del objeto, expresada en pxeles. Slo lectura. Borde izquierdo del objeto, expresado en pxeles. Slo lectura. Borde superior del objeto, expresado en pxeles. Slo lectura.
UIObject.height UIObject.left
UIObject.right
UIObject.scaleX
UIObject.scaleY
UIObject.top
UIObject.visible
UIObject.width UIObject.x
UIObject.y
Descripcin
Se activa cuando se completa la carga. Se activa a medida que se carga el contenido en modo manual o polled.
1078
Componente ProgressBar
Descripcin
Se difunde cuando un objeto est a punto de dibujar sus grficos. Se difunde cuando el estado de un objeto pasa de ser visible a invisible. Se difunde cuando se crean subobjetos. Se difunde cuando se mueve el objeto. Se difunde cuando cambia el tamao de un objeto. Se difunde cuando el estado de un objeto pasa de ser invisible a visible. Se difunde durante la descarga de los subobjetos.
UIObject.hide
UIObject.unload
Clase ProgressBar
1079
ProgressBar.complete
Disponibilidad
Flash MX 2004.
Sintaxis
Sintaxis 1:
var listenerObject:Object = new Object(); listenerObject.complete = function(eventObject:Object) { // ... }; progressBarInstance.addEventListener("complete", listenerObject);
Sintaxis 2:
on (complete) { // ... }
Objeto de evento
Adems de las propiedades estndar del objeto de evento, existen dos propiedades adicionales definidas para el evento ProgressBar.complete: current (el valor cargado igual al total) y total (el valor total).
Descripcin
Evento; se difunde a todos los detectores cuando se ha completado el progreso de carga. El primer ejemplo de sintaxis utiliza un modelo de eventos distribuidor/detector. Una instancia de componente (progressBarInstance) distribuye un evento (en este caso, complete) y ste se controla mediante una funcin, tambin denominada controlador, asociada con el objeto detector (listenerObject) que crea el usuario. Se define un mtodo con el mismo nombre que el evento del objeto detector; se llama al mtodo cuando se activa el evento. Cuando se activa el evento, ste pasa automticamente un objeto de evento (eventObject) al mtodo del objeto detector. Cada objeto de evento tiene propiedades que contienen informacin sobre el evento. Estas propiedades sirven para escribir el cdigo que controla el evento. Finalmente, se llama al mtodo EventDispatcher.addEventListener() de la instancia del componente que difunde el evento para registrar el detector con la instancia. Cuando la instancia distribuya el evento, se llamar al detector. Para ms informacin, consulte Clase EventDispatcher en la pgina 527.
1080
Componente ProgressBar
El segundo ejemplo de sintaxis utiliza un controlador on() que debe asociarse directamente con una instancia de ProgressBar. La palabra clave this, utilizada en un controlador on() asociado con un componente, hace referencia a la instancia del componente. Por ejemplo, el cdigo siguiente, asociado con la instancia progressBarInstance, enva _level0.progressBarInstance al panel Salida:
on (complete) { trace(this); }
Ejemplo
En este ejemplo, se crea un componente Loader, un componente ProgressBar (my_pb) para l y un detector que vuelve la barra de progreso invisible cuando se produce el evento complete. El ejemplo carga una imagen en el cargador my_ldr. Primero hay que arrastrar un componente Loader y un componente ProgressBar desde el panel Componentes a la biblioteca del documento actual y, a continuacin, aadir el siguiente cdigo al fotograma 1 de la lnea de tiempo principal:
/** Se requiere: - Componente ProgressBar en la biblioteca - Componente Loader en la biblioteca */ System.security.allowDomain("http://www.helpexamples.com"); this.createClassObject(mx.controls.Loader, "my_ldr", 10, {autoLoad:false}); this.createClassObject(mx.controls.ProgressBar, "my_pb", 20, {indeterminate:true, source:my_ldr, mode:"polled"}); //Crear un objeto detector var pbListener:Object = new Object(); pbListener.complete = function(evt_obj:Object) { my_pb.visible = false; }; //Aadir detector my_pb.addEventListener("complete", pbListener); my_ldr.load("http://www.helpexamples.com/flash/images/image2.jpg");
Vase tambin
EventDispatcher.addEventListener()
ProgressBar.complete
1081
ProgressBar.conversion
Disponibilidad
Flash MX 2004.
Sintaxis
progressBarInstance.conversion
Descripcin
Propiedad; nmero que define un valor de conversin para los valores entrantes. Divide los valores actual y total, los redondea a la baja y muestra el valor convertido en la propiedad label. El valor predeterminado es 1.
N OT A 1082
El valor redondeado a la baja es el valor entero ms cercano inferior o igual al valor especificado. Por ejemplo, el nmero 4,6 se convierte en 4.
Ejemplo
El siguiente cdigo muestra el progreso de carga de un objeto de sonido dividiendo el nmero de bytes cargados por un valor de conversin de 1024 para producir un valor en kilobytes. Primero hay que arrastrar un componente ProgressBar desde el panel Componentes a la biblioteca del documento actual y, a continuacin, aadir el siguiente cdigo al fotograma 1 de la lnea de tiempo principal:
/** Se requiere: - Componente ProgressBar en la biblioteca */ System.security.allowDomain("http://www.helpexamples.com"); this.createClassObject(mx.controls.ProgressBar, "my_pb", 20); //Establecer atributos de barra de progreso my_pb.mode = "polled"; my_pb.source = "my_sound"; my_pb.label = "%1 kb loaded"; my_pb.conversion = 1024; //Cargar sonido var my_sound:Sound = new Sound(); my_sound.loadSound("http://www.helpexamples.com/flash/sound/disco.mp3", true);
Componente ProgressBar
ProgressBar.direction
Disponibilidad
Flash MX 2004.
Sintaxis
progressBarInstance.direction
Descripcin
Propiedad; indica la direccin de relleno de la barra de progreso. Un valor de right especifica que la barra se rellenar de izquierda a derecha. Un valor de left especifica que la barra se rellenar de derecha a izquierda. El valor predeterminado es right.
Ejemplo
El siguiente cdigo carga un objeto de sonido y marca el progreso con una barra de progreso que se rellena hacia la izquierda. Primero hay que arrastrar un componente ProgressBar desde el panel Componentes a la biblioteca del documento actual y, a continuacin, aadir el siguiente cdigo al fotograma 1 de la lnea de tiempo principal:
/** Se requiere: - Componente ProgressBar en la biblioteca */ System.security.allowDomain("http://www.helpexamples.com"); this.createClassObject(mx.controls.ProgressBar, "my_pb", 20); //Establecer atributos de barra de progreso my_pb.mode = "polled"; my_pb.source = "my_sound"; my_pb.direction = "left"; //Cargar sonido var my_sound:Sound = new Sound(); my_sound.loadSound("http://www.helpexamples.com/flash/sound/disco.mp3", true);
ProgressBar.direction
1083
ProgressBar.indeterminate
Disponibilidad
Flash MX 2004.
Sintaxis
progressBarInstance.indeterminate
Descripcin
Propiedad; valor booleano que indica si la barra de progreso tiene un relleno discontinuo y un origen de carga de tamao desconocido (true), o un relleno continuo y un origen de carga con un tamao conocido (false). Por ejemplo, puede evitar el uso de esta propiedad si est cargando un conjunto de datos grande en un archivo SWF y desconoce el tamao de los datos de la carga.
Ejemplo
El cdigo siguiente crea una barra de progreso indeterminada que se mueve de izquierda a derecha con un relleno discontinuo: Primero hay que arrastrar un componente Loader y un componente ProgressBar desde el panel Componentes a la biblioteca del documento actual y, a continuacin, aadir el siguiente cdigo al fotograma 1 de la lnea de tiempo principal:
/** Se requiere: - Componente ProgressBar en la biblioteca - Componente Loader en la biblioteca */ System.security.allowDomain("http://www.helpexamples.com"); this.createClassObject(mx.controls.ProgressBar, "my_pb", 10); this.createClassObject(mx.controls.Loader, "my_ldr", 20); //Crear un objeto detector var pbListener:Object = new Object(); pbListener.complete = function(evt_obj:Object) { trace("Height: " + evt_obj.target.height + ", Width: " + evt_obj.target.width);}; //Aadir detector my_pb.addEventListener("complete", pbListener);
1084
Componente ProgressBar
//Establecer configuracin de barra de progreso my_pb.mode = "polled"; my_pb.indeterminate = true; my_pb.source = my_ldr; //Establecer configuracin de cargador my_ldr.autoLoad = false; my_ldr.scaleContent = false; my_ldr.move(100, 100) my_ldr.load("http://www.helpexamples.com/flash/images/image1.jpg");
ProgressBar.label
Disponibilidad
Flash MX 2004.
Sintaxis
progressBarInstance.label
Descripcin
Propiedad; texto que indica el progreso de carga. Este parmetro es una cadena con el formato %1 de %2 cargado (%3%%). En esta cadena, %1 es un marcador de posicin de los bytes actuales cargados, %2 un marcador de posicin de los bytes totales cargados y %3 un marcador de posicin del porcentaje del contenido cargado. Los caracteres %% permiten que Flash muestre un solo carcter %. Si el valor de %2 es desconocido, se sustituye por ??. Si el valor es undefined, la etiqueta no se muestra. El valor predeterminado es LOADING %3%%.
Ejemplo
En el siguiente ejemplo, se carga una imagen en un cargador y se marca el progreso con una barra de progreso cuya etiqueta especifica el porcentaje del total de kilobytes que se han cargado. Primero hay que arrastrar un componente Loader y un componente ProgressBar desde el panel Componentes a la biblioteca del documento actual y, a continuacin, aadir el siguiente cdigo al fotograma 1 de la lnea de tiempo principal:
/** Se requiere: - Componente ProgressBar en la biblioteca - Componente Loader en la biblioteca */
ProgressBar.label
1085
System.security.allowDomain("http://www.helpexamples.com"); this.createClassObject(mx.controls.ProgressBar, "my_pb", 10); this.createClassObject(mx.controls.Loader, "my_ldr", 20); my_ldr.move(0, 30); //Establecer configuracin de barra de progreso my_pb.mode = "polled"; my_pb.source = my_ldr; my_pb.label = "%1 of %2 KB loaded"; my_pb.conversion = 1024; // 1024 bytes en un KB //Establecer configuracin de cargador my_ldr.autoLoad = false; my_ldr.scaleContent = false; my_ldr.load("http://www.helpexamples.com/flash/images/image1.jpg")
Vase tambin
ProgressBar.labelPlacement
ProgressBar.labelPlacement
Disponibilidad
Flash MX 2004.
Sintaxis
progressBarInstance.labelPlacement
Descripcin
Propiedad; define la ubicacin de la etiqueta con respecto a la barra de progreso. Los valores posibles son left, right, top, bottom y center.
1086
Componente ProgressBar
Ejemplo
En el siguiente ejemplo, se carga una imagen en un cargador y se marca el progreso con una barra de progreso. Se define la propiedad labelPlacement en top para colocar la etiqueta por encima de la barra de progreso. Primero hay que arrastrar un componente Loader y un componente ProgressBar desde el panel Componentes a la biblioteca del documento actual y, a continuacin, aadir el siguiente cdigo al fotograma 1 de la lnea de tiempo principal:
/** Se requiere: - Componente ProgressBar en la biblioteca - Componente Loader en la biblioteca */ System.security.allowDomain("http://www.helpexamples.com"); this.createClassObject(mx.controls.ProgressBar, "my_pb", 10); this.createClassObject(mx.controls.Loader, "my_ldr", 20); my_ldr.move(0, 30); //Establecer configuracin de barra de progreso my_pb.mode = "polled"; my_pb.source = my_ldr; my_pb.label = "%1 of %2 KB loaded"; my_pb.conversion = 1024; // 1024 bytes en un KB my_pb.labelPlacement = "top"; //Establecer configuracin de cargador my_ldr.autoLoad = false; my_ldr.scaleContent = false; my_ldr.load("http://www.helpexamples.com/flash/images/image1.jpg");
Vase tambin
ProgressBar.label
ProgressBar.labelPlacement
1087
ProgressBar.maximum
Disponibilidad
Flash MX 2004.
Sintaxis
progressBarInstance.maximum
Descripcin
Propiedad; valor ms alto para la barra de progreso cuando la propiedad ProgressBar.mode est definida en manual.
Ejemplo
En el siguiente ejemplo, se incrementa un componente ProgressBar de forma manual hasta un valor maximum de 200, nmero en el que se detiene. Se muestra el incremento en el panel Salida mientras va aumentando el valor. Arrastre una instancia del componente ProgressBar al escenario y asgnele el nombre de instancia my_pb en el inspector de propiedades. Aada el cdigo siguiente al fotograma 1 de la lnea de tiempo:
/** Se requiere: - Componente ProgressBar en el escenario (nombre de instancia: my_pb) */ var my_pb:mx.controls.ProgressBar; //Establecer modo de barra de progreso my_pb.mode = "manual"; my_pb.label = "%1 out of %2 loaded"; //valor numrico mnimo antes de que incremente la barra de progreso my_pb.minimum = 100; //valor mximo de barra de progreso antes de que se detenga my_pb.maximum = 200; var increment_num:Number = my_pb.minimum; this.onEnterFrame = function() { if (increment_num < my_pb.maximum) { increment_num++;
1088
Componente ProgressBar
//actualizar progreso de nmero en incremento my_pb.setProgress(increment_num, my_pb.maximum); trace(increment_num); } else { delete this.onEnterFrame; } };
Vase tambin
ProgressBar.minimum, ProgressBar.mode
ProgressBar.minimum
Disponibilidad
Flash MX 2004.
Sintaxis
progressBarInstance.minimum
Descripcin
Propiedad; valor ms bajo para la barra de progreso cuando la propiedad ProgressBar.mode est definida en manual.
Ejemplo
En el siguiente ejemplo, se incrementa de forma manual un componente ProgressBar, comenzando con un valor mnimo de 100. Se muestra el incremento en el panel Salida mientras el valor va aumentando. Arrastre una instancia del componente ProgressBar al escenario y asgnele el nombre de instancia my_pb en el inspector de propiedades. Aada el cdigo siguiente al fotograma 1 de la lnea de tiempo:
/** Se requiere: - Componente ProgressBar en el escenario (nombre de instancia: my_pb) */ var my_pb:mx.controls.ProgressBar; //Establecer modo de barra de progreso my_pb.mode = "manual"; my_pb.label = "%1 out of %2 loaded";
ProgressBar.minimum
1089
//valor numrico mnimo antes de que incremente la barra de progreso my_pb.minimum = 100; //valor mximo de barra de progreso antes de que se detenga my_pb.maximum = 200; var increment_num:Number = my_pb.minimum; this.onEnterFrame = function() { if (increment_num < my_pb.maximum) { increment_num++; //actualizar progreso de nmero en incremento my_pb.setProgress(increment_num, my_pb.maximum); trace(increment_num); } else { delete this.onEnterFrame; } };
Vase tambin
ProgressBar.maximum, ProgressBar.mode
ProgressBar.mode
Disponibilidad
Flash MX 2004.
Sintaxis
progressBarInstance.mode
Descripcin
Propiedad; modo en el que la barra de progreso carga el contenido. Este valor puede ser event, polled o manual. Los modos ms frecuentes son event y polled. En el modo event, la propiedad source especifica el contenido de carga que emite eventos progress y complete; debe utilizar un objeto Loader en este modo. En el modo polled, la propiedad source especifica el contenido de carga (como un objeto MovieClip) que muestra mtodos getBytesLoaded() y getsBytesTotal(). Todo objeto que muestre estos mtodos puede utilizarse como origen en modo polled (incluido un objeto personalizado o la lnea de tiempo raz). Tambin puede utilizar el componente ProgressBar en modo manual si define manualmente las propiedades maximum, minimum e indeterminate, y llama al mtodo ProgressBar.setProgress().
1090
Componente ProgressBar
Ejemplo
En el siguiente ejemplo, se carga una imagen en un cargador y se marca el progreso de carga con una barra de progreso que se establece en el modo event. Cuando finaliza la carga, un detector del evento complete muestra el nombre del objeto cargador. Primero hay que arrastrar un componente Loader y un componente ProgressBar desde el panel Componentes a la biblioteca del documento actual y, a continuacin, aadir el siguiente cdigo al fotograma 1 de la lnea de tiempo principal:
/** Se requiere: - Componente ProgressBar en la biblioteca - Componente Loader en la biblioteca */ System.security.allowDomain("http://www.helpexamples.com"); this.createClassObject(mx.controls.ProgressBar, "my_pb", 10); this.createClassObject(mx.controls.Loader, "my_ldr", 20); //Crear un objeto detector var ldrListener:Object = new Object(); ldrListener.complete = function(evt_obj:Object) { trace("Event complete for " + evt_obj.target); }; //Aadir detector my_ldr.addEventListener("complete", ldrListener); //Establecer configuracin de barra de progreso my_pb.mode = "event"; my_pb.indeterminate = true; my_pb.source = my_ldr; //Establecer configuracin de cargador my_ldr.move(0,30); my_ldr.autoLoad = false; my_ldr.scaleContent = false; my_ldr.load("http://www.helpexamples.com/flash/images/image1.jpg");
ProgressBar.mode
1091
ProgressBar.percentComplete
Disponibilidad
Flash MX 2004.
Sintaxis
progressBarInstance.percentComplete
Descripcin
Propiedad (slo lectura); indica el porcentaje del contenido que se ha cargado. Este valor se redondea a la baja. El valor redondeado a la baja es el valor entero ms cercano inferior o igual al valor especificado. Por ejemplo, el nmero 7,8 se convierte en 7. La frmula siguiente se utiliza para calcular el porcentaje:
100 * (value - minimum) / (maximum - minimum)
Ejemplo
En el siguiente ejemplo, se carga una imagen en un cargador que est asociado con una barra de progreso. Un detector para el evento progress y otro para el evento complete acceden a la propiedad percentComplete para mostrar el porcentaje de carga que se ha completado. Arrastre una instancia del componente ProgressBar al escenario y asgnele el nombre de instancia my_pb en el inspector de propiedades. Arrastre una instancia del componente Loader al escenario y asgnele el nombre de instancia my_ldr en el inspector de propiedades. Aada el cdigo siguiente al fotograma 1 de la lnea de tiempo:
/** Se requiere: - Instancia del componente Loader en el escenario (nombre de instancia: my_ldr) - Instancia del componente Progress en el escenario (nombre de instancia: my_pb) */ System.security.allowDomain("http://www.helpexamples.com"); var my_ldr:mx.controls.Loader; var my_pb:mx.controls.ProgressBar; my_pb.mode = "polled"; my_pb.source = my_ldr; my_ldr.autoLoad = false;
1092
Componente ProgressBar
var pbListener:Object = new Object(); pbListener.progress = function(evt_obj:Object) { trace("progress = " + my_pb.percentComplete + "%"); } pbListener.complete = function(evt_obj:Object) { trace("complete = " + my_pb.percentComplete + "%"); } my_pb.addEventListener("progress", pbListener); my_pb.addEventListener("complete", pbListener); // cuando autoLoad es false, la carga no comienza hasta haber invocado el // mtodo load() my_ldr.load("http://www.helpexamples.com/flash/images/image1.jpg");
ProgressBar.progress
Disponibilidad
Flash MX 2004.
Sintaxis
Sintaxis 1:
var listenerObject:Object = new Object(); listenerObject.progress = function(eventObject:Object) { // ... }; progressBarInstance.addEventListener("progress", listenerObject);
Sintaxis 2:
on (progress) { // ... }
Objeto de evento
Adems de las propiedades estndar del objeto de evento, existen dos propiedades adicionales definidas para el evento ProgressBar.progress: current (el valor cargado igual a total) y total (el valor total).
ProgressBar.progress
1093
Descripcin
Evento; se difunde a todos los detectores registrados siempre que cambia el valor de una barra de progreso. El primer ejemplo de sintaxis utiliza un modelo de eventos distribuidor/detector. Una instancia de componente (progressBarInstance) distribuye un evento (en este caso, progress) y ste se controla mediante una funcin, tambin denominada controlador, en un objeto detector (listenerObject) que crea el usuario. Se define un mtodo con el mismo nombre que el evento del objeto detector; se llama al mtodo cuando se activa el evento. Cuando se activa el evento, ste pasa automticamente un objeto de evento (eventObject) al mtodo del objeto detector. Cada objeto de evento tiene propiedades que contienen informacin sobre el evento. Estas propiedades sirven para escribir el cdigo que controla el evento. Finalmente, se llama al mtodo EventDispatcher.addEventListener() de la instancia del componente que difunde el evento para registrar el detector con la instancia. Cuando la instancia distribuya el evento, se llamar al detector. Para ms informacin, consulte Clase EventDispatcher en la pgina 527. El segundo ejemplo de sintaxis utiliza un controlador on() que debe asociarse directamente con una instancia de ProgressBar. La palabra clave this, utilizada en un controlador on() asociado con un componente, hace referencia a la instancia del componente. Por ejemplo, el cdigo siguiente, asociado con la instancia progressBarInstance, enva _level0.progressBarInstance al panel Salida:
on (progress) { trace(this); }
Ejemplo
En este ejemplo, se carga una imagen en un cargador con una barra de progreso asociada y se crea un detector para el evento progress. Cuando se produce el evento progress, el ejemplo muestra la propiedad value, que es un valor entre ProgressBar.minimum y ProgressBar.maximum. Arrastre una instancia del componente ProgressBar al escenario y asgnele el nombre de instancia my_pb en el inspector de propiedades. Arrastre una instancia del componente Loader al escenario y asgnele el nombre de instancia my_ldr en el inspector de propiedades. Aada el cdigo siguiente al fotograma 1 de la lnea de tiempo:
/** Se requiere: - Instancia del componente Loader en el escenario (nombre de instancia: my_ldr) - Instancia del componente Progress en el escenario (nombre de instancia: my_pb) */
1094
Componente ProgressBar
System.security.allowDomain("http://www.helpexamples.com"); var my_ldr:mx.controls.Loader; var my_pb:mx.controls.ProgressBar; my_pb.mode = "polled"; my_pb.source = my_ldr; my_ldr.autoLoad = false; //Crear un objeto detector var pbListener:Object = new Object(); pbListener.progress = function(evt_obj:Object) { // evt_obj.target es el componente que genera el evento progress, // es decir, la barra de progreso. trace("Current progress value = " + evt_obj.target.value); }; //Aadir detector my_pb.addEventListener("progress", pbListener); // cuando autoLoad es false, la carga no comienza hasta haber invocado el // mtodo load() my_ldr.load("http://www.helpexamples.com/flash/images/image1.jpg");
Vase tambin
EventDispatcher.addEventListener()
ProgressBar.setProgress()
Disponibilidad
Flash MX 2004.
Sintaxis
progressBarInstance.setProgress(completed, total)
Parmetros
Nmero que indica la cantidad del progreso realizado. Se pueden utilizar las propiedades ProgressBar.label y ProgressBar.conversion para mostrar el nmero en valor porcentual o cualquier unidad que seleccione, en funcin del origen de la barra de progreso.
completed total
Nmero que indica el progreso que debe realizarse hasta alcanzar el 100%.
Valor devuelto
Descripcin
Mtodo; define el estado de la barra de progreso para que refleje la cantidad de progreso realizado cuando la propiedad ProgressBar.mode est definida en manual. Puede hacer una llamada a este mtodo para que la barra refleje el estado de un proceso que no sea de carga. Por ejemplo, puede definir explcitamente la barra de progreso con un progreso cero. El parmetro completed se asigna a la propiedad value y el parmetro total se asigna a la propiedad maximum. La propiedad minimum no cambia.
Ejemplo
En el siguiente ejemplo, se establece el modo de barra de progreso en manual y se llama a setProgress() desde la funcin onEnterFrame(), que se invoca repetidamente en la velocidad de fotogramas del archivo SWF. El ejemplo establece el valor mnimo para la barra de progreso en 100 y el mximo en 200 y marca el progreso en incrementos de 1. Arrastre una instancia del componente ProgressBar al escenario y asgnele el nombre de instancia my_pb en el inspector de propiedades. Aada el cdigo siguiente al fotograma 1 de la lnea de tiempo:
/** Se requiere: - ProgressBar en el escenario (nombre de instancia: my_pb) */ var my_pb:mx.controls.ProgressBar; //Establecer modo de barra de progreso my_pb.mode = "manual"; my_pb.label = "%1 out of %2 loaded"; //valor numrico mnimo antes de que incremente la barra de progreso my_pb.minimum = 100; //valor mximo de barra de progreso antes de que se detenga my_pb.maximum = 200; var increment_num:Number = my_pb.minimum; this.onEnterFrame = function() { if (increment_num < my_pb.maximum) { increment_num++; //actualizar progreso de nmero en incremento my_pb.setProgress(increment_num, my_pb.maximum); trace(increment_num); } else { delete this.onEnterFrame; } };
1096
Componente ProgressBar
ProgressBar.source
Disponibilidad
Flash MX 2004.
Sintaxis
progressBarInstance.source
Descripcin
Propiedad; referencia a la instancia que se va a cargar y de la que mostrar el proceso de carga. El contenido que se carga debe emitir un evento progress del que se obtienen los valores total y actual. Este evento slo se difunde cuando ProgressBar.mode est definida en event o polled. El valor predeterminado es undefined. El componente ProgressBar se puede utilizar con el contenido de una aplicacin, incluido _root.
Ejemplo
En el siguiente ejemplo, se carga una imagen en un cargador y se marca el progreso con una barra de progreso. El ejemplo establece la propiedad source en el nombre del componente Loader (my_ldr) para asociar el contenido con la barra de progreso. Primero hay que arrastrar un componente Loader y un componente ProgressBar desde el panel Componentes a la biblioteca del documento actual y, a continuacin, aadir el siguiente cdigo al fotograma 1 de la lnea de tiempo principal:
/** Se requiere: - Componente ProgressBar en la biblioteca - Componente Loader en la biblioteca */ System.security.allowDomain("http://www.helpexamples.com"); this.createClassObject(mx.controls.ProgressBar, "my_pb", 10); this.createClassObject(mx.controls.Loader, "my_ldr", 20); //Crear un objeto detector var pbListener:Object = new Object(); pbListener.complete = function(evt_obj:Object) { evt_obj.target.visible = false; };
ProgressBar.source
1097
//Aadir detector my_pb.addEventListener("complete", pbListener); //Establecer configuracin de barra de progreso my_pb.mode = "polled"; my_pb.indeterminate = true; my_pb.source = my_ldr; //Establecer configuracin de cargador my_ldr.autoLoad = false; my_ldr.scaleContent = false; my_ldr.load("http://www.helpexamples.com/flash/images/image1.jpg");
Vase tambin
ProgressBar.mode
ProgressBar.value
Disponibilidad
Flash MX 2004.
Sintaxis
progressBarInstance.value
Descripcin
Propiedad (slo lectura); indica la cantidad del progreso realizado. La propiedad es un nmero entre el valor de ProgressBar.minimum y ProgressBar.maximum. El valor predeterminado es 0.
1098
Componente ProgressBar
Ejemplo
En el siguiente ejemplo, se carga una imagen en un componente Loader y se marca el progreso con una barra de progreso. Cuando finaliza la carga, el ejemplo muestra los valores mnimo, mximo y actual de la barra de progreso. Arrastre una instancia del componente ProgressBar al escenario y asgnele el nombre de instancia my_pb en el inspector de propiedades. Arrastre una instancia del componente Loader al escenario y asgnele el nombre de instancia my_ldr en el inspector de propiedades. Aada el cdigo siguiente al fotograma 1 de la lnea de tiempo:
/** Se requiere: - Instancia del componente Loader en el escenario (nombre de instancia: my_ldr) - Instancia del componente Progress en el escenario (nombre de instancia: my_pb) */ System.security.allowDomain("http://www.helpexamples.com"); var my_ldr:mx.controls.Loader; var my_pb:mx.controls.ProgressBar; my_pb.mode = "polled"; my_pb.source = my_ldr; my_ldr.autoLoad = false;
//Crear un objeto detector var pbListener:Object = new Object(); pbListener.complete = function(evt_obj:Object){ // event_obj.target es el componente que genera el evento complete, // es decir, la barra de progreso. trace("Minimum value is: " + evt_obj.target.minimum + " bytes"); trace("Maximum value is: " + evt_obj.target.maximum + " bytes"); trace("Current ProgressBar value = " + evt_obj.target.value + " bytes"); } //Aadir detector my_pb.addEventListener("complete", pbListener); // cuando autoLoad es false, la carga no comienza hasta haber invocado el // mtodo load() my_ldr.load("http://www.helpexamples.com/flash/images/image1.jpg");
ProgressBar.value
1099
1100
Componente ProgressBar
CAPTULO 35
Componente RadioButton
El componente RadioButton permite obligar al usuario a seleccionar una opcin de un conjunto de opciones. Este componente debe utilizarse en un grupo formado al menos por dos instancias de RadioButton. Slo es posible seleccionar un miembro del grupo cada vez. Al seleccionar un botn de opcin de un grupo, se anula la seleccin del botn de opcin seleccionado en dicho grupo. Puede definir el parmetro groupName para indicar el grupo al que pertenece el botn de opcin.
NO T A
35
El componente RadioButton es compatible tanto con ActionScript 2.0 como con ActionScript 3.0. En este documento, se describe el componente de la versin 2. Si utiliza el componente de la versin 3, consulte Utilizacin de RadioButton en Utilizacin de componentes ActionScript 3.0.
Los botones de opcin pueden estar activados o desactivados. Un botn de opcin en estado desactivado no recibe la entrada del ratn ni del teclado. Si el usuario hace clic en un grupo de componentes RadioButton o presiona el tabulador hasta su posicin, la seleccin recae slo en el botn de opcin elegido. A continuacin, el usuario puede utilizar las siguientes teclas para controlarlo:
Tecla Descripcin
Flecha arriba/ La seleccin se desplaza al botn anterior del grupo de botones de opcin. flecha izquierda Flecha abajo/ flecha derecha Tabulador La seleccin se desplaza al botn siguiente del grupo de botones de opcin. Desplaza la seleccin desde el grupo de botones de opcin hasta el componente siguiente.
Para ms informacin sobre el control de la seleccin, consulte Clase FocusManager en la pgina 763 o Creacin de un desplazamiento personalizado de la seleccin en Utilizacin de componentes ActionScript 2.0.
1101
La previsualizacin dinmica de cada instancia de RadioButton del escenario refleja los cambios de parmetros realizados durante la edicin en el inspector de propiedades o en el inspector de componentes. Sin embargo, la previsualizacin dinmica no muestra la exclusin mutua de la seleccin. Si define el parmetro seleccionado en true para dos botones de opcin del mismo grupo, ambos botones aparecern seleccionados, si bien slo la ltima instancia creada estar seleccionada en tiempo de ejecucin. Para ms informacin, consulte Parmetros de RadioButton en la pgina 1102. Cuando se aade el componente RadioButton a una aplicacin, es posible utilizar el panel Accesibilidad para que los lectores de pantalla puedan acceder a l. En primer lugar, debe aadir la lnea de cdigo siguiente para activar la accesibilidad:
mx.accessibility.RadioButtonAccImpl.enableAccessibility();
La accesibilidad de un componente slo se activa una vez, sea cual sea su nmero de instancias. Para ms informacin, consulte Creacin de contenido accesible en Utilizacin de Flash.
Parmetros de RadioButton
A continuacin se indican los parmetros de edicin que se pueden definir para cada instancia del componente RadioButton en el inspector de propiedades o en el inspector de componentes:
data
es el valor de los datos asociados con el botn de opcin. No hay un valor predeterminado. es el nombre del grupo del botn de opcin. El valor predeterminado es
labelPlacement orienta el texto de la etiqueta que muestra el botn. Este parmetro puede tener uno de estos cuatro valores: left, right, top o bottom El valor predeterminado es right. Para ms informacin, consulte RadioButton.labelPlacement.
1102
Componente RadioButton
define el valor inicial del botn de opcin en seleccionado (true) o no (false). Un botn de opcin seleccionado muestra un punto en su interior. Slo un botn de opcin de un grupo puede tener un valor de selected definido en true. Si el grupo contiene ms de un botn de opcin definido en true, slo se seleccionar el botn cuya instancia se haya creado en ltimo lugar. El valor predeterminado es false.
selected
Puede escribir cdigo ActionScript para definir otras opciones para las instancias de RadioButton con los mtodos, propiedades y eventos de la clase RadioButton. Para ms informacin, consulte Clase RadioButton en la pgina 1109.
Seleccione Archivo > Nuevo y, a continuacin, Archivo Flash (ActionScript 2.0). Arrastre dos componentes RadioButton desde el panel Componentes al escenario. Seleccione uno de los botones de opcin. En el inspector de componentes, siga este procedimiento:
Introduzca S para el parmetro de etiqueta. Introduzca Aficionado a Flash para el parmetro de datos.
4.
5.
Arrastre un componente TextArea desde el panel Componentes al escenario y asgnele el nombre de instancia theVerdict.
1103
6.
Seleccione el fotograma 1 de la lnea de tiempo principal, abra el panel Acciones e introduzca el cdigo siguiente:
flashistListener = new Object(); flashistListener.click = function (evt){ theVerdict.text = evt.target.selection.data } radioGroup.addEventListener("click", flashistListener);
La ltima lnea del cdigo aade un controlador de eventos click al grupo de botones de opcin radioGroup. El controlador define la propiedad text de la instancia theVerdict del componente TextArea con el valor de la propiedad data del botn de opcin seleccionado en el grupo de botones de opcin radioGroup. Para ms informacin, consulte RadioButton.click.
1104
Componente RadioButton
Tema
Halo
Descripcin
Esquema de colores base de un componente. Los valores posibles son haloGreen, haloBlue y haloOrange. El valor predeterminado es haloGreen. Color del texto. El valor predeterminado es 0x0B333C para el tema Halo y en blanco para el tema Sample. Color del texto cuando el componente est desactivado. El color predeterminado es 0x848384 (gris oscuro). Valor booleano que indica si la fuente especificada en fontFamily es una fuente incorporada. Este estilo debe definirse como true si fontFamily hace referencia a una fuente incorporada. De lo contrario, no se utiliza la fuente incorporada. Si el estilo se define como true y fontFamily no hace referencia a una fuente incorporada, no se muestra ningn texto. El valor predeterminado es false. Nombre de la fuente del texto. El valor predeterminado es _sans. Tamao de la fuente en puntos. El valor predeterminado es 10. Estilo de la fuente: puede ser normal o italic. El valor predeterminado es normal.
color
Ambos
disabledColor
Ambos
embedFonts
Ambos
fontFamily
fontSize
fontStyle
1105
Estilo
fontWeight
Tema
Ambos
Descripcin
Grosor de la fuente: puede ser none o bold. El valor predeterminado es none. Todos los componentes pueden aceptar tambin el valor normal en lugar de none durante una llamada a setStyle(), pero las llamadas posteriores a getStyle() devolvern none. Decoracin del texto: puede ser none o underline. El valor predeterminado es none. Color de fondo del botn de opcin. El valor predeterminado es 0xFFFFFF (blanco). Color de fondo del botn de opcin cuando est desactivado. El valor predeterminado es 0xEFEEEF (gris claro). Color de fondo del botn de opcin cuando se presiona. El valor predeterminado es 0xFFFFFF (blanco). Color del punto del botn de opcin. El valor predeterminado es 0x000000 (negro). Color del punto del botn de opcin cuando el componente est desactivado. El valor predeterminado es 0x848384 (gris oscuro).
textDecoration
symbolBackgroundColor
symbolBackgroundDisabledColor
symbolBackgroundPressedColor
Sample
symbolColor
Sample Sample
symbolDisabledColor
1106
Componente RadioButton
Descripcin
Estado no seleccionado. El valor predeterminado es RadioFalseUp. Estado presionado no seleccionado. El valor predeterminado es RadioFalseDown. Estado de puntero encima no seleccionado. El valor predeterminado es RadioFalseOver. Estado desactivado no seleccionado. El valor predeterminado es RadioFalseDisabled. Estado seleccionado. El valor predeterminado es RadioTrueUp. Estado desactivado seleccionado. El valor predeterminado es RadioTrueDisabled.
falseDownIcon
falseOverIcon
falseDisabledIcon
trueUpIcon trueDisabledIcon
Cada uno de estos aspectos se corresponde con el icono que indica el estado de RadioButton. RadioButton no tiene bordes ni fondo.
1107
Seleccione Archivo > Nuevo y, a continuacin, Archivo Flash (ActionScript 2.0). Seleccione Archivo > Importar > Abrir biblioteca externa y, a continuacin, seleccione el archivo HaloTheme.fla. Este archivo se encuentra en la carpeta de configuracin a nivel de la aplicacin. Para saber cul es la ubicacin exacta en el sistema operativo, consulte Temas en Utilizacin de componentes ActionScript 2.0.
3.
En el panel Biblioteca del tema, expanda la carpeta Flash UI Components 2/Themes/ MMDefault y arrastre la carpeta RadioButton Assets a la biblioteca del documento. Expanda la carpeta RadioButton Assets/States en la biblioteca del documento. Abra los smbolos que desea personalizar. Por ejemplo, abra el smbolo RadioFalseDisabled. Personalice el smbolo como desee. Por ejemplo, cambie el color blanco del crculo interior por un gris claro. Repita los pasos 5 y 6 en todos los smbolos que desee personalizar. Por ejemplo, repita el cambio de color en el crculo interior del smbolo RadioTrueDisabled.
4. 5.
6.
7.
8. 9.
Haga clic en el botn Atrs para volver a la lnea de tiempo principal. Arrastre un componente RadioButton al escenario. En este ejemplo, arrastre dos instancias para mostrar los dos nuevos smbolos de aspecto. las propiedades de la instancia de RadioButton como desee.
10. Defina
En este ejemplo, defina una instancia de RadioButton como seleccionada y utilice ActionScript para definir ambas instancias de RadioButton como desactivadas.
11.
1108
Componente RadioButton
Clase RadioButton
MovieClip > Clase UIObject > Clase UIComponent > Clase SimpleButton > Componente Button > RadioButton
Herencia Nombre de paquete de ActionScript
mx.controls.RadioButton
Las propiedades de la clase RadioButton permiten crear en tiempo de ejecucin una etiqueta de texto y definir su posicin con respecto al botn de opcin. Tambin puede asignar valores de datos a los botones de opcin, asignarlos a grupos y seleccionarlos en funcin de los valores de datos o el nombre de instancia. Si una propiedad de la clase RadioButton se define con ActionScript, sustituye al parmetro del mismo nombre definido en el inspector de propiedades o el inspector de componentes. El componente RadioButton utiliza Focus Manager para sustituir el rectngulo de seleccin predeterminado de Flash Player y dibuja uno personalizado con esquinas redondeadas. Para ms informacin sobre la creacin de desplazamientos de la seleccin, consulte Creacin de un desplazamiento personalizado de la seleccin en Utilizacin de componentes ActionScript 2.0. Cada clase de componente tiene una propiedad version que es una propiedad de clase. Las propiedades de clase slo estn disponibles en la propia clase. La propiedad version devuelve una cadena que indica la versin del componente. Para acceder a esta propiedad, utilice el cdigo siguiente:
trace(mx.controls.RadioButton.version);
N OT A
Clase RadioButton
1109
Crea un subobjeto en un objeto. Elimina una instancia de componente. Llama a una funcin cuando se han establecido parmetros en el inspector de propiedades y el inspector de componentes. Obtiene la propiedad de estilo de la declaracin de estilo o del objeto. Marca el objeto de forma que se pueda volver a dibujar en el siguiente intervalo de fotogramas. Mueve el objeto a la posicin indicada. Fuerza la validacin del objeto, de forma que se pueda dibujar sobre el fotograma actual. Cambia el tamao del objeto al indicado. Define un aspecto en el objeto. Define la propiedad de estilo en la declaracin de estilo o en el objeto.
UIObject.getStyle()
UIObject.invalidate()
UIObject.move() UIObject.redraw()
Descripcin
Devuelve una referencia al objeto seleccionado. Define la seleccin en la instancia de componente.
1110
Componente RadioButton
Descripcin
Valor asociado a una instancia de botn de opcin. Nombre de grupo de una instancia de grupo de botones de opcin o una instancia de botn de opcin. Texto que aparece junto al botn de opcin. Orientacin del texto de la etiqueta con respecto al botn de opcin o al grupo de botones de opcin. Selecciona el botn de opcin y anula la seleccin del botn seleccionado anteriormente. Esta propiedad puede utilizarse con una instancia de RadioButton o una instancia de RadioButtonGroup. Selecciona el botn de opcin con el valor de datos especificado en un grupo de botones de opcin. Referencia al botn de opcin seleccionado actualmente en un grupo de botones de opcin. Esta propiedad puede utilizarse con una instancia de RadioButton o una instancia de RadioButtonGroup.
RadioButton.label RadioButton.labelPlacement
RadioButton.selected
RadioButton.selectedData
RadioButton.selection
Descripcin
Posicin del borde inferior del objeto con respecto al borde inferior de su elemento principal correspondiente. Slo lectura. Altura del objeto, expresada en pxeles. Slo lectura. Borde izquierdo del objeto, expresado en pxeles. Slo lectura. Posicin del borde derecho del objeto con respecto al borde derecho de su elemento principal correspondiente. Slo lectura.
UIObject.height UIObject.left
UIObject.right
Clase RadioButton
1111
Propiedad
UIObject.scaleX
Descripcin
Nmero que indica el factor de escala en la direccin x del objeto con respecto a su elemento principal correspondiente. Nmero que indica el factor de escala en la direccin y del objeto con respecto a su elemento principal correspondiente. Posicin del borde superior del objeto con respecto a su elemento principal correspondiente. Slo lectura. Valor booleano que indica si el objeto es visible (true) o no (false). Anchura del objeto, expresada en pxeles. Slo lectura. Borde izquierdo del objeto, expresado en pxeles. Slo lectura. Borde superior del objeto, expresado en pxeles. Slo lectura.
UIObject.scaleY
UIObject.top
UIObject.visible
UIObject.width UIObject.x
UIObject.y
Descripcin
Indica si el componente puede recibir selecciones y entradas. Nmero que indica el orden de tabulacin para un componente de un documento.
1112
Componente RadioButton
Descripcin
Indica si el botn tiene el aspecto de un botn de comando predeterminado.
emphasized est definida en true.
SimpleButton.selected
Valor booleano que indica si el botn est seleccionado (true) o no (false). El valor predeterminado es false. Valor booleano que indica si el botn se comporta como un conmutador (true) o no (false). El valor predeterminado es false.
SimpleButton.toggle
Descripcin
Especifica un icono para una instancia del botn. Especifica el texto que aparece en un botn. Especifica la orientacin del texto de la etiqueta con respecto a un icono.
Descripcin
Se activa cuando se hace clic con el ratn en un botn de opcin o un grupo de botones de opcin.
Clase RadioButton
1113
Descripcin
Se difunde cuando un objeto est a punto de dibujar sus grficos. Se difunde cuando el estado de un objeto pasa de ser visible a invisible. Se difunde cuando se crean subobjetos. Se difunde cuando se mueve el objeto. Se difunde cuando cambia el tamao de un objeto. Se difunde cuando el estado de un objeto pasa de ser invisible a visible. Se difunde durante la descarga de los subobjetos.
UIObject.hide
UIObject.unload
Descripcin
Se difunde cuando se selecciona un objeto. Se difunde cuando un objeto deja de seleccionarse. Se difunde cuando se presiona una tecla. Se difunde cuando se suelta una tecla.
Descripcin
Se difunde cuando se hace clic con el ratn (se suelta el botn del ratn) en un botn o cuando ste est seleccionado y se presiona la barra espaciadora.
1114
Componente RadioButton
RadioButton.click
Disponibilidad
Flash MX 2004.
Sintaxis
Sintaxis 1:
var listenerObject:Object = new Object(); listenerObject.click = function(eventObj:Object) { // ... }; radioButtonGroup.addEventListener("click", listenerObject);
Sintaxis 2:
on (click) { // ... }
Descripcin
Evento; se difunde a todos los detectores registrados cuando se hace clic con el ratn (se presiona y se suelta) sobre el botn de opcin o al seleccionar el botn con las teclas de flecha. El evento tambin se difunde si se presiona la barra espaciadora o las teclas de flecha cuando la seleccin est sobre un grupo de botones de opcin pero no hay ninguno de ellos seleccionado. El primer ejemplo de sintaxis utiliza un modelo de eventos distribuidor/detector. Una instancia de componente (radioButtonInstance) distribuye un evento (en este caso, click), y ste se controla mediante una funcin, tambin denominada controlador, asociada con el objeto detector (listenerObject) que crea el usuario. Se define un mtodo con el mismo nombre que el evento del objeto detector; se llama al mtodo cuando se activa el evento. Cuando se activa el evento, ste pasa automticamente un objeto de evento (eventObject) al mtodo del objeto detector. El objeto de evento tiene propiedades que contienen informacin sobre el evento. Estas propiedades sirven para escribir el cdigo que controla el evento. Finalmente, se llama al mtodo EventDispatcher.addEventListener() de la instancia del componente que difunde el evento para registrar el detector con la instancia. Cuando la instancia distribuya el evento, se llamar al detector. Para ms informacin, consulte Clase EventDispatcher en la pgina 527.
RadioButton.click
1115
El segundo ejemplo de sintaxis utiliza un controlador on() que debe asociarse directamente con una instancia de RadioButton. La palabra clave this, utilizada en un controlador on() asociado con un componente, hace referencia a la instancia del componente. Por ejemplo, el cdigo siguiente, asociado con el botn de opcin myRadioButton, enva _level0.myRadioButton al panel Salida:
on (click) { trace(this); }
Ejemplo
En el siguiente ejemplo, se crean tres botones de opcin, se colocan en el escenario y se crea un detector para el evento click. Cuando un usuario hace clic en uno de los tres botones de opcin, el detector muestra el nombre de instancia del botn de opcin seleccionado. Primero, arrastre un componente RadioButton desde el panel Componentes a la biblioteca del documento actual y, a continuacin, aada el siguiente cdigo al fotograma 1 de la lnea de tiempo principal:
/** Se requiere: - Componente RadioButton en la biblioteca */ import mx.controls.RadioButton; this.createClassObject(RadioButton, "first_rb", 10, {label:"first", groupName:"radioGroup"}); this.createClassObject(RadioButton, "second_rb", 20, {label:"second", groupName:"radioGroup"}); this.createClassObject(RadioButton, "third_rb", 30, {label:"third", groupName:"radioGroup"}); // Colocar RadioButtons en el escenario. second_rb.move(0, first_rb.y + first_rb.height); third_rb.move(0, second_rb.y + second_rb.height); // Crear un objeto detector. var rbListener:Object = new Object(); rbListener.click = function(evt_obj:Object){ trace("The selected radio instance is " + evt_obj.target.selection); } // Aadir detector. radioGroup.addEventListener("click", rbListener);
1116
Componente RadioButton
RadioButton.data
Disponibilidad
Flash MX 2004.
Sintaxis
radioButtonInstance.data
Descripcin
Propiedad; especifica los datos que se asociarn con una instancia de RadioButton. La definicin de esta propiedad sustituye el valor del parmetro de datos definido durante la edicin. La propiedad data puede ser cualquier tipo de datos.
Ejemplo
En el siguiente ejemplo, se asignan los valores de datos 0xFF00FF y la etiqueta #FF00FF a la instancia de botn de opcin my_rb. A continuacin, se crea un detector para un evento click y se muestra el valor de los datos del botn cuando un usuario hace clic en el botn. Primero, arrastre un componente RadioButton desde el panel Componentes a la biblioteca del documento actual y, a continuacin, aada el siguiente cdigo al fotograma 1 de la lnea de tiempo principal:
/** Se requiere: - Componente RadioButton en la biblioteca */ this.createClassObject(mx.controls.RadioButton, "my_rb", 10, {label:"first", groupName:"radioGroup"}); my_rb.data = 0xFF00FF; my_rb.label = "#FF00FF"; var rbListener:Object = new Object(); rbListener.click = function(evt_obj:Object){ trace("The data value for my_rb is " + my_rb.data); } // Aadir detector. my_rb.addEventListener("click", rbListener);
RadioButton.data
1117
RadioButton.groupName
Disponibilidad
Flash MX 2004.
Sintaxis
radioButtonInstance.groupName radioButtonGroup.groupName
Descripcin
Propiedad; define el nombre de grupo para una instancia o un grupo de botones de opcin. Puede utilizar esta propiedad para obtener o definir un nombre de grupo para una instancia de botn de opcin o un grupo de botones de opcin. Si se llama a este mtodo, se sustituye el valor del parmetro groupName definido durante la edicin. El valor predeterminado es radioGroup.
Ejemplo
En el siguiente ejemplo, se establece el nombre de grupo de un grupo de tres botones de opcin como myrbGroup. Se colocan los botones y, a continuacin, se crea un detector para un evento click en el grupo de botones de opcin. Cuando el usuario hace clic en un botn de opcin, el ejemplo muestra la propiedad groupName para el botn en el que se hizo clic. Primero, arrastre un componente RadioButton desde el panel Componentes a la biblioteca del documento actual y, a continuacin, aada el siguiente cdigo al fotograma 1 de la lnea de tiempo principal:
/** Se requiere: - Componente RadioButton en la biblioteca */ import mx.controls.RadioButton; this.createClassObject(RadioButton, "first_rb", 10, {label:"first", groupName:"myrbGroup"}); this.createClassObject(RadioButton, "second_rb", 20, {label:"second", groupName:"myrbGroup"}); this.createClassObject(RadioButton, "third_rb", 30, {label:"third", groupName:"myrbGroup"});
1118
Componente RadioButton
// Colocar botones de opcin en el escenario. second_rb.move(0, first_rb.y + first_rb.height); third_rb.move(0, second_rb.y + second_rb.height); // Crear un objeto detector. var rbListener:Object = new Object(); rbListener.click = function(evt_obj:Object){ trace("The selected radio button group name is " + evt_obj.target.groupName); } // Aadir detector. myrbGroup.addEventListener("click", rbListener);
RadioButton.label
Disponibilidad
Flash MX 2004.
Sintaxis
radioButtonInstance.label
Descripcin
Propiedad; especifica la etiqueta de texto para el botn de opcin. De forma predeterminada, la etiqueta aparece a la derecha del botn de opcin. Si se llama a este mtodo, se sustituye el parmetro de etiqueta especificado durante la edicin. Si el tamao del texto de la etiqueta supera el del recuadro de delimitacin del componente, se recorta el texto. Puede llamar a RadioButton.setSize() para aumentar el tamao del rea de etiqueta, pero el texto no se ajusta a la lnea siguiente. Para proporcionar una etiqueta con texto que se ajusta, puede combinar un componente RadioButton sin etiqueta y un componente TextArea para que acten como un solo RadioButton con ajuste de texto. En el siguiente ejemplo, se crea ese botn de opcin. Se supone que tiene un componente RadioButton y un componente TextArea en la biblioteca y se desactiva el borde del componente TextArea. La propiedad label sera undefined en este caso, si ha accedido a ella.
this.createClassObject(mx.controls.RadioButton, "sameas_rb", 1, {groupName:"myGroup"}); sameas_rb.move(0,30) this.createClassObject(mx.controls.TextArea, "message_ta", 2); message_ta.setSize(200, 60);
RadioButton.label
1119
// Desactivar el borde del componente TextArea. message_ta.borderStyle = "none"; message_ta.wordWrap = true; message_ta.text = "Click here if your shipping information is the same as your billing information."; message_ta.move(20, 30);
Ejemplo
En el siguiente ejemplo, se crea un botn de opcin y se le asigna una etiqueta Remove from list. Primero, aada un componente RadioButton desde el panel Componentes a la biblioteca del documento actual y, a continuacin, aada el siguiente cdigo al fotograma 1 de la lnea de tiempo principal.
/** Se requiere: - Componente RadioButton en la biblioteca */ this.createClassObject(mx.controls.RadioButton, "my_rb", 10); // Cambiar el tamao del componente RadioButton. my_rb.setSize(200, my_rb.height); my_rb.label = "Remove from list";
RadioButton.labelPlacement
Disponibilidad
Flash MX 2004.
Sintaxis
radioButtonInstance.labelPlacement radioButtonGroup.labelPlacement
1120
Componente RadioButton
Descripcin
Propiedad; cadena que indica la posicin de la etiqueta con respecto a un botn de opcin. Puede definir esta propiedad para una sola instancia o para un grupo de botones de opcin. Si la propiedad se define para un grupo, la etiqueta se coloca en la posicin apropiada para cada botn del grupo. A continuacin se indican los cuatro valores posibles:
El botn de opcin se fija en la esquina superior izquierda del rea de delimitacin. La etiqueta se coloca a la derecha del botn de opcin.
right
El botn de opcin se fija en la esquina superior derecha del rea de delimitacin. La etiqueta se coloca a la izquierda del botn de opcin.
left bottom
La etiqueta se coloca por debajo del botn de opcin. El conjunto de botn de opcin y etiqueta se centra horizontal y verticalmente. Si el recuadro de delimitacin del botn de opcin no es lo suficientemente grande, la etiqueta se recortar. La etiqueta se coloca por encima del botn de opcin. El conjunto de botn de opcin y etiqueta se centra horizontal y verticalmente. Si el recuadro de delimitacin del botn de opcin no es lo suficientemente grande, la etiqueta se recortar.
top
Ejemplo
El siguiente cdigo crea tres botones de opcin y utiliza la propiedad labelPlacement para colocar la etiqueta del segundo botn en el lado izquierdo de ste. Primero, arrastre un componente RadioButton desde el panel Componentes a la biblioteca del documento actual y, a continuacin, aada el siguiente cdigo al fotograma 1 de la lnea de tiempo principal.
/** Se requiere: - Componente RadioButton en la biblioteca */ import mx.controls.RadioButton; this.createClassObject(RadioButton, "first_rb", 10, {label:"first", groupName:"radioGroup"}); this.createClassObject(RadioButton, "second_rb", 20, {label:"second", groupName:"radioGroup"}); this.createClassObject(RadioButton, "third_rb", 30, {label:"third", groupName:"radioGroup"}); // Colocar botones de opcin en el escenario. second_rb.move(0, first_rb.y + first_rb.height); third_rb.move(0, second_rb.y + second_rb.height); second_rb.labelPlacement = "left";
RadioButton.labelPlacement
1121
RadioButton.selected
Disponibilidad
Flash MX 2004.
Sintaxis
radioButtonInstance.selected radioButtonGroup.selected
Descripcin
Propiedad; valor booleano que define el estado de un botn de opcin en seleccionado (true) y anula la seleccin de cualquier otro botn seleccionado anteriormente, o bien define el botn de opcin en no seleccionado (false).
Ejemplo
En el siguiente ejemplo, se crean tres botones de opcin en un grupo de opciones, se colocan los botones y se establece la propiedad selected en true para ponerla en el estado seleccionado. Primero, arrastre un componente RadioButton desde el panel Componentes a la biblioteca del documento actual y, a continuacin, aada el siguiente cdigo al fotograma 1 de la lnea de tiempo principal.
/** Se requiere: - Componente RadioButton en la biblioteca */ import mx.controls.RadioButton; this.createClassObject(RadioButton, "first_rb", 10, {label:"first", groupName:"radioGroup"}); this.createClassObject(RadioButton, "second_rb", 20, {label:"second", groupName:"radioGroup"}); this.createClassObject(RadioButton, "third_rb", 30, {label:"third", groupName:"radioGroup"}); // Colocar botones de opcin en el escenario. second_rb.move(0, first_rb.y + first_rb.height); third_rb.move(0, second_rb.y + second_rb.height); first_rb.selected = true;
1122
Componente RadioButton
RadioButton.selectedData
Disponibilidad
Flash MX 2004.
Sintaxis
radioButtonGroup.selectedData
Descripcin
Propiedad; selecciona el botn de opcin con el valor de datos especificado y anula la seleccin del botn seleccionado anteriormente. Si no se ha especificado la propiedad data de una instancia seleccionada, se selecciona y devuelve el valor de label de la instancia seleccionada. La propiedad selectedData puede ser cualquier tipo de datos.
Ejemplo
En el siguiente ejemplo, se crean tres botones de opcin en un grupo de opciones, se colocan los botones y se selecciona el botn cuyo valor de datos es 10, que es el segundo botn. Primero, arrastre un componente RadioButton desde el panel Componentes a la biblioteca del documento actual y, a continuacin, aada el siguiente cdigo al fotograma 1 de la lnea de tiempo principal.
/** Se requiere: - Componente RadioButton en la biblioteca */ import mx.controls.RadioButton; this.createClassObject(RadioButton, "first_rb", 10, {label:"first", data:5, groupName:"radioGroup"}); this.createClassObject(RadioButton, "second_rb", 20, {label:"second", data:10, groupName:"radioGroup"}); this.createClassObject(RadioButton, "third_rb", 30, {label:"third", data:15, groupName:"radioGroup"}); // Colocar botones de opcin en el escenario. second_rb.move(0, first_rb.y + first_rb.height); third_rb.move(0, second_rb.y + second_rb.height); radioGroup.selectedData = 10;
RadioButton.selectedData
1123
RadioButton.selection
Disponibilidad
Flash MX 2004.
Sintaxis
radioButtonInstance.selection radioButtonGroup.selection
Descripcin
Propiedad; se comporta de forma distinta si la propiedad se obtiene o se define. Si la propiedad se obtiene, devuelve la referencia a un objeto del botn seleccionado en un grupo de botones de opcin. Si la propiedad se define, selecciona el botn de opcin especificado (que se pasa como una referencia a un objeto) de un grupo de botones de opcin y anula la seleccin del botn seleccionado anteriormente.
Ejemplo
En el siguiente ejemplo, se crean tres botones de opcin en un grupo de opciones, se colocan los botones y se crea un detector para un evento click del grupo de opciones. Cuando el usuario hace clic en un botn de opcin, el detector utiliza la propiedad selection para mostrar el nombre de instancia del botn sobre el que se ha hecho clic. Primero, arrastre un componente RadioButton desde el panel Componentes a la biblioteca del documento actual y, a continuacin, aada el siguiente cdigo al fotograma 1 de la lnea de tiempo principal.
/** Se requiere: - Componente RadioButton en la biblioteca */ import mx.controls.RadioButton; this.createClassObject(RadioButton, "first_rb", 10, {label:"first", groupName:"radioGroup"}); this.createClassObject(RadioButton, "second_rb", 20, {label:"second", groupName:"radioGroup"}); this.createClassObject(RadioButton, "third_rb", 30, {label:"third", groupName:"radioGroup"});
1124
Componente RadioButton
// Colocar botones de opcin en el escenario. second_rb.move(0, first_rb.y + first_rb.height); third_rb.move(0, second_rb.y + second_rb.height); // Crear un objeto detector. var rbListener:Object = new Object(); rbListener.click = function(evt_obj:Object){ trace("The selected radio instance is " + radioGroup.selection); } // Aadir detector.ll radioGroup.addEventListener("click", rbListener);
RadioButton.selection
1125
1126
Componente RadioButton
CAPTULO 36
Componente RadioButtonGroup
36
1127
1128
Componente RadioButtonGroup
CAPTULO 37
Componente RDBMSResolver
37
Los componentes Resolver se utilizan con el componente DataSet (parte de la funcionalidad de administracin de datos de la arquitectura de datos de Flash) para guardar los cambios en un origen de datos externo. Son tanto el componente RDBMSResolver como el componente XUpdateResolver. Los componentes Resolver toman un paquete delta (devuelto por DataSet.deltaPacket) y lo convierten en un paquete de actualizacin con un formato apropiado para el tipo de Resolver. Los componentes Connector pueden transmitir a continuacin el paquete de actualizacin al origen de datos externo. Los componentes Resolver no aparecen en pantalla en tiempo de ejecucin.
N OT A S UG E R E N CI A
El componente RDBMSResolver slo es compatible si trabaja con un documento que especifique ActionScript 2.0 en la Configuracin de publicacin.
El componente RDBMSResolver crea un paquete de actualizacin XML que puede analizarse fcilmente en sentencias SQL para actualizar una base de datos relacional. El componente RDBMSResolver se conecta a la propiedad DeltaPacket de un componente DataSet, enva su propio paquete de actualizacin a un conector, recibe los errores de servidor del conector y los vuelve a transferir al componente DataSet, todo ello mediante propiedades que pueden vincularse. Para ms informacin sobre la arquitectura de datos de Flash, consulte Resolucin de datos en Utilizacin de Flash. Para ms informacin sobre bases de datos relacionales, consulte Resolucin de datos en una base de datos relacional en Utilizacin de Flash. Si desea ver un ejemplo completo de una aplicacin que actualiza datos mediante el componente RDBMSResolver, consulte www.adobe.com/devnet/mx/flash/articles/delta_packet.html.
Puede utilizar el componente RDBMSResolver para enviar actualizaciones de datos a cualquier objeto que escriba y que pueda analizar XML y generar sentencias SQL para una base de datos (por ejemplo, una pgina ASP, un servlet Java o un componente de ColdFusion).
1129
Parmetros de RDBMSResolver
A continuacin se indican los parmetros de edicin que se pueden definir para cada instancia de RDBMSResolver mediante la ficha Parmetros del Inspector de componentes: es una cadena que representa el nombre (en el cdigo XML) de la tabla de base de datos que se debe actualizar. Esta cadena debera coincidir con el nombre del elemento RDBMSResolver.fieldInfo que se debe actualizar. Si no hay actualizaciones en este campo, este parmetro debera estar en blanco, que es el valor predeterminado.
TableName UpdateMode
es un enumerador que determina el modo en el que se identifican los campos clave durante la generacin del paquete de actualizacin XML. Los valores posibles son los siguientes:
umUsingAll Utiliza los valores anteriores de todos los campos modificados para identificar el registro que debe actualizarse. Es el valor ms seguro que debe utilizarse para realizar actualizaciones, porque garantiza que otro usuario no haya modificado el registro desde que se ha recuperado. Sin embargo, este mtodo es muy lento y genera un paquete de actualizacin ms grande. umUsingModified
Utiliza los valores anteriores de todos los campos modificados para identificar el registro que debe actualizarse. Este valor garantiza que otro usuario no haya modificado los mismos campos del registro desde que se ha recuperado.
umUsingKey Es el valor predeterminado. Esta configuracin utiliza el valor anterior de los campos clave. Esto implica un modelo de simultaneidad optimista que utiliza la mayor parte de los sistemas de bases de datos actualmente y garantiza que se modifique el mismo registro que se ha recuperado de la base de datos. Los cambios sobrescriben los cambios que los dems usuarios hayan efectuado en los mismos datos.
es una cadena que representa un valor de campo nulo. Este parmetro se puede personalizar para evitar confundirlo con una cadena vaca ("") o con otro valor vlido. El valor predeterminado es {_NULL_}.
NullValue
1130
Componente RDBMSResolver
FieldInfo es una coleccin que representa uno o ms campos clave que identifican registros de forma exclusiva. Si el origen de datos es una tabla de base de datos, sta debe tener uno o ms campos que cifren en clave de forma exclusiva los registros que la componen. Adems, puede que se hayan calculado o unido campos de otras tablas. Estos campos deben identificarse para que se puedan establecer los campos clave dentro del paquete de actualizacin XML y para que los campos que no se hayan actualizado se omitan en el paquete de actualizacin XML.
El parmetro FieldInfo permite utilizar propiedades para designar campos que requieren un manejo especial. Cada elemento de la coleccin contiene tres propiedades:
FieldName
Nombre de un campo. Debe coincidir con un nombre de campo del componente DataSet.
OwnerName Valor opcional que se utiliza para identificar campos que no son propiedad de la misma tabla definida en el parmetro TableName del componente RDBMSResolver. Si esta propiedad tiene el mismo valor que el del parmetro TableName o est en blanco, el campo se suele incluir en el paquete de actualizacin XML. Si tiene otro valor, este campo se excluye del paquete de actualizacin. IsKey
Propiedad booleana que debe establecerse en true para que todos los campos clave de la tabla se actualicen.
En el ejemplo siguiente, se muestran los elementos FieldInfo que se crean para actualizar campos en una tabla de clientes. Debe identificar los campos clave en la tabla de clientes. La tabla de clientes tiene un solo campo clave, id; por lo tanto, el usuario debe crear un elemento de campo con los valores siguientes:
FieldName = "id" OwnerName = <--! leave this value blank --> IsKey = "true"
Adems, el campo custType se aade mediante una unin con la consulta. Este campo debe excluirse de la actualizacin, por lo que se debe crear un elemento de campo con los valores siguientes:
FieldName = "custType" OwnerName = "JoinedField" IsKey = "false"
Cuando se definen elementos de campo, Flash Player puede utilizarlos para generar de forma automtica todo el cdigo XML, que se utiliza para actualizar una tabla.
N O TA
El parmetro FieldInfo utiliza una funcin de Flash llamada editor de colecciones. Cuando se selecciona el parmetro FieldInfo, aparece el cuadro de dilogo del editor de colecciones, donde se pueden aadir nuevos elementos FieldInfo y definir sus propiedades fieldName, ownerName y isKey desde un solo lugar.
1131
Confirme que se especifica ActionScript 2.0 en la Configuracin de publicacin. Aada a la aplicacin dos instancias del componente WebServiceConnector y una instancia de cada uno de los componentes DataSet y RDBMSResolver, y asgneles nombres de instancia. Seleccione el primer componente WebServiceConnector. A continuacin, utilice la ficha Parmetros del inspector de componentes para introducir la URL del lenguaje de descripcin de servicios Web (WSDL, Web Service Definition Language) de un servicio Web que muestre datos desde un origen de datos externo.
NO TA
3.
El servicio Web debe devolver una matriz de registros para vincularse al juego de datos.
4.
Utilice la ficha Vinculaciones del Inspector de componentes para vincular la propiedad results del primer componente WebServiceConnector a la propiedad dataProvider del componente DataSet. Seleccione el componente DataSet y utilice la ficha Vinculaciones del inspector de componentes para vincular elementos de datos (campos DataSet) a los componentes visuales de su aplicacin. Vincule la propiedad deltaPacket de DataSet a la propiedad deltaPacket de RDBMSResolver.
5.
6.
Las instrucciones de actualizacin se envan del componente DataSet al componente RDBMSResolver cuando se llama al mtodo DataSet.applyUpdates(). 7. Vincule la propiedad updatePacket de RDBMSResolver a la propiedad params del segundo componente WebServiceConnector para enviar nuevamente los datos a un mtodo que analizar el paquete de actualizacin XML. Establezca que la propiedad params sea active automticamente para que el conector enve el paquete de actualizacin tan pronto como la vinculacin de datos lo copie.
8.
Utilice un desencadenante para iniciar la operacin de vinculacin de datos: utilice el comportamiento Trigger Data Source asociado a un botn o aada ActionScript.
Adems de estos pasos, tambin puede utilizar el componente RDBMSResolver para crear vinculaciones para aplicar el paquete de resultados devuelto desde el servidor al conjunto de datos. Si desea ver un ejemplo paso a paso de resolucin de datos en una base de datos relacional mediante el componente RDBMSResolver, consulte los tutoriales sobre DevNet en http://www.adobe.com/devnet/mx/flash/data_integration.html.
1132 Componente RDBMSResolver
Clase RDBMSResolver
Herencia
Los mtodos, propiedades y eventos de la clase RDBMSResolver permiten conectar con un componente DataSet y realizar cambios en orgenes de datos externos.
Descripcin
Aade un nuevo elemento a la coleccin fieldInfo, que se utiliza para configurar un componente RDBMSResolver dinmicamente en tiempo de ejecucin.
Descripcin
La propiedad deltaPacket del objeto DataSet debera vincularse a esta propiedad para que, cuando se llame al mtodo DataSet.applyUpdates(), se copie a travs de la vinculacin y el componente Resolver cree el paquete de actualizacin. Coleccin de campos con propiedades que identifican campos DataSet que requieren un manejo especial, ya sea porque son campos clave o porque no pueden actualizarse. Cadena que se coloca en el paquete de actualizacin para indicar que el valor de un campo es null. Identifica la tabla de base de datos que se va a actualizar. Valores que determinan cmo se identifican los campos clave cuando se genera el paquete de actualizacin XML.
RDBMSResolver.fieldInfo
RDBMSResolver.nullValue
RDBMSResolver.tableName RDBMSResolver.updateMode
Clase RDBMSResolver
1133
Propiedad
RDBMSResolver.updatePacket
Descripcin
El paquete XML producido por este componente Resolver que contiene los cambios del paquete delta del juego de datos. Un paquete delta que contiene los resultados de una actualizacin devuelta por el servidor a travs de un conector.
RDBMSResolver.updateResults
Se define en la aplicacin; el componente RDBMSResolver lo llama para comparar dos paquetes despus de recibir los resultados del servidor y de que stos se hayan aplicado al paquete delta. Se define en la aplicacin; el componente RDBMSResolver lo llama cuando se han recibido resultados del servidor despus de aplicar las actualizaciones de un paquete delta.
RDBMSResolver.reconcileUpdates
1134
Componente RDBMSResolver
RDBMSResolver.addFieldInfo()
Disponibilidad
Flash Player 7.
Edicin
Parmetros
fieldName
describe.
ownerName
Cadena; proporciona el nombre de la tabla que es propietaria de este campo. Si este nombre coincide con la propiedad tableName de la instancia de RDBMSResolver, puede dejar este parmetro en blanco (""). Valor booleano; indica si este campo es un campo clave.
isKey
Valor devuelto
Ninguno.
Descripcin
Mtodo; aade un nuevo elemento a la coleccin fieldInfo XML en el paquete de actualizacin. Utilice este mtodo si debe configurar un componente RDBMSResolver dinmicamente en tiempo de ejecucin en lugar de utilizar el Inspector de componentes en el entorno de edicin.
Ejemplo
En el ejemplo siguiente, se crea un componente RDBMSResolver y se proporciona el nombre de la tabla y el del campo clave, y se impide que el campo personTypeName se actualice:
var myResolver:RDBMSResolver = new RDBMSResolver(); myResolver.tableName = "Customers"; // Configura el campo id como campo clave // y el campo personTypeName para que no se actualice. myResolver.addFieldInfo("id", "", true); myResolver.addFieldInfo("personTypeName", "JoinedField", false); // Configura las vinculaciones de datos //...
RDBMSResolver.addFieldInfo()
1135
RDBMSResolver.beforeApplyUpdates
Disponibilidad
Flash Player 7.
Edicin
Parmetros
eventObject
Objeto de evento Resolver; describe las personalizaciones del paquete XML antes de que se enve la actualizacin a travs del conector a la base de datos. Este objeto de evento debe contener las propiedades siguientes:
Propiedad
target type updatePacket
Descripcin
Objeto; Resolver que activa este evento. Cadena; nombre del evento. Objeto XML; objeto XML que est a punto de aplicarse.
Valor devuelto
Ninguno.
Descripcin
Propiedad; propiedad de tipo deltaPacket. Recibe un paquete delta que debe convertirse en un paquete de actualizacin y emite un paquete delta a partir de los resultados de cualquier servidor incluidos en la propiedad updateResults. Este controlador de eventos proporciona un mtodo para realizar modificaciones personalizadas en el cdigo XML antes de enviar los datos actualizados a un conector. Los mensajes de la propiedad updateResults se tratan como errores. Esto significa que se aade nuevamente un delta con mensajes al paquete delta para que se pueda reenviar la prxima vez que el paquete delta se enve al servidor. Debe escribir cdigo que gestione deltas que tengan mensajes a fin de que los mensajes se presenten al usuario y se modifiquen antes de aadirlos al siguiente paquete delta.
1136
Componente RDBMSResolver
Ejemplo
RDBMSResolver.deltaPacket
Disponibilidad
Flash Player 7.
Edicin
Descripcin
Propiedad; propiedad de tipo deltaPacket. Recibe un paquete delta que debe convertirse en un paquete de actualizacin y emite un paquete delta a partir de los resultados de cualquier servidor incluidos en la propiedad updateResults. Los mensajes de la propiedad updateResults se tratan como errores. Esto significa que se aade nuevamente un delta con mensajes al paquete delta para que se pueda reenviar la prxima vez que el paquete delta se enve al servidor. Debe escribir cdigo que gestione deltas que tengan mensajes a fin de que los mensajes se presenten al usuario y se modifiquen antes de aadirlos al siguiente paquete delta.
RDBMSResolver.deltaPacket
1137
RDBMSResolver.fieldInfo
Disponibilidad
Flash Player 7.
Edicin
Descripcin
Propiedad; especifica una coleccin de un nmero ilimitado de campos con propiedades que identifican campos DataSet que requieren un manejo especial, ya sea porque son campos clave o porque no pueden actualizarse (para ms informacin sobre cmo aadir un archivo, consulte RDBMSResolver.addFieldInfo()). Cada elemento fieldInfo de la coleccin contiene tres propiedades:
Propiedad
fieldName
Descripcin
Nombre de campo del caso determinado. Este nombre de campo debe coincidir con un nombre de campo de DataSet. Propiedad opcional. Si este campo no es propiedad de la tabla definida en la propiedad RDBMSResolver.tableName, OwnerName es el nombre del propietario de este campo. Si OwnerName tiene el mismo valor que RDBMSResolver.tableName o est en blanco, el campo se suele incluir en el paquete de actualizacin XML. Si OwnerName no tiene ninguno de estos valores, este campo se excluye del paquete de actualizacin. Valor booleano; si su valor es true, se actualizan todos los campos clave de la tabla.
ownerName
isKey
1138
Componente RDBMSResolver
RDBMSResolver.nullValue
Disponibilidad
Flash Player 7.
Edicin
Descripcin
Propiedad; cadena que se utiliza para proporcionar un valor null para el valor de un campo. Esta propiedad se puede personalizar para evitar confundirlo con una cadena vaca ("") o con otro valor vlido. La cadena predeterminada es {_NULL_}.
RDBMSResolver.reconcileResults
Disponibilidad
Flash Player 7.
Edicin
Parmetros
eventObject
Objeto de evento Resolver; describe el objeto de evento que se utiliza para comparar dos paquetes de actualizacin. Este objeto de evento debe contener las propiedades siguientes:
Propiedad
target type
Descripcin
Objeto; Resolver que difunde este evento. Cadena; nombre del evento.
Valor devuelto
Ninguno.
RDBMSResolver.reconcileResults
1139
Descripcin
Evento; el componente RDBMSResolver lo difunde para comparar dos paquetes despus de recibir los resultados del servidor y de que stos se hayan aplicado al paquete delta. Un solo paquete updateResults puede contener los resultados de las operaciones que haba en el paquete delta e informacin sobre actualizaciones realizadas por otros clientes. Cuando se recibe un nuevo paquete de actualizacin, los resultados de la operacin y las actualizaciones de las bases de datos se dividen en dos paquetes de actualizacin y se colocan por separado en la propiedad deltaPacket. El evento reconcileResults se difunde justo antes de que el paquete delta que contiene los resultados de la operacin se enve mediante la vinculacin de datos.
Ejemplo
En el ejemplo siguiente, se igualan dos paquetes de actualizacin y se devuelven y borran las actualizaciones si son correctas:
on (reconcileResults) { // Examinar resultados. if (examine(updateResults)) { myDataSet.purgeUpdates(); } else { displayErrors(results); } }
RDBMSResolver.reconcileUpdates
Disponibilidad
Flash Player 7.
Edicin
Flash Professional 8.
Sintaxis
resolveData.reconcileUpdates(eventObject)
1140
Componente RDBMSResolver
Parmetros
eventObject
Objeto de evento Resolver; describe las personalizaciones del paquete XML antes de que la actualizacin se enve a travs del conector a la base de datos. Este objeto de evento debe contener las propiedades siguientes:
Propiedad
target type
Descripcin
Objeto; Resolver que difunde este evento. Cadena; nombre del evento.
Valor devuelto
Ninguno.
Descripcin
Evento; el componente RDBMSResolver lo difunde cuando se han recibido resultados del servidor despus de aplicar las actualizaciones de un paquete delta. Un solo paquete updateResults puede contener los resultados de las operaciones que haba en el paquete delta e informacin sobre actualizaciones realizadas por otros clientes. Cuando se recibe un nuevo paquete de actualizacin, los resultados de la operacin y las actualizaciones de las bases de datos se dividen en dos paquetes delta, que se colocan por separado en la propiedad deltaPacket. El evento reconcileUpdates se difunde justo antes de que el paquete delta que contiene las actualizaciones de base de datos se enve mediante la vinculacin de datos.
Ejemplo
En el ejemplo siguiente, se igualan dos resultados y se borran las actualizaciones si han sido correctas:
on (reconcileUpdates) { // Examinar resultados. if (examine(updateResults)) { myDataSet.purgeUpdates(); } else { displayErrors(results); } }
RDBMSResolver.reconcileUpdates
1141
RDBMSResolver.tableName
Disponibilidad
Flash Player 7.
Edicin
Descripcin
Propiedad; cadena que representa en el cdigo XML el nombre de la tabla de base de datos que se debe actualizar. Esta propiedad tambin determina los campos que se tienen que enviar en el paquete de actualizacin. Para determinar esto, el componente RDBMSResolver compara el valor de esta propiedad con el valor proporcionado para la propiedad fieldInfo.ownerName. Si un campo no tiene ninguna entrada en la propiedad de coleccin fieldInfo, el campo se incluye en el paquete de actualizacin. Si un campo tiene una entrada en la propiedad de coleccin fieldInfo y el valor de ownerName est en blanco o es idntico al valor de la propiedad tableName del componente RDBMSResolver, el campo se incluye en el paquete de actualizacin. Si un campo tiene una entrada en la propiedad de coleccin fieldInfo y el valor de ownerName no est en blanco y es distinto al valor de la propiedad tableName del componente RDBMSResolver, el campo no se incluye en el paquete de actualizacin.
1142
Componente RDBMSResolver
RDBMSResolver.updateMode
Disponibilidad
Flash Player 7.
Edicin
Descripcin
Propiedad; contiene varios valores que determinan cmo se identifican los campos clave cuando se genera el paquete de actualizacin XML. Esa propiedad puede tener las siguientes cadenas como valores:
Valor
"umUsingAll"
Descripcin
Utiliza los valores anteriores de todos los campos modificados para identificar el registro que se debe actualizar. Es el valor ms seguro que se puede utilizar para realizar actualizaciones, porque garantiza que otro usuario no ha modificado ningn campo del registro desde que lo ha recuperado. Sin embargo, este mtodo es ms lento y genera un paquete de actualizacin de mayor tamao. identificar el registro que se debe actualizar. Este valor garantiza que otro usuario no haya modificado los mismos campos del registro desde que se ha recuperado.
"umUsingModified" Utiliza los valores anteriores de todos los campos modificados para
"umUsingKey"
Valor predeterminado. Esta configuracin utiliza el valor anterior de los campos clave. Esto implica un modelo de simultaneidad optimista que utiliza la mayor parte de los sistemas de bases de datos actualmente y garantiza que se modifique el mismo registro que se ha recuperado de la base de datos. Sus cambios sobrescriben los cambios realizados por otro usuario sobre los mismos datos.
RDBMSResolver.updateMode
1143
RDBMSResolver.updatePacket
Disponibilidad
Flash Player 7.
Edicin
Descripcin
Propiedad; propiedad del tipo XML que contiene un paquete XML que se utiliza para vincular una propiedad de conector que transmite de nuevo el paquete de actualizacin de cambios convertido al servidor para poder actualizar el origen de los datos. Se trata de un documento XML que contiene el paquete de cambios de DataSet.
RDBMSResolver.updateResults
Disponibilidad
Flash Player 7.
Edicin
Descripcin
Propiedad; un paquete delta que contiene los resultados de una actualizacin devuelta por el servidor a travs de un conector. Utilice esta propiedad para transmitir errores y datos actualizados del servidor a un juego de datos; por ejemplo, cuando el servidor asigna nuevos ID para un campo asignado automticamente. Vincule esta propiedad con la propiedad results de un conector de manera que pueda recibir los resultados de una actualizacin y transmitirlos de nuevo al juego de datos. Los mensajes de la propiedad updateResults se tratan como errores. Esto significa que se aade nuevamente un delta con mensajes al paquete delta para que se pueda reenviar la prxima vez que el paquete delta se enve al servidor. Debe escribir cdigo que gestione deltas que tengan mensajes a fin de que los mensajes se presenten al usuario y se modifiquen antes de aadirlos al siguiente paquete delta.
1144
Componente RDBMSResolver
CAPTULO 38
Clase RectBorder
La clase RectBorder se utiliza como borde en la mayora de los componentes. Cada tema proporciona una implementacin independiente de esta clase, pues tiene su propio conjunto de estilos de borde y propiedades compatibles.
NO T A
38
La clase RectBorder slo es compatible si trabaja con un documento que especifique ActionScript 2.0 en la Configuracin de publicacin.
La interaccin con la clase RectBorder se realiza principalmente a travs de la definicin de estilos en otros componentes. Por ejemplo, si se incluye un componente List en un documento y se establece la propiedad de estilo borderStyle, el componente List crea una clase RectBorder que utiliza el valor de borderStyle de la lista. Tambin es posible crear una implementacin personalizada de RectBorder para definir el aspecto del borde de todos los componentes que utilizan RectBorder. La clase RectBorder tiene cuatro estilos de visualizacin estndar: none, inset, outset y solid. El tema Halo tambin aade cuatro estilos de visualizacin especiales que son utilizados por componentes especficos.
Estilo especial
default alert dropDown menuBorder
El comportamiento y las propiedades de estilo de RectBorder aqu descritos son iguales para todos los componentes que utilizan la clase RectBorder.
1145
Los estilos disponibles en una instancia determinada de RectBorder dependern del tema que se utilice y del estilo de borde definido en el componente. Si desea ver una demostracin interactiva que muestre la relacin entre el tema, el estilo de borde y las propiedades de estilo de color disponibles, consulte Utilizacin de componentes ActionScript 2.0 de la Ayuda. Los cuatro estilos Halo especiales (default, alert, dropDown y menuBorder) contienen algunas lneas cuyos colores no pueden definirse a travs de estilos. La nica forma posible de modificar estos colores es crear un tema personalizado y modificar el cdigo ActionScript correspondiente en la implementacin personalizada de RectBorder.
Para establecer un estilo de borde mediante setStyle:
1. 2. 3.
Seleccione Archivo > Nuevo y, a continuacin, Archivo Flash (ActionScript 2.0). Arrastre un componente TextArea al escenario y asgnele el nombre de instancia my_ta. En el primer fotograma de la lnea de tiempo principal, aada el siguiente cdigo ActionScript al panel Acciones:
my_ta.setStyle("borderStyle", "alert");
NO T A
Se puede establecer el borderStyle en alert porque se est utilizando el tema predeterminado (Halo). Si est utilizando un tema diferente, entonces, es posible que los cuatro estilos Halo especiales, incluido alert, no estn disponibles.
4.
1146
Clase RectBorder
Para establecer varios estilos de borde como parmetros del mtodo createClassObject:
1. 2.
Seleccione Archivo > Nuevo y, a continuacin, Archivo Flash (ActionScript 2.0). En el primer fotograma de la lnea de tiempo principal, aada el siguiente cdigo ActionScript al panel Acciones:
createClassObject(mx.controls.TextArea, "my_ta", 1, {borderStyle: "menuBorder", themeColor: "0x990000"});
Para ms informacin, consulte UIObject.createClassObject(). O, si desea definir varios estilos y aplicarlos a ms de una instancia de componente, puede establecer una declaracin de estilo nueva que contenga la configuracin de estilo y, a continuacin, asociar esa declaracin de estilo con las instancias de componente (consulte Definicin de estilos personalizados para grupos de componentes en Utilizacin de componentes ActionScript 2.0).
3.
Seleccione Archivo > Nuevo y, a continuacin, Archivo Flash (ActionScript 2.0). Arrastre un componente Button al escenario y asgnele el nombre de instancia my_btn. Tambin puede crear la instancia con cdigo ActionScript, como se muestra a continuacin (asegrese de que arrastra primero un componente Button a la biblioteca):
createClassObject(mx.controls.Button, "my_btn", 1);
3. 4.
Seleccione Archivo > Importar > Abrir biblioteca externa. Abra el archivo SampleTheme.fla, ubicado en:
Windows: \Archivos de programa\Adobe\Flash CS3\ idioma\Configuration\ ComponentFLA\ Macintosh: Disco duro/Applications/Adobe Flash CS3/Configuration/ ComponentFLA/
5.
En la biblioteca SampleTheme.fla, busque el clip de pelcula de activos de Button en Flash UI Components > Themes > MMDefault > Button Assets > Button Skin y arrstrelo a la biblioteca del documento actual.
1147
6.
En el primer fotograma de la lnea de tiempo principal, aada el siguiente cdigo ActionScript al panel Acciones:
my_btn.setStyle("buttonColor", "0xFFFFFF"); my_btn.setStyle("borderStyle", "solid"); my_btn.setStyle("borderColor", "none");
N OT A
Si tiene previsto establecer varios estilos y necesita mejorar el rendimiento del componente en tiempo de ejecucin, puede establecer una declaracin de estilo personalizado que contenga esos estilos y, a continuacin, asociar la declaracin de estilo personalizado con la instancia del componente (consulte Definicin de estilos personalizados para grupos de componentes en Utilizacin de componentes ActionScript 2.0).
Seleccione Control > Probar pelcula para probar el archivo SWF. Observe que incluso con un borderColor de none, el botn tiene un borde gris. En este caso, none no significa transparente, sino un gris neutro.
Debe ampliar mx.skins.RectBorder o una de sus subclases. Debe proporcionar un valor de propiedad offset o implementar el mtodo getBorderMetrics para devolver la informacin de cambio de tamao. Debe implementar el mtodo drawBorder() para dibujar el borde o cambiar su tamao. Debe admitir los cuatro estilos estndar y los cuatro estilos especiales. La implementacin puede volver a utilizar bordes estndar como bordes especiales, tal y como sucede en el tema Sample.
1148
Clase RectBorder
Cree una nueva carpeta en la carpeta Classes/mx/skins correspondiente al nombre de paquete personalizado que se va a utilizar para el borde personalizado. Para este ejemplo, utilice myTheme. Seleccione Archivo > Nuevo y, a continuacin, Archivo ActionScript. Guarde el archivo en la nueva carpeta como RectBorder.as. Copie el siguiente cdigo ActionScript en el nuevo archivo:
import mx.core.ext.UIObjectExtensions; class mx.skins.myTheme.RectBorder extends mx.skins.RectBorder { static var symbolName:String = "RectBorder"; static var symbolOwner:Object = RectBorder; var className:String = "RectBorder"; #include "../../core/ComponentVersion.as" // Todos estos bordes tienen el mismo tamao: un pxel. var offset:Number = 4; function init(Void):Void { super.init(); }
2. 3. 4.
1149
function drawBorder(Void):Void { // Los grficos se encuentran en la lnea de tiempo del smbolo, // por lo que slo es necesario cambiar el tamao del borde. _width = __width; _height = __height; } // Registrar la clase como RectBorder en todos los componentes que se // utilicen. static function classConstruct():Boolean { UIObjectExtensions.Extensions(); _global.styles.rectBorderClass = RectBorder; _global.skinRegistry["RectBorder"] = true; return true; } static var classConstructed:Boolean = classConstruct(); static var UIObjectExtensionsDependency = UIObjectExtensions; }
Guarde el archivo. Seleccione Archivo > Nuevo y, a continuacin, Archivo Flash (ActionScript 2.0). Utilice Insertar > Nuevo smbolo para crear un nuevo smbolo de clip de pelcula. Asgnele el nombre RectBorder. Si no se muestran los campos avanzados, haga clic en Avanzado. Exportar para ActionScript. El identificador se rellenar automticamente como RectBorder.
10. Seleccione
11.
En el campo Clase, establezca el nombre de clase completo de la implementacin personalizada de bordes. En este ejemplo, se utiliza mx.skins.myTheme.RectBorder. que Exportar en primer fotograma est seleccionado y haga clic en Aceptar.
Abra el smbolo de RectBorder para editarlo. los grficos del smbolo. Por ejemplo, dibuje un cuadrado muy fino sin relleno. Para que el borde personalizado se vea fcilmente, establezca un color de lnea rojo brillante.
14. Dibuje
1150
Clase RectBorder
15.
Asegrese de que los grficos quedan alineados en la esquina superior izquierda, con las coordenadas x e y establecidas en (0,0). La implementacin personalizada de drawBorder establecer la anchura y la altura segn los requisitos del componente.
16. 17.
Haga clic en Atrs para volver a la lnea de tiempo principal. Arrastre al escenario varios componentes que utilicen RectBorder. Por ejemplo, arrastre un componente List, TextArea y TextInput al escenario. Seleccione Control > Probar pelcula.
18.
En este ejemplo, se crea una implementacin de bordes muy simple con colores y grficos estticos. No responde a configuraciones diferentes de borderStyle; siempre utiliza los mismos grficos, independientemente del borderStyle. Para ejemplos de implementaciones de bordes ms completas, revise los ejemplos de los temas Halo y Sample.
1151
1152
Clase RectBorder
CAPTULO 39
Clase Screen
La clase Screen es la clase base de las pantallas que se crean en el panel Contorno de pantalla de Adobe Flash CS3 Professional. Las pantallas son contenedores de alto nivel para crear aplicaciones y presentaciones. Para ver informacin general sobre cmo trabajar con pantallas, consulte Trabajo con pantallas en Utilizacin de Flash.
N O TA
39
la funcin Pantallas est desfasada en Flash CS3. Puede abrir y editar archivos FLA basados en pantallas creados en versiones anteriores de Flash, pero no podr crear nuevos documentos basados en pantallas. Adems, la clase Screen slo es compatible si trabaja con un documento que especifique ActionScript 2.0 en la Configuracin de publicacin.
La clase Screen tiene dos subclases principales: Slide y Form. La clase Slide proporciona el comportamiento en tiempo de ejecucin de las presentaciones de diapositivas. La clase Slide proporciona adems capacidad de navegacin y secuenciacin incorporada, y permite asociar fcilmente transiciones entre diapositivas mediante comportamientos. Los objetos de diapositiva mantienen un estado y permiten al usuario avanzar hasta la diapositiva o el estado siguiente o anterior: cuando se muestra la diapositiva siguiente, la anterior se oculta. Para ms informacin sobre la utilizacin de la clase Slide para controlar las presentaciones de diapositivas, consulte Clase Slide en la pgina 1221. La clase Form proporciona el entorno en tiempo de ejecucin para las aplicaciones de formularios. Los formularios pueden solaparse y ser contenedores de otros componentes o estar contenidos en stos. A diferencia de las diapositivas, los formularios no proporcionan ninguna capacidad de secuenciacin ni de navegacin. Para ms informacin, consulte Clase Form en la pgina 779.
1153
La clase Screen proporciona funciones comunes tanto para diapositivas como para formularios.
Las pantallas saben cmo administrar sus elementos secundarios
Cada pantalla incorpora una propiedad que contiene una coleccin formada por una lista de pantallas secundarias de dicha pantalla. Esta coleccin se determina mediante la jerarqua de pantallas del panel Contorno de pantalla. Las pantallas pueden tener un nmero cualquiera de elementos secundarios (incluso ninguno) que, a su vez, tambin pueden tener elementos secundarios.
Las pantallas pueden ocultar y mostrar sus elementos secundarios Puesto que las pantallas son, bsicamente, una coleccin de clips de pelcula anidados, una pantalla puede controlar la visibilidad de sus elementos secundarios. En el caso de las aplicaciones de formularios, todos los elementos secundarios de una pantalla se visualizan a la vez de forma predeterminada; en el caso de las presentaciones de diapositivas, las pantallas individuales se muestran de una en una. Las pantallas difunden eventos
Por ejemplo, puede activar la reproduccin de un sonido o empezar a reproducir algn archivo de vdeo cuando se visualice una pantalla concreta.
1154
Clase Screen
Por ejemplo, suponga que dispone de una presentacin de diapositivas en la que tres personas van a aportar, cada una, una sola seccin. Puede solicitar a cada orador que cree una presentacin de diapositivas independiente (archivo SWF). A continuacin puede crear una presentacin de diapositivas maestra que contenga tres diapositivas marcadoras de posicin, una para cada presentacin de diapositivas que creen los oradores. Puede hacer que la propiedad contentPath de cada diapositiva marcadora de posicin seale a uno de los archivos SWF. Por ejemplo, la presentacin de diapositivas maestra se puede organizar como se muestra en la ilustracin siguiente:
Estructura de la presentacin de diapositivas de archivos SWF maestra Suponga que los oradores le proporcionan tres archivos SWF: speaker_1.swf, speaker_2.swf y speaker_3.swf. Puede ensamblar con facilidad la presentacin global estableciendo la propiedad contentPath de cada diapositiva marcadora de posicin, mediante cdigo ActionScript o el inspector de propiedades, tal y como se muestra en el siguiente cdigo:
Speaker_1.contentPath = speaker_1.swf; Speaker_2.contentPath = speaker_2.swf; Speaker_3.contentPath = speaker_3.swf;
De forma predeterminada, cuando se establece la propiedad contentPath de una diapositiva durante la edicin en el inspector de propiedades, o mediante cdigo ActionScript (como se muestra anteriormente), el archivo SWF especificado se carga inmediatamente despus de haberse cargado el archivo SWF de la presentacin maestra". Para reducir el tiempo de carga inicial, considere la posibilidad de establecer la propiedad contentPath en un controlador on(reveal) asociado con cada diapositiva.
// Asociado con la diapositiva Speaker_1 on(reveal) { this.contentPath="speaker_1.swf"; }
1155
Como alternativa, podra establecer false como valor de la propiedad autoLoad de la diapositiva. A continuacin, podra llamar al mtodo load() en la diapositiva cuando se hubiera mostrado la diapositiva. La propiedad autoLoad y el mtodo load() se heredan de la clase Loader.
// Asociado con la diapositiva Speaker_1 on(reveal) { this.load(); }
1156
Clase Screen
En tiempo de ejecucin, cuando el archivo SWF Speaker 1 se carga en la diapositiva marcadora de posicin, toda la presentacin de diapositivas tiene la estructura siguiente:
Estructura de la presentacin maestra y speaker (ejecucin) Las propiedades y los mtodos de las clases Screen, Slide y Form omiten este nodo contentHolder en la medida de lo posible. Es decir, la diapositiva denominada MyPresentation (y sus subdiapositivas) forma parte del rbol de diapositivas contiguo que nace en la diapositiva Presentation y no se considera un subrbol independiente.
mx.screens.Screen
Los mtodos, propiedades y eventos de la clase Screen permiten crear y manipular pantallas en tiempo de ejecucin.
Descripcin
Devuelve la pantalla secundaria de esta pantalla en un ndice concreto.
1157
Crea un subobjeto en un objeto. Elimina una instancia de componente. Llama a una funcin cuando se han establecido parmetros en el inspector de propiedades y el inspector de componentes. Obtiene la propiedad de estilo de la declaracin de estilo o del objeto. Marca el objeto de forma que se pueda volver a dibujar en el siguiente intervalo de fotogramas. Mueve el objeto a la posicin indicada. Fuerza la validacin del objeto, de forma que se pueda dibujar sobre el fotograma actual. Cambia el tamao del objeto al indicado. Define un aspecto en el objeto. Define la propiedad de estilo en la declaracin de estilo o en el objeto.
UIObject.getStyle()
UIObject.invalidate()
UIObject.move() UIObject.redraw()
Descripcin
Devuelve una referencia al objeto seleccionado. Define la seleccin en la instancia de componente.
1158
Clase Screen
Descripcin
Carga el contenido especificado en la propiedad contentPath.
Descripcin
Slo lectura; devuelve la pantalla que contiene la seleccin actual global. Slo lectura; devuelve el ndice de la pantalla (basado en cero) en la lista de pantallas secundarias de su pantalla principal. Slo lectura; devuelve el nmero de pantallas secundarias que contiene la pantalla. Slo lectura; devuelve un valor booleano (true o false) que indica si el objeto principal de la pantalla tambin es una pantalla. Slo lectura; devuelve la pantalla que contiene la pantalla especificada. Slo lectura; devuelve la pantalla raz del rbol o subrbol que contiene la pantalla.
Screen.indexInParent
Screen.numChildScreens
Screen.parentIsScreen
Screen.parentScreen
Screen.rootScreen
1159
Descripcin
Posicin del borde inferior del objeto con respecto al borde inferior de su elemento principal correspondiente. Slo lectura. Altura del objeto, expresada en pxeles. Slo lectura. Borde izquierdo del objeto, expresado en pxeles. Slo lectura. Posicin del borde derecho del objeto con respecto al borde derecho de su elemento principal correspondiente. Slo lectura. Nmero que indica el factor de escala en la direccin x del objeto con respecto a su elemento principal correspondiente. Nmero que indica el factor de escala en la direccin y del objeto con respecto a su elemento principal correspondiente. Posicin del borde superior del objeto con respecto a su elemento principal correspondiente. Slo lectura. Valor booleano que indica si el objeto es visible (true) o no (false). Anchura del objeto, expresada en pxeles. Slo lectura. Borde izquierdo del objeto, expresado en pxeles. Slo lectura. Borde superior del objeto, expresado en pxeles. Slo lectura.
UIObject.height UIObject.left
UIObject.right
UIObject.scaleX
UIObject.scaleY
UIObject.top
UIObject.visible
UIObject.width UIObject.x
UIObject.y
1160
Clase Screen
Descripcin
Indica si el componente puede recibir selecciones y entradas. Nmero que indica el orden de tabulacin para un componente de un documento.
UIComponent.tabIndex
Descripcin
Valor booleano que indica si el contenido se carga automticamente (true) o si es preciso llamar a Loader.load() (false). Propiedad de slo lectura que indica el nmero de bytes que se han cargado. Propiedad de slo lectura que indica el nmero total de bytes del contenido. Referencia al contenido del componente Loader. Es una propiedad de slo lectura. Cadena que indica la URL del contenido que va a cargarse. Nmero que indica el porcentaje de contenido cargado. Es una propiedad de slo lectura. Valor booleano que indica si el contenido se redimensiona para adaptarse al componente Loader (true) o si el componente Loader se redimensiona para adaptarse al contenido (false).
Loader.bytesLoaded
Loader.bytesTotal
Loader.content
Loader.contentPath Loader.percentLoaded
Loader.scaleContent
1161
Descripcin
Se difunde cuando todas las transiciones de entrada aplicadas a una pantalla han finalizado. a una pantalla han finalizado.
Screen.mouseDown
Se difunde cuando se ha presionado el botn del ratn sobre un objeto (forma o clip de pelcula) que es propiedad directa de la pantalla. Se difunde cuando se ha presionado el botn del ratn en algn lugar del escenario, pero no necesariamente en un objeto propiedad de esta pantalla. Se difunde cuando el ratn se mueve mientras se encuentra sobre una pantalla. Se difunde cuando el ratn se mueve del interior al exterior de la pantalla. Se difunde cuando el ratn se mueve del exterior al interior de la pantalla. Se difunde cuando el botn del ratn se ha soltado sobre un objeto (forma o clip de pelcula) que es propiedad directa de la pantalla. Se difunde cuando el botn del ratn se ha soltado en algn lugar del escenario, pero no necesariamente en un objeto propiedad de esta pantalla.
Screen.mouseDownSomewhere
Screen.mouseMove
Screen.mouseOut
Screen.mouseOver
Screen.mouseUp
Screen.mouseUpSomewhere
1162
Clase Screen
Descripcin
Se difunde cuando un objeto est a punto de dibujar sus grficos. Se difunde cuando el estado de un objeto pasa de ser visible a invisible. Se difunde cuando se crean subobjetos. Se difunde cuando se mueve el objeto. Se difunde cuando cambia el tamao de un objeto. Se difunde cuando el estado de un objeto pasa de ser invisible a visible. Se difunde durante la descarga de los subobjetos.
UIObject.hide
UIObject.unload
Descripcin
Se difunde cuando se selecciona un objeto. Se difunde cuando un objeto deja de seleccionarse. Se difunde cuando se presiona una tecla. Se difunde cuando se suelta una tecla.
Descripcin
Se activa cuando el contenido termina de cargarse. Se activa mientras se carga el contenido.
1163
Screen.allTransitionsInDone
Disponibilidad
Descripcin
Evento; se difunde cuando todas las transiciones de entrada aplicadas a esta pantalla han finalizado. El administrador de transiciones asociado con screenObj difunde el evento allTransitionsInDone.
Ejemplo
En el ejemplo siguiente, un botn (nextSlide_btn) contenido en la diapositiva mySlide se visualiza despus de que todas las transiciones de entrada aplicadas a mySlide hayan finalizado.
// Asociado con mySlide: on(allTransitionsInDone) { this.nextSlide_btn._visible = true; }
Vase tambin
Screen.allTransitionsOutDone
1164
Clase Screen
Screen.allTransitionsOutDone
Disponibilidad
Descripcin
Evento; se difunde cuando todas las transiciones de salida aplicadas a la pantalla han finalizado. El administrador de transiciones asociado con screenObj difunde el evento allTransitionsOutDone.
Vase tambin
Screen.currentFocusedScreen
Screen.allTransitionsOutDone
1165
Screen.currentFocusedScreen
Disponibilidad
Descripcin
Propiedad esttica (slo lectura); devuelve una referencia al objeto Screen ltima diapositiva hoja que contiene la seleccin actual global. ltima diapositiva hoja se refiere a la pantalla ms alejada de la pantalla raz en la jerarqua de pantallas. La seleccin puede estar en la propia pantalla o en un clip de pelcula, objeto de texto o componente dentro de esa pantalla. Esta propiedad se establece de forma predeterminada en null si no hay una seleccin actual. Por ejemplo, suponga que tiene una jerarqua de pantallas en tiempo de ejecucin similar a la siguiente:
presentation screen1 subscreen1_1 mymovieclip myUIButton screen2 subscreen1_2
Si myUIButton est seleccionado, la pantalla correspondiente a la ltima diapositiva hoja que contiene la seleccin es subscreen1_1, que es lo que devolvera currentFocusedScreen. En este caso, presentation, screen1 y subscreen1_1 contienen la seleccin pero el ms cercano a las hojas del rbol en la jerarqua de pantallas y, por lo tanto, ms alejado de la raz es subscreen1_1.
Ejemplo
1166
Clase Screen
Screen.getChildScreen()
Disponibilidad
Nmero que indica el ndice basado en cero de la pantalla secundaria que debe
devolverse.
Valor devuelto
Un objeto Screen.
Descripcin
El ejemplo siguiente enva al panel Salida los nombres de todas las pantallas secundarias que pertenecen a la pantalla raz denominada Presentation.
for (var i:Number = 0; i < _root.Presentation.numChildScreens; i++) { var childScreen:mx.screens.Screen = _root.Presentation.getChildScreen(i); trace(childScreen._name); }
Screen.getChildScreen()
1167
Screen.indexInParent
Disponibilidad
Descripcin
Propiedad (slo lectura); contiene el ndice basado en cero de myScreen en la lista de pantallas secundarias de su pantalla principal.
Ejemplo
En el ejemplo siguiente, se muestra la posicin relativa de la pantalla myScreen en la lista de pantallas secundarias de su pantalla principal.
var numChildren:Number = myScreen._parent.numChildScreens; var myIndex:Number = myScreen.indexInParent; trace("Im child slide # " + myIndex + " out of " + numChildren + " screens.");
1168
Clase Screen
Screen.mouseDown
Disponibilidad
Descripcin
Evento; se difunde cuando se ha presionado el botn del ratn sobre un objeto (por ejemplo, una forma o un clip de pelcula) que es propiedad directa de la pantalla. Cuando se activa el evento, ste pasa automticamente un objeto de evento (eventObj) al controlador. Cada objeto de evento tiene propiedades que contienen informacin sobre el evento. Estas propiedades sirven para escribir el cdigo que controla el evento. Para ms informacin, consulte Clase EventDispatcher en la pgina 527.
Ejemplo
El cdigo siguiente muestra el nombre de la pantalla que ha capturado el evento de ratn en el panel Salida.
on(mouseDown) { trace("Mouse down event on: " + eventObj.target._name); }
Screen.mouseDown
1169
Screen.mouseDownSomewhere
Disponibilidad
Descripcin
Evento; se difunde cuando se presiona el botn del ratn, pero no necesariamente en la pantalla especificada. Cuando se activa el evento, ste pasa automticamente un objeto de evento (eventObj) al controlador. Cada objeto de evento tiene propiedades que contienen informacin sobre el evento. Estas propiedades sirven para escribir el cdigo que controla el evento. Para ms informacin, consulte Clase EventDispatcher en la pgina 527.
1170
Clase Screen
Screen.mouseMove
Disponibilidad
Descripcin
Evento; se difunde cuando el ratn se mueve mientras se encuentra sobre la pantalla. Este evento slo se enva cuando el ratn se encuentra sobre el recuadro de delimitacin de esta pantalla. Cuando se activa el evento, ste pasa automticamente un objeto de evento (eventObj) al controlador. Cada objeto de evento tiene propiedades que contienen informacin sobre el evento. Estas propiedades sirven para escribir el cdigo que controla el evento. Para ms informacin, consulte Clase EventDispatcher en la pgina 527.
N OT A
Este evento puede afectar el rendimiento del sistema y debera utilizarse con prudencia.
Screen.mouseMove
1171
Screen.mouseOut
Disponibilidad
Descripcin
Evento; se difunde cuando el ratn se mueve del interior del recuadro de lmite de la pantalla al exterior de ste. Cuando se activa el evento, ste pasa automticamente un objeto de evento (eventObj) al controlador. Cada objeto de evento tiene propiedades que contienen informacin sobre el evento. Estas propiedades sirven para escribir el cdigo que controla el evento. Para ms informacin, consulte Clase EventDispatcher en la pgina 527.
NO T A 1172
Este evento puede afectar el rendimiento del sistema y debera utilizarse con prudencia.
Clase Screen
Screen.mouseOver
Disponibilidad
Descripcin
Evento; se difunde cuando el ratn se mueve del exterior del recuadro de delimitacin de la pantalla al interior de ste. Cuando se activa el evento, ste pasa automticamente un objeto de evento (eventObj) al controlador. Cada objeto de evento tiene propiedades que contienen informacin sobre el evento. Estas propiedades sirven para escribir el cdigo que controla el evento. Para ms informacin, consulte Clase EventDispatcher en la pgina 527.
NO T A
Este evento puede afectar el rendimiento del sistema y debera utilizarse con prudencia.
Screen.mouseOver
1173
Screen.mouseUp
Disponibilidad
Descripcin
Evento; se difunde cuando se suelta el ratn sobre la pantalla. Cuando se activa el evento, ste pasa automticamente un objeto de evento (eventObj) al controlador. Cada objeto de evento tiene propiedades que contienen informacin sobre el evento. Estas propiedades sirven para escribir el cdigo que controla el evento. Para ms informacin, consulte Clase EventDispatcher en la pgina 527.
1174
Clase Screen
Screen.mouseUpSomewhere
Disponibilidad
Descripcin
Evento; se difunde cuando se suelta el botn del ratn, pero no necesariamente en la pantalla especificada. Cuando se activa el evento, ste pasa automticamente un objeto de evento (eventObj) al controlador. Cada objeto de evento tiene propiedades que contienen informacin sobre el evento. Estas propiedades sirven para escribir el cdigo que controla el evento. Para ms informacin, consulte Clase EventDispatcher en la pgina 527.
Screen.mouseUpSomewhere
1175
Screen.numChildScreens
Disponibilidad
Descripcin
Propiedad (slo lectura); devuelve el nmero de pantallas secundarias que contiene myScreen.
Ejemplo
En el ejemplo siguiente, se muestran los nombres de todas las pantallas secundarias que pertenecen a myScreen.
var howManyKids:Number = myScreen.numChildScreens; for(i=0; i<howManyKids; i++) { var childScreen = myScreen.getChildScreen(i); trace(childScreen._name); }
Vase tambin
Screen.getChildScreen()
1176
Clase Screen
Screen.parentIsScreen
Disponibilidad
Descripcin
Propiedad (slo lectura); devuelve un valor booleano que indica si el objeto principal de la pantalla especificada tambin es una pantalla (true) o no (false). Si el valor de esta propiedad es false, myScreen est en la raz de su jerarqua de pantallas.
Ejemplo
El cdigo siguiente determina si el objeto principal de la pantalla myScreen tambin es una pantalla. Si el valor de myScreen.parentIsScreen es true, una sentencia trace() muestra el nmero de diapositivas del mismo nivel de myScreen en el panel Salida. Si la pantalla principal de myScreen no es una pantalla, Flash supone que myScreen es la diapositiva raz (maestra) de la presentacin y que, por lo tanto, no tiene dispositivas del mismo nivel.
if (myScreen.parentIsScreen) { trace("I have "+myScreen._parent.numChildScreens+" sibling screens"); } else { trace("I am the root screen and have no siblings"); }
Screen.parentIsScreen
1177
Screen.parentScreen
Disponibilidad
Descripcin
Propiedad (slo lectura); devuelve la pantalla que contiene myScreen. Devuelve null si myScreen es la pantalla raz.
Ejemplo
Screen.rootScreen
Disponibilidad
Descripcin
Propiedad (slo lectura); devuelve la pantalla situada en la parte superior de la jerarqua de pantallas que contiene myScreen.
Ejemplo
En el ejemplo siguiente, se muestra el nombre de la pantalla raz que contiene la pantalla myScreen.
var myRoot:mx.screens.Screen = myScreen.rootScreen;
1178
Clase Screen
CAPTULO 40
Componente ScrollPane
El componente ScrollPane muestra clips de pelcula, archivos JPEG y archivos SWF en un rea desplazable. El panel de desplazamiento permite limitar la cantidad de rea de pantalla que ocupan estos tipos de medios. El panel de desplazamiento puede desplazar contenido cargado desde un disco local o desde Internet. Dicho contenido puede establecerse mediante cdigo ActionScript durante la edicin y en tiempo de ejecucin.
N OT A
40
El componente ScrollPane es compatible tanto con ActionScript 2.0 como con ActionScript 3.0. En este documento, se describe el componente de la versin 2. Si utiliza el componente de la versin 3, consulte Utilizacin de ScrollPane en Utilizacin de componentes ActionScript 3.0.
Cuando el panel de desplazamiento est seleccionado, se seleccionarn los marcadores si el contenido tiene tabulaciones vlidas. Despus de la ltima tabulacin del contenido, la seleccin se desplazar al componente siguiente. La seleccin no se dirige nunca a las barras de desplazamiento vertical y horizontal del panel de desplazamiento. La instancia de ScrollPane se selecciona cuando el usuario hace clic sobre ella o presiona el tabulador hasta su posicin. Cuando la seleccin est sobre la instancia de ScrollPane, podr controlarla con las teclas siguientes:
Tecla
Flecha abajo Fin Flecha izquierda Inicio Av Pg Re Pg Flecha derecha Flecha arriba
Descripcin
Mueve el contenido una lnea de desplazamiento vertical hacia arriba. Mueve el contenido hasta la parte inferior del panel de desplazamiento. Mueve el contenido una lnea de desplazamiento horizontal a la derecha. Mueve el contenido hasta la parte superior del panel de desplazamiento. Mueve el contenido una pgina de desplazamiento vertical hacia arriba. Mueve el contenido una pgina de desplazamiento vertical hacia abajo. Mueve el contenido una lnea de desplazamiento horizontal a la izquierda. Mueve el contenido una lnea de desplazamiento vertical hacia abajo.
1179
Para ms informacin sobre el control de la seleccin, consulte Clase FocusManager en la pgina 763 o Creacin de un desplazamiento personalizado de la seleccin en Utilizacin de componentes ActionScript 2.0. La previsualizacin dinmica de cada instancia de ScrollPane refleja los cambios de parmetros realizados durante la edicin en el inspector de propiedades o el inspector de componentes.
1180
Componente ScrollPane
Parmetros de ScrollPane
A continuacin se indican los parmetros de edicin que se pueden definir para cada instancia del componente ScrollPane en el inspector de propiedades o el inspector de componentes (opcin de men Ventana > Inspector de componentes):
contentPath indica el contenido que se va a cargar en el panel de desplazamiento. Este valor puede ser una ruta relativa a un archivo SWF o JPEG local, o bien una ruta relativa o absoluta a un archivo en Internet. Tambin puede ser el identificador de vinculacin de un smbolo de clip de pelcula de la biblioteca definido en Exportar para ActionScript. hLineScrollSize
indica el nmero de unidades que se mueve la barra de desplazamiento horizontal cada vez que se hace clic en un botn de flecha. El valor predeterminado es 5.
hPageScrollSize
indica el nmero de unidades que se mueve la barra de desplazamiento horizontal cada vez que se hace clic en la gua de deslizamiento. El valor predeterminado es 20. muestra las barras de desplazamiento horizontal. El valor puede ser on, off o El valor predeterminado es auto.
hScrollPolicy auto.
es un valor booleano que determina si se produce el desplazamiento (true) o no (false) cuando un usuario arrastra el contenido en el panel de desplazamiento. El valor predeterminado es false.
scrollDrag vLineScrollSize indica el nmero de unidades que se mueve la barra de desplazamiento
vertical cada vez que se hace clic en una flecha de desplazamiento. El valor predeterminado es 5.
hPageScrollSize
indica el nmero de unidades que se mueve la barra de desplazamiento vertical cada vez que se hace clic en la gua de la barra de desplazamiento. El valor predeterminado es 20. muestra las barras de desplazamiento vertical. El valor puede ser on, off o El valor predeterminado es auto.
vScrollPolicy auto.
A continuacin se indican los parmetros adicionales que se pueden definir para cada instancia del componente ScrollPane en el inspector de componentes (Ventana > Inspector de componentes):
enabled
es un valor booleano que indica si el componente acepta selecciones y entradas. El valor predeterminado es true.
1181
visible es un valor booleano que indica si el objeto es visible (true) o no (false). El valor predeterminado es true.
NO T A
Las propiedades minHeight y minWidth se utilizan en rutinas internas de cambio de tamao. Se definen en UIObject y se sustituyen por distintos componentes segn convenga. Estas propiedades pueden utilizarse si se crea un administrador de diseo personalizado en la aplicacin. De lo contrario, establecer estas propiedades en el inspector de componentes no produce ningn efecto visible.
Puede escribir cdigo ActionScript para controlar stas y otras opciones adicionales para los componentes ScrollPane utilizando sus propiedades, mtodos y eventos. Para ms informacin, consulte Clase ScrollPane en la pgina 1185.
Seleccione Archivo > Nuevo y, a continuacin, Archivo Flash (ActionScript 2.0). Arrastre el componente ScrollPane desde el panel Componentes a la biblioteca. Seleccione el fotograma 1 de la lnea de tiempo principal, abra el panel Acciones e introduzca el cdigo siguiente:
/** Se requiere: - ScrollPane en la biblioteca */ System.security.allowDomain("http://www.helpexamples.com"); this.createClassObject(mx.containers.ScrollPane, "my_sp", 10); my_sp.setSize(320, 240); // Crear objeto detector para posicin vertical de desplazamiento. var scrollListener:Object = new Object(); scrollListener.scroll = function(evt_obj:Object) { trace("hPosition: " + my_sp.hPosition + ", vPosition = " + my_sp.vPosition); }; // Aadir detector. my_sp.addEventListener("scroll", scrollListener);
1182
Componente ScrollPane
// Crear un objeto detector para carga completada. var completeListener:Object = new Object(); completeListener.complete = function(evt_obj:Object) { trace(evt_obj.target.contentPath + " has completed loading."); }; // Aadir detector. my_sp.addEventListener("complete", completeListener); my_sp.contentPath = "http://www.helpexamples.com/flash/images/ image1.jpg";
Los ejemplos crean un panel de desplazamiento, establecen su tamao y cargan una imagen en l mediante la propiedad contentPath. Tambin se crean dos detectores. El primero detecta un evento scroll y muestra la posicin de la imagen mientras el usuario se desplaza vertical u horizontalmente. El segundo detecta un evento complete y muestra un mensaje en el panel Salida que indica que la imagen ha terminado de cargarse.
El componente ScrollPane coloca el punto de registro de su contenido en la esquina superior izquierda del panel. Cuando se desactiva la barra de desplazamiento horizontal, la barra vertical se muestra de arriba abajo sobre el lado derecho del panel de desplazamiento. Si se desactiva la barra de desplazamiento vertical, la barra horizontal se muestra de izquierda a derecha sobre el borde inferior del panel de desplazamiento. Tambin se pueden desactivar las dos barras de desplazamiento. Si el panel de desplazamiento es demasiado pequeo, es posible que el contenido no se muestre correctamente. Cuando se cambia el tamao del panel de desplazamiento, el tamao de los botones no se modifica. La gua y el cuadro de desplazamiento (deslizador) se expanden o se contraen, y cambia el tamao de sus reas activas.
1183
Tema
Halo
Descripcin
Esquema de colores base de un componente. Los valores posibles son haloGreen, haloBlue y haloOrange. El valor predeterminado es haloGreen. El componente ScrollPane utiliza una instancia de RectBorder como borde y responde a los estilos definidos en dicha clase. Consulte Clase RectBorder en la pgina 1145. El estilo de borde predeterminado es inset.
borderStyle
Ambos
scrollTrackColor
Sample Sample
Color de fondo de la gua de desplazamiento. El valor predeterminado es 0xCCCCCC (gris claro). Color de las flechas de los botones de la barra de desplazamiento. El valor predeterminado es 0x000000 (negro). Color de las flechas desactivadas de los botones de la barra de desplazamiento. El valor predeterminado es 0x848384 (gris oscuro).
symbolColor
symbolDisabledColor
Sample
1184
Componente ScrollPane
Clase ScrollPane
Herencia
MovieClip > Clase UIObject > Clase UIComponent > View > ScrollView > mx.containers.ScrollPane
ScrollPane
Nombre de clase de ActionScript
Las propiedades de la clase ScrollPane permiten realizar lo siguiente en tiempo de ejecucin: definir el contenido, controlar el progreso de carga y ajustar la cantidad de desplazamiento. Si una propiedad de la clase ScrollPane se define con ActionScript, sustituye al parmetro del mismo nombre definido en el inspector de propiedades o el inspector de componentes. Puede definir un panel de desplazamiento que permita a los usuarios arrastrar el contenido del panel. Para ello, establezca la propiedad scrollDrag en true; en el contenido aparecer un cursor en forma de mano. A diferencia de lo que ocurre en la mayora de componentes, los eventos se difunden al presionar el botn del ratn y siguen difundindose hasta que se suelta el botn. Si el contenido de un panel de desplazamiento tiene tabulaciones vlidas, deber definir scrollDrag en false ya que, de lo contrario, cada interaccin del ratn con el contenido invocar un arrastre del desplazamiento. Cada clase de componente tiene una propiedad version que es una propiedad de clase. Las propiedades de clase slo estn disponibles en la propia clase. La propiedad version devuelve una cadena que indica la versin del componente. Para acceder a esta propiedad, utilice el cdigo siguiente:
trace(mx.containers.ScrollPane.version);
N OT A
Descripcin
Devuelve el nmero de bytes del contenido cargado. Devuelve el nmero total de bytes del contenido que se va a cargar. Vuelve a cargar el contenido del panel de desplazamiento (pero no redibuja la barra de desplazamiento).
ScrollPane.refreshPane()
Clase ScrollPane
1185
Crea un subobjeto en un objeto. Elimina una instancia de componente. Llama a una funcin cuando se han establecido parmetros en el inspector de propiedades y el inspector de componentes. Obtiene la propiedad de estilo de la declaracin de estilo o del objeto. Marca el objeto de forma que se pueda volver a dibujar en el siguiente intervalo de fotogramas. Mueve el objeto a la posicin indicada. Fuerza la validacin del objeto, de forma que se pueda dibujar sobre el fotograma actual. Cambia el tamao del objeto al indicado. Define un aspecto en el objeto. Define la propiedad de estilo en la declaracin de estilo o en el objeto.
UIObject.getStyle()
UIObject.invalidate()
UIObject.move() UIObject.redraw()
Descripcin
Devuelve una referencia al objeto seleccionado. Define la seleccin en la instancia de componente.
1186
Componente ScrollPane
Descripcin
Referencia al contenido cargado en el panel de desplazamiento (slo lectura). Cadena que indica una URL absoluta o relativa del archivo SWF o JPEG que se va a cargar en el panel de desplazamiento, o identificador de vinculacin de un clip de pelcula en el panel Biblioteca del documento actual. Cantidad de contenido que se va a desplazar horizontalmente cuando se hace clic en una flecha de desplazamiento. Cantidad de contenido que se va a desplazar horizontalmente cuando se hace clic en la gua de desplazamiento. Posicin horizontal en pxeles de la barra de desplazamiento horizontal del panel de desplazamiento. Estado de la barra de desplazamiento horizontal. Puede estar siempre activada (on), siempre desactivada (off), o bien activarse cuando sea necesario (auto). El valor predeterminado es auto. Indica si se produce el desplazamiento (true) o no (false) cuando un usuario arrastra contenido en el panel de desplazamiento. El valor predeterminado es false. Cantidad de contenido que se va a desplazar verticalmente cuando se hace clic en una flecha de desplazamiento. Cantidad de contenido que se va a desplazar verticalmente cuando se hace clic en la gua de desplazamiento. Posicin en pxeles de la barra de desplazamiento vertical del panel de desplazamiento. Estado de la barra de desplazamiento vertical. Puede estar siempre activada (on), siempre desactivada (off), o bien activarse cuando sea necesario (auto). El valor predeterminado es auto.
ScrollPane.contentPath
ScrollPane.hLineScrollSize
ScrollPane.hPageScrollSize
ScrollPane.hPosition
ScrollPane.hScrollPolicy
ScrollPane.scrollDrag
ScrollPane.vLineScrollSize
ScrollPane.vPageScrollSize
ScrollPane.vPosition
ScrollPane.vScrollPolicy
Clase ScrollPane
1187
Descripcin
Slo lectura; posicin del borde inferior del objeto con respecto al borde inferior de su elemento principal correspondiente. Slo lectura; altura del objeto, expresada en pxeles. Slo lectura; borde izquierdo del objeto, expresado en pxeles. Slo lectura; posicin del borde derecho del objeto con respecto al borde derecho de su elemento principal correspondiente. Nmero que indica el factor de escala en la direccin x del objeto con respecto a su elemento principal correspondiente. Nmero que indica el factor de escala en la direccin y del objeto con respecto a su elemento principal correspondiente. Slo lectura; posicin del borde superior del objeto con respecto a su elemento principal correspondiente. Valor booleano que indica si el objeto es visible (true) o no (false). Slo lectura; anchura del objeto, expresada en pxeles. Slo lectura; borde izquierdo del objeto, expresado en pxeles. Slo lectura; borde superior del objeto, expresado en pxeles.
UIObject.height UIObject.left
UIObject.right
UIObject.scaleX
UIObject.scaleY
UIObject.top
UIObject.visible
UIObject.width UIObject.x
UIObject.y
Descripcin
Indica si el componente puede recibir selecciones y entradas. Nmero que indica el orden de tabulacin para un componente de un documento.
1188
Componente ScrollPane
Descripcin
Se difunde cuando se carga el contenido del panel de desplazamiento. Se difunde mientras se carga el contenido del panel de desplazamiento. Se difunde al hacer clic en la barra de desplazamiento.
ScrollPane.progress
ScrollPane.scroll
Descripcin
Se difunde cuando un objeto est a punto de dibujar sus grficos. Se difunde cuando el estado de un objeto pasa de ser visible a invisible. Se difunde cuando se crean subobjetos. Se difunde cuando se mueve el objeto. Se difunde cuando cambia el tamao de un objeto. Se difunde cuando el estado de un objeto pasa de ser invisible a visible. Se difunde durante la descarga de los subobjetos.
UIObject.hide
UIObject.unload
Descripcin
Se difunde cuando se selecciona un objeto. Se difunde cuando un objeto deja de seleccionarse. Se difunde cuando se presiona una tecla. Se difunde cuando se suelta una tecla.
Clase ScrollPane
1189
ScrollPane.complete
Disponibilidad
Flash MX 2004.
Sintaxis
Sintaxis 1:
var listenerObject:Object = new Object(); listenerObject.complete = function(eventObject:Object) { // ... }; scrollPaneInstance.addEventListener("complete", listenerObject);
Sintaxis 2:
on (complete) { //... }
Descripcin
Evento; se difunde a todos los detectores registrados cuando finaliza la carga del contenido. El primer ejemplo de sintaxis utiliza un modelo de eventos distribuidor/detector. Una instancia del componente (scrollPaneInstance) distribuye un evento (en este caso, complete) y ste se controla mediante una funcin, tambin denominada controlador, asociada con el objeto detector (listenerObject) que crea el usuario. Se define un mtodo con el mismo nombre que el evento del objeto detector; se llama al mtodo cuando se activa el evento. Cuando se activa el evento, ste pasa automticamente un objeto de evento (eventObject) al mtodo del objeto detector. Cada objeto de evento tiene propiedades que contienen informacin sobre el evento. Estas propiedades sirven para escribir el cdigo que controla el evento. Finalmente, se llama al mtodo EventDispatcher.addEventListener() de la instancia del componente que difunde el evento para registrar el detector con la instancia. Cuando la instancia distribuya el evento, se llamar al detector. Para ms informacin, consulte Clase EventDispatcher en la pgina 527. El segundo ejemplo de sintaxis utiliza un controlador on() que debe asociarse directamente con una instancia de ScrollPane. La palabra clave this, utilizada en un controlador on() asociado con un componente, hace referencia a la instancia del componente. Por ejemplo, el cdigo siguiente, asociado con la instancia myScrollPaneComponent de ScrollPane, enva _level0.myScrollPaneComponent al panel Salida:
on (complete) { trace(this); }
1190
Componente ScrollPane
Ejemplo
En el ejemplo siguiente, se crea un objeto detector con un controlador de eventos complete para la instancia scrollPane. Cuando se carga el contenido del panel de desplazamiento, el detector muestra un mensaje en el panel Salida. Primero, arrastre el componente ScrollPane desde el panel Componentes a la biblioteca y, a continuacin, aada el siguiente cdigo al fotograma 1:
/** Se requiere: - ScrollPane en la biblioteca */ System.security.allowDomain("http://www.helpexamples.com"); this.createClassObject(mx.containers.ScrollPane, "my_sp", 10); my_sp.setSize(320, 240); // Crear un objeto detector para carga completada. var completeListener:Object = new Object(); completeListener.complete = function(evt_obj:Object) { trace(evt_obj.target.contentPath + " has completed loading."); }; // Aadir detector. my_sp.addEventListener("complete", completeListener); my_sp.contentPath = "http://www.helpexamples.com/flash/images/image1.jpg";
ScrollPane.content
Disponibilidad
Flash MX 2004.
Sintaxis
scrollPaneInstance.content
Descripcin
Propiedad de slo lectura; referencia al contenido del panel de desplazamiento. El valor es undefined hasta que comienza la carga.
ScrollPane.content
1191
Ejemplo
En este ejemplo, se define la propiedad contentPath para cargar un panel de desplazamiento con una foto (o, tcnicamente, un clip de pelcula que contiene una imagen JPEG). Tambin se crea un control numrico en el que el usuario puede producir un incremento o decremento de 10, hasta un valor de 100. Cuando el usuario cambia el valor del NumericStepper, un detector establece la transparencia (content._alpha) de la imagen en el porcentaje especificado. Observe que _alpha es una propiedad de MovieClip. Primero, arrastre el componente ScrollPane y el componente NumericStepper desde el panel Componentes a la biblioteca del documento actual y, a continuacin, aada el siguiente cdigo al fotograma 1:
/** Se requiere: - ScrollPane en la biblioteca - NumericStepper en la biblioteca */ System.security.allowDomain("http://www.helpexamples.com"); this.createClassObject(mx.controls.NumericStepper, "my_nstep", 10, {minimum:10, maximum:100, stepSize:10}); my_nstep.value = my_nstep.maximum; this.createClassObject(mx.containers.ScrollPane, "my_sp", 20); my_sp.move(0, 30); my_sp.setSize(180, 160); my_sp.contentPath = "http://www.helpexamples.com/flash/images/image2.jpg"; var nstepListener:Object = new Object(); nstepListener.change = function(evt_obj:Object) { my_sp.content._alpha = my_nstep.value; } my_nstep.addEventListener("change", nstepListener);
Vase tambin
ScrollPane.contentPath
ScrollPane.contentPath
Disponibilidad
Flash MX 2004.
1192
Componente ScrollPane
Sintaxis
scrollPaneInstance.contentPath
Descripcin
Propiedad; cadena que indica una URL absoluta o relativa del archivo SWF o JPEG que se carga en el panel de desplazamiento. La ruta relativa debe hacer referencia al archivo SWF que carga el contenido. Si se carga el contenido utilizando una URL relativa, el contenido cargado deber ser relativo a la ubicacin del archivo SWF que contiene el panel de desplazamiento. Por ejemplo, una aplicacin que utilice un componente ScrollPane situado en el directorio /scrollpane/nav/ example.swf podra cargar el contenido del directorio /scrollpane/content/flash/logo.swf con la siguiente propiedad contentPath: ../content/flash/logo.swf.
Ejemplo
En el siguiente ejemplo, se muestra cmo definir la propiedad contentPath para cargar un ScrollPane desde tres orgenes distintos: 1) una imagen de Internet; 2) un clip de pelcula de la biblioteca; 3) un archivo SWF del directorio de trabajo actual. Utilice slo un origen cada vez. Arrastre el componente ScrollPane desde el panel Componentes a la biblioteca del documento actual. Para intentar la opcin 2, debe crear un clip de pelcula en la biblioteca y hacer referencia a su nombre. Para intentar la opcin 3, cree un archivo SWF en el directorio de trabajo actual y especifique su nombre. A continuacin, aada el siguiente cdigo al fotograma 1:
/** Se requiere: - ScrollPane en el escenario (nombre de instancia: my_sp) - Smbolo con identificacin de vinculacin de "movieClip_Name" en la biblioteca ** opcional - Archivo logo.swf en el directorio de trabajo ** opcional */ System.security.allowDomain("http://www.helpexamples.com"); var my_sp:mx.containers.ScrollPane; // mtodo 1: Imagen JPEG my_sp.contentPath ="http://www.helpexamples.com/flash/images/image1.jpg"; // mtodo 2: Smbolo en la biblioteca my_sp.contentPath ="movieClip_Name"; // mtodo 3: Archivo SWF my_sp.contentPath ="logo.swf";
Vase tambin
ScrollPane.content
ScrollPane.contentPath
1193
ScrollPane.getBytesLoaded()
Disponibilidad
Flash MX 2004.
Sintaxis
scrollPaneInstance.getBytesLoaded()
Parmetros
Ninguno.
Valor devuelto
Mtodo; devuelve el nmero de bytes cargados en la instancia de ScrollPane. Mientras se carga el contenido, invoque este mtodo en intervalos regulares para comprobar el progreso de la operacin.
Ejemplo
En este ejemplo, se crea una instancia de ScrollPane denominada my_sp y se define un objeto detector denominado loadListener con un controlador de eventos progress. El controlador de eventos llama a las funciones getBytesLoaded() y getBytesTotal() para mostrar el progreso de la carga en el panel Salida. Primero, arrastre el componente ScrollPane desde el panel Componentes a la biblioteca del documento actual y, a continuacin, aada el siguiente cdigo al fotograma 1:
/** Se requiere: - Componente ScrollPane en la biblioteca */ this.createClassObject(mx.containers.ScrollPane, "my_sp", 10); my_sp.setSize(360, 280); var loadListener:Object = new Object(); loadListener.progress = function(evt_obj:Object) { trace(my_sp.getBytesLoaded() + " of " + my_sp.getBytesTotal() + " bytes loaded."); }; my_sp.addEventListener("progress", loadListener); System.security.allowDomain("http://www.helpexamples.com"); my_sp.contentPath = "http://www.helpexamples.com/flash/images/image1.jpg";
1194 Componente ScrollPane
ScrollPane.getBytesTotal()
Disponibilidad
Flash MX 2004.
Sintaxis
scrollPaneInstance.getBytesTotal()
Parmetros
Ninguno.
Valor devuelto
Un nmero.
Descripcin
En este ejemplo, se crea una instancia de ScrollPane denominada my_sp y se define un objeto detector denominado loadListener con un controlador de eventos progress. El controlador de eventos llama a las funciones getBytesLoaded() y getBytesTotal() para mostrar el progreso de la carga en el panel Salida. Primero, arrastre el componente ScrollPane desde el panel Componentes a la biblioteca del documento actual y, a continuacin, aada el siguiente cdigo al fotograma 1:
/** Se requiere: - Componente ScrollPane en la biblioteca */ this.createClassObject(mx.containers.ScrollPane, "my_sp", 10); my_sp.setSize(360, 280); var loadListener:Object = new Object(); loadListener.progress = function(evt_obj:Object) { trace(my_sp.getBytesLoaded() + " of " + my_sp.getBytesTotal() + " bytes loaded."); }; my_sp.addEventListener("progress", loadListener); System.security.allowDomain("http://www.helpexamples.com"); my_sp.contentPath = "http://www.helpexamples.com/flash/images/image1.jpg";
Vase tambin
ScrollPane.getBytesLoaded()
ScrollPane.getBytesTotal()
1195
ScrollPane.hLineScrollSize
Disponibilidad
Flash MX 2004.
Sintaxis
scrollPaneInstance.hLineScrollSize
Descripcin
Propiedad; nmero de pxeles que se va a mover el contenido al hacer clic en una flecha de la barra de desplazamiento horizontal. El valor predeterminado es 5.
Ejemplo
En este ejemplo, se crea una instancia de ScrollPane denominada my_sp, se carga con una imagen y se establece la propiedad hLineScrollSize para desplazarse 100 pxeles cuando el usuario haga clic en una flecha de la barra de desplazamiento horizontal. Primero, arrastre el componente ScrollPane desde el panel Componentes a la biblioteca del documento actual y, a continuacin, aada el siguiente cdigo al fotograma 1:
/** Se requiere: - Componente ScrollPane en la biblioteca */ this.createClassObject(mx.containers.ScrollPane, "my_sp", 10); my_sp.setSize(360, 280); System.security.allowDomain("http://www.helpexamples.com"); my_sp.contentPath = "http://www.helpexamples.com/flash/images/image1.jpg"; // Desplazar 100 pxeles cuando se haga clic en las flechas de la barra // horizontal. my_sp.hLineScrollSize = 100;
1196
Componente ScrollPane
ScrollPane.hPageScrollSize
Disponibilidad
Flash MX 2004.
Sintaxis
scrollPaneInstance.hPageScrollSize
Descripcin
Propiedad; nmero de pxeles que se va a mover el contenido al hacer clic en la gua de la barra de desplazamiento horizontal. El valor predeterminado es 20.
Ejemplo
En este ejemplo, se crea una instancia de ScrollPane denominada my_sp, se carga con una imagen y se establece la propiedad hPageScrollSize para desplazarse 100 pxeles cuando el usuario haga clic en la gua de deslizamiento de la barra de desplazamiento horizontal. Primero, arrastre el componente ScrollPane desde el panel Componentes a la biblioteca del documento actual y, a continuacin, aada el siguiente cdigo al fotograma 1:
/** Se requiere: - Componente ScrollPane en la biblioteca */ this.createClassObject(mx.containers.ScrollPane, "my_sp", 10); my_sp.setSize(360, 280); System.security.allowDomain("http://www.helpexamples.com"); my_sp.contentPath = "http://www.helpexamples.com/flash/images/image1.jpg"; // Desplazar 100 pxeles cuando se haga clic en la barra horizontal. my_sp.hPageScrollSize = 100;
ScrollPane.hPageScrollSize
1197
ScrollPane.hPosition
Disponibilidad
Flash MX 2004.
Sintaxis
scrollPaneInstance.hPosition
Descripcin
Propiedad; orienta el contenido del panel de desplazamiento en pxeles y ajusta de forma proporcional el cuadro de desplazamiento (deslizador) horizontal. La posicin 0 se encuentra en el extremo izquierdo de la gua de desplazamiento, lo que produce que el borde izquierdo del contenido del panel de desplazamiento sea visible en el panel de desplazamiento.
Ejemplo
En este ejemplo, se crea una instancia de ScrollPane denominada my_sp, se carga con una imagen y se crea un detector para controlar el evento scroll y mostrar las posiciones de desplazamiento horizontal (hPosition) y vertical (vPosition) cuando el usuario haga clic en la barra de desplazamiento. Primero, arrastre el componente ScrollPane desde el panel Componentes a la biblioteca del documento actual y, a continuacin, aada el siguiente cdigo al fotograma 1:
/** Se requiere: - Componente ScrollPane en la biblioteca */ this.createClassObject(mx.containers.ScrollPane, "my_sp", 10); my_sp.setSize(360, 280); System.security.allowDomain("http://www.helpexamples.com"); my_sp.contentPath = "http://www.helpexamples.com/flash/images/image1.jpg"; // Desplazar 100 pxeles cuando se haga clic en la barra horizontal. my_sp.hPageScrollSize = 100; // Crear un objeto detector. var spListener:Object = new Object(); spListener.scroll = function(evt_obj:Object) { trace("hPosition = " + my_sp.hPosition + ", vPosition = " + my_sp.vPosition); } // Aadir detector. my_sp.addEventListener("scroll", spListener);
1198
Componente ScrollPane
ScrollPane.hScrollPolicy
Disponibilidad
Flash MX 2004.
Sintaxis
scrollPaneInstance.hScrollPolicy
Descripcin
Propiedad; determina si la barra de desplazamiento horizontal est presente siempre (on), nunca (off) o aparece automticamente en funcin del tamao de la imagen (auto). El valor predeterminado es auto.
Ejemplo
En el siguiente ejemplo, se crea una instancia de ScrollPane denominada my_sp, se establece hScrollPolicy en off para evitar que aparezca una barra de desplazamiento horizontal, y se carga con una imagen. Primero, arrastre el componente ScrollPane desde el panel Componentes a la biblioteca del documento actual y, a continuacin, aada el siguiente cdigo al fotograma 1:
/** Se requiere: - Componente ScrollPane en la biblioteca */ this.createClassObject(mx.containers.ScrollPane, "my_sp", 10); my_sp.setSize(360, 280); my_sp.hScrollPolicy = "off"; System.security.allowDomain("http://www.helpexamples.com"); my_sp.contentPath = "http://www.helpexamples.com/flash/images/image1.jpg";
ScrollPane.hScrollPolicy
1199
ScrollPane.progress
Disponibilidad
Flash MX 2004.
Sintaxis
Sintaxis 1:
var listenerObject:Object = new Object(); listenerObject.progress = function(eventObject:Object) { // ... }; scrollPaneInstance.addEventListener("progress", listenerObject);
Sintaxis 2:
on (progress) { // ... }
Descripcin
Evento; se difunde a todos los detectores registrados mientras se carga el contenido. El evento de progreso no siempre se difunde; el evento complete puede difundirse sin que se distribuyan eventos progress. Esto sucede especialmente cuando el contenido cargado es un archivo local. La aplicacin activa el evento progress cuando la carga del contenido se inicia al establecer el valor de la propiedad contentPath. El primer ejemplo de sintaxis utiliza un modelo de eventos distribuidor/detector. Una instancia de componente (scrollPanelnstance) distribuye un evento (en este caso, progress) y ste se controla mediante una funcin, tambin denominada controlador, en un objeto detector (listenerObject) que crea el usuario. Se define un mtodo con el mismo nombre que el evento del objeto detector; se llama al mtodo cuando se activa el evento. Cuando se activa el evento, ste pasa automticamente un objeto de evento (eventObject) al mtodo del objeto detector. Cada objeto de evento tiene propiedades que contienen informacin sobre el evento. Estas propiedades sirven para escribir el cdigo que controla el evento. Finalmente, se llama al mtodo EventDispatcher.addEventListener() de la instancia del componente que difunde el evento para registrar el detector con la instancia. Cuando la instancia distribuya el evento, se llamar al detector. Para ms informacin, consulte Clase EventDispatcher en la pgina 527.
1200
Componente ScrollPane
El segundo ejemplo de sintaxis utiliza un controlador on() que debe asociarse directamente con una instancia de ScrollPane. La palabra clave this, utilizada en un controlador on() asociado con un componente, hace referencia a la instancia del componente. Por ejemplo, el cdigo siguiente, asociado con la instancia mySPComponent del componente ScrollPane, enva _level0.mySPComponent al panel Salida:
on (progress) { trace(this); }
Ejemplo
En este ejemplo, se crea una instancia de ScrollPane denominada my_sp y se define un objeto detector denominado spListener con un controlador de eventos progress. El controlador de eventos llama a las funciones getBytesLoaded() y getBytesTotal() para mostrar el progreso de la carga en el panel Salida. Primero, arrastre el componente ScrollPane desde el panel Componentes a la biblioteca del documento actual y, a continuacin, aada el siguiente cdigo al fotograma 1:
/** Se requiere: - Componente ScrollPane en la biblioteca */ this.createClassObject(mx.containers.ScrollPane, "my_sp", 10); my_sp.setSize(360, 280); var spListener:Object = new Object(); spListener.progress = function(evt_obj:Object):Void { trace("Loading " + my_sp.contentPath); trace(my_sp.getBytesLoaded() + " of " + my_sp.getBytesTotal() + " bytes loaded"); }; my_sp.addEventListener("progress", spListener); System.security.allowDomain("http://www.helpexamples.com"); my_sp.contentPath = "http://www.helpexamples.com/flash/images/image1.jpg";
ScrollPane.progress
1201
ScrollPane.refreshPane()
Disponibilidad
Flash MX 2004.
Sintaxis
scrollPaneInstance.refreshPane()
Parmetros
Ninguno.
Valor devuelto
Ninguno.
Descripcin
Mtodo; actualiza el panel de desplazamiento despus de cargar el contenido. Este mtodo vuelve a cargar el contenido pero no restablece la barra de desplazamiento. Utilice este mtodo si, por ejemplo, ha cargado un formulario en un panel de desplazamiento y se ha modificado una propiedad de entrada (por ejemplo, un campo de texto) con ActionScript. En tal caso, llame a refreshPane() para volver a cargar el mismo formulario con los nuevos valores para las propiedades de entrada.
Ejemplo
En este ejemplo, se crea un botn Refresh y una instancia de ScrollPane denominada my_sp. Se carga el componente ScrollPane con una imagen y se crea un detector para un evento click en el botn. Cuando se produce un evento click, el ejemplo llama a la funcin refreshPane(), que vuelve a cargar el contenido del panel de desplazamiento. Primero, arrastre el componente ScrollPane desde el panel Componentes a la biblioteca del documento actual y, a continuacin, aada el siguiente cdigo al fotograma 1:
/** Se requiere: - Componente ScrollPane en la biblioteca */ this.createClassObject(mx.controls.Button, "my_button", 10, {label:"Refresh"}); this.createClassObject(mx.containers.ScrollPane, "my_sp", 20); my_sp.move(0, 30); my_sp.setSize(360, 280);
1202
Componente ScrollPane
var buttonListener:Object = new Object(); buttonListener.click = function(evt_obj:Object) { my_sp.refreshPane(); } my_button.addEventListener("click", buttonListener); System.security.allowDomain("http://www.helpexamples.com"); my_sp.contentPath = "http://www.helpexamples.com/flash/images/image1.jpg";
ScrollPane.scroll
Disponibilidad
Flash MX 2004.
Sintaxis
Sintaxis 1:
var listenerObject:Object = new Object(); listenerObject.scroll = function(eventObject:Object):Void { // ... }; scrollPaneInstance.addEventListener("scroll", listenerObject);
Sintaxis 2:
on (scroll) { // ... }
Objeto de evento
Adems de las propiedades estndar del objeto de evento, existen dos propiedades adicionales definidas para el evento scroll: una propiedad type cuyo valor es scroll y una propiedad direction cuyo valor puede ser vertical o horizontal. Adems de las propiedades estndar del objeto de evento, existen dos propiedades adicionales definidas para el evento ProgressBar.progress: current (el valor cargado igual a total) y total (el valor total).
ScrollPane.scroll
1203
Descripcin
Evento; se difunde a todos los detectores registrados cuando un usuario hace clic en los botones de la barra de desplazamiento, el cuadro de desplazamiento (deslizador) o la gua de desplazamiento. A diferencia de otros eventos, el evento scroll se difunde cuando un usuario presiona el botn del ratn en la barra de desplazamiento y contina difundindose hasta que se suelta el botn. El primer ejemplo de sintaxis utiliza un modelo de eventos distribuidor/detector. Una instancia de componente (scrollPaneInstance) distribuye un evento (en este caso, scroll) y ste se controla mediante una funcin, tambin denominada controlador, asociada con el objeto detector (listenerObject) que crea el usuario. Se define un mtodo con el mismo nombre que el evento del objeto detector; se llama al mtodo cuando se activa el evento. Cuando se activa el evento, ste pasa automticamente un objeto de evento (eventObject) al mtodo del objeto detector. Cada objeto de evento tiene propiedades que contienen informacin sobre el evento. Estas propiedades sirven para escribir el cdigo que controla el evento. Finalmente, se llama al mtodo EventDispatcher.addEventListener() de la instancia del componente que difunde el evento para registrar el detector con la instancia. Cuando la instancia distribuya el evento, se llamar al detector. Para ms informacin, consulte Clase EventDispatcher en la pgina 527. El segundo ejemplo de sintaxis utiliza un controlador on() que debe asociarse directamente con una instancia de ScrollPane. La palabra clave this, utilizada en un controlador on() asociado con un componente, hace referencia a la instancia del componente. Por ejemplo, el cdigo siguiente, asociado con la instancia my_sp, enva _level0.my_sp al panel Salida:
on (scroll) { trace(this); }
1204
Componente ScrollPane
Ejemplo
En este ejemplo, se crea una instancia de ScrollPane denominada my_sp, se carga con una imagen y se crea un detector para el evento scroll. Cuando se produce un evento scroll, el ejemplo muestra las posiciones de desplazamiento horizontal (hPosition) y vertical (vPosition) en el panel Salida. Primero, arrastre el componente ScrollPane desde el panel Componentes a la biblioteca del documento actual y, a continuacin, aada el siguiente cdigo al fotograma 1:
/** Se requiere: - Componente ScrollPane en la biblioteca */ this.createClassObject(mx.containers.ScrollPane, "my_sp", 10); my_sp.setSize(360, 280); System.security.allowDomain("http://www.helpexamples.com"); my_sp.contentPath = "http://www.helpexamples.com/flash/images/image1.jpg"; // Desplazar 100 pxeles cuando se haga clic en la barra horizontal. my_sp.hPageScrollSize = 100; // Crear un objeto detector. var spListener:Object = new Object(); spListener.scroll = function(evt_obj:Object):Void { trace("hPosition = " + my_sp.hPosition + ", vPosition = " + my_sp.vPosition); }; // Aadir detector. my_sp.addEventListener("scroll", spListener);
Vase tambin
EventDispatcher.addEventListener()
ScrollPane.scroll
1205
ScrollPane.scrollDrag
Disponibilidad
Flash MX 2004.
Sintaxis
scrollPaneInstance.scrollDrag
Descripcin
Propiedad; valor booleano que indica si se produce el desplazamiento (true) o no (false) cuando un usuario arrastra el contenido en el panel de desplazamiento. El valor predeterminado es false.
Ejemplo
En este ejemplo, se crea una instancia de ScrollPane denominada my_sp, se carga con una imagen y se establece la propiedad scrollDrag en true, lo que permite al usuario desplazarse arrastrando la imagen por el panel de desplazamiento. Primero, arrastre el componente ScrollPane desde el panel Componentes a la biblioteca del documento actual y, a continuacin, aada el siguiente cdigo al fotograma 1:
/** Se requiere: - Componente ScrollPane en la biblioteca */ this.createClassObject(mx.containers.ScrollPane, "my_sp", 10); my_sp.setSize(360, 280); System.security.allowDomain("http://www.helpexamples.com"); my_sp.contentPath = "http://www.helpexamples.com/flash/images/image1.jpg"; // Activar desplazamiento arrastrando panel de desplazamiento. my_sp.scrollDrag = true;
1206
Componente ScrollPane
ScrollPane.vLineScrollSize
Disponibilidad
Flash MX 2004.
Sintaxis
scrollPaneInstance.vLineScrollSize
Descripcin
Propiedad; nmero de pxeles que se va a mover el contenido en el rea de visualizacin cuando el usuario haga clic en una flecha de desplazamiento de la barra de desplazamiento vertical. El valor predeterminado es 5.
Ejemplo
En el siguiente ejemplo, se crea una instancia de ScrollPane denominada my_sp, se carga con una imagen y se establece la propiedad vLineScrollSize para desplazarse 20 pxeles cuando el usuario haga clic en una flecha de la barra de desplazamiento vertical. Primero, arrastre el componente ScrollPane desde el panel Componentes al panel del documento actual y, a continuacin, aada el siguiente cdigo al fotograma 1:
/** Se requiere: - Componente ScrollPane en la biblioteca */ this.createClassObject(mx.containers.ScrollPane, "my_sp", 10); my_sp.setSize(360, 280); System.security.allowDomain("http://www.helpexamples.com"); my_sp.contentPath = "http://www.helpexamples.com/flash/images/image1.jpg"; // Desplazar 20 pxeles cuando se haga clic en las flechas de la barra // vertical. my_sp.vLineScrollSize = 20;
ScrollPane.vLineScrollSize
1207
ScrollPane.vPageScrollSize
Disponibilidad
Flash MX 2004.
Sintaxis
scrollPaneInstance.vPageScrollSize
Descripcin
Propiedad; nmero de pxeles que se va a mover el contenido en el rea de visualizacin cuando el usuario haga clic en la gua de una barra de desplazamiento vertical. El valor predeterminado es 20.
Ejemplo
En este ejemplo, se crea una instancia de ScrollPane denominada my_sp, se carga con una imagen y se establece la propiedad vPageScrollSize para desplazarse 30 pxeles cuando el usuario haga clic en la gua de deslizamiento de la barra de desplazamiento vertical. Primero, arrastre el componente ScrollPane desde el panel Componentes a la biblioteca del documento actual y, a continuacin, aada el siguiente cdigo al fotograma 1:
/** Se requiere: - Componente ScrollPane en la biblioteca */ this.createClassObject(mx.containers.ScrollPane, "my_sp", 10); my_sp.setSize(360, 280); System.security.allowDomain("http://www.helpexamples.com"); my_sp.contentPath = "http://www.helpexamples.com/flash/images/image1.jpg"; // Desplazar 30 pxeles cuando se haga clic en la barra vertical. my_sp.vPageScrollSize = 30;
1208
Componente ScrollPane
ScrollPane.vPosition
Disponibilidad
Flash MX 2004.
Sintaxis
scrollPaneInstance.vPosition
Descripcin
Propiedad; orienta el contenido del panel de desplazamiento en pxeles y ajusta de forma proporcional el cuadro de desplazamiento (deslizador) vertical. La posicin 0 se encuentra en el extremo superior de la gua de desplazamiento, lo que provoca que el borde superior del contenido del panel de desplazamiento sea visible en el panel de desplazamiento. El valor predeterminado es 0.
Ejemplo
En este ejemplo, se crea una instancia de ScrollPane denominada my_sp, se carga con una imagen y se crea un detector para controlar el evento scroll y mostrar las posiciones de desplazamiento horizontal (hPosition) y vertical (vPosition) cuando el usuario haga clic en la barra de desplazamiento. Primero, arrastre el componente ScrollPane desde el panel Componentes a la biblioteca del documento actual y, a continuacin, aada el siguiente cdigo al fotograma 1:
/** Se requiere: - Componente ScrollPane en la biblioteca */ this.createClassObject(mx.containers.ScrollPane, "my_sp", 10); my_sp.setSize(360, 280); System.security.allowDomain("http://www.helpexamples.com"); my_sp.contentPath = "http://www.helpexamples.com/flash/images/image1.jpg"; // Desplazar 100 pxeles cuando se haga clic en la barra horizontal. my_sp.hPageScrollSize = 100; // Crear un objeto detector. var spListener:Object = new Object(); spListener.scroll = function(evt_obj:Object):Void { trace("hPosition = " + my_sp.hPosition + ", vPosition = " + my_sp.vPosition); }; // Aadir detector. my_sp.addEventListener("scroll", spListener);
ScrollPane.vPosition
1209
ScrollPane.vScrollPolicy
Disponibilidad
Flash MX 2004.
Sintaxis
scrollPaneInstance.vScrollPolicy
Descripcin
Propiedad; determina si la barra de desplazamiento vertical est presente siempre (on), nunca (off) o aparece automticamente en funcin del tamao de la imagen (auto). El valor predeterminado es auto.
Ejemplo
En el siguiente ejemplo, se crea una instancia de ScrollPane denominada my_sp, se establece vScrollPolicy en off para evitar que aparezca una barra de desplazamiento vertical, y se carga el componente ScrollPane con una imagen. Primero, arrastre el componente ScrollPane desde el panel Componentes a la biblioteca del documento actual y, a continuacin, aada el siguiente cdigo al fotograma 1:
/** Se requiere: - Componente ScrollPane en la biblioteca */ import mx.containers.ScrollPane; this.createClassObject(ScrollPane, "my_sp", 30); my_sp.setSize(360, 280); my_sp.vScrollPolicy = "off"; System.security.allowDomain("http://www.helpexamples.com"); my_sp.contentPath = "http://www.helpexamples.com/flash/images/image1.jpg";
1210
Componente ScrollPane
CAPTULO 41
Clase SimpleButton
Herencia
41
MovieClip > Clase UIObject > Clase UIComponent > SimpleButton mx.controls.SimpleButton
Si el botn tiene el aspecto de un botn de comando predeterminado Si el botn acta como un botn de comando o como un conmutador Si el botn est seleccionado
La clase SimpleButton slo es compatible si trabaja con un documento que especifique ActionScript 2.0 en la Configuracin de publicacin.
NO TA
1211
Crea un subobjeto en un objeto. Elimina una instancia de componente. Llama a una funcin cuando se han establecido parmetros en el inspector de propiedades y el inspector de componentes. Obtiene la propiedad de estilo de la declaracin de estilo o del objeto. Marca el objeto de forma que se pueda volver a dibujar en el siguiente intervalo de fotogramas. Mueve el objeto a la posicin indicada. Fuerza la validacin del objeto, de forma que se pueda dibujar sobre el fotograma actual. Cambia el tamao del objeto al indicado. Define un aspecto en el objeto. Define la propiedad de estilo en la declaracin de estilo o en el objeto.
UIObject.getStyle()
UIObject.invalidate()
UIObject.move() UIObject.redraw()
Descripcin
Devuelve una referencia al objeto seleccionado. Define la seleccin en la instancia de componente.
1212
Clase SimpleButton
Descripcin
Indica si el botn tiene el aspecto de un botn de comando predeterminado.
emphasized est definida en true.
SimpleButton.selected
Valor booleano que indica si el botn est seleccionado (true) o no (false). El valor predeterminado es false. Valor booleano que indica si el botn se comporta como un conmutador (true) o no (false). El valor predeterminado es false.
SimpleButton.toggle
Descripcin
Posicin del borde inferior del objeto con respecto al borde inferior de su elemento principal correspondiente. Slo lectura. Altura del objeto, expresada en pxeles. Slo lectura. Borde izquierdo del objeto, expresado en pxeles. Slo lectura. Posicin del borde derecho del objeto con respecto al borde derecho de su elemento principal correspondiente. Slo lectura. Nmero que indica el factor de escala en la direccin x del objeto con respecto a su elemento principal correspondiente. Nmero que indica el factor de escala en la direccin y del objeto con respecto a su elemento principal correspondiente.
UIObject.height
UIObject.left
UIObject.right
UIObject.scaleX
UIObject.scaleY
1213
Propiedad
UIObject.top
Descripcin
Posicin del borde superior del objeto con respecto a su elemento principal correspondiente. Slo lectura. Valor booleano que indica si el objeto es visible (true) o no (false). Anchura del objeto, expresada en pxeles. Slo lectura. Borde izquierdo del objeto, expresado en pxeles. Slo lectura. Borde superior del objeto, expresado en pxeles. Slo lectura.
UIObject.visible
UIObject.width
UIObject.x
UIObject.y
Descripcin
Indica si el componente puede recibir selecciones y entradas. Nmero que indica el orden de tabulacin para un componente de un documento.
UIComponent.tabIndex
Descripcin
Se difunde cuando se hace clic en un botn.
1214
Clase SimpleButton
Descripcin
Se difunde cuando un objeto est a punto de dibujar sus grficos. Se difunde cuando el estado de un objeto pasa de ser visible a invisible. Se difunde cuando se crean subobjetos. Se difunde cuando se mueve el objeto. Se difunde cuando cambia el tamao de un objeto. Se difunde cuando el estado de un objeto pasa de ser invisible a visible. Se difunde durante la descarga de los subobjetos.
UIObject.hide
UIObject.unload
Descripcin
Se difunde cuando se selecciona un objeto. Se difunde cuando un objeto deja de seleccionarse. Se difunde cuando se presiona una tecla. Se difunde cuando se suelta una tecla.
1215
SimpleButton.click
Disponibilidad
Flash MX 2004.
Sintaxis
Sintaxis 1:
var listenerObject:Object = new Object(); listenerObject.click = function(eventObj:Object){ // ... }; buttonInstance.addEventListener("click", listenerObject);
Sintaxis 2:
on (click) { // ... }
Descripcin
Evento; se difunde a todos los detectores registrados cuando se hace clic con el ratn (se suelta el botn del ratn) en un botn o cuando ste est seleccionado y se presiona la barra espaciadora. El primer ejemplo de sintaxis utiliza un modelo de eventos distribuidor/detector. Una instancia de componente (buttonInstance) distribuye un evento (en este caso, click), y ste se controla mediante una funcin, tambin denominada controlador, asociada con el objeto detector (listenerObject) que crea el usuario. Debe definirse un mtodo con el mismo nombre que el evento del objeto detector; se llama al mtodo cuando se produce el evento. Cuando se produce el evento, ste pasa automticamente un objeto de evento (eventObject) al mtodo del objeto detector. El objeto de evento tiene propiedades que contienen informacin sobre el evento. Estas propiedades sirven para escribir el cdigo que controla el evento. Finalmente, se llama a addEventListener() (consulte EventDispatcher.addEventListener()) en la instancia del componente que difunde el evento para registrar el detector con la instancia. Cuando la instancia distribuya el evento, se llamar al detector. Para ms informacin, consulte Clase EventDispatcher en la pgina 527.
1216
Clase SimpleButton
El segundo ejemplo de sintaxis utiliza un controlador on() que debe asociarse directamente con una instancia del componente Button. La palabra clave this, utilizada en un controlador on() asociado con un componente, hace referencia a la instancia del componente. Por ejemplo, el cdigo siguiente, asociado con la instancia del componente Button myButtonComponent, enva _level0.myButtonComponent al panel Salida:
on (click) { trace(this); }
El comportamiento de this es diferente cuando se utiliza dentro de un controlador on() asociado con un smbolo de botn normal de Flash; en esta instancia, this hace referencia a la lnea de tiempo que contiene el botn. Por ejemplo, el cdigo siguiente, asociado con la instancia myButton del smbolo de botn, enva _level0 al panel Salida:
on (release) { trace(this); }
N OT A
El objeto incorporado Button de ActionScript no tiene eventos click; el evento ms prximo es release.
Ejemplo
En este ejemplo, escrito en un fotograma de la lnea de tiempo, se enva un mensaje al panel Salida cuando se hace clic en un botn denominado buttonInstance. La primera lnea especifica que el botn acte como un conmutador. La segunda lnea crea un objeto detector denominado form. La tercera lnea define una funcin para el evento click en el objeto detector. Dentro de la funcin hay una sentencia trace() que utiliza el objeto de evento que se pasa automticamente a la funcin (en este ejemplo eventObj) para generar un mensaje. La propiedad target de un objeto de evento es el componente que ha generado el evento (en este ejemplo buttonInstance). Se accede a la propiedad SimpleButton.selected desde la propiedad target del objeto de evento. La ltima lnea llama a addEventListener() desde buttonInstance y pasa como parmetros el evento click y el objeto detector form.
buttonInstance.toggle = true; var form:Object = new Object(); form.click = function(eventObj:Object) { trace("The selected property has changed to " + eventObj.target.selected); }; buttonInstance.addEventListener("click", form);
El cdigo siguiente enva tambin un mensaje al panel Salida cuando se hace clic en buttonInstance. El controlador on() debe asociarse directamente con buttonInstance.
on (click) { trace("button component was clicked"); }
SimpleButton.click 1217
SimpleButton.emphasized
Disponibilidad
Flash MX 2004.
Sintaxis
buttonInstance.emphasized
Descripcin
Propiedad; indica si el botn est resaltado (true) o no (false). El estado resaltado equivale al aspecto de un botn de comando predeterminado. En general, utilice la propiedad FocusManager.defaultPushButton en lugar de definir directamente la propiedad emphasized. El valor predeterminado es false. Si no est utilizando FocusManager.defaultPushButton, es posible que slo desee definir un botn en el estado emphasized, o utilizar el estado emphasized para cambiar el texto de un color a otro. En el ejemplo siguiente, se define la propiedad emphasized de la instancia del botn myButton:
_global.styles.foo = new CSSStyleDeclaration(); _global.styles.foo.color = 0xFF0000; SimpleButton.emphasizedStyleDeclaration = "neutralStyle"; myButton.emphasized = true;
Vase tambin
SimpleButton.emphasizedStyleDeclaration
1218
Clase SimpleButton
SimpleButton.emphasizedStyleDeclaration
Disponibilidad
Flash MX 2004.
Sintaxis
buttonInstance.emphasizedStyleDeclaraion
Descripcin
Propiedad (esttica); cadena que indica la declaracin de estilo que da formato a un botn cuando la propiedad emphasized se define en true. La propiedad emphasizedStyleDeclaration es una propiedad esttica de la clase SimpleButton. Por tanto, debe acceder a ella directamente desde SimpleButton y no desde buttonInstance, como en el ejemplo siguiente:
SimpleButton.emphasizedStyleDeclaration = "3dEmphStyle";
Vase tambin
SimpleButton.emphasized
SimpleButton.selected
Disponibilidad
Flash MX 2004.
Sintaxis
buttonInstance.selected
Descripcin
Propiedad; valor booleano que indica si el botn est seleccionado (true) o no (false). El valor predeterminado es false.
SimpleButton.selected
1219
SimpleButton.toggle
Disponibilidad
Flash MX 2004.
Sintaxis
buttonInstance.toggle
Descripcin
Propiedad; valor booleano que indica si el botn acta como un conmutador (true) o no (false). El valor predeterminado es false. Si un botn acta como un conmutador, permanece presionado hasta que se hace clic nuevamente en l.
1220
Clase SimpleButton
CAPTULO 42
Clase Slide
La clase Slide corresponde a un nodo de la presentacin jerrquica de diapositivas que se crea en el panel Contorno de pantalla en Adobe Flash CS3 Professional.
N OT A
42
la funcin Pantallas est desfasada en Flash CS3. Puede abrir y editar archivos FLA basados en pantallas creados en versiones anteriores de Flash, pero no podr crear nuevos documentos basados en pantallas. Adems, la clase Slide slo es compatible si trabaja con un documento que especifique ActionScript2.0 en la Configuracin de publicacin.
La clase Slide ampla la clase Screen (consulte Clase Screen en la pgina 1153) y ofrece capacidades de navegacin y secuenciacin incorporadas entre las diapositivas, adems de la capacidad de asociar fcilmente transiciones entre diapositivas mediante comportamientos. Las diapositivas almacenan informacin sobre su estado, de forma que cuando el usuario avanza a la diapositiva adyacente, la diapositiva anterior se oculta. Para ver informacin general sobre cmo trabajar con pantallas, consulte Trabajo con pantallas en Utilizacin de Flash.
1221
Tenga en cuenta que slo puede desplazarse por (detenerse en) las diapositivas que no contienen diapositivas secundarias (diapositivas hoja). Por ejemplo, la ilustracin siguiente muestra el contenido del panel Contorno de pantalla de un ejemplo de presentacin de diapositivas.
Cuando se inicie dicha presentacin, se detendr de forma predeterminada en la diapositiva llamada Finanzas, que es la primera diapositiva de la presentacin que no contiene diapositivas secundarias. Asimismo, tenga en cuenta que las diapositivas secundarias heredan el aspecto visual (grficos y el resto del contenido) de las diapositivas principales. Por ejemplo, en la ilustracin anterior, adems del contenido de la diapositiva Finance, el usuario puede ver todo el contenido de las diapositivas Intro y Presentation.
N OT A 1222
La clase Slide hereda de la Clase Loader, lo que permite cargar fcilmente archivos SWF o JPEG externos en una diapositiva determinada. De este modo, puede dividir en mdulos las presentaciones de diapositivas y reducir el tiempo de descarga inicial. Para ms informacin, consulte Carga de contenido externo en pantallas en la pgina 1154.
Clase Slide
Parmetros de Slide
A continuacin se indican los parmetros de edicin que se pueden definir para cada diapositiva en el inspector de propiedades o en el inspector de componentes:
autoKeyNav determina si la diapositiva responde a la navegacin predeterminada mediante el
teclado y, en tal caso, tambin determina el modo en que lo hace. Para ms informacin, consulte Slide.autoKeyNav.
autoload
indica si el contenido especificado por el parmetro contentPath debe cargarse automticamente (true) o si debe esperar hasta que se llame al mtodo Loader.load() (false). El valor predeterminado es true.
especifica el contenido de la diapositiva. Este valor puede ser el identificador de vinculacin de un clip de pelcula o la URL absoluta o relativa de un archivo SWF o JPEG que se carga en la diapositiva. De forma predeterminada, el contenido cargado se recorta para que quepa en la diapositiva.
contentPath overlayChildren especifica si las diapositivas secundarias de la diapositiva siguen vindose al desplazarse de una diapositiva secundaria a la siguiente (true) o no (false). playHidden
no (false).
1223
mx.screens.Slide
Los mtodos, propiedades y eventos de la clase Slide permiten administrar y manipular diapositivas.
Descripcin
Devuelve la diapositiva secundaria especificada. Se desplaza a la primera diapositiva hoja de la jerarqua de subdiapositivas de la diapositiva. Se desplaza a la ltima diapositiva hoja de la jerarqua de subdiapositivas de la diapositiva. Se desplaza a la diapositiva siguiente. Se desplaza a la diapositiva anterior. Se desplaza a una diapositiva especificada.
Slide.gotoLastSlide()
1224
Clase Slide
Crea un subobjeto en un objeto. Elimina una instancia de componente. Llama a una funcin cuando se han establecido parmetros en el inspector de propiedades y el inspector de componentes. Obtiene la propiedad de estilo de la declaracin de estilo o del objeto. Marca el objeto de forma que se pueda volver a dibujar en el siguiente intervalo de fotogramas. Mueve el objeto a la posicin indicada. Fuerza la validacin del objeto, de forma que se pueda dibujar sobre el fotograma actual. Cambia el tamao del objeto al indicado. Define un aspecto en el objeto. Define la propiedad de estilo en la declaracin de estilo o en el objeto.
UIObject.getStyle()
UIObject.invalidate()
UIObject.move() UIObject.redraw()
Descripcin
Devuelve una referencia al objeto seleccionado. Define la seleccin en la instancia de componente.
1225
Descripcin
Carga el contenido especificado en la propiedad contentPath.
Descripcin
Devuelve la pantalla secundaria de esta pantalla en un ndice concreto.
Descripcin
Determina si se utilizan las funciones predeterminadas del teclado para desplazarse a la diapositiva siguiente o anterior. Slo lectura; devuelve la diapositiva secundaria inmediata de la diapositiva especificada que contiene la diapositiva que se encuentra activa. Slo lectura; devuelve la ltima diapositiva hoja (la ms alejada de la raz del rbol de diapositivas) que contiene la seleccin actual global. Slo lectura; devuelve la diapositiva que se encuentra activa. Funcin callback que sustituye la navegacin predeterminada mediante el teclado (teclas de flecha izquierda y derecha). Slo lectura; devuelve la primera diapositiva secundaria de la diapositiva que no tiene elementos secundarios.
Slide.currentChildSlide
Slide.currentFocusedSlide
Slide.currentSlide Slide.defaultKeydownHandler
Slide.firstSlide
1226
Clase Slide
Propiedad
Slide.indexInParentSlide
Descripcin
Slo lectura; devuelve el ndice de la diapositiva (basado en cero) en la lista de subdiapositivas de su diapositiva principal. Slo lectura; devuelve la ltima diapositiva secundaria de la diapositiva que no tiene elementos secundarios. Slo lectura; devuelve la diapositiva a la que se llegara si se llama a mySlide.gotoNextSlide(), pero sin que se desplace realmente a dicha diapositiva. Slo lectura; devuelve el nmero de diapositivas secundarias que contiene la diapositiva. Determina si las diapositivas secundarias de la diapositiva estn visibles cuando se pasa de una diapositiva secundaria a la siguiente. Slo lectura; devuelve un valor booleano que indica si el objeto principal de la diapositiva tambin es una diapositiva (true) o no (false). Slo lectura; diapositiva que contiene la diapositiva actual. Puede ser null para la diapositiva raz. Determina si la diapositiva contina reproducindose mientras est oculta. Slo lectura; devuelve la diapositiva a la que se llegara si se llama a mySlide.gotoPreviousSlide(), pero sin que se desplace realmente a dicha diapositiva. Slo lectura; devuelve la raz del rbol de diapositivas que contiene la diapositiva.
Slide.lastSlide
Slide.nextSlide
Slide.numChildSlides
Slide.overlayChildren
Slide.parentIsSlide
Slide.parentSlide
Slide.playHidden
Slide.previousSlide
Slide.rootSlide
1227
Descripcin
Posicin del borde inferior del objeto con respecto al borde inferior de su elemento principal correspondiente. Slo lectura. Altura del objeto, expresada en pxeles. Slo lectura. Borde izquierdo del objeto, expresado en pxeles. Slo lectura. Posicin del borde derecho del objeto con respecto al borde derecho de su elemento principal correspondiente. Slo lectura. Nmero que indica el factor de escala en la direccin x del objeto con respecto a su elemento principal correspondiente. Nmero que indica el factor de escala en la direccin y del objeto con respecto a su elemento principal correspondiente. Posicin del borde superior del objeto con respecto a su elemento principal correspondiente. Slo lectura. Valor booleano que indica si el objeto es visible (true) o no (false). Anchura del objeto, expresada en pxeles. Slo lectura. Borde izquierdo del objeto, expresado en pxeles. Slo lectura. Borde superior del objeto, expresado en pxeles. Slo lectura.
UIObject.height UIObject.left
UIObject.right
UIObject.scaleX
UIObject.scaleY
UIObject.top
UIObject.visible
UIObject.width UIObject.x
UIObject.y
1228
Clase Slide
Descripcin
Indica si el componente puede recibir selecciones y entradas. Nmero que indica el orden de tabulacin para un componente de un documento.
UIComponent.tabIndex
Descripcin
Valor booleano que indica si el contenido se carga automticamente (true) o si es preciso llamar a Loader.load() (false). Propiedad de slo lectura que indica el nmero de bytes que se han cargado. Propiedad de slo lectura que indica el nmero total de bytes del contenido. Referencia al contenido del componente Loader. Es una propiedad de slo lectura. Cadena que indica la URL del contenido que va a cargarse. Nmero que indica el porcentaje de contenido cargado. Es una propiedad de slo lectura. Valor booleano que indica si el contenido se redimensiona para adaptarse al componente Loader (true) o si el componente Loader se redimensiona para adaptarse al contenido (false).
Loader.bytesLoaded
Loader.bytesTotal
Loader.content
Loader.contentPath Loader.percentLoaded
Loader.scaleContent
1229
Descripcin
Slo lectura; devuelve la pantalla que contiene la seleccin actual global. Slo lectura; devuelve el ndice de la pantalla (basado en cero) en la lista de pantallas secundarias de su pantalla principal. Slo lectura; devuelve el nmero de pantallas secundarias que contiene la pantalla. Slo lectura; devuelve un valor booleano (true o false) que indica si el objeto principal de la pantalla tambin es una pantalla. Slo lectura; devuelve la pantalla raz del rbol o subrbol que contiene la pantalla.
Screen.indexInParent
Screen.numChildScreens
Screen.parentIsScreen
Screen.rootScreen
Descripcin
Se difunde cada vez que un elemento secundario de una diapositiva pasa de ser visible a invisible. Se difunde cada vez que una diapositiva secundaria de un objeto de diapositiva pasa de ser invisible a visible.
Slide.revealChild
1230
Clase Slide
Descripcin
Se difunde cuando un objeto est a punto de dibujar sus grficos. Se difunde cuando el estado de un objeto pasa de ser visible a invisible. Se difunde cuando se crean subobjetos. Se difunde cuando se mueve el objeto. Se difunde cuando cambia el tamao de un objeto. Se difunde cuando el estado de un objeto pasa de ser invisible a visible. Se difunde durante la descarga de los subobjetos.
UIObject.hide
UIObject.unload
Descripcin
Se difunde cuando se selecciona un objeto. Se difunde cuando un objeto deja de seleccionarse. Se difunde cuando se presiona una tecla. Se difunde cuando se suelta una tecla.
Descripcin
Se activa cuando el contenido termina de cargarse. Se activa mientras se carga el contenido.
1231
Descripcin
Se difunde cuando todas las transiciones de entrada aplicadas a una pantalla han finalizado. a una pantalla han finalizado.
Screen.mouseDown
Se difunde cuando se ha presionado el botn del ratn sobre un objeto (forma o clip de pelcula) que es propiedad directa de la pantalla. Se difunde cuando se ha presionado el botn del ratn en algn lugar del escenario, pero no necesariamente en un objeto propiedad de esta pantalla. Se difunde cuando el ratn se mueve mientras se encuentra sobre una pantalla. Se difunde cuando el ratn se mueve del interior al exterior de la pantalla. Se difunde cuando el ratn se mueve del exterior al interior de la pantalla. Se difunde cuando el botn del ratn se ha soltado sobre un objeto (forma o clip de pelcula) que es propiedad directa de la pantalla. Se difunde cuando el botn del ratn se ha soltado en algn lugar del escenario, pero no necesariamente en un objeto propiedad de esta pantalla.
Screen.mouseDownSomewhere
Screen.mouseMove
Screen.mouseOut
Screen.mouseOver
Screen.mouseUp
Screen.mouseUpSomewhere
1232
Clase Slide
Slide.autoKeyNav
Disponibilidad
Descripcin
Propiedad; determina si la diapositiva utiliza o no las funciones predeterminadas del teclado para desplazarse a la diapositiva siguiente o anterior cuando se ha seleccionado mySlide. Esta propiedad acepta los valores de cadena true, false y inherit. Tambin puede sustituir el comportamiento de las funciones predeterminadas del teclado mediante la propiedad Slide.defaultKeydownHandler. Si se ha establecido el valor de esta propiedad en true y se presiona la tecla de flecha derecha (Key.RIGHT) o la barra espaciadora (Key.SPACE) cuando se ha seleccionado mySlide, se avanzar hasta la diapositiva siguiente. En cambio, si se presiona la tecla de flecha izquierda (Key.Left) se desplazar a la diapositiva anterior. Si el valor de esta propiedad es false, las funciones predeterminadas del teclado no tendrn efecto alguno si se ha seleccionado mySlide. Si el valor de esta propiedad es inherit, mySlide comprueba la propiedad autoKeyNav de su diapositiva principal. Si el valor de sta tambin es inherit, Flash busca la cadena de herencia de diapositivas hasta que encuentra una diapositiva principal cuya propiedad autoKeyNav tenga el valor true o false. Si mySlide no tiene ninguna diapositiva principal (es decir, si el valor de es true) se comportar como si autoKeyNav se hubiera establecido en true.
(mySlide.parentIsSlide == false)
Ejemplo
En este ejemplo se desactiva la navegacin automtica mediante el teclado para la diapositiva denominada loginSlide.
_root.Presentation.loginSlide.autoKeyNav = "false";
Vase tambin
Slide.defaultKeydownHandler
Slide.autoKeyNav
1233
Slide.currentChildSlide
Disponibilidad
Descripcin
Propiedad (slo lectura); devuelve la diapositiva secundaria inmediata de mySlide que contiene la diapositiva que se encuentra activa; devuelve null si no se encuentra seleccionada ninguna de las diapositivas secundarias de mySlide.
Ejemplo
Si se toma SubBullet1_1_1 como la diapositiva actual, todas las sentencias siguientes sern verdaderas:
Presentation.currentChildSlide == Slide_1; Slide_1.currentChildSlide == Bullet_1_1; SubBullet_1_1_1.currentChildSlide == null; Slide_2.currentChildSlide == null;
Vase tambin
Slide.currentSlide
1234
Clase Slide
Slide.currentFocusedSlide
Disponibilidad
Descripcin
Propiedad (slo lectura); devuelve la ltima diapositiva hoja (la ms alejada de la raz del rbol de diapositivas) que contiene la seleccin actual global. La seleccin puede recaer en la propia diapositiva o en un clip de pelcula, objeto de texto o componente de dicha diapositiva. El mtodo devuelve null si no se ha seleccionado ningn elemento.
Ejemplo
var focusedSlide = mx.screens.Slide.currentFocusedSlide;
Slide.currentSlide
Disponibilidad
Descripcin
Propiedad (slo lectura); devuelve la diapositiva que se encuentra activa. Se trata siempre de una diapositiva hoja, es decir, una diapositiva que no contiene diapositivas secundarias.
Slide.currentSlide
1235
Ejemplo
El cdigo siguiente, asociado con un botn de la diapositiva de presentacin raz, avanza por la presentacin de diapositivas hasta la diapositiva siguiente cada vez que se hace clic en el botn.
// Asociado con la instancia de botn contenida en la diapositiva de // presentacin: on(press) { _parent.currentSlide.gotoNextSlide(); }
Vase tambin
Slide.gotoNextSlide()
Slide.defaultKeydownHandler
Disponibilidad
Parmetros
eventObj
Cadena que indica el tipo de evento. Los valores posibles son keyUp y keyDown.
type
Nmero entero que representa el valor ASCII de la ltima tecla presionada; corresponde al valor devuelto por Key.getAscii().
ascii code
Nmero entero que representa el cdigo de tecla de la ltima tecla presionada; corresponde al valor devuelto por Key.getCode().
Valor booleano que indica si la tecla Mays est presionada actualmente true) o no (false).
shiftKey
Valor booleano que indica si la tecla Control est presionada actualmente true) o no (false).
ctrlKey
1236
Clase Slide
Valor devuelto
Ninguno.
Descripcin
Funcin callback; permite sustituir la navegacin predeterminada mediante el teclado por un controlador de teclado personalizado creado por el usuario. Por ejemplo, en lugar de utilizar las teclas de flecha izquierda y derecha para desplazarse a las diapositivas anterior y siguiente de una presentacin respectivamente, puede hacer que las teclas de flecha arriba y abajo lleven a cabo dichas funciones. Para ms informacin sobre el comportamiento de las funciones predeterminadas del teclado, consulte Slide.autoKeyNav.
Ejemplo
En este ejemplo se modifican las funciones predeterminadas del teclado para las diapositivas secundarias de la diapositiva con la que se encuentra asociado el controlador on(load). Este controlador utiliza las teclas de flecha arriba y abajo para la navegacin, en lugar de las teclas de flecha izquierda y derecha.
on (load) { this.defaultKeyDownHandler = function(eventObj:Object) { switch (eventObj.code) { case Key.DOWN : this.currentSlide.gotoNextSlide(); break; case Key.UP : this.currentSlide.gotoPreviousSlide(); break; default : break; } }; }
Vase tambin
Slide.autoKeyNav
Slide.defaultKeydownHandler
1237
Slide.firstSlide
Disponibilidad
Descripcin
Propiedad (slo lectura); devuelve la primera diapositiva secundaria de mySlide que no tenga diapositivas secundarias.
Ejemplo
En la jerarqua de diapositivas que se muestra a continuacin, las dos sentencias siguientes son verdaderas:
Presentation.Intro.firstSlide == Intro_bullet_1_1; Presentation.Intro_bullet_1.firstSlide == Intro_bullet_1_1;
1238
Clase Slide
Slide.getChildSlide()
Disponibilidad
Parmetros
childIndex
Valor devuelto
Un objeto de diapositiva.
Descripcin
Mtodo; devuelve la diapositiva secundaria de mySlide cuyo ndice es childIndex. Este mtodo resulta til para repetir un conjunto de diapositivas secundarias cuyos ndices son conocidos.
Ejemplo
Como resultado del cdigo siguiente, el panel Salida muestra los nombres de todas las diapositivas secundarias de la diapositiva de presentacin raz.
var numSlides = _root.Presentation.numChildSlides; for(var slideIndex=0; slideIndex < numSlides; slideIndex++) { var childSlide = _root.Presentation.getChildSlide(slideIndex); trace(childSlide._name); }
Vase tambin
Slide.numChildSlides
Slide.getChildSlide()
1239
Slide.gotoFirstSlide()
Disponibilidad
Parmetros
Ninguno.
Valor devuelto
Ninguno.
Descripcin
Mtodo; se desplaza hasta la primera diapositiva hoja del rbol de las diapositivas secundarias que se encuentran debajo de mySlide. Este mtodo se omite cuando se le llama desde un controlador de eventos on(hide) o on(reveal) de una diapositiva, en caso de que dicho evento se haya creado al desplazarse por las diapositivas. Para ir a la primera diapositiva de una presentacin, llame a Para ms informacin sobre rootSlide, consulte Slide.revealChild.
mySlide.rootSlide.gotoFirstSlide().
1240
Clase Slide
Ejemplo
En la jerarqua de diapositivas que aparece a continuacin, todas las llamadas al mtodo se desplazan hasta la diapositiva denominada Intro_bullet_1_1:
Presentation.gotoFirstSlide(); Presentation.Intro.gotoFirstSlide(); Presentation.Intro.Intro_bullet_1.gotoFirstSlide();
Vase tambin
Slide.firstSlide, Slide.revealChild
Slide.gotoLastSlide()
Disponibilidad
Parmetros
Ninguno.
Slide.gotoLastSlide()
1241
Valor devuelto
Ninguno.
Descripcin
Mtodo; se desplaza a la ltima diapositiva hoja del rbol de diapositivas secundarias debajo de mySlide. Este mtodo se omite cuando se llama desde un controlador de eventos on(hide) o on(reveal) de una diapositiva, en caso de que dicho evento sea resultado de otro desplazamiento entre diapositivas.
Ejemplo
En la jerarqua de diapositivas que aparece a continuacin, las llamadas al mtodo se desplazan hasta la diapositiva denominada Intro_bullet_1_2:
Presentation.Intro.gotoLastSlide(); Presentation.Intro.Intro_bullet_1.gotoLastSlide();
Vase tambin
Slide.gotoSlide(), Slide.lastSlide
1242
Clase Slide
Slide.gotoNextSlide()
Disponibilidad
Parmetros
Ninguno.
Valor devuelto
Valor booleano o null. El mtodo devuelve true si se ha desplazado satisfactoriamente hasta la siguiente diapositiva; devuelve false si la presentacin ya est en la ltima diapositiva cuando se invoca al mtodo (es decir, si el valor de currentSlide.nextSlide es null). El mtodo devuelve null si se invoca en una diapositiva que no contiene la diapositiva actual.
Descripcin
Mtodo; se desplaza hasta la diapositiva siguiente de la presentacin de diapositivas. Cuando se pasa de una diapositiva a la siguiente, la diapositiva de salida se oculta y aparece la diapositiva de entrada. Si las diapositivas de salida y entrada se encuentran en subrboles diferentes, todas las diapositivas ascendientes, empezando por la diapositiva de salida y hasta la diapositiva ascendiente comn de ambas diapositivas, se ocultan y se recibe un evento hide. Inmediatamente despus, aparecen todas las diapositivas ascendientes de la diapositiva de entrada, hasta la diapositiva ascendiente comn de las diapositivas de entrada y de salida, y se recibe el evento reveal. Normalmente, se llama a gotoNextSlide() en el nodo hoja que representa a la diapositiva actual. Si se llama a someNode en un nodo que no es hoja, someNode.gotoNextSlide() avanzar hasta el primer nodo hoja de la diapositiva o seccin siguiente. Este mtodo no tiene ningn efecto cuando se invoca en una diapositiva que no contiene la diapositiva actual. El mtodo tampoco tiene efecto cuando se llama desde un controlador de eventos on(hide) o on(reveal) asociado con una diapositiva, en caso de que se haya invocado a dicho controlador debido a los desplazamientos entre diapositivas.
Slide.gotoNextSlide()
1243
Ejemplo
Suponga que, en la jerarqua de diapositivas siguiente, la diapositiva denominada Intro_bullet_1_1 es la diapositiva actual que aparece en pantalla (es decir, _root.Presentation.currentSlide._name == Intro_bullet_1_1).
Intro_bullet_1_2,
En este caso, si se llama a Intro_bullet_1_1.gotoNextSlide() se desplazar hasta que es la diapositiva del mismo nivel que Intro_bullet_1_1.
Sin embargo, si se llama a Intro_bullet_1.gotoNextSlide() se desplazar hasta Intro_bullet_2_1, que es la primera diapositiva hoja de Intro_bullet_2, la cual, a su vez, es la siguiente diapositiva del mismo nivel de Intro_bullet_1. Del mismo modo, si se llama a Intro.gotoNextSlide() se desplazar hasta Results_bullet_1, que es la primera diapositiva hoja contenida en la diapositiva Results. Asimismo, siendo la diapositiva actual Intro_bullet_1_1, si se llama a Results.gotoNextSlide(), ste no tendr ningn efecto, puesto que la diapositiva Results no contiene la diapositiva actual (es decir, el valor de Results.currentSlide es null).
Vase tambin
Slide.currentSlide, Slide.gotoPreviousSlide(), Slide.nextSlide
1244
Clase Slide
Slide.gotoPreviousSlide()
Disponibilidad
Parmetros
Ninguno.
Valor devuelto
Valor booleano o null. El mtodo devuelve true si se ha desplazado satisfactoriamente hasta la diapositiva anterior; devuelve false si la presentacin ya est en la primera diapositiva cuando se invoca al mtodo (es decir, si el valor de currentSlide.nextSlide es null). El mtodo devuelve null si se invoca en una diapositiva que no contiene la diapositiva actual.
Descripcin
Mtodo; se desplaza a la diapositiva anterior de la presentacin de diapositivas. Al pasar de una diapositiva a la anterior, la diapositiva de salida queda oculta y aparece la diapositiva de entrada. Si las diapositivas de salida y entrada se encuentran en subrboles diferentes, todas las diapositivas ascendientes, empezando por la diapositiva de salida y hasta la diapositiva ascendiente comn de ambas diapositivas, se ocultan y se recibe un evento hide. Inmediatamente despus, aparecen todas las diapositivas ascendientes de la diapositiva de entrada, hasta la diapositiva ascendiente comn de las diapositivas de entrada y salida, y se recibe el evento reveal. Normalmente se llama al mtodo gotoPreviousSlide() en el nodo hoja que representa la diapositiva actual. Si se llama a someNode en un nodo que no es hoja, someNode.gotoPreviousSlide() avanzar hasta el primer nodo hoja de la diapositiva o seccin anterior. Este mtodo no tiene ningn efecto cuando se invoca en una diapositiva que no contiene la diapositiva actual. El mtodo tampoco tiene efecto cuando se llama desde un controlador de eventos on(hide) o on(reveal) asociado con una diapositiva, en caso de que se haya invocado a dicho controlador debido a los desplazamientos entre diapositivas.
Slide.gotoPreviousSlide()
1245
Ejemplo
Suponga que, en la siguiente jerarqua de diapositivas, la diapositiva denominada Intro_bullet_1_2 es la diapositiva actual que aparece en pantalla (es decir, _root.Presentation.currentSlide._name == Intro_bullet_1_2).
Intro_bullet_1_1,
En este caso, si se llama a Intro_bullet_1_2.gotoPreviousSlide() se desplazar hasta que es la diapositiva anterior del mismo nivel que Intro_bullet_1_2.
Sin embargo, si se llama a Intro_bullet_2.gotoPreviousSlide() se desplazar hasta Intro_bullet_1_1, que es la primera diapositiva hoja de Intro_bullet_1, la cual, a su vez, es la anterior diapositiva del mismo nivel que Intro_bullet_2. De forma similar, si se llama a Results.gotoPreviousSlide() se desplazar hasta Intro_bullet_1_1, que es la primera diapositiva hoja contenida en la diapositiva Intro. Asimismo, siendo la diapositiva actual Intro_bullet_1_1, si se llama a Results.gotoPreviousSlide(), ste no tendr ningn efecto, puesto que la diapositiva Results no contiene la diapositiva actual (es decir, el valor de Results.currentSlide es null).
Vase tambin
Slide.currentSlide, Slide.gotoNextSlide(), Slide.previousSlide
1246
Clase Slide
Slide.gotoSlide()
Disponibilidad
Parmetros
newSlide
Valor devuelto
Mtodo; se desplaza hasta la diapositiva especificada por newSlide. Para desplazarse correctamente, deben darse las condiciones siguientes:
La diapositiva actual debe ser secundaria de mySlide. La diapositiva especificada por newSlide y la diapositiva actual deben compartir una diapositiva ascendiente comn, es decir, la diapositiva actual y newSlide deben residir en el mismo subrbol de la diapositiva.
Si no se cumple una de estas condiciones, el desplazamiento no se llevar a cabo correctamente y el mtodo devolver false; de lo contrario, el mtodo se desplazar hasta la diapositiva especificada y devolver true. Por ejemplo, observe la siguiente jerarqua de diapositivas:
Presentation Slide1 Slide1_1 Slide1_2 Slide2 Slide2_1 Slide2_2
Si la diapositiva actual es Slide1_2, la llamada al mtodo gotoSlide() siguiente no se podr realizar, puesto que la diapositiva actual no es descendiente de Slide2:
Slide2.gotoSlide(Slide2_1);
Slide.gotoSlide()
1247
Observe tambin la siguiente jerarqua de pantallas, en la que un objeto de formulario es la pantalla principal de dos rboles de diapositiva distintos:
Form_1 Slide1 Slide1_1 Slide1_2 Slide2 Slide2_1 Slide2_2
Si la diapositiva actual es Slide1_2, la llamada al mtodo siguiente tampoco se podr realizar, puesto que Slide1 y Slide2 se encuentran en subrboles de diapositivas diferentes:
Slide1_2.gotoSlide(Slide2_2);
Ejemplo
El cdigo siguiente, asociado con el componente Button, utiliza la propiedad Slide.currentSlide y el mtodo gotoSlide() para mostrar la diapositiva siguiente en la presentacin.
on(click) { _parent.gotoSlide(_parent.currentSlide.nextSlide); }
Vase tambin
Slide.currentSlide, Slide.gotoNextSlide()
1248
Clase Slide
Slide.hideChild
Disponibilidad
Descripcin
Evento; se difunde cada vez que un elemento secundario de una diapositiva pasa de ser visible a invisible. Este evento slo lo difunden las diapositivas, no los formularios. El uso principal del evento hideChild es aplicar transiciones de salida a todos los elementos secundarios de una diapositiva.
Ejemplo
Al asociarlo con la diapositiva raz (por ejemplo, la diapositiva de presentacin), este cdigo mostrar el nombre de cada una de las diapositivas secundarias dependientes de la diapositiva raz a medida que se vayan ocultando.
on(hideChild) { var child = eventObj.target._name; trace(child + " has just been hidden"); }
Vase tambin
Slide.revealChild
Slide.hideChild
1249
Slide.indexInParentSlide
Disponibilidad
Descripcin
Propiedad (slo lectura); devuelve el ndice basado en cero de mySlide en la lista de diapositivas secundarias de su diapositiva principal.
Ejemplo
El cdigo siguiente utiliza las propiedades indexInParentSlide y Slide.numChildSlides para mostrar el ndice de la diapositiva actual que aparece en pantalla y el nmero total de diapositivas que contiene la diapositiva principal. Para utilizar este cdigo, ascielo a una diapositiva principal que contenga una o varias diapositivas secundarias.
on (revealChild) { trace("Displaying "+(currentSlide.indexInParentSlide+1)+" of "+currentSlide._parent.numChildSlides); }
Tenga en cuenta que, puesto que esta propiedad es un ndice basado en cero, su valor aumenta en uno (currentSlide.indexInParent+1) para mostrar valores ms significativos.
Vase tambin
Slide.numChildSlides, Slide.revealChild
1250
Clase Slide
Slide.lastSlide
Disponibilidad
Descripcin
Propiedad (slo lectura); devuelve la ltima diapositiva secundaria de mySlide que no tiene diapositivas secundarias.
Ejemplo
Slide.lastSlide
1251
Slide.nextSlide
Disponibilidad
Descripcin
Propiedad (slo lectura); devuelve la diapositiva a la que se llegara si se llama a mySlide.gotoNextSlide(), pero sin que se desplace realmente a dicha diapositiva. Por ejemplo, puede utilizar esta propiedad para mostrar el nombre de la diapositiva siguiente de una presentacin y permitir a los usuarios que elijan si desean desplazarse hasta dicha diapositiva.
Ejemplo
En este ejemplo, la etiqueta del componente Button denominado nextButton muestra el nombre de la diapositiva siguiente de la presentacin. Si no hay ms diapositivas, es decir si mySlide.nextSlide es null, la etiqueta del botn se actualizar para indicar al usuario que se encuentra al final de la presentacin de diapositivas.
if (mySlide.nextSlide != null) { nextButton.label = "Next slide: " + mySlide.nextSlide._name + " > "; } else { nextButton.label = "End of this slide presentation."; }
Vase tambin
Slide.gotoNextSlide(), Slide.previousSlide
1252
Clase Slide
Slide.numChildSlides
Disponibilidad
Descripcin
Propiedad (slo lectura); devuelve el nmero de diapositivas secundarias que contiene mySlide. Una diapositiva puede contener formularios u otras diapositivas; si mySlide contiene diapositivas y formularios, esta propiedad slo devolver el nmero de diapositivas y no contar los formularios.
Ejemplo
En este ejemplo se utiliza Slide.numChildSlides y el mtodo Slide.getChildSlide() para repetir todas las diapositivas secundarias de la diapositiva de presentacin raz. A continuacin, se muestran los nombres en el panel Salida.
var numSlides = _root.Presentation.numChildSlides; for(var slideIndex=0; slideIndex < numSlides; slideIndex++) { var childSlide = _root.Presentation.getChildSlide(slideIndex); trace(childSlide._name); }
Vase tambin
Slide.getChildSlide()
Slide.overlayChildren
Disponibilidad
Slide.overlayChildren
1253
Descripcin
Propiedad; determina si las diapositivas secundarias de mySlide permanecen visibles al desplazarse de una diapositiva secundaria a la siguiente. Si el valor de esta propiedad es true, la diapositiva anterior permanece visible cuando se pase a la diapositiva siguiente del mismo nivel; si el valor es false, la diapositiva anterior quedar oculta cuando se pase a la diapositiva siguiente del mismo nivel. Establecer esta propiedad en true resulta til, por ejemplo, cuando una diapositiva determinada contiene varias diapositivas secundarias de punto de vieta que se muestran por separado (posiblemente mediante transiciones); sin embargo, todas deben estar visibles cuando aparezcan los puntos de vieta nuevos.
NO T A 1254
Esta propiedad se aplica slo a los descendientes inmediatos de mySlide, no a todas las diapositivas secundarias (anidadas).
Ejemplo
Por ejemplo, la diapositiva Intro_bullets de la ilustracin siguiente contiene tres diapositivas secundarias (Finance, Human_resources y Operations), cada una de las cuales muestra un punto de vieta independiente. Al establecer Intro_bullets.overlayChildren en true, cada diapositiva de vieta permanecer en el escenario a medida que vayan apareciendo los dems puntos de vietas.
Clase Slide
Slide.parentIsSlide
Disponibilidad
Descripcin
Propiedad (slo lectura); valor booleano que indica si el objeto principal de mySlide tambin es una diapositiva. Si el objeto principal de mySlide es una diapositiva, o pertenece a una subclase de Slide, esta propiedad devuelve true; de lo contrario, devuelve false. Si mySlide es la diapositiva raz de una presentacin, esta propiedad devolver false puesto que la diapositiva principal de la diapositiva de presentacin es la principal (_level0) y no una diapositiva. Esta propiedad tambin devolver false si el elemento principal de mySlide es un formulario.
Ejemplo
El cdigo siguiente determina si el objeto principal de la diapositiva mySlide es, en s mismo, una diapositiva. Si el valor de mySlide.parentIsSlide es true, el nmero de diapositivas del mismo nivel de mySlide aparecer en el panel Salida. Si el objeto principal no es una diapositiva, Flash supone que mySlide es la diapositiva raz (maestra) de la presentacin y que, por lo tanto, no tiene dispositivas del mismo nivel.
if (mySlide.parentIsSlide) { trace("I have " + mySlide._parent.numChildSlides+" sibling slides"); } else { trace("I am the root slide and have no siblings"); }
Vase tambin
Slide.numChildSlides
Slide.parentIsSlide
1255
Slide.parentSlide
Disponibilidad
Descripcin
Slide.playHidden
Disponibilidad
Descripcin
Propiedad; valor booleano que especifica si mySlide debe continuar reproducindose una vez que se haya ocultado. Si est propiedad est establecida en true, mySlide continuar reproducindose cuando est oculta. Si est establecida en false, mySlide dejar de reproducirse cuando se oculte; cuando aparezca de nuevo, volver a reproducirse en el fotograma 1 de mySlide.
1256
Clase Slide
Slide.previousSlide
Disponibilidad
Descripcin
Propiedad (slo lectura); devuelve la diapositiva a la que se llegara si se llama a mySlide.gotoPreviousSlide(), pero sin que se desplace realmente a dicha diapositiva. Por ejemplo, puede utilizar esta propiedad para mostrar el nombre de la diapositiva anterior de la presentacin y permitir a los usuarios seleccionar si desean navegar hasta dicha diapositiva.
Ejemplo
En este ejemplo, la etiqueta del componente Button denominado previousButton muestra el nombre de la diapositiva anterior de la presentacin. Si no hay ninguna diapositiva anterior, es decir si el valor de mySlide.previousSlide es null, la etiqueta del botn se actualizar para indicar al usuario que se encuentra al principio de la presentacin de diapositivas.
if (mySlide.previousSlide != null) { previousButton.label = "Previous slide: " + mySlide.previous._name + " > "; } else { previousButton.label = "Youre at the beginning of this slide presentation."; }
Vase tambin
Slide.gotoPreviousSlide(), Slide.nextSlide
Slide.previousSlide
1257
Slide.revealChild
Disponibilidad
Descripcin
Evento; se difunde cada vez que una diapositiva secundaria de un objeto de diapositiva pasa de ser invisible a visible. Este evento se utiliza principalmente para asociar transiciones de entrada con todas las diapositivas secundarias de una diapositiva determinada.
Ejemplo
Si se asocia con la diapositiva raz, por ejemplo, la diapositiva de presentacin, este cdigo mostrar el nombre de todas las diapositivas secundarias a medida que vayan apareciendo.
on(revealChild) { var child = eventObj.target._name; trace(child + " has just appeared"); }
Vase tambin
Slide.hideChild
1258
Clase Slide
Slide.rootSlide
Disponibilidad
Descripcin
Propiedad (slo lectura); devuelve la diapositiva raz del rbol o subrbol de diapositivas que contiene mySlide.
Ejemplo
Suponga que tiene un clip de pelcula en una diapositiva y que al hacer clic en el mismo se accede a la primera diapositiva de la presentacin. Para que esto suceda, debe asociar el cdigo siguiente con el clip de pelcula:
on(press) { _parent.rootSlide.gotoFirstSlide(); }
En este caso, _parent se refiere a la diapositiva que contiene el objeto de clip de pelcula.
Slide.rootSlide
1259
1260
Clase Slide
CAPTULO 43
Clase StyleManager
Nombre de clase de ActionScript
43
mx.styles.StyleManager
La clase StyleManager realiza el seguimiento de los colores y estilos que se heredan. Slo necesitar utilizar esta clase si ha creado componentes y desea aadir un color o un estilo heredado. Para determinar qu estilos se heredan, consulte el sitio Web de W3C en www.w3.org/Style/CSS/.
N OT A
La clase StyleManager slo es compatible si trabaja con un documento que especifique ActionScript 2.0 en la Configuracin de publicacin.
Descripcin
Registra un nombre de color nuevo con Style Manager. Aade un estilo de color nuevo a StyleManager. Style Manager.
StyleManager.registerColorStyle()
1261
StyleManager.registerColorName()
Disponibilidad
Flash MX 2004.
Sintaxis
StyleManager.registerColorName(colorName, value)
Parmetros
Cadena que indica el nombre del color (por ejemplo, gray, darkGrey, y as sucesivamente).
colorName value
Nmero hexadecimal que indica el color (por ejemplo, 0x808080, 0x404040, y as sucesivamente).
Valor devuelto
Ninguno.
Descripcin
Mtodo; asocia un nombre de color con un valor hexadecimal y lo registra con Style Manager.
Ejemplo
En el ejemplo siguiente, se registra gray como el nombre de color representado por el valor hexadecimal 0x808080:
StyleManager.registerColorName("gray", 0x808080);
1262
Clase StyleManager
StyleManager.registerColorStyle()
Disponibilidad
Flash MX 2004.
Sintaxis
StyleManager.registerColorStyle(colorStyle)
Parmetros
Cadena que indica el nombre del color (por ejemplo, highlightColor, shadowColor, disabledColor, y as sucesivamente).
colorStyle
Valor devuelto
Ninguno.
Descripcin
StyleManager.registerColorStyle()
1263
StyleManager.registerInheritingStyle()
Disponibilidad
Flash MX 2004.
Sintaxis
StyleManager.registerInheritingStyle(propertyName)
Parmetros
Cadena que indica el nombre de la propiedad de estilo (por ejemplo, newProp1, newProp2, y as sucesivamente).
propertyName
Valor devuelto
Ninguno.
Descripcin
Mtodo; marca la propiedad de estilo como heredada. Utilice este mtodo para registrar las propiedades de estilo que no aparecen en la lista de la especificacin CSS. No utilice este mtodo para cambiar propiedades de estilo de no heredadas a heredadas. Si un valor de estilo no se hereda, slo puede establecerse su estilo en una instancia y no en una hoja de estilos global o personalizada. Un estilo que no hereda su valor se define en la hoja de estilos de la clase, de forma que no es posible establecerlo en una hoja de estilos global o personalizada.
Ejemplo
1264
Clase StyleManager
CAPTULO 44
Clase SystemManager
Nombre de clase de ActionScript
44
mx.managers.SystemManager
La clase SystemManager funciona automticamente con la clase FocusManager con el fin de controlar cul es la ventana de nivel superior que se activa en una aplicacin. Tambin proporciona una propiedad screen que permite el acceso de los componentes y clips de pelcula a las coordenadas del escenario.
N OT A
La clase SystemManager slo es compatible si trabaja con un documento que especifique ActionScript 2.0 en la Configuracin de publicacin.
Descripcin
Slo lectura; objeto que contiene el tamao y la posicin del escenario.
1265
SystemManager.screen
Disponibilidad
Flash MX 2004.
Sintaxis
SystemManager.screen
Descripcin
Propiedad; objeto con las propiedades x, y, width y height, que indica el tamao y la posicin del escenario.
Ejemplo
Si se establece un valor de Stage.align distinto de LT, es difcil saber qu coordenadas podrn verse realmente. Suponga que desea colocar un clip de pelcula de marca de agua (similar a las marcas de agua que utilizan muchos canales de televisin) en la esquina inferior derecha del escenario. El siguiente cdigo funcionara en todas las alineaciones del escenario correspondientes a la instancia de clip de pelcula watermark. No obstante, deber tener un componente en el escenario de la Biblioteca para que SystemManager pueda estar en la pelcula:
import mx.managers.SystemManager; var p1:Number = SystemManager.screen.width + SystemManager.screen.x watermark._width; var p2:Number = SystemManager.screen.height + SystemManager.screen.y watermark._height; watermark._x = p1; watermark._y = p2;
1266
Clase SystemManager
CAPTULO 45
Componente TextArea
El componente TextArea ajusta el objeto TextField nativo de ActionScript. Puede utilizar estilos para personalizar el componente TextArea; cuando se desactiva una instancia, su contenido se muestra en un color representado por el estilo disabledColor. El componente TextArea tambin se puede formatear con HTML o como un campo de contrasea que disfraza el texto. Consulte Aplicacin de una hoja de estilos a un componente TextArea en Aprendizaje de ActionScript 2.0 en Adobe Flash.
NO T A
45
El componente TextArea es compatible tanto con ActionScript 2.0 como con ActionScript 3.0. En este documento, se describe el componente de la versin 2. Si utiliza el componente de la versin 3, consulte Utilizacin de TextArea en Utilizacin de componentes ActionScript 3.0.
Es posible activar o desactivar el componente TextArea en una aplicacin. Si est desactivado, no recibe la entrada del ratn ni del teclado. Cuando est activado, sigue las mismas reglas de seleccin y navegacin que un objeto TextField de ActionScript. Cuando la instancia de TextArea est seleccionada, podr controlarla con las teclas siguientes:
Tecla
Teclas de flecha Av Pg Re Pg Mays+Tabulador Tabulador
Descripcin
Desplaza el punto de insercin una lnea hacia arriba, abajo, izquierda o derecha. Avanza una pgina. Retrocede una pgina. Desplaza la seleccin al objeto anterior. Desplaza la seleccin al objeto siguiente.
Para ms informacin sobre el control de la seleccin, consulte Creacin de un desplazamiento personalizado de la seleccin en Utilizacin de componentes ActionScript 2.0 o Clase FocusManager en la pgina 763.
1267
La previsualizacin dinmica de cada instancia de TextArea refleja los cambios de parmetros realizados durante la edicin en el inspector de propiedades o el inspector de componentes. Si se necesita una barra de desplazamiento, sta aparece en la previsualizacin dinmica, aunque no funciona. No es posible seleccionar texto en la previsualizacin dinmica, de igual modo que tampoco se puede introducir texto en la instancia del componente en el escenario. Cuando se aade el componente TextArea a una aplicacin, es posible utilizar el panel Accesibilidad para que los lectores de pantalla puedan acceder al mismo.
Parmetros de TextArea
A continuacin se indican los parmetros de edicin que se pueden definir para cada instancia del componente TextArea en el inspector de propiedades o el inspector de componentes (opcin de men Ventana > Inspector de componentes):
editable indica si el componente TextArea es editable (true) o no (false). El valor predeterminado es true.
indica si el texto va a formatearse con HTML (true) o no (false). SI HTML est definido en true, puede dar formato al texto con la etiqueta de fuente. El valor predeterminado es false.
html text indica el contenido del componente TextArea. No es posible introducir retornos de carro en el inspector de propiedades ni en el inspector de componentes. El valor predeterminado es "" (una cadena vaca). wordWrap
N O TA 1268
Si se crea una TextArea con el mtodo createClassObject(), el valor predeterminado para wordWrap es false.
Componente TextArea
A continuacin se indican los parmetros adicionales que se pueden definir para cada instancia del componente TextArea en el inspector de componentes (Ventana > Inspector de componentes):
maxChars es el nmero mximo de caracteres que puede contener el rea de texto. El valor predeterminado es null (ilimitado). restrict indica el conjunto de caracteres que el usuario puede introducir en el rea de texto. El valor predeterminado es undefined. Consulte TextArea.restrict en la pgina 1292. enabled
es un valor booleano que indica si el componente acepta selecciones y entradas. El valor predeterminado es true.
es un valor booleano que indica si la entrada es una contrasea u otro texto que debiera ocultarse mientras se escribe. Flash oculta los caracteres de entrada con asteriscos. El valor predeterminado es false.
password visible es un valor booleano que indica si el objeto es visible (true) o no (false). El valor predeterminado es true.
N OT A
Las propiedades minHeight y minWidth se utilizan en rutinas internas de cambio de tamao. Se definen en UIObject y se sustituyen por distintos componentes segn convenga. Estas propiedades pueden utilizarse si se crea un administrador de diseo personalizado en la aplicacin. De lo contrario, establecer estas propiedades en el inspector de componentes no produce ningn efecto visible.
Es posible escribir cdigo ActionScript para controlar stas y otras opciones adicionales para el componente TextArea mediante sus propiedades, mtodos y eventos. Para ms informacin, consulte Clase TextArea en la pgina 1274.
1269
Seleccione Archivo > Nuevo y, a continuacin, Archivo Flash (ActionScript 2.0). Arrastre un componente TextArea desde el panel Componentes al escenario y asgnele el nombre de instancia my_ta. Seleccione el fotograma 1 de la lnea de tiempo, abra el panel Acciones e introduzca el cdigo siguiente:
/** Se requiere: - Instancia de TextArea en el escenario (nombre de instancia: my_ta) */ var my_ta:mx.controls.TextArea; var taListener:Object = new Object(); taListener.focusOut = function(evt_obj:Object) { if (my_ta.length < 1) { trace("Please enter a comment"); } }; my_ta.addEventListener("focusOut", taListener);
3.
Este cdigo establece un controlador de eventos focusOut en la instancia de componente TextArea para comprobar que el usuario ha introducido algo en el rea de texto. Es posible obtener el valor del texto que se ha introducido en la instancia de TextArea de la siguiente manera:
var ta_text:String = my_ta.text;
1270
Componente TextArea
Tema
Ambos Ambos
Descripcin
Color del fondo. El color predeterminado es blanco. El componente TextArea utiliza una instancia de RectBorder como borde y responde a los estilos definidos en dicha clase. Consulte Clase RectBorder en la pgina 1145. El estilo de borde predeterminado es inset.
marginLeft
Ambos Ambos
Nmero que indica el margen izquierdo del texto. El valor predeterminado es 0. Nmero que indica el margen derecho del texto. El valor predeterminado es 0.
marginRight
1271
Estilo
color
Tema
Ambos Ambos
Descripcin
Color del texto. El valor predeterminado es 0x0B333C para el tema Halo y en blanco para el tema Sample. Color del texto cuando el componente est desactivado. El color predeterminado es 0x848384 (gris oscuro). Valor booleano que indica si la fuente especificada en fontFamily es una fuente incorporada. Este estilo debe definirse como true si fontFamily hace referencia a una fuente incorporada. De lo contrario, no se utiliza la fuente incorporada. Si el estilo se define como true y fontFamily no hace referencia a una fuente incorporada, no se muestra ningn texto. El valor predeterminado es false. Nombre de la fuente del texto. El valor predeterminado es _sans. Tamao de la fuente en puntos. El valor predeterminado es 10. Estilo de la fuente: puede ser normal o italic. El valor predeterminado es normal. Grosor de la fuente: puede ser none o bold. El valor predeterminado es none. Todos los componentes pueden aceptar adems el valor normal en lugar de none durante una llamada a setStyle(), pero las llamadas posteriores a getStyle() devolvern none. Alineacin del texto: puede ser left, right, center o justify. (El parmetro justify slo se admite en Flash Player 8). El valor predeterminado es left. Nmero que indica la sangra del texto. El valor predeterminado es 0. Decoracin del texto: puede ser none o underline. El valor predeterminado es none.
disabledColor
embedFonts
Ambos
fontFamily
fontSize
fontStyle
fontWeight
textAlign
Ambos
textIndent
Ambos Ambos
textDecoration
Los componentes TextArea y TextInput utilizan exactamente los mismos estilos y suelen utilizarse del mismo modo. Por tanto, comparten de forma predeterminada la misma declaracin de estilo de clase.
1272
Componente TextArea
Por ejemplo, en el siguiente cdigo se establece un estilo en la declaracin de TextInput, pero afecta tanto al componente TextInput como al componente TextArea.
_global.styles.TextInput.setStyle("disabledColor", 0xBBBBFF);
Para separar los componentes y proporcionar estilos de clase de forma independiente, cree una nueva declaracin de estilo.
import mx.styles.CSSStyleDeclaration; _global.styles.TextArea = new CSSStyleDeclaration(); _global.styles.TextArea.setStyle("disabledColor", 0xFFBBBB);
En este ejemplo, no se comprueba si exista _global.styles.TextArea antes de sobrescribirlo; se supone que el usuario sabe que existe y desea sobrescribirlo. Para establecer un fondo transparente en los componentes TextArea, defina de forma global el estilo backgroundColor con el valor undefined. A continuacin, deber definir el estilo backgroundColor con un color determinado en los casos en los que no desee que el fondo del componente TextArea sea transparente.
// Aplicar fondos transparentes a todos los componentes TextArea. _global.styles.TextArea.backgroundColor = undefined; // Aplicar un fondo blanco a esta instancia especfica del componente. myTextArea2.setStyle( "backgroundColor", "white" );
El componente TextArea admite un conjunto de estilos de componente para todo el texto del campo. Sin embargo, tambin puede mostrar cdigo HTML compatible con la representacin HTML de Flash Player. Para mostrar texto HTML, defina TextArea.html en true. Si define el componente TextArea para que muestre texto HTML, el estilo de texto se define con la clase TextField.StyleSheet (para ms informacin detallada sobre esta clase, consulte la Referencia del lenguaje ActionScript 2.0). Por ejemplo:
1. 2.
Arrastre un componente TextArea al escenario y asgnele el nombre de instancia my_ta. Introduzca este cdigo en el panel Acciones del fotograma 1 de la lnea de tiempo:
var my_styles = new TextField.StyleSheet(); my_styles.setStyle("p", {fontFamily:'Arial,Helvetica,sans-serif', fontSize:'12px', color:'#CC6699'}); my_ta.styleSheet = my_styles; my_ta.html = true; my_ta.text = "<p>This is some text</p>";
1273
Clase TextArea
Herencia
MovieClip > Clase UIObject > Clase UIComponent > View > ScrollView > mx.controls.TextArea
TextArea
Nombre de clase de ActionScript
Las propiedades de la clase TextArea permiten definir el contenido y el formato del texto, as como las posiciones vertical y horizontal en tiempo de ejecucin. Tambin puede indicar si el campo es editable y si se trata de un campo de contrasea. o restringir los caracteres que el usuario puede introducir. Si una propiedad de la clase TextArea se define con ActionScript, sustituye al parmetro del mismo nombre definido en el inspector de propiedades o el inspector de componentes. El componente TextArea sustituye el rectngulo de seleccin predeterminado de Flash Player y dibuja uno personalizado con esquinas redondeadas. El componente TextArea admite estilos CSS y cualquier otro estilo adicional de HTML admitido por Flash Player. Cada clase de componente tiene una propiedad version que es una propiedad de clase. Las propiedades de clase slo estn disponibles en la propia clase. La propiedad version devuelve una cadena que indica la versin del componente. Para acceder a esta propiedad, utilice el cdigo siguiente:
trace(mx.controls.TextArea.version);
N O TA 1274
Componente TextArea
Crea un subobjeto en un objeto. Elimina una instancia de componente. Llama a una funcin cuando se han establecido parmetros en el inspector de propiedades y el inspector de componentes. Obtiene la propiedad de estilo de la declaracin de estilo o del objeto. Marca el objeto de forma que se pueda volver a dibujar en el siguiente intervalo de fotogramas. Mueve el objeto a la posicin indicada. Fuerza la validacin del objeto, de forma que se pueda dibujar sobre el fotograma actual. Cambia el tamao del objeto al indicado. Define un aspecto en el objeto. Define la propiedad de estilo en la declaracin de estilo o en el objeto.
UIObject.getStyle()
UIObject.invalidate()
UIObject.move() UIObject.redraw()
Descripcin
Devuelve una referencia al objeto seleccionado. Define la seleccin en la instancia de componente.
Clase TextArea
1275
Descripcin
Valor booleano que indica si el campo es editable (true) o no (false). Define la posicin horizontal del texto en el campo. Indica si la barra de desplazamiento horizontal est activada siempre (on), nunca (off) o se activa cuando es necesario (auto). Valor booleano que indica si el contenido del rea de texto admite el formato HTML. Slo lectura; nmero de caracteres del rea de texto. Nmero mximo de caracteres que puede contener el rea de texto. Slo lectura; valor mximo de TextArea.hPosition. Slo lectura; valor mximo de TextArea.vPosition. Valor booleano que indica si el campo es un campo de contrasea (true) o no (false). Conjunto de caracteres que puede introducir un usuario en el rea de texto. Asocia una hoja de estilos con el componente TextArea especificado. Contenido de texto de un componente TextArea. Nmero que indica la posicin de desplazamiento vertical. Indica si la barra de desplazamiento vertical est activada siempre (on), nunca (off) o se activa cuando es necesario (auto). Valor booleano que indica si el texto se ajusta (true) o no (false).
TextArea.hPosition TextArea.hScrollPolicy
TextArea.html
TextArea.length TextArea.maxChars
TextArea.restrict
TextArea.styleSheet
TextArea.wordWrap
1276
Componente TextArea
Descripcin
Slo lectura; posicin del borde inferior del objeto con respecto al borde inferior de su elemento principal correspondiente. Slo lectura; altura del objeto, expresada en pxeles. Slo lectura; borde izquierdo del objeto, expresado en pxeles. Slo lectura; posicin del borde derecho del objeto con respecto al borde derecho de su elemento principal correspondiente. Slo lectura; nmero que indica el factor de escala en la direccin x del objeto con respecto a su elemento principal correspondiente. Nmero que indica el factor de escala en la direccin y del objeto con respecto a su elemento principal correspondiente. Slo lectura; posicin del borde superior del objeto con respecto a su elemento principal correspondiente. Valor booleano que indica si el objeto es visible (true) o no (false). Slo lectura; anchura del objeto, expresada en pxeles. Slo lectura; borde izquierdo del objeto, expresado en pxeles. Slo lectura; borde superior del objeto, expresado en pxeles.
UIObject.height UIObject.left
UIObject.right
UIObject.scaleX
UIObject.scaleY
UIObject.top
UIObject.visible
UIObject.width UIObject.x
UIObject.y
Clase TextArea
1277
Descripcin
Indica si el componente puede recibir selecciones y entradas. Nmero que indica el orden de tabulacin para un componente de un documento.
Descripcin
Notifica a los detectores que el texto ha cambiado. Notifica a los detectores que el texto se ha desplazado.
Descripcin
Se difunde cuando un objeto est a punto de dibujar sus grficos. Se difunde cuando el estado de un objeto pasa de ser visible a invisible. Se difunde cuando se crean subobjetos. Se difunde cuando se mueve el objeto. Se difunde cuando cambia el tamao de un objeto. Se difunde cuando el estado de un objeto pasa de ser invisible a visible. Se difunde durante la descarga de los subobjetos.
UIObject.hide
UIObject.unload
1278
Componente TextArea
Descripcin
Se difunde cuando se selecciona un objeto. Se difunde cuando un objeto deja de seleccionarse. Se difunde cuando se presiona una tecla. Se difunde cuando se suelta una tecla.
TextArea.change
Disponibilidad
Flash MX 2004.
Sintaxis
Sintaxis 1:
var listenerObject:Object = new Object(); listenerObject.change = function(eventObject:Object) { // ... }; textAreaInstance.addEventListener("change", listenerObject);
Sintaxis 2:
on (change) { // ... }
TextArea.change
1279
Descripcin
Evento; notifica a los detectores que el texto ha cambiado. Este evento se difunde una vez modificado el texto. No se puede utilizar para impedir que ciertos caracteres se aadan al rea de texto del componente; para ello, deber utilizar TextArea.restrict. El primer ejemplo de sintaxis utiliza un modelo de eventos distribuidor/detector. Una instancia de componente (textAreaInstance) distribuye un evento (en este caso, change) y ste se controla mediante una funcin, tambin denominada controlador, asociada con el objeto detector (listenerObject) que crea el usuario. Se define un mtodo con el mismo nombre que el evento del objeto detector; se llama al mtodo cuando se activa el evento. Cuando se activa el evento, ste pasa automticamente un objeto de evento (eventObject) al mtodo del objeto detector. Cada objeto de evento tiene propiedades que contienen informacin sobre el evento. Estas propiedades sirven para escribir el cdigo que controla el evento. Finalmente, se llama al mtodo EventDispatcher.addEventListener() de la instancia del componente que difunde el evento para registrar el detector con la instancia. Cuando la instancia distribuya el evento, se llamar al detector. Para ms informacin, consulte Clase EventDispatcher en la pgina 527. El segundo ejemplo de sintaxis utiliza un controlador on() que debe asociarse directamente con una instancia de TextArea. La palabra clave this, utilizada en un controlador on() asociado con un componente, hace referencia a la instancia del componente. Por ejemplo, el cdigo siguiente, asociado con la instancia myTextArea, enva _level0.myTextArea al panel Salida.
on (change) { trace(this); }
1280
Componente TextArea
Ejemplo
En este ejemplo, se utiliza el modelo de evento distribuidor/detector para realizar un seguimiento del nmero total de veces que ha cambiado el rea de texto en un componente TextArea denominado my_ta: En primer lugar, debe aadir una instancia del componente TextArea al escenario y asignarle el nombre my_ta; a continuacin, aada el siguiente cdigo al fotograma 1.
/** Se requiere: - Instancia de TextArea en el escenario (nombre de instancia: my_ta) */ var my_ta:mx.controls.TextArea; // Crear una variable Number para realizar un seguimiento del nmero de // cambios de TextArea. var changeCount_num:Number = 0; // Definir un objeto detector. var taListener:Object = new Object(); // Definir una funcin que se ejecuta cuando el detector recibe // la notificacin de un cambio en el componente TextArea. taListener.change = function(evt_obj:Object) { changeCount_num++; trace("Text has changed " + changeCount_num + " times now!"); trace("It now contains: " + evt_obj.target.text); trace(""); }; // Registrar el objeto detector con la instancia del componente TextArea. my_ta.addEventListener("change", taListener);
Vase tambin
EventDispatcher.addEventListener()
TextArea.change
1281
TextArea.editable
Disponibilidad
Flash MX 2004.
Sintaxis
textAreaInstance.editable
Descripcin
Propiedad; valor booleano que indica si el componente es editable (true) o no (false). El valor predeterminado es true.
Ejemplo
En el siguiente ejemplo, se establece la propiedad editable en false para evitar que el usuario pueda editar el texto que se carga en la instancia de TextArea denominada my_ta. En primer lugar, debe aadir una instancia del componente TextArea al escenario y asignarle el nombre my_ta; a continuacin, aada el siguiente cdigo al fotograma 1.
/** Se requiere: - Instancia de TextArea en el escenario (nombre de instancia: my_ta) */ var my_ta:mx.controls.TextArea; my_ta.setSize(320, 240); my_ta.editable = false;
// Cargar el texto que debe mostrarse y definir controlador onData. var my_lv:LoadVars = new LoadVars(); my_lv.onData = function(src:String) { if (src != undefined) { my_ta.text = src; } else { my_ta.text = "Error loading text."; } }; my_lv.load("http://www.helpexamples.com/flash/lorem.txt");
1282
Componente TextArea
TextArea.hPosition
Disponibilidad
Flash MX 2004.
Sintaxis
textAreaInstance.hPosition
Descripcin
Propiedad; define en pxeles la posicin horizontal del texto en el campo. El valor predeterminado es 0.
Ejemplo
En el siguiente ejemplo, se utiliza un detector para mostrar la posicin horizontal actual en el panel Salida mientras el usuario desplaza hacia atrs y hacia adelante el texto que se ha cargado en la instancia de TextArea denominada my_ta. En primer lugar, debe aadir una instancia del componente TextArea al escenario y asignarle el nombre my_ta; a continuacin, aada el siguiente cdigo al fotograma 1.
/** Se requiere: - Instancia de TextArea en el escenario (nombre de instancia: my_ta) */ var my_ta:mx.controls.TextArea; my_ta.setSize(320, 240); my_ta.wordWrap = false; var taListener:Object = new Object(); taListener.scroll = function(evt_obj:Object) { trace("hPosition = " + my_ta.hPosition); } my_ta.addEventListener("scroll", taListener); // Cargar el texto que debe mostrarse y definir controlador onData. var my_lv:LoadVars = new LoadVars(); my_lv.onData = function(src:String) { if (src != undefined) { my_ta.text = src; my_ta.hPosition = 200; } else { my_ta.text = "Error loading text."; } }; my_lv.load("http://www.helpexamples.com/flash/lorem.txt");
TextArea.hPosition 1283
TextArea.hScrollPolicy
Disponibilidad
Flash MX 2004.
Sintaxis
textAreaInstance.hScrollPolicy
Descripcin
Propiedad; determina si la barra de desplazamiento horizontal est presente siempre (on), nunca (off) o aparece automticamente en funcin del tamao del campo (auto). El valor predeterminado es auto.
Ejemplo
En el siguiente ejemplo, se desactiva la propiedad hScrollPolicy, lo que provoca que la instancia de TextArea no tenga una barra de desplazamiento. En primer lugar, debe aadir una instancia del componente TextArea al escenario y asignarle el nombre my_ta; a continuacin, aada el siguiente cdigo al fotograma 1.
/** Se requiere: - Instancia de TextArea en el escenario (nombre de instancia: my_ta) */ var my_ta:mx.controls.TextArea; my_ta.setSize(320, 240); my_ta.wordWrap = false; my_ta.hScrollPolicy = "off"; // Cargar el texto que debe mostrarse y definir controlador onData. var my_lv:LoadVars = new LoadVars(); my_lv.onData = function(src:String) { if (src != undefined) { my_ta.text = src; } else { my_ta.text = "Error loading text."; } }; my_lv.load("http://www.helpexamples.com/flash/lorem.txt");
1284
Componente TextArea
TextArea.html
Disponibilidad
Flash MX 2004.
Sintaxis
textAreaInstance.html
Descripcin
Propiedad; valor booleano que indica si el contenido del rea de texto tiene el formato HTML (true) o no (false). Si el valor de la propiedad html es true, el contenido del rea de texto es HTML. Si el valor de html es false, el rea de texto no es HTML. El valor predeterminado es false.
Ejemplo
En el ejemplo siguiente, se convierte el componente TextArea denominado my_ta en un rea de texto HTML y luego se formatea el texto con etiquetas HTML. En primer lugar, debe aadir una instancia del componente TextArea al escenario y asignarle el nombre my_ta; a continuacin, aada el siguiente cdigo al fotograma 1:
/** Se requiere: - Instancia de TextArea en el escenario (nombre de instancia: my_ta) */ var my_ta:mx.controls.TextArea; my_ta.setSize(320, 240); my_ta.html = true; my_ta.text = "The <b>Royal</b> Nonesuch";
TextArea.html
1285
TextArea.length
Disponibilidad
Flash MX 2004.
Sintaxis
textAreaInstance.length
Descripcin
Propiedad (slo lectura); indica el nmero de caracteres de un rea de texto. Esta propiedad devuelve el mismo valor que la propiedad text.length de ActionScript, pero es ms rpida. El carcter de tabulador (\t) cuenta como un carcter. El valor predeterminado es 0.
Ejemplo
En el siguiente ejemplo, se accede a la propiedad length para mostrar el nmero de caracteres que escribe el usuario en el componente TextArea denominado my_ta. En primer lugar, debe aadir una instancia del componente TextArea al escenario y asignarle el nombre my_ta; a continuacin, aada el siguiente cdigo al fotograma 1.
/** Se requiere: - Instancia de TextArea en el escenario (nombre de instancia: my_ta) */ var my_ta:mx.controls.TextArea; // Definir un objeto detector. var taListener:Object = new Object(); taListener.change = function(evt_obj:Object) { trace("my_ta.length is now: " + my_ta.length + " characters"); }; my_ta.addEventListener("change", taListener);
1286
Componente TextArea
TextArea.maxChars
Disponibilidad
Flash MX 2004.
Sintaxis
textAreaInstance.maxChars
Descripcin
Propiedad; indica el nmero mximo de caracteres que puede contener el rea de texto. Un script puede insertar ms texto del que permite la propiedad maxChars; la propiedad slo indica cunto texto puede introducir el usuario. Si el valor de esta propiedad es null, no hay lmite en cuanto a la cantidad de texto que puede introducirse. El valor predeterminado es null.
Ejemplo
En el siguiente ejemplo, se establece la propiedad maxchars para limitar a 24 el nmero de caracteres que puede introducir un usuario. En primer lugar, debe aadir una instancia del componente TextArea al escenario y asignarle el nombre my_ta; a continuacin, aada el siguiente cdigo al fotograma 1.
/** Se requiere: - Instancia de TextArea en el escenario (nombre de instancia: my_ta) */ var my_ta:mx.controls.TextArea; my_ta.maxChars = 24; // Definir un objeto detector. var taListener:Object = new Object(); taListener.change = function(evt_obj:Object) { trace("my_ta.length is now: " + my_ta.length + " characters"); }; my_ta.addEventListener("change", taListener);
TextArea.maxChars
1287
TextArea.maxHPosition
Disponibilidad
Flash MX 2004.
Sintaxis
textAreaInstance.maxHPosition
Descripcin
En el siguiente ejemplo, se accede a la propiedad maxHPosition para definir la posicin inicial del componente TextArea denominado my_ta en la posicin derecha ms alejada. En primer lugar, debe aadir una instancia del componente TextArea al escenario y asignarle el nombre my_ta; a continuacin, aada el siguiente cdigo al fotograma 1.
/** Se requiere: - Instancia de TextArea en el escenario (nombre de instancia: my_ta) */ var my_ta:mx.controls.TextArea; my_ta.setSize(320, 240); my_ta.wordWrap = false; var taListener:Object = new Object(); taListener.scroll = function(evt_obj:Object) { trace("hPosition = " + my_ta.hPosition); } my_ta.addEventListener("scroll", taListener); // Cargar el texto que debe mostrarse y definir controlador onData. var my_lv:LoadVars = new LoadVars(); my_lv.onData = function(src:String) { if (src != undefined) { my_ta.text = src; my_ta.hPosition = my_ta.maxHPosition; } else { my_ta.text = "Error loading text."; } }; my_lv.load("http://www.helpexamples.com/flash/lorem.txt");
1288
Componente TextArea
Vase tambin
TextArea.vPosition
TextArea.maxVPosition
Disponibilidad
Flash MX 2004.
Sintaxis
textAreaInstance.maxVPosition
Descripcin
En el siguiente ejemplo, se accede a la propiedad maxVPosition para definir la posicin inicial vertical del componente TextArea denominado my_ta en la parte inferior. Tambin traza la posicin vertical actual mientras el usuario se desplaza hacia arriba y hacia abajo. En primer lugar, debe aadir una instancia del componente TextArea al escenario y asignarle el nombre my_ta; a continuacin, aada el siguiente cdigo al fotograma 1.
/** Se requiere: - Instancia de TextArea en el escenario (nombre de instancia: my_ta) */ var my_ta:mx.controls.TextArea; my_ta.setSize(320, 240); my_ta.wordWrap = true; var taListener:Object = new Object(); taListener.scroll = function(evt_obj:Object) { trace("vPosition = " + my_ta.vPosition); } my_ta.addEventListener("scroll", taListener);
TextArea.maxVPosition
1289
// Cargar texto para mostrar y definir controlador onData. var my_lv:LoadVars = new LoadVars(); my_lv.onData = function(src:String) { if (src != undefined) { my_ta.text = src; my_ta.vPosition = my_ta.maxVPosition; } else { my_ta.text = "Error loading text."; } }; my_lv.load("http://www.helpexamples.com/flash/lorem.txt");
Vase tambin
TextArea.hPosition
TextArea.password
Disponibilidad
Flash MX 2004.
Sintaxis
textAreaInstance.password
Descripcin
Propiedad; valor booleano que indica si el rea de texto es un campo de contrasea (true) o no (false). Si el valor de password es true, el rea de texto es un rea de contrasea y oculta los caracteres de entrada con asteriscos. Si el valor de password es false, el rea de texto no es de contrasea. El valor predeterminado es false.
1290
Componente TextArea
Ejemplo
En el siguiente ejemplo, se considera el texto del componente TextArea denominado my_ta un campo de contrasea si se activa la casilla de verificacin denominadamy_ch. De lo contrario, se considera texto corriente. En primer lugar, aada una instancia del componente TextArea al escenario, asgnele el nombre my_ta, aada una casilla de verificacin y denomnela my_ch, a continuacin, aada el siguiente cdigo al fotograma 1.
/** Se */ var var requiere: Instancia de TextArea en el escenario (nombre de instancia: my_ta) Instancia de CheckBox en el escenario (nombre de instancia: my_ch) my_ta:mx.controls.TextArea; my_ch:mx.controls.CheckBox;
my_ta.wordWrap = false; my_ta.password = true; my_ch.selected = my_ta.password; var chListener:Object = new Object(); chListener.click = function(evt_obj:Object) { my_ta.password = my_ch.selected; } my_ch.addEventListener("click", chListener);
TextArea.password
1291
TextArea.restrict
Disponibilidad
Flash MX 2004.
Sintaxis
textAreaInstance.restrict
Descripcin
Propiedad; indica el conjunto de caracteres que los usuarios pueden introducir en el rea de texto. El valor predeterminado es undefined. Si el valor de esta propiedad es null, los usuarios puede introducir cualquier carcter. Si esta propiedad contiene una cadena vaca, no se puede introducir ningn carcter. Si esta propiedad contiene una cadena de caracteres, los usuarios slo pueden introducir caracteres en la cadena; la cadena se explora de izquierda a derecha. Puede especificarse un rango utilizando un guin (-). Si la cadena empieza por ^, no se acepta ninguno de los caracteres posteriores a ^. Si la cadena no empieza por ^, se aceptan los caracteres de la cadena. Tambin es posible utilizar ^ para alternar entre los caracteres que se aceptan y los que no se aceptan. Por ejemplo, en el cdigo siguiente se permite A-Z excepto X y Q:
Ta.restrict = "A-Z^XQ";
Si se restringen las entradas a caracteres en maysculas, los caracteres alfabticos que se introduzcan en minsculas se convertirn en maysculas. Igualmente, si se restringen las entradas a caracteres en minsculas, los caracteres que se introduzcan en maysculas se convertirn en minsculas. La propiedad restrict slo limita la interaccin del usuario; un script puede introducir cualquier texto en el rea de texto. Esta propiedad no se sincroniza con las casillas de verificacin Incorporar contornos de fuentes del inspector de propiedades.
1292
Componente TextArea
Ejemplo
En el siguiente ejemplo, se establece, en primer lugar, la propiedad restrict para limitar el rea de texto a letras en maysculas, nmeros y espacios y, a continuacin, se establece para permitir todos los caracteres excepto letras en minsculas. En primer lugar, debe aadir una instancia del componente TextArea al escenario y asignarle el nombre my_ta; a continuacin, aada el siguiente cdigo al fotograma 1. Utilice slo una configuracin para la propiedad restrict cada vez.
/** Se requiere: - Instancia de TextArea en el escenario (nombre de instancia: my_ta) */ var my_ta:mx.controls.TextArea; my_ta.wordWrap = true; // Limitar control a letras en maysculas, nmeros y espacios. my_ta.restrict = "A-Z 0-9"; // Permitir todos los caracteres, excepto letras en minsculas // caracteres en mayscula my_ta.restrict = "^a-z";
TextArea.scroll
Disponibilidad
Flash MX 2004.
Sintaxis
Sintaxis 1:
var listenerObject:Object = new Object(); listenerObject.scroll = function(eventObject:Object) { // ... }; textAreaInstance.addEventListener("scroll", listenerObject);
Sintaxis 2:
on (scroll) { // ... }
TextArea.scroll
1293
Descripcin
Evento; se difunde a todos los detectores registrados cuando se hace clic con el botn del ratn (se suelta) sobre la barra de desplazamiento. La propiedad UIScrollBar.scrollPosition y la imagen en pantalla de la barra de desplazamiento se actualizan antes de que se difunda este evento. El primer ejemplo de sintaxis utiliza un modelo de evento distribuidor/detector en el que el script se sita en un fotograma de la lnea de tiempo que contiene la instancia del componente. Una instancia de componente (textAreaInstance) distribuye un evento (en este caso, scroll) y ste se controla mediante una funcin, tambin denominada controlador, asociada con el objeto detector (listenerObject) que crea el usuario. Debe definirse un mtodo con el mismo nombre que el evento del objeto detector; se llama al mtodo cuando se produce el evento. Cuando se produce el evento, ste pasa automticamente un objeto de evento (eventObject) al mtodo del objeto detector. El objeto de evento tiene propiedades que contienen informacin sobre el evento. Estas propiedades sirven para escribir el cdigo que controla el evento. Finalmente, se llama a addEventListener() (consulte EventDispatcher.addEventListener()) en la instancia del componente que difunde el evento para registrar el detector con la instancia. Cuando la instancia distribuya el evento, se llamar al detector. Adems de las propiedades normales del objeto de evento (type y target), el objeto del evento scroll incluye una tercera propiedad denominada direction. La propiedad direction contiene una cadena que describe la orientacin de la barra de desplazamiento. Los valores posibles de la propiedad direction son vertical (valor predeterminado) y horizontal. Para ms informacin sobre las propiedades type y target del objeto de evento, consulte Objetos de evento en la pgina 527. El segundo ejemplo de sintaxis utiliza un controlador on() que debe asociarse directamente con una instancia del componente TextArea. La palabra clave this, utilizada en un controlador on() asociado con un componente, hace referencia a la instancia del componente. Por ejemplo, el cdigo siguiente, asociado con la instancia del componente TextArea myTextAreaComponent, enva _level0.myTextAreaComponent al panel Salida:
on (scroll) { trace(this); }
1294
Componente TextArea
Ejemplo
En este ejemplo, se utiliza el modelo de evento distribuidor/detector para realizar un seguimiento del momento en que el usuario se desplaza por el componente TextArea con las barras de desplazamiento o el cuadro de desplazamiento de la instancia de TextArea. En primer lugar, aada una instancia del componente TextArea al escenario y asgnele el nombre my_ta; a continuacin, aada el siguiente cdigo al fotograma 1:
/** Se requiere: - Instancia de TextArea en el escenario (nombre de instancia: my_ta) */ my_ta.setSize(320, 240); my_ta.move(10, 10); var lorem_lv:LoadVars = new LoadVars(); lorem_lv.onData = function(src:String):Void { my_ta.text = src; } lorem_lv.load("http://www.helpexamples.com/flash/lorem.txt"); my_ta.addEventListener("scroll", doScroll); function doScroll(evt_obj:Object):Void { trace("target: " + evt_obj.target); trace("type: " + evt_obj.type); trace("direction: " + evt_obj.direction); trace("position: " + evt_obj.position); trace(""); }
Vase tambin
EventDispatcher.addEventListener()
TextArea.scroll
1295
TextArea.styleSheet
Disponibilidad
Flash Player 7.
Sintaxis
textAreaInstance.styleSheet = TextFieldStyleSheetObject
Descripcin
Propiedad; asocia una hoja de estilos con el componente TextArea especificado por TextAreaInstance. Para ms informacin sobre la creacin de hojas de estilos, consulte Aplicacin de formato al texto con hojas de estilos en cascada en Aprendizaje de ActionScript 2.0 en Adobe Flash. La hoja de estilos asociada con un componente TextArea puede cambiar en cualquier momento. Si se cambia la hoja de estilos en uso, el componente TextArea vuelve a dibujarse con la nueva hoja de estilos. Para eliminar la hoja de estilos, puede definirse en null o undefined. Si se elimina la hoja de estilos en uso, el componente TextArea vuelve a dibujarse sin ninguna hoja de estilos. El formato aplicado por una hoja de estilos no se conserva si se elimina la hoja de estilos.
Ejemplo
En el cdigo siguiente se crea un nuevo objeto StyleSheet denominado my_styles con el constructor new TextField.StyleSheet. A continuacin, se definen los estilos para las etiquetas html y body. Despus, se aplica el estilo asignando my_styles a la propiedad styleSheet de la instancia de TextArea my_ta. En primer lugar, debe aadir una instancia del componente TextArea al escenario y asignarle el nombre my_ta; a continuacin, aada el siguiente cdigo al fotograma 1.
/** Se requiere: - Instancia de TextArea en el escenario (nombre de instancia: my_ta) */ var my_ta:mx.controls.TextArea; my_ta.setSize(320, 240); // Crear el nuevo objeto StyleSheet. var my_styles:TextField.StyleSheet = new TextField.StyleSheet(); my_styles.setStyle("html", {fontFamily:"Arial,Helvetica,sans-serif", fontSize:"12px", color:"#0000FF"}); my_styles.setStyle("body", {color:"#00CCFF", textDecoration:"underline"});
1296
Componente TextArea
// Establecer la propiedad TextAreaInstance.styleSheet en el nuevo // objeto styleSheet denominado styles. my_ta.styleSheet = my_styles; my_ta.html = true; // Cargar el texto que debe mostrarse y definir controlador onLoad. var my_lv:LoadVars = new LoadVars(); my_lv.onData = function(src:String) { if (src != undefined) { my_ta.text = src; } else { my_ta.text = "Error loading HTML document."; } }; my_lv.load("http://www.helpexamples.com/flash/lorem.html");
TextArea.text
Disponibilidad
Flash MX 2004.
Sintaxis
textAreaInstance.text
Descripcin
Propiedad; contenido de texto de un componente TextArea. El valor predeterminado es "" (una cadena vaca).
Ejemplo
En el siguiente ejemplo, se coloca una cadena en la propiedad text de la instancia my_ta TextArea y, a continuacin, se rastrea esa cadena en el panel Salida. En primer lugar, debe aadir una instancia del componente TextArea al escenario y asignarle el nombre my_ta; a continuacin, aada el siguiente cdigo al fotograma 1.
/** Se requiere: - Instancia de TextArea en el escenario (nombre de instancia: my_ta) */ var my_ta:mx.controls.TextArea; my_ta.text = "The Royal Nonesuch"; trace(my_ta.text); // traza "The Royal Nonesuch"
TextArea.text 1297
TextArea.vPosition
Disponibilidad
Flash MX 2004.
Sintaxis
textAreaInstance.vPosition
Descripcin
Propiedad; define la posicin de desplazamiento vertical del texto en un rea de texto. Esta propiedad es til para dirigir a los usuarios a un prrafo especfico en un pasaje largo, o para crear reas de texto desplazable. Es posible obtener y definir esta propiedad. El valor predeterminado es 0.
Ejemplo
En el siguiente ejemplo, se carga el texto en el componente TextArea denominado my_ta y se define la propiedad vPosition para que muestre el texto en la parte inferior. En primer lugar, debe aadir una instancia del componente TextArea al escenario y asignarle el nombre my_ta; a continuacin, aada el siguiente cdigo al fotograma 1.
/** Se requiere: - Instancia de TextArea en el escenario (nombre de instancia: my_ta) */ var my_ta:mx.controls.TextArea; my_ta.setSize(320, 240); // Cargar el texto que debe mostrarse y definir controlador onData. var my_lv:LoadVars = new LoadVars(); my_lv.onData = function(src:String) { if (src != undefined) { my_ta.text = src; my_ta.vPosition = my_ta.maxVPosition; } else { trace("Error loading text."); } }; my_lv.load("http://www.helpexamples.com/flash/lorem.txt")
1298
Componente TextArea
TextArea.vScrollPolicy
Disponibilidad
Flash MX 2004.
Sintaxis
textAreaInstance.vScrollPolicy
Descripcin
Propiedad; determina si la barra de desplazamiento vertical est presente siempre (on), nunca (off) o aparece automticamente en funcin del tamao del campo (auto). El valor predeterminado es auto.
Ejemplo
En el siguiente ejemplo, se desactiva la barra de desplazamiento vertical del componente TextArea denominado my_ta, de forma que no haya barra de desplazamiento para desplazarse por el texto que carga el ejemplo. En primer lugar, debe aadir una instancia del componente TextArea al escenario y asignarle el nombre my_ta; a continuacin, aada el siguiente cdigo al fotograma 1.
/** Se requiere: - Instancia de TextArea en el escenario (nombre de instancia: my_ta) */ var my_ta:mx.controls.TextArea; my_ta.setSize(320, 240); my_ta.wordWrap = true; my_ta.vScrollPolicy = "off"; // Cargar el texto que debe mostrarse y definir controlador onData. var my_lv:LoadVars = new LoadVars(); my_lv.onData = function(src:String) { if (src != undefined) { my_ta.text = src; } else { my_ta.text = "Error loading text."; } }; my_lv.load("http://www.helpexamples.com/flash/lorem.txt");
TextArea.vScrollPolicy
1299
TextArea.wordWrap
Disponibilidad
Flash MX 2004.
Sintaxis
textAreaInstance.wordWrap
Descripcin
Propiedad; valor booleano que indica si el texto se ajusta (true) o no (false). El valor predeterminado es true.
N OT A 1300
Si se crea un componente TextArea con el mtodo createClassObject(), el valor predeterminado para wordWrap es false.
Ejemplo
En el siguiente ejemplo, se establece la propiedad wordwrap en false del componente TextArea denominado my_ta, lo que hace que haya una barra de desplazamiento horizontal para acceder al texto que est fuera de los lmites laterales. En primer lugar, debe aadir una instancia del componente TextArea al escenario y asignarle el nombre my_ta; a continuacin, aada el siguiente cdigo al fotograma 1.
/** Se requiere: - Instancia de TextArea en el escenario (nombre de instancia: my_ta) */ var my_ta:mx.controls.TextArea; my_ta.setSize(320, 240); my_ta.wordWrap = false; //my_ta.vScrollPolicy = "off"; // Cargar el texto que debe mostrarse y definir controlador onData. var my_lv:LoadVars = new LoadVars(); my_lv.onData = function(src:String) { if (src != undefined) { my_ta.text = src; } else { my_ta.text = "Error loading text."; } }; my_lv.load("http://www.helpexamples.com/flash/lorem.txt");
Componente TextArea
CAPTULO 46
Componente TextInput
TextInput es un componente de una sola lnea de texto que ajusta el objeto TextField nativo de ActionScript. Puede utilizar estilos para personalizar el componente TextInput; cuando se desactiva una instancia, su contenido se muestra en un color representado por el estilo disabledColor. El componente TextInput se puede formatear tambin con HTML o como un campo de contrasea que disfraza el texto.
N OT A
46
El componente TextInput es compatible tanto con ActionScript 2.0 como con ActionScript 3.0. En este documento, se describe el componente de la versin 2. Si utiliza el componente de la versin 3, consulte Utilizacin de CheckBox en Utilizacin de componentes ActionScript 3.0.
Es posible activar o desactivar el componente TextInput en una aplicacin. Si est desactivado, no recibe la entrada del ratn ni del teclado. Cuando est activado, sigue las mismas reglas de seleccin y navegacin que un objeto TextField de ActionScript. Cuando la instancia de TextInput est seleccionada, puede controlarla con las teclas siguientes:
Tecla
Teclas de flecha Mays+Tabulador Tabulador
Descripcin
Desplaza el punto de insercin un carcter hacia la izquierda o la derecha. Desplaza la seleccin al objeto anterior. Desplaza la seleccin al objeto siguiente.
Para ms informacin sobre el control de la seleccin, consulte Clase FocusManager en la pgina 763 o Creacin de un desplazamiento personalizado de la seleccin en Utilizacin de componentes ActionScript 2.0. La previsualizacin dinmica de cada instancia de TextInput refleja los cambios de parmetros realizados durante la edicin en el inspector de propiedades o el inspector de componentes. No es posible seleccionar texto en la previsualizacin dinmica, de igual modo que tampoco se puede introducir texto en la instancia del componente en el escenario. Cuando se aade el componente TextInput a una aplicacin, es posible utilizar el panel Accesibilidad para que los lectores de pantalla puedan acceder al mismo.
1301
Parmetros de TextInput
Se pueden establecer los parmetros de edicin siguientes para cada instancia del componente TextInput en el inspector de propiedades o el inspector de componentes (opcin de men Ventana > Inspector de componentes):
editable indica si el componente TextInput es editable (true) o no (false). El valor predeterminado es true. password
text especifica el contenido del componente TextInput. No es posible introducir retornos de carro en el inspector de propiedades ni en el inspector de componentes. El valor predeterminado es (una cadena vaca).
A continuacin se indican los parmetros adicionales que se pueden definir para cada instancia del componente TextInput en el inspector de componentes (Ventana > Inspector de componentes):
maxChars nmero mximo de caracteres que puede contener el campo de entrada de texto. El valor predeterminado es null (ilimitado). restrict indica el conjunto de caracteres que el usuario puede introducir en el campo de entrada de texto. El valor predeterminado es undefined. Consulte TextInput.restrict en la pgina 1322. enabled
es un valor booleano que indica si el componente acepta selecciones y entradas. El valor predeterminado es true.
1302
Componente TextInput
visible es un valor booleano que indica si el objeto es visible (true) o no (false). El valor predeterminado es true.
NO T A
Las propiedades minHeight y minWidth se utilizan en rutinas internas de cambio de tamao. Se definen en UIObject y se sustituyen por distintos componentes segn convenga. Estas propiedades pueden utilizarse si se crea un administrador de diseo personalizado en la aplicacin. De lo contrario, establecer estas propiedades en el inspector de componentes no produce ningn efecto visible.
Es posible escribir cdigo ActionScript para controlar stas y otras opciones adicionales para el componente TextInput mediante sus propiedades, mtodos y eventos. Para ms informacin, consulte Clase TextInput en la pgina 1307.
Seleccione Archivo > Nuevo y, a continuacin, Archivo Flash (ActionScript 2.0). Arrastre un componente TextInput desde el panel Componentes al escenario. En el inspector de propiedades, siga este procedimiento:
Introduzca el nombre de instancia my_ti. Deje el parmetro text vaco. Defina el parmetro editable en true.
4.
Seleccione el fotograma 1 de la lnea de tiempo, abra el panel Acciones e introduzca el cdigo siguiente:
/** Se requiere: - Instancia de TextInput en el escenario (nombre de instancia: my_ti) */ var my_ti:mx.controls.TextInput; // Crear un objeto detector. var tiListener:Object = new Object(); tiListener.handleEvent = function (evt_obj:Object){ if (evt_obj.type == "enter"){ if (my_ti.length < 8) { trace("You must enter at least 8 characters");
1303
} else { trace("Thanks"); } } } // Aadir detector. my_ti.addEventListener("enter", tiListener); Este cdigo establece un controlador de eventos enter en
la instancia de TextInput denominada my_ti. Si el usuario escribe menos de ocho caracteres, el ejemplo muestra el mensaje: You must enter at least 8 characters. Si el usuario introduce ocho o ms caracteres, el ejemplo muestra: Thanks.
5.
Una vez introducido el texto en la instancia my_ti, puede obtener su valor como se muestra a continuacin:
var my_text:String = my_ti.text;
1304
Componente TextInput
Tema
Ambos Ambos
Descripcin
Color del fondo. El color predeterminado es blanco. El componente TextInput utiliza una instancia de RectBorder como borde y responde a los estilos definidos en dicha clase. Consulte Clase RectBorder en la pgina 1145. El estilo de borde predeterminado es inset.
marginLeft
Nmero que indica el margen izquierdo del texto. El valor predeterminado es 0. Nmero que indica el margen derecho del texto. El valor predeterminado es 0. Color del texto. El valor predeterminado es 0x0B333C para el tema Halo y en blanco para el tema Sample. Color del texto cuando el componente est desactivado. El color predeterminado es 0x848384 (gris oscuro). Valor booleano que indica si la fuente especificada en fontFamily es una fuente incorporada. Este estilo debe definirse como true si fontFamily hace referencia a una fuente incorporada. De lo contrario, no se utiliza la fuente incorporada. Si el estilo se define como true y fontFamily no hace referencia a una fuente incorporada, no se muestra ningn texto. El valor predeterminado es false. Nombre de la fuente del texto. El valor predeterminado es _sans. Tamao de la fuente en puntos. El valor predeterminado es 10. Estilo de la fuente: puede ser normal o italic. El valor predeterminado es normal.
marginRight
color
disabledColor
embedFonts
fontFamily
fontSize
fontStyle
1305
Estilo
fontWeight
Tema
Ambos
Descripcin
Grosor de la fuente: puede ser none o bold. El valor predeterminado es none. Todos los componentes pueden aceptar adems el valor normal en lugar de none durante una llamada a setStyle(), pero las llamadas posteriores a getStyle() devolvern none. Alineacin del texto: puede ser left, right o center. El valor predeterminado es left. Nmero que indica la sangra del texto. El valor predeterminado es 0. Decoracin del texto: puede ser none o underline. El valor predeterminado es none.
textAlign
textIndent
textDecoration
Los componentes TextArea y TextInput utilizan los mismos estilos y suelen utilizarse del mismo modo. Por tanto, comparten de forma predeterminada la misma declaracin de estilo de clase. Por ejemplo, en el siguiente cdigo se establece un estilo en la declaracin de TextArea, pero afecta tanto al componente TextArea como al componente TextInput.
_global.styles.TextArea.setStyle("disabledColor", 0xBBBBFF);
Para separar los componentes y proporcionar estilos de clase de forma independiente, cree una nueva declaracin de estilo.
import mx.styles.CSSStyleDeclaration; _global.styles.TextInput = new CSSStyleDeclaration(); _global.styles.TextInput.setStyle("disabledColor", 0xFFBBBB);
Observe que en este ejemplo no se comprueba si exista _global.styles.TextInput antes de sobrescribirlo; se supone que el usuario sabe que existe y desea sobrescribirlo.
1306
Componente TextInput
Clase TextInput
Herencia
MovieClip > Clase UIObject > Clase UIComponent > TextInput mx.controls.TextInput
Las propiedades de la clase TextInput permiten definir el contenido, el formato y la posicin horizontal del texto en tiempo de ejecucin. Tambin puede indicar si el campo es editable y si se trata de un campo de contrasea. o restringir los caracteres que el usuario puede introducir. Si una propiedad de la clase TextInput se define con ActionScript, sustituye al parmetro del mismo nombre definido en el inspector de propiedades o el inspector de componentes. El componente TextInput utiliza Focus Manager para sustituir el rectngulo de seleccin predeterminado de Flash Player y dibuja uno personalizado con esquinas redondeadas. Para ms informacin, consulte Clase FocusManager en la pgina 763. El componente TextInput admite estilos CSS y cualquier otro estilo adicional de HTML admitido por Flash Player. Para informacin sobre la compatibilidad con CSS, consulte la especificacin W3C en www.w3.org/TR/REC-CSS2/. Puede manipular la cadena de texto utilizando la cadena devuelta por el objeto de texto. Cada clase de componente tiene una propiedad version que es una propiedad de clase. Las propiedades de clase slo estn disponibles en la propia clase. La propiedad version devuelve una cadena que indica la versin del componente. Para acceder a esta propiedad, utilice el cdigo siguiente:
trace(mx.controls.TextInput.version);
N OT A
Clase TextInput
1307
Crea un subobjeto en un objeto. Elimina una instancia de componente. Llama a una funcin cuando se han establecido parmetros en el inspector de propiedades y el inspector de componentes. Obtiene la propiedad de estilo de la declaracin de estilo o del objeto. Marca el objeto de forma que se pueda volver a dibujar en el siguiente intervalo de fotogramas. Mueve el objeto a la posicin indicada. Fuerza la validacin del objeto, de forma que se pueda dibujar sobre el fotograma actual. Cambia el tamao del objeto al indicado. Define un aspecto en el objeto. Define la propiedad de estilo en la declaracin de estilo o en el objeto.
UIObject.getStyle()
UIObject.invalidate()
UIObject.move() UIObject.redraw()
Descripcin
Devuelve una referencia al objeto seleccionado. Define la seleccin en la instancia de componente.
1308
Componente TextInput
Descripcin
Valor booleano que indica si el campo es editable (true) o no (false). Posicin de desplazamiento horizontal del texto en el campo. Slo lectura; nmero de caracteres de un componente TextInput. Nmero mximo de caracteres que puede introducir un usuario en el campo de texto. Slo lectura; valor mximo posible de TextField.hPosition. Valor booleano que indica si el campo de texto es un campo de contrasea que oculta los caracteres introducidos. Indica los caracteres que el usuario puede introducir en un campo de texto. Define el contenido de texto de componente TextInput.
TextInput.hPosition TextInput.length
TextInput.maxChars
TextInput.maxHPosition TextInput.password
TextInput.restrict
TextInput.text
Descripcin
Slo lectura; posicin del borde inferior del objeto con respecto al borde inferior de su elemento principal correspondiente. Slo lectura; altura del objeto, expresada en pxeles. Slo lectura; borde izquierdo del objeto, expresado en pxeles. Slo lectura; posicin del borde derecho del objeto con respecto al borde derecho de su elemento principal correspondiente. Nmero que indica el factor de escala en la direccin x del objeto con respecto a su elemento principal correspondiente.
UIObject.height UIObject.left
UIObject.right
UIObject.scaleX
Clase TextInput
1309
Propiedad
UIObject.scaleY
Descripcin
Nmero que indica el factor de escala en la direccin y del objeto con respecto a su elemento principal correspondiente. Slo lectura; posicin del borde superior del objeto con respecto a su elemento principal correspondiente. Valor booleano que indica si el objeto es visible (true) o no (false). Slo lectura; anchura del objeto, expresada en pxeles. Slo lectura; borde izquierdo del objeto, expresado en pxeles. Slo lectura; borde superior del objeto, expresado en pxeles.
UIObject.top
UIObject.visible
UIObject.width UIObject.x
UIObject.y
Descripcin
Indica si el componente puede recibir selecciones y entradas. Nmero que indica el orden de tabulacin para un componente de un documento.
Descripcin
Se difunde cuando se modifica el campo TextInput. Se difunde cuando se presiona la tecla Intro.
1310
Componente TextInput
Descripcin
Se difunde cuando un objeto est a punto de dibujar sus grficos. Se difunde cuando el estado de un objeto pasa de ser visible a invisible. Se difunde cuando se crean subobjetos. Se difunde cuando se mueve el objeto. Se difunde cuando cambia el tamao de un objeto. Se difunde cuando el estado de un objeto pasa de ser invisible a visible. Se difunde durante la descarga de los subobjetos.
UIObject.hide
UIObject.unload
Descripcin
Se difunde cuando se selecciona un objeto. Se difunde cuando un objeto deja de seleccionarse. Se difunde cuando se presiona una tecla. Se difunde cuando se suelta una tecla.
Clase TextInput
1311
TextInput.change
Disponibilidad
Flash MX 2004.
Sintaxis
Sintaxis 1:
var listenerObject:Object = new Object(); listenerObject.change = function(eventObject:Object) { //... }; textInputInstance.addEventListener("change", listenerObject)
Sintaxis 2:
on (change){ //... }
Descripcin
Evento; notifica a los detectores que el texto ha cambiado. Este evento se difunde una vez modificado el texto. No se puede utilizar para impedir que ciertos caracteres se aadan al campo de texto del componente; para ello, deber utilizar TextInput.restrict. Este evento se activa slo por una entrada del usuario, no por un cambio provocado por ActionScript. El primer ejemplo de sintaxis utiliza un controlador on() que debe asociarse directamente con una instancia de TextInput. La palabra clave this, utilizada en un controlador on() asociado con un componente, hace referencia a la instancia del componente. Por ejemplo, el cdigo siguiente, asociado con la instancia myTextInput, enva _level0.myTextInput al panel Salida:
on (change){ trace(this); }
1312
Componente TextInput
El segundo ejemplo de sintaxis utiliza un modelo de evento distribuidor/detector. Una instancia de componente (textInputInstance) distribuye un evento (en este caso, change) y ste se controla mediante una funcin, tambin denominada controlador, asociada con el objeto detector (listenerObject) que crea el usuario. Se define un mtodo con el mismo nombre que el evento del objeto detector; se llama al mtodo cuando se activa el evento. Cuando se activa el evento, ste pasa automticamente un objeto de evento (eventObject) al mtodo del objeto detector. Cada objeto de evento tiene propiedades que contienen informacin sobre el evento. Estas propiedades sirven para escribir el cdigo que controla el evento. Finalmente, se llama al mtodo EventDispatcher.addEventListener() de la instancia del componente que difunde el evento para registrar el detector con la instancia. Cuando la instancia distribuya el evento, se llamar al detector. Para ms informacin, consulte Clase EventDispatcher en la pgina 527.
Ejemplo
En este ejemplo se crea un detector para un evento change en la instancia de TextInput my_ti. Cuando se produce un evento change, el ejemplo muestra Input has changed. En primer lugar, debe arrastrar un componente TextInput al escenario y asignarle el nombre de instancia my_ti; a continuacin, aada el siguiente cdigo al fotograma 1.
/** Se requiere: - Instancia de TextInput en el escenario (nombre de instancia: my_ti) */ var my_ti:mx.controls.TextInput; // Crear un objeto detector. var tiListener:Object = new Object(); tiListener.change = function(evt_obj:Object) { trace("Input has changed"); }; // Aadir detector. my_ti.addEventListener("change", tiListener);
Vase tambin
EventDispatcher.addEventListener()
TextInput.change
1313
TextInput.editable
Disponibilidad
Flash MX 2004.
Sintaxis
textInputInstance.editable
Descripcin
Propiedad; valor booleano que indica si el componente es editable (true) o no (false). El valor predeterminado es true.
Ejemplo
En este ejemplo se establece la propiedad editable en el valor false para la instancia my_ti de TextInput. Esto evita que el usuario introduzca texto en la instancia. Puede establecer la propiedad en true para hacer que la instancia de TextInput pueda editarse. En primer lugar, debe arrastrar un componente TextInput al escenario y asignarle el nombre de instancia my_ti; a continuacin, aada el siguiente cdigo al fotograma 1.
/** Se requiere: - Instancia de TextInput en el escenario (nombre de instancia: my_ti) */ var my_ti:mx.controls.TextInput; my_ti.editable = false;
1314
Componente TextInput
TextInput.enter
Disponibilidad
Flash MX 2004.
Sintaxis
Sintaxis 1:
var listenerObject:Object = new Object(); listenerObject.enter = function(eventObject:Object) { //... }; textInputInstance.addEventListener("enter", listenerObject);
Sintaxis 2:
on (enter) { //... }
Descripcin
Evento; notifica a los detectores que se ha presionado la tecla Intro. El primer ejemplo de sintaxis utiliza un controlador on() que debe asociarse directamente con una instancia de TextInput. La palabra clave this, utilizada en un controlador on() asociado con un componente, hace referencia a la instancia del componente. Por ejemplo, el cdigo siguiente, asociado con la instancia myTextInput, enva _level0.myTextInput al panel Salida:
on (enter){ trace(this); }
El segundo ejemplo de sintaxis utiliza un modelo de evento distribuidor/detector. Una instancia de componente (textInputInstance) distribuye un evento (en este caso, enter) y ste se controla mediante una funcin, tambin denominada controlador, asociada con el objeto detector (listenerObject) que crea el usuario. Se define un mtodo con el mismo nombre que el evento del objeto detector; se llama al mtodo cuando se activa el evento. Cuando se activa el evento, ste pasa automticamente un objeto de evento (eventObject) al mtodo del objeto detector. Cada objeto de evento tiene propiedades que contienen informacin sobre el evento. Estas propiedades sirven para escribir el cdigo que controla el evento. Finalmente, se llama al mtodo EventDispatcher.addEventListener() de la instancia del componente que difunde el evento para registrar el detector con la instancia. Cuando la instancia distribuya el evento, se llamar al detector. Para ms informacin, consulte Clase EventDispatcher en la pgina 527.
TextInput.enter 1315
Ejemplo
En este ejemplo se crea un detector para un evento enter en una instancia de TextInput denominada my_ti. Cuando se produce el evento enter, si el usuario ha introducido menos de ocho caracteres, el ejemplo muestra: You must enter at least 8 characters. De lo contrario, muestra Thanks! En primer lugar, debe arrastrar un componente TextInput al escenario y asignarle el nombre de instancia my_ti; a continuacin, aada el siguiente cdigo al fotograma 1.
/** Se requiere: - Instancia de TextInput en el escenario (nombre de instancia: my_ti) */ var my_ti:mx.controls.TextInput; // Crear un objeto detector. var tiListener:Object = new Object(); tiListener.handleEvent = function (evt_obj:Object){ if (evt_obj.type == "enter"){ if (my_ti.length < 8) { trace("You must enter at least 8 characters"); } else { trace("Thanks"); } } } // Aadir detector. my_ti.addEventListener("enter", tiListener);
Vase tambin
EventDispatcher.addEventListener()
1316
Componente TextInput
TextInput.hPosition
Disponibilidad
Flash MX 2004.
Sintaxis
textInputInstance.hPosition
Descripcin
Propiedad; especifica los pxeles que se han desplazado para que la entrada del usuario quepa en el cuadro de TextInput. El valor predeterminado es 0.
N OT A
El valor cambia para el mismo texto en equipos diferentes debido al monitor, al tamao de pantalla y a las caractersticas de la fuente.
Ejemplo
En el ejemplo siguiente, se crea un detector para un evento change en la instancia de TextInput denominada my_ti. El detector accede a la propiedad hPosition para mostrar la posicin actual de cada uno de los caracteres que introduce el usuario. En primer lugar, debe arrastrar un componente TextInput al escenario y asignarle el nombre de instancia my_ti; a continuacin, aada el siguiente cdigo al fotograma 1.
/** Se requiere: - Instancia de TextInput en el escenario (nombre de instancia: my_ti) */ var my_ti:mx.controls.TextInput; // Crear un objeto detector. var tiListener:Object = new Object(); tiListener.change = function(evt_obj:Object) { trace("hPosition = " + my_ti.hPosition); }; // Aadir detector. my_ti.addEventListener("change", tiListener);
TextInput.hPosition
1317
TextInput.length
Disponibilidad
Flash MX 2004.
Sintaxis
textInputInstance.length
Descripcin
Propiedad de slo lectura; valor que indica el nmero de caracteres de un componente TextInput. El carcter de tabulador (\t) cuenta como un carcter. El valor predeterminado es 0.
Ejemplo
En el ejemplo siguiente, se crea un detector para un evento change en la instancia de TextInput denominada my_ti. El detector accede a la propiedad length para mostrar la longitud del texto en my_ti mientras el usuario introduce el texto. En primer lugar, debe arrastrar un componente TextInput al escenario y asignarle el nombre de instancia my_ti; a continuacin, aada el siguiente cdigo al fotograma 1.
/** Se requiere: - Instancia de TextInput en el escenario (nombre de instancia: my_ti) */ var my_ti:mx.controls.TextInput; // Crear un objeto detector. var tiListener:Object = new Object(); tiListener.change = function(evt_obj:Object) { trace("Length of text: " + my_ti.length); }; // Aadir detector. my_ti.addEventListener("change", tiListener);
1318
Componente TextInput
TextInput.maxChars
Disponibilidad
Flash MX 2004.
Sintaxis
textInputInstance.maxChars
Descripcin
Propiedad; indica el nmero mximo de caracteres que puede contener el campo de texto. Un script puede insertar ms texto del que permite la propiedad maxChars; esta propiedad slo indica cunto texto puede introducir el usuario. Si el valor de esta propiedad es null, no hay lmite en cuanto a la cantidad de texto que puede introducirse. El valor predeterminado es null.
Ejemplo
En el ejemplo siguiente, se limita a ocho el nmero de caracteres que puede introducir un usuario en la instancia de TextInput denominada my_ti. Tambin se establece la propiedad password, que oculta los caracteres de entrada mostrando asteriscos en lugar de los caracteres introducidos. En primer lugar, debe arrastrar un componente TextInput al escenario y asignarle el nombre de instancia my_ti; a continuacin, aada el siguiente cdigo al fotograma 1.
/** Se requiere: - Instancia de TextInput en el escenario (nombre de instancia: my_ti) */ var my_ti:mx.controls.TextInput; my_ti.maxChars = 8; my_ti.password = true;
TextInput.maxChars
1319
TextInput.maxHPosition
Disponibilidad
Flash MX 2004.
Sintaxis
textInputInstance.maxHPosition
Descripcin
Propiedad de slo lectura; el valor de maxHPosition es la posicin en pxeles del carcter visible cuando el puntero se mueve totalmente a la derecha del texto. No es la posicin en pxeles del ltimo carcter. Ms bien, es la posicin en pxeles en el extremo derecho del ltimo carcter en el campo TextInput. El valor predeterminado es 0. En primer lugar, debe arrastrar un componente TextInput al escenario y asignarle el nombre de instancia my_ti; a continuacin, aada el siguiente cdigo al fotograma 1.
Ejemplo
El siguiente cdigo crea un detector para un evento change en la instancia de TextInput denominada my_ti. Cuando se produce el evento change, el detector muestra los valores actuales de hPosition y maxHPosition para cada carcter que introduce el usuario:
/** Se requiere: - Instancia de TextInput en el escenario (nombre de instancia: my_ti) */ var my_ti:mx.controls.TextInput; // Crear un objeto detector. var tiListener:Object = new Object(); tiListener.change = function(evt_obj:Object) { trace("hPosition: " + my_ti.hPosition + " of " + my_ti.maxHPosition); }; // Aadir detector. my_ti.addEventListener("change", tiListener);
1320
Componente TextInput
TextInput.password
Disponibilidad
Flash MX 2004.
Sintaxis
textInputInstance.password
Descripcin
Propiedad; valor booleano que indica si el campo de texto es un campo de contrasea (true) o no (false). Si el valor de esta propiedad es true, el campo de texto es un campo de contrasea y oculta los caracteres de entrada. Si su valor es false, el campo de texto no es de contrasea. El valor predeterminado es false.
Ejemplo
En el ejemplo siguiente, se define la propiedad password para mostrar un asterisco en lugar del carcter que introduce el usuario en la instancia de TextInput denominada my_ti. Tambin se define maxChars para limitar a ocho el nmero mximo de caracteres que puede introducir el usuario. En primer lugar, debe arrastrar un componente TextInput al escenario y asignarle el nombre de instancia my_ti; a continuacin, aada el siguiente cdigo al fotograma 1.
/** Se requiere: - Instancia de TextInput en el escenario (nombre de instancia: my_ti) */ var my_ti:mx.controls.TextInput; my_ti.maxChars = 8; my_ti.password = true;
TextInput.password
1321
TextInput.restrict
Disponibilidad
Flash MX 2004.
Sintaxis
textInputInstance.restrict
Descripcin
Propiedad; indica el conjunto de caracteres que el usuario puede introducir en el campo de texto. El valor predeterminado es undefined. Si el valor de esta propiedad es null o una cadena vaca (""), el usuario puede introducir cualquier carcter. Si esta propiedad contiene una cadena de caracteres, el usuario slo puede introducir caracteres en la cadena; la cadena se explora de izquierda a derecha. Puede especificarse un rango utilizando un guin (-). Si la cadena empieza por ^, no se acepta ninguno de los caracteres posteriores a ^. Si la cadena no empieza por ^, se aceptan los caracteres de la cadena. Tambin es posible utilizar ^ para alternar entre los caracteres que se aceptan y los que no se aceptan. Por ejemplo, en el cdigo siguiente se permite A-Z excepto X y Q:
Ta.restrict = "A-Z^XQ";
Puede utilizar la barra diagonal inversa (\) para introducir un guin (-), el smbolo de intercalacin (^) o el carcter de barra diagonal inversa (\), como se muestra a continuacin:
\^ \\\
Cuando se introduce el carcter \ en el panel Acciones entre comillas dobles, tiene un significado especial para el intrprete de comillas dobles del panel Acciones. Significa que el carcter que va a continuacin de \ debe interpretarse literalmente. Por ejemplo, se podra utilizar el siguiente cdigo para introducir una comilla sencilla:
var leftQuote = "\";
El intrprete restrict del panel Acciones tambin utiliza \ como carcter de escape. Por tanto, es posible que crea que la siguiente expresin funcionar correctamente:
myText.restrict = "0-9\-\^\\";
Sin embargo, como esta expresin se encuentra entre comillas dobles, el valor siguiente se enviar al intrprete restrict: 0-9-^\ y el intrprete restrict no comprender este valor.
1322
Componente TextInput
Debe escribir esta expresin entre comillas dobles; no slo debe enviarla al intrprete restrict, sino que tambin debe escribir una barra diagonal inversa antes de las comillas dobles en el intrprete incorporado del panel Acciones, para interpretarlas literalmente. Para enviar el valor 0-9\-\^\\ al intrprete restrict, debe introducir el siguiente cdigo:
myText.restrict = "0-9\\-\\^\\\\";
La propiedad restrict slo limita la interaccin del usuario; un script puede introducir cualquier texto en el campo de texto. Esta propiedad no se sincroniza con las casillas de verificacin Incorporar contornos de fuentes del inspector de propiedades.
Ejemplo
En el ejemplo siguiente, se muestran tres usos diferentes de la propiedad restrict. El primer uso restringe las entradas a caracteres en maysculas de la A a la Z, espacios y nmeros. El segundo uso permite cualquier carcter excepto las minsculas de la a a la z. El tercer uso permite slo nmeros, -, ^ y \. En primer lugar, debe arrastrar un componente TextInput al escenario y asignarle el nombre de instancia my_ti; a continuacin, aada el siguiente cdigo al fotograma 1, utilizando slo una de las siguientes sentencias restrict cada vez.
/** Se requiere: - Instancia de TextInput en el escenario (nombre de instancia: my_ti) */ var my_ti:mx.controls.TextInput; // Ejemplo 1: Permitir slo maysculas de la A a la Z, espacios y dgitos // del 0 al 9. my_ti.restrict = "A-Z 0-9"; // Ejemplo 2: Permitir todo EXCEPTO minsculas de la a a la z. my_ti.restrict = "^a-z"; // Ejemplo 3: Permitir slo dgitos del 0 al 9, guin (-), ^ y \ my_ti.restrict = "0-9\\-\\^\\\\";
TextInput.restrict
1323
TextInput.text
Disponibilidad
Flash MX 2004.
Sintaxis
textInputInstance.text
Descripcin
Propiedad; contenido de texto de un componente TextInput. El valor predeterminado es "" (una cadena vaca).
Ejemplo
El cdigo siguiente coloca una cadena en la instancia de TextInput denominada my_ti y luego rastrea dicha cadena en el panel Salida. En primer lugar, debe arrastrar un componente TextInput al escenario y asignarle el nombre de instancia my_ti; a continuacin, aada el siguiente cdigo al fotograma 1.
/** Se requiere: - Instancia de TextInput en el escenario (nombre de instancia: my_ti) */ var my_ti:mx.controls.TextInput; my_ti.text = "The Royal Nonesuch"; trace(my_ti.text); // "The Royal Nonesuch"
1324
Componente TextInput
CAPTULO 47
Interfaz TransferObject
Nombre de clase de ActionScript
47
mx.data.to.TransferObject
La interfaz TransferObject define un conjunto de mtodos que deben implementar los elementos administrados por el componente DataSet. La propiedad DataSet.itemClassName especifica el nombre de la clase del objeto de transferencia del que se crea una instancia cada vez que se necesita un elemento nuevo. Tambin puede especificar esta propiedad mediante el inspector de propiedades para un componente DataSet determinado.
NO TA
La interfaz TransferObject slo es compatible si trabaja con un documento que especifique ActionScript 2.0 en la Configuracin de publicacin.
Descripcin
Crea una instancia del objeto de transferencia. Devuelve los datos para este objeto de transferencia. Establece los datos para este objeto de transferencia.
TransferObject.setPropertyData()
1325
TransferObject.clone()
Disponibilidad
Flash Player 7.
Edicin
Parmetros
Ninguno.
Valor devuelto
Mtodo; crea una instancia del objeto de transferencia. La implementacin de este mtodo crea una copia del objeto de transferencia existente y de sus propiedades y, a continuacin, devuelve dicho objeto.
Ejemplo
La siguiente funcin devuelve una copia de este objeto de transferencia con todas las propiedades establecidas con los mismos valores que el original:
class itemClass implements mx.data.to.TransferObject { function clone():Object { var copy:itemClass = new itemClass(); for (var p in this) { copy[p]= this[p]; } return(copy); } }
1326
Interfaz TransferObject
TransferObject.getPropertyData()
Disponibilidad
Flash Player 7.
Edicin
Parmetros
Ninguno.
Valor devuelto
Un objeto.
Descripcin
Mtodo; devuelve los datos para este objeto de transferencia. La implementacin de este mtodo puede devolver un objeto ActionScript annimo con las propiedades y los valores correspondientes.
Ejemplo
La siguiente funcin devuelve un objeto denominado internalData que contiene las propiedades y valores correspondientes del objeto Contact:
class Contact implements mx.data.to.TransferObject { function getPropertyData():Object { var internalData:Object = {name:name, readOnly:_readOnly, phone:phone, zip:zip.zipPlus4}; return(internalData); }
TransferObject.getPropertyData()
1327
TransferObject.setPropertyData()
Disponibilidad
Flash Player 7.
Edicin
Flash MX 2004.
Sintaxis
class yourClass implements TransferObject { function setPropertyData(propData) { // El cdigo se escribe aqu. } }
Parmetros
propData
Valor devuelto
Ninguno.
Descripcin
Mtodo; establece los datos para este objeto de transferencia. El parmetro propData es un objeto cuyos campos contienen los datos asignados por el componente DataSet a este objeto de transferencia.
Ejemplo
La siguiente funcin recibe un parmetro propData y aplica los valores de sus propiedades a las propiedades del objeto Contact:
class Contact implements mx.data.to.TransferObject { function setPropertyData(propData: Object):Void { _readOnly = propData.readOnly; phone = propData.phone; zip = new mx.data.types.ZipCode(data.zip); } public var name:String; public var phone:String; public var zip:ZipCode; private var _readOnly:Boolean; // indica si es inmutable }
1328
Interfaz TransferObject
CAPTULO 48
Clase TransitionManager
Nombre de clase de ActionScript
48
mx.transitions.TransitionManager
La clase TransitionManager y las clases basadas en transiciones que definen efectos permiten aplicar rpidamente efectos de animacin de transicin de gran impacto visual a diapositivas y clips de pelcula.
N O TA
La clase TransitionManager slo es compatible si trabaja con un documento que especifique ActionScript 2.0 en la Configuracin de publicacin.
Como su nombre indica, la clase TransitionManager administra transiciones. Permite aplicar uno de los diez efectos de animacin a las diapositivas y clips de pelcula. Al crear componentes personalizados, puede utilizar TransitionManager para aplicar efectos de animacin a clips de pelcula en la interfaz visual del componente. Los efectos de transicin se definen en un conjunto de clases de transicin que amplan la clase base mx.transitions.Transition. Las transiciones slo se aplican a travs de una instancia de TransitionManager; no se crean instancias de transiciones directamente. La clase TransitionManager implementa eventos de animacin.
Para ms informacin sobre el mtodo TransitionManager.start(), su uso y sus parmetros, consulte TransitionManager.start() en la pgina 1337.
1329
Tambin puede crear una nueva instancia de la clase TransitionManager mediante el operador new. A continuacin debe designar las propiedades de transicin e iniciar el efecto de transicin en un segundo paso llamando al mtodo TransitionManager.startTransition(). El cdigo siguiente utiliza el mtodo TransitionManager.startTransition():
var myTransitionManager:mx.transitions.TransitionManager = new mx.transitions.TransitionManager(myMovieClip_mc); myTransitionManager.startTransition({type:mx.transitions.Zoom, direction:Transition.IN, duration:1, easing:mx.transitions.easing.Bounce.easeOut});
Si crea una instancia de TransitionManager utilizando el operador new, debe designar a continuacin las propiedades de la transicin que desea aplicar y hacer una llamada para iniciar la transicin mediante el mtodo TransitionManager.startTransition(); de lo contrario, la transicin no se aplica a un clip de pelcula o no se inicia. Para ver ms detalles sobre el mtodo TransitionManager.startTransition(), su uso y sus parmetros, consulte TransitionManager.startTransition() en la pgina 1339. Una alternativa rpida al proceso en dos pasos para crear una instancia de TransitionManager es llamar simplemente al mtodo TransitionManager.start(); para ms informacin, consulte TransitionManager.start() en la pgina 1337. El mtodo TransitionManager.start() permite crear una instancia de TransitionManager, proporcionar el clip de pelcula de destino y especificar las propiedades de transicin en una llamada.
Clase TransitionManager
Descripcin
Crea una nueva instancia de TransitionManager, designa el objeto de destino, aplica una transicin y la inicia. Crea una instancia de la transicin y la inicia. Devuelve el tipo de TransitionManager como una cadena.
TransitionManager.startTransition() TransitionManager.toString()
Descripcin
La instancia de clip de pelcula a la que TransitionManager va a aplicar una transicin. Objeto que contiene las propiedades visuales guardadas del contenido (clip de pelcula de destino) en el que se aplicarn las transiciones. Es una propiedad de slo lectura.
TransitionManager.contentAppearance
1331
Descripcin
Lo difunde una instancia de TransitionManager cuando completa una transicin con la propiedad direction establecida en mx.transitions.Transition.IN. cuando completa una transicin con la propiedad direction establecida en mx.transitions.Transition.OUT.
TransitionManager.allTransitionsInDone
Disponibilidad
Flash MX 2004.
Sintaxis
var listenerObject:Object = new Object(); listenerObject.allTransitionsInDone = function(eventObj:Object) { // ... }; transitionManagerInstance.addEventListener("allTransitionsInDone", listenerObject);
Descripcin
Evento; notifica a los detectores que la instancia de TransitionManager ha completado todas las transiciones que tienen la propiedad direction establecida en mx.transitions.Transition.IN y las ha eliminado de la lista de transiciones que deben aplicarse.
1332
Clase TransitionManager
El ejemplo de sintaxis utiliza un modelo de eventos de distribuidor o detector. Una instancia de TransitionManager (transitionManagerInstance) distribuye un evento (en este caso, allTransitionsInDone) y ste se controla mediante una funcin, tambin denominada controlador, asociada con el objeto detector (listenerObject) que crea el usuario. Se define un mtodo con el mismo nombre que el evento del objeto detector; se llama al mtodo cuando se activa el evento. Cuando se activa el evento, ste pasa automticamente un objeto de evento (eventObject) al mtodo del objeto detector. Cada objeto de evento tiene propiedades que contienen informacin sobre el evento. En este caso, el evento allTransitionsInDone proporciona una propiedad de destino que contiene la instancia de TransitionManager que activ el evento, lo que permite utilizar la instancia y todas sus propiedades y mtodos en el cdigo que recibe el evento allTransitionsInDone. Para ms informacin, consulte el Captulo 21, Clase EventDispatcher, en la pgina 527.
Ejemplo
El siguiente cdigo asigna un objeto para que detecte el evento allTransitionsInDone y especifica el mtodo que actuar como controlador del evento. Cuando se llama a ese mtodo para controlar el evento, ya se ha completado una transicin con la propiedad direction establecida en mx.transitions.Transition.IN.
import mx.transitions.*; import mx.transitions.easing.*; var myTransitionManager:TransitionManager = new TransitionManager(img1_mc); myTransitionManager.startTransition({type:Iris, direction:Transition.IN, duration:1, easing:None.easeNone, startPoint:5, shape:Iris.CIRCLE}); var myListener:Object = new Object(); myListener.allTransitionsInDone = function(eventObj:Object) { trace("allTransitionsInDone event occurred."); }; myTransitionManager.addEventListener("allTransitionsInDone", myListener);
Vase tambin
TransitionManager.allTransitionsInDone
1333
TransitionManager.allTransitionsOutDone
Disponibilidad
Flash MX 2004.
Sintaxis
var listenerObject:Object = new Object(); listenerObject.allTransitionsOutDone = function(eventObj:Object) { // ... }; transitionManagerInstance.addEventListener("allTransitionsOutDone", listenerObject);
Descripcin
Evento; notifica a los detectores que la instancia de TransitionManager ha completado todas las transiciones que incluyen una propiedad de direccin out y las ha eliminado de la lista de transiciones que deben aplicarse. El ejemplo de sintaxis utiliza un modelo de eventos de distribuidor o detector. Una instancia de TransitionManager (transitionManagerInstance) distribuye un evento (en este caso, allTransitionsOutDone) y ste se controla mediante una funcin, tambin denominada controlador, asociada con el objeto detector (listenerObject) que crea el usuario. Se define un mtodo con el mismo nombre que el evento del objeto detector; se llama al mtodo cuando se activa el evento. Cuando se activa el evento, ste pasa automticamente un objeto de evento (eventObject) al mtodo del objeto detector. Cada objeto de evento tiene propiedades que contienen informacin sobre el evento. En este caso, el evento allTransitionsInDone proporciona una propiedad de destino que contiene la instancia de TransitionManager que activ el evento, lo que permite utilizar la instancia y todas sus propiedades y mtodos en el cdigo que recibe el evento allTransitionsInDone. Para ms informacin, consulte el Captulo 21, Clase EventDispatcher, en la pgina 527.
Ejemplo
El siguiente cdigo asigna un objeto para que detecte el evento allTransitionsOutDone y especifica el mtodo que actuar como controlador del evento. Cuando se llama a ese mtodo para controlar el evento, ya se ha completado una transicin con la propiedad direction establecida en mx.transitions.Transition.IN.
import mx.transitions.*; import mx.transitions.easing.*; var myTransitionManager:TransitionManager = new TransitionManager(img1_mc);
1334
Clase TransitionManager
myTransitionManager.startTransition({type:Iris, direction:Transition.OUT, duration:1, easing:None.easeNone,startPoint:5, shape:Iris.CIRCLE}); var myListener:Object = new Object(); myListener.allTransitionsOutDone = function(eventObj:Object) { trace("allTransitionsOutDone event occurred."); }; myTransitionManager.addEventListener("allTransitionsOutDone", myListener);
Vase tambin
TransitionManager.content
Disponibilidad
Flash MX 2004.
Sintaxis
transitionManagerInstance.content
Descripcin
En el ejemplo siguiente, se devuelve el objeto de clip de pelcula en el que actualmente se aplica la instancia de TransitionManager:
import mx.transitions.*; import mx.transitions.easing.*; var myTransitionManager:TransitionManager = new TransitionManager(img1_mc); var myMovieClip:MovieClip = myTransitionManager.content; trace(myMovieClip._name);
TransitionManager.content
1335
TransitionManager.contentAppearance
Disponibilidad
Flash MX 2004.
Sintaxis
transitionManagerInstance.contentAppearance
Descripcin
Propiedad (slo lectura); objeto que contiene una instantnea de las propiedades del clip de pelcula de destino de una instancia de TransitionManager antes de que se aplique la transicin. Este objeto resulta til para obtener informacin sobre los valores de propiedad que se puede esperar que el clip de pelcula devuelva cuando la transicin haya finalizado. El objeto devuelto por TransitionManager.contentAppearance contiene un registro de los valores originales correspondientes de los clips de pelcula de destino en las siguientes propiedades: _x, _y, _xscale, _yscale, _alpha, _rotation, _innerBounds, _outerBounds, _width, _height y colorTransform. Estas propiedades se guardan y se llama al mtodo TransitionManager.start() o TransitionManager.startTransition().
Ejemplo
En el ejemplo siguiente, se llama a TransitionManager.contentAppearance() para obtener la configuracin original de las propiedades del clip de pelcula de destino del objeto TransitionManager antes de que se aplique la transicin:
import mx.transitions.*; import mx.transitions.easing.*; var myTransitionManager:TransitionManager = new TransitionManager(img1_mc); myTransitionManager.startTransition({type:Zoom, direction:Transition.OUT, duration:3, easing:Bounce.easeOut}); var myMovieClip:MovieClip = myTransitionManager.content; var myOriginalMovieClipProps:Object = myTransitionManager.contentAppearance; for (var prop in myOriginalMovieClipProps) { trace(myMovieClip._name + "." +prop+" = "+myOriginalMovieClipProps[prop]); }
1336
Clase TransitionManager
TransitionManager.start()
Disponibilidad
Flash MX 2004.
Sintaxis
transitionManagerInstance.start(content, transParams)
Parmetros
content
El objeto MovieClip al que se va aplicar el efecto de transicin. Coleccin de parmetros que se pasan en un objeto.
transParams
El objeto transParams debe contener un parmetro type que indica la clase de efecto de transicin que se va a aplicar, seguido de los parmetros direction, duration y easing. Adems, debe incluir los parmetros requeridos por la clase de efecto de la transicin. Por ejemplo, la clase de efecto de la transicin mx.transitions.Iris requiere los parmetros adicionales startPoint y shape. As, adems de los parmetros type, duration y easing que toda transicin requiere, tambin debe aadir (al objeto transParams) los parmetros startPoint y shape que requiere el efecto mx.transitions.Iris. El cdigo siguiente aade parmetros startPoint y shape al efecto mx.transitions.Iris:
{type:mx.transitions.Iris, direction:mx.transitions.Transition.IN, duration:5, easing:mx.transitions.easing.Bounce.easeOut, startPoint:5, shape:mx.transitions.Iris.CIRCLE}
Para comprobar los parmetros requeridos adicionales para el efecto de la clase de transicin que est especificando en el parmetro type del objeto transParam, consulte la API de esa clase de transicin. Por ejemplo, para ms informacin sobre la clase de transicin Blinds, consulte Transicin Blinds en la pgina 1342.
NO T A
El parmetro type del objeto transParams debe incluir el nombre completo del paquete de clase de las clases especificadas para sus parmetros, a menos que ya hayan sido importadas mediante la sentencia import. Para no tener que especificar el nombre completo del paquete de clase para toda la coleccin de parmetros transParams, debe colocar previamente las siguientes instrucciones import en el cdigo para importar todas las clases mx.transitions y todas las clases mx.transitions.easing:
TransitionManager.start()
1337
Valor devuelto
Una instancia del objeto Transition en el que debe aplicarse la instancia de TransitionManager.
Descripcin
Mtodo; crea una instancia de la clase TransitionManager si no existe ninguna, crea una instancia de la clase de transicin especificada designada en el parmetro transParams.type y, a continuacin, inicia la transicin. La transicin se aplica a la diapositiva o el clip de pelcula designado en el parmetro content.
Ejemplo
El cdigo siguiente utiliza el mtodo TransitionManager.start() para crear una instancia de TransitionManager y asigna una transicin Iris a un clip de pelcula denominado img1_mc. El mtodo TransitionManager.start() contiene dos parmetros. El primer parmetro, content, es el objeto MovieClip al que se aplicar el efecto de la transicin. El segundo parmetro para el mtodo TransitionManager.start(), transParam, contiene un objeto en el que se almacena una coleccin de parmetros. Este objeto que contiene una coleccin de parmetros designa primero el tipo de efecto de transicin con el parmetro type, seguido de los parmetros direction, duration y easing. Los parmetros type, direction, duration y easing son datos necesarios para todos los efectos de TransitionManager. A continuacin del parmetro easing van los parmetros que el tipo de transicin requiere especficamente. En el siguiente ejemplo, el tipo de transicin es Iris, que requiere los parmetros startPoint y shape (para obtener ms informacin sobre los parmetros de la transicin Iris, consulte Transicin Iris en la pgina 1344):
import mx.transitions.*; import mx.transitions.easing.*; TransitionManager.start(img1_mc, {type:Iris, direction:Transition.IN, duration:5, easing:Bounce.easeOut, startPoint:5, shape:Iris.CIRCLE});
1338
Clase TransitionManager
TransitionManager.startTransition()
Disponibilidad
Flash MX 2004.
Sintaxis
transitionManagerInstance.startTransition(transParams)
Parmetros
transParams
El objeto transParams debe contener un parmetro type que indica la clase de efecto de transicin que se va a aplicar, seguido de los parmetros direction, duration y easing. Adems, debe incluir los parmetros requeridos por la clase de efecto de transicin especificada. Por ejemplo, la clase de efecto de la transicin mx.transitions.Iris requiere los parmetros adicionales startPoint y shape. As, adems de los parmetros type, duration y easing que toda transicin requiere, tambin debe aadir (al objeto transParams) los parmetros startPoint y shape que requiere el efecto mx.transitions.Iris. El cdigo siguiente aade parmetros startPoint y shape al efecto mx.transitions.Iris:
{type:mx.transitions.Iris, direction:mx.transitions.Transition.IN, duration:5, easing:mx.transitions.easing.Bounce.easeOut, startPoint:5, shape:mx.transitions.Iris.CIRCLE}
Para comprobar los parmetros requeridos adicionales para el efecto de la clase de transicin que est especificando en el parmetro type del objeto transParam, consulte la API de esa clase de transicin. Por ejemplo, para ms informacin sobre la clase de transicin Blinds, consulte Transicin Blinds en la pgina 1342.
NO T A
El parmetro type del objeto transParams debe incluir el nombre completo del paquete de clase de las clases especificadas para sus parmetros, a menos que ya hayan sido importadas mediante la sentencia import. Para no tener que especificar el nombre completo del paquete de clase para toda la coleccin de parmetros transParams, debe colocar previamente las siguientes instrucciones import en el cdigo para importar todas las clases mx.transitions y todas las clases mx.transitions.easing:
TransitionManager.startTransition()
1339
Valor devuelto
Una instancia del objeto Transition en el que debe aplicarse la instancia de TransitionManager.
Descripcin
Mtodo; crea e inicia una instancia de la clase de transicin especificada que se aplicar a la diapositiva o al clip de pelcula que se ver afectado por la instancia de TransitionManager. Si ya hay una transicin coincidente, dicha transicin se elimina y se crea e inicia una nueva.
Ejemplo
El cdigo siguiente importa la clase TransitionManager y crea una nueva instancia de TransitionManager. A continuacin, el mtodo TransitionManager.startTransition() designa una transicin mx.transitions.Zoom en el parmetro type. El parmetro direction debe establecerse en mx.transitions.Transition.OUT para indicar que la transicin debe moverse en el sentido saliente. La duracin de la transicin es 3 segundos. El suavizado se calcula mediante el mtodo mx.transitions.Bounce.easeOut() de la clase Bounce. Este efecto hace que el clip de pelcula img1_mc parezca alejarse en un movimiento de rebote hasta que desaparece; la duracin del efecto completo es de 3 segundos.
import mx.transitions.*; import mx.transitions.easing.*; var myTransitionManager:TransitionManager = new TransitionManager(img1_mc); myTransitionManager.startTransition({type:Zoom, direction:Transition.OUT, duration:3, easing:Bounce.easeOut});
TransitionManager.toString()
Disponibilidad
Flash MX 2004.
Sintaxis
transitionManagerInstance.toString()
Valor devuelto
1340
Clase TransitionManager
Ejemplo
El siguiente cdigo indica a la instancia de TransitionManager que devuelva una cadena donde se especifique su tipo:
import mx.transitions.*; import mx.transitions.easing.*; var myTransitionManager:TransitionManager = new TransitionManager(img1_mc); var myType:String = myTransitionManager.toString(); trace(myType);
La clase Transition es la clase base de todas las clases de transicin. No es posible utilizar esta clase ni acceder a ella directamente. Permite que las clases basadas en transiciones compartan algunos comportamientos y propiedades comunes a los que se accede a travs de una instancia de la clase TransitionManager. Las clases basadas en Transition definen un efecto que se aplica a lo largo del tiempo a una diapositiva o clip de pelcula. Flash incluye diez transiciones que puede utilizar para aplicar efectos a objetos de clip de pelcula. Puede personalizar todas las transiciones incluyendo mtodos de suavizado opcionales; la mayora de las transiciones admiten varios parmetros opcionales que permiten controlar aspectos concretos de su efecto. El suavizado es la aceleracin o desaceleracin gradual durante una animacin, que hace que las animaciones parezcan ms realistas. Por ejemplo, una bola puede aumentar gradualmente su velocidad hacia el comienzo de una animacin e ir reduciendo la velocidad antes de detenerse por completo al finalizar la animacin. Existen muchas ecuaciones para esta aceleracin y desaceleracin que cambian la animacin de suavizado. Las transiciones se usan con la clase TransitionManager. Consulte Clase TransitionManager en la pgina 1329. La clase TransitionManager se utiliza para especificar una transicin y aplicarla a un objeto de clip de pelcula en lugar de llamarla directamente. Por ejemplo, para aplicar una transicin Zoom a un clip de pelcula denominado img1_mc, debe especificar la clase de transicin Zoom como el parmetro type de TransitionManager.start():
mx.transitions.TransitionManager.start(myMovieClip_mc, {type:mx.transitions.Zoom, direction:mx.transitions.Transition.IN, duration:1, easing:mx.transitions.easing.Bounce.easeOut});
1341
Descripcin
Muestra el objeto de clip de pelcula mediante rectngulos que aparecen o desaparecen. Hace que el clip de pelcula se desvanezca y vuelva a aparecer. Desliza el objeto de clip de pelcula desde una direccin especificada. Muestra u oculta el objeto de clip de pelcula mediante una mscara animada de forma circular o cuadrada que se acerca o aleja. Hace que el objeto de clip de pelcula aparezca o desaparezca como un flash fotogrfico. Muestra u oculta el objeto de clip de pelcula mediante rectngulos que aparecen o desaparecen aleatoriamente en un patrn de tablero de ajedrez. Gira el objeto de clip de pelcula.
Transicin Squeeze Ajusta el tamao del objeto de clip de pelcula horizontal o verticalmente. Transicin Wipe Transicin Zoom Muestra u oculta el objeto de clip de pelcula mediante una mscara animada que se mueve horizontalmente. Acerca o aleja el objeto de clip de pelcula y ajusta su proporcin.
Transicin Blinds
Nombre de clase de ActionScript
mx.transitions.Blinds
Parmetros
numStrips
de 1 a 50. Entero que indica que las bandas de Blinds deben ser verticales (0) u horizontales (1).
dimension
Descripcin
Efecto de transicin: muestra el objeto de clip de pelcula mediante rectngulos que aparecen o desaparecen. Esta clase se utiliza especificando mx.transitions.Blinds como un parmetro transObject.type para la clase TransitionManager.
1342
Clase TransitionManager
Ejemplo
El siguiente cdigo crea una instancia de TransitionManager que aplica la transicin Blinds con diez numStrips y un entero dimension especificado como vertical (0). El destino de contenido de la transicin es el clip de pelcula img1_mc. La instancia de TransitionManager aplica un sentido mx.transitions.Transition.IN durante 2 segundos sin suavizado.
import mx.transitions.*; import mx.transitions.easing.*; TransitionManager.start(img1_mc, {type:Blinds, direction:Transition.IN, duration:2, easing:None.easeNone, numStrips:10, dimension:0});
Transicin Fade
Nombre de clase de ActionScript
mx.transitions.Fade
Descripcin
Efecto de transicin: hace que el clip de pelcula se desvanezca y vuelva a aparecer. Esta clase se utiliza especificando mx.transitions.Fade como un parmetro transObject.type para la clase TransitionManager.
Ejemplo
El siguiente cdigo crea una instancia de TransitionManager que aplica la transicin Fade. El destino de contenido de la transicin es el clip de pelcula img1_mc. La instancia de TransitionManager aplica un sentido mx.transitions.Transition.IN durante 3 segundos sin suavizado.
import mx.transitions.*; import mx.transitions.easing.*; TransitionManager.start(img1_mc, {type:Fade, direction:Transition.IN, duration:3, easing:None.easeNone});
1343
Transicin Fly
Nombre de clase de ActionScript
mx.transitions.Fly
Parmetros
startPoint
superior izquierdo, 1; superior central, 2; superior derecho, 3; izquierdo central, 4; central, 5; derecho central, 6; inferior izquierdo, 7; inferior central, 8; inferior derecho, 9.
Descripcin
Efecto de transicin: desliza el objeto de clip de pelcula desde una direccin especificada. Esta clase se utiliza especificando mx.transitions.Fly como un parmetro transObject.type para la clase TransitionManager.
Ejemplo
El cdigo siguiente crea una instancia de TransitionManager que aplica la transicin Fly con startPoint establecido en la parte inferior derecha (9). El destino de contenido de la transicin es el clip de pelcula img1_mc. La instancia de TransitionManager aplica un sentido mx.transitions.Transition.IN durante 3 segundos con un efecto de suavizado Elastic.easeOut.
import mx.transitions.*; import mx.transitions.easing.*; TransitionManager.start(img1_mc, {type:Fly, direction:Transition.IN, duration:3, easing:Elastic.easeOut, startPoint:9});
Transicin Iris
Nombre de clase de ActionScript
mx.transitions.Iris
Parmetros
startPoint
superior izquierdo, 1; superior central: 2; superior derecho, 3; izquierdo central, 4; central, 5; derecho central, 6; inferior izquierdo, 7; inferior central, 8; inferior derecho, 9.
shape mx.transitions.Iris.CIRCLE
1344
Clase TransitionManager
Descripcin
Efecto de transicin: muestra el objeto de clip de pelcula mediante una mscara animada de forma circular o cuadrada que se acerca o aleja. Esta clase se utiliza especificando mx.transitions.Iris como un parmetro transObject.type para la clase TransitionManager.
Ejemplo
El siguiente cdigo crea una instancia de TransitionManager que aplica la transicin Iris con startPoint desde el centro (5) y con la forma de mscara mx.transitions.Iris.CIRCLE. El destino de content de la transicin es el clip de pelcula img1_mc. TransitionManager aplica un sentido mx.transitions.Transition.IN durante 2 segundos con suavizado Strong y nfasis en easeOut, especificando el mtodo de clculo de suavizado mx.transitions.easing.Strong.easeOut.
import mx.transitions.*; import mx.transitions.easing.*; TransitionManager.start(img1_mc, {type:Iris, direction:Transition.IN, duration:2, easing:Strong.easeOut, startPoint:5, shape:Iris.CIRCLE});
Transicin Photo
Nombre de clase de ActionScript
mx.transitions.Photo
Descripcin
Efecto de transicin: hace que el objeto de clip de pelcula aparezca o desaparezca como un flash fotogrfico. Esta clase se utiliza especificando mx.transitions.Photo como un parmetro transObject.type para la clase TransitionManager.
Ejemplo
El siguiente cdigo crea una instancia de TransitionManager que aplica la transicin Photo al destino de contenido: el clip de pelcula img1_mc. La clase TransitionManager aplica un sentido mx.transitions.Transition.IN durante 1 segundo sin suavizado.
import mx.transitions.*; import mx.transitions.easing.*; TransitionManager.start (img1_mc, {type:Photo, direction:Transition.IN, duration:1, easing:None.easeNone});
1345
Transicin PixelDissolve
Nombre de clase de ActionScript
mx.transitions.PixelDissolve
Parmetros
xSections
Entero que indica el nmero de secciones rectangulares de mscara a lo largo del eje horizontal. El rango recomendado es de 1 a 50. Entero que indica el nmero de secciones rectangulares de mscara a lo largo del eje vertical. El rango recomendado es de 1 a 50.
ySections
Descripcin
Efecto de transicin: muestra el objeto de clip de pelcula mediante rectngulos que aparecen o desaparecen aleatoriamente formando un patrn de tablero de ajedrez. Esta clase se utiliza especificando mx.transitions.PixelDissolve como un parmetro transObject.type para la clase TransitionManager.
Ejemplo
El siguiente cdigo crea una instancia de TransitionManager que aplica la transicin PixelDissolve con diez xSections y diez ySections. El destino de contenido de la transicin es el clip de pelcula img1_mc. La instancia de TransitionManager aplica un sentido mx.transitions.Transition.IN durante 2 segundos sin suavizado.
import mx.transitions.*; import mx.transitions.easing.*; TransitionManager.start(img1_mc, {type:PixelDissolve, direction:Transition.IN, duration:2, easing:None.easeNone, xSections:10, ySections:10});
Transicin Rotate
Nombre de clase de ActionScript
mx.transitions.Rotate
Parmetros
ccw
Valor booleano: false si se gira en el sentido de las agujas del reloj; true si se gira en el sentido contrario.
Entero que indica el nmero de grados que debe girar el objeto. El rango recomendado es de 1 a 9999. Por ejemplo, si se establece degrees en 1080, el objeto girara completamente tres veces.
degrees
1346
Clase TransitionManager
Descripcin
Efecto de transicin: gira el objeto de clip de pelcula. Esta clase se utiliza especificando mx.transitions.Rotate como un parmetro transObject.type para la clase TransitionManager.
Ejemplo
El siguiente cdigo crea una instancia de TransitionManager que aplicar la transicin Rotate 720 grados (degrees) en el sentido de las agujas del reloj (dos giros completos). El destino de contenido de la transicin es el clip de pelcula img1_mc. La instancia de TransitionManager aplica un sentido mx.transitions.Transition.IN durante 3 segundos con el suavizado establecido en Strong.easeInOut, de forma que la transicin comienza despacio, se acelera y despus finaliza despacio.
import mx.transitions.*; import mx.transitions.easing.*; TransitionManager.start(img1_mc, {type:Rotate, direction:Transition.IN, duration:3, easing:Strong.easeInOut, ccw:false, degrees:720});
Transicin Squeeze
Nombre de clase de ActionScript
mx.transitions.Squeeze
Parmetros
dimension
Entero que indica que el efecto Squeeze debe ser horizontal (0) o vertical (1).
Descripcin
Efecto de transicin: ajusta el tamao del objeto de clip de pelcula horizontal o verticalmente. Esta clase se utiliza especificando mx.transitions.Squeeze como un parmetro transObject.type para la clase TransitionManager.
Ejemplo
El siguiente cdigo crea una instancia de TransitionManager que aplica la transicin Squeeze con un entero dimension especificado como vertical (1). El destino de contenido de la transicin es el clip de pelcula img1_mc. TransitionManager aplica un sentido mx.transitions.Transition.IN durante 2 segundos con un efecto de suavizado Elastic en el sentido easeOut.
import mx.transitions.*; import mx.transitions.easing.*; TransitionManager.start(img1_mc, {type:Squeeze, direction:Transition.IN, duration:2, easing:Elastic.easeOut, dimension:1});
1347
Transicin Wipe
Nombre de clase de ActionScript
mx.transitions.Wipe
Parmetros
startPoint
superior izquierdo, 1; superior central, 2; superior derecho, 3; izquierdo central, 4; derecho central, 6; inferior izquierdo, 7; inferior central, 8; inferior derecho, 9.
Descripcin
Efecto de transicin: muestra u oculta el objeto de clip de pelcula mediante una mscara animada que se mueve horizontalmente. Esta clase se utiliza especificando mx.transitions.Wipe como un parmetro transObject.type para la clase TransitionManager.
Ejemplo
El siguiente cdigo crea una instancia de TransitionManager que aplica la transicin Wipe con startPoint desde la parte superior izquierda (1). El destino de contenido de la transicin es el clip de pelcula img1_mc. TransitionManager aplica un sentido mx.transitions.Transition.IN durante 2 segundos sin suavizado.
import mx.transitions.*; import mx.transitions.easing.*; TransitionManager.start(img1_mc, {type:Wipe, direction:Transition.IN, duration:2, easing:None.easeNone, startPoint:1});
Transicin Zoom
Nombre de clase de ActionScript
mx.transitions.Zoom
Descripcin
Efecto de transicin: acerca o aleja el objeto de clip de pelcula y ajusta su proporcin. Esta clase se utiliza especificando mx.transitions.Zoom como un parmetro transObject.type para la clase TransitionManager.
Ejemplo
El siguiente cdigo crea una instancia de TransitionManager que aplica la transicin Zoom al destino de contenido: el clip de pelcula img1_mc. TransitionManager aplica un sentido mx.transitions.Transition.IN durante 2 segundos con un suavizado de tipo Elastic que se inicia rpidamente y se suaviza lentamente al final.
import mx.transitions.*; import mx.transitions.easing.*; TransitionManager.start(img1_mc, {type:Zoom, direction:Transition.IN, duration:2, easing:Elastic.easeOut});
1348
Clase TransitionManager
CAPTULO 49
Interfaz TreeDataProvider
La interfaz TreeDataProvider es un conjunto de propiedades y mtodos, y no es necesario crear una instancia de la misma para poder utilizarla. Si una clase Tree se empaqueta en un archivo SWF, todas las instancias XML del archivo SWF contienen la interfaz TreeDataProvider. Todos los nodos de un rbol son objetos XML que contienen la interfaz TreeDataProvider.
N OT A
49
La interfaz TreeDataProvider slo es compatible si trabaja con un documento que especifique ActionScript 2.0 en la Configuracin de publicacin.
Es recomendable utilizar los mtodos de TreeDataProvider para crear XML para la propiedad Tree.dataProvider, ya que slo TreeDataProvider difunde eventos que actualizan la visualizacin del rbol. Son eventos gestionados por la clase Tree; no es necesario escribir funciones para gestionar estos eventos. Los mtodos de la clase XML incorporados no difunden dichos eventos. Se pueden utilizar los mtodos de TreeDataProvider para controlar el modelo de datos y la visualizacin de datos. Se pueden utilizar los mtodos de la clase XML incorporados para realizar tareas de slo lectura como la navegacin por la jerarqua del rbol. La propiedad que contiene el texto que debe mostrarse puede seleccionarse especificando la propiedad labelField o labelFunction. Por ejemplo, myTree.labelField = firstName; indica que se consulte la propiedad myTreeDP.attributes.fred para obtener el texto que se va a visualizar.
1349
Descripcin
Aade un nodo secundario a la raz del rbol. Aade un nodo secundario en una ubicacin especificada del nodo principal. Devuelve el nodo secundario especificado de un nodo. Elimina un nodo y todos sus descendientes del nodo principal de dicho nodo. posicin de ndice del nodo secundario.
TreeDataProvider.getTreeNodeAt()
TreeDataProvider.removeTreeNode()
Descripcin
Especifica los datos que van a asociarse con un nodo. Especifica el texto que va a mostrarse junto a un nodo.
TreeDataProvider.attributes.label
1350
Interfaz TreeDataProvider
TreeDataProvider.addTreeNode()
Disponibilidad
Sintaxis 1:
someNode.addTreeNode(label, data)
Sintaxis 2:
someNode.addTreeNode(child)
Parmetros
label data child
Cadena que muestra el nodo. Objeto de cualquier tipo que est asociado con el nodo. Cualquier objeto XMLNode.
Valor devuelto
Mtodo; aade un nodo secundario a la raz del rbol. El nodo se crea a partir de la informacin proporcionada en los parmetros label y data (Sintaxis 1) o a partir del nodo secundario creado previamente, que es un objeto XMLNode (Sintaxis 2). Si se aade un nodo que ya exista, ste se elimina de su ubicacin anterior. La llamada a este mtodo actualiza la visualizacin del rbol.
Ejemplo
La primera lnea de cdigo del ejemplo siguiente localiza el nodo al que debe aadirse un nodo secundario. La segunda lnea aade un nuevo nodo a un nodo especificado.
var myTreeNode = myTreeDP.firstChild.firstChild; myTreeNode.addTreeNode("Inbox", 3);
TreeDataProvider.addTreeNode()
1351
TreeDataProvider.addTreeNodeAt()
Disponibilidad
Sintaxis 1:
someNode.addTreeNodeAt(index, label, data)
Sintaxis 2:
someNode.addTreeNodeAt(index, child)
Parmetros
Entero que indica la posicin de ndice (entre los nodos secundarios) en la que debe aadirse el nodo.
index label data child
Cadena que muestra el nodo. Objeto de cualquier tipo que est asociado con el nodo. Cualquier objeto XMLNode.
Valor devuelto
Mtodo; aade un nodo secundario a la ubicacin especificada del nodo principal. El nodo se crea a partir de la informacin proporcionada en los parmetros label y data (Sintaxis 1) o a partir del nodo secundario creado previamente, que es un objeto XMLNode (Sintaxis 2). Si se aade un nodo que ya exista, ste se elimina de su ubicacin anterior. La llamada a este mtodo actualiza la visualizacin del rbol.
Ejemplo
El cdigo siguiente localiza el nodo al que se aadir un nodo y aade un nuevo nodo como segundo nodo secundario de la raz:
var myTreeNode = myTreeDP.firstChild.firstChild; myTreeNode.addTreeNodeAt(1, "Inbox", 3);
El cdigo siguiente desplaza un nodo de un rbol para que sea el cuarto nodo secundario de la raz de otro rbol:
myTreeNode.addTreeNodeAt(3, mySecondTree.getTreeNodeAt(3));
1352
Interfaz TreeDataProvider
TreeDataProvider.attributes.data
Disponibilidad
Descripcin
Propiedad; especifica los datos que van a asociarse con el nodo. Esto aade el valor como un atributo del objeto XMLNode. Al definir esta propiedad no se actualizan las visualizaciones del rbol. Esta propiedad puede ser de cualquier tipo de datos.
Ejemplo
Vase tambin
TreeDataProvider.attributes.label
TreeDataProvider.attributes.label
Disponibilidad
Descripcin
Propiedad; cadena que especifica el texto que se visualiza para el nodo. El texto se escribe en un atributo del objeto XMLNode. Al definir esta propiedad no se actualizan las visualizaciones del rbol.
TreeDataProvider.attributes.label
1353
Ejemplo
El cdigo siguiente localiza el nodo que va a ajustarse y define su propiedad label. El resultado del cdigo siguiente es <node label="Mail">.
var myTreeNode = myTreeDP.firstChild.firstChild; myTreeNode.attributes.label = "Mail";
Vase tambin
TreeDataProvider.attributes.data
TreeDataProvider.getTreeNodeAt()
Disponibilidad
Parmetros
index
Valor devuelto
El nodo especificado.
Descripcin
1354
Interfaz TreeDataProvider
TreeDataProvider.removeTreeNode()
Disponibilidad
Parmetros
Ninguno.
Valor devuelto
TreeDataProvider.removeTreeNode()
1355
TreeDataProvider.removeTreeNodeAt()
Disponibilidad
Parmetros
index
Valor devuelto
Mtodo; elimina un nodo (y todos sus descendientes) especificado por el nodo actual y la posicin de ndice del nodo secundario. Al llamar a este mtodo se actualiza la vista.
Ejemplo
1356
Interfaz TreeDataProvider
CAPTULO 50
Componente Tree
El componente Tree permite al usuario visualizar datos jerrquicos. El rbol aparece dentro de un cuadro como el componente List, pero cada elemento de un rbol se denomina nodo y puede ser una hoja o una rama. De forma predeterminada, una hoja se representa con una etiqueta de texto junto a un icono de archivo, mientras que una rama se representa con una etiqueta de texto junto a un icono de carpeta con una flecha de ampliacin (tringulo de difusin) que el usuario puede abrir para mostrar los nodos secundarios. Los elementos secundarios de una rama pueden ser hojas o ramas.
NO T A
50
El componente Tree slo es compatible si trabaja con un documento que especifique ActionScript 2.0 en la Configuracin de publicacin.
Los datos de un componente Tree deben proporcionarse desde un origen de datos XML. Para ms informacin, consulte Utilizacin del componente Tree en la pgina 1358. Si se selecciona una instancia Tree al hacer clic en ella o mediante la tabulacin, podr utilizar las teclas siguientes para controlar dicha instancia:
Tecla
Flecha abajo Flecha arriba Flecha derecha Flecha izquierda Espacio Fin Inicio Av Pg Re Pg Control Mays
Descripcin
Desplaza la seleccin un elemento hacia abajo. Desplaza la seleccin un elemento hacia arriba. Abre un nodo de rama seleccionado. Si una rama ya est abierta, se desplaza al primer nodo secundario. Cierra un nodo de rama seleccionado. Si se encuentra en un nodo hoja de un nodo de rama cerrado, se desplaza al nodo principal. Abre o cierra un nodo de rama seleccionado. Desplaza la seleccin a la parte inferior de la lista. Desplaza la seleccin a la parte superior de la lista. La seleccin avanza una pgina. La seleccin retrocede una pgina. Permite varias selecciones no consecutivas. Permite varias selecciones consecutivas.
El atributo isBranch es de slo lectura; no se puede configurar directamente. Para definirlo, llame al mtodo Tree.setIsBranch().
Componente Tree
Los nodos del origen de datos XML pueden tener cualquier nombre. Observe en el ejemplo anterior que cada nodo recibe el nombre genrico node. El rbol lee el objeto XML y crea la jerarqua de visualizacin basndose en la relacin anidada de los nodos. Cada uno de los nodos XML se puede visualizar como uno de los dos tipos que hay en el rbol: rama u hoja. Los nodos rama pueden contener varios nodos secundarios y aparecer como un icono de carpeta con una flecha de ampliacin, que permite a los usuarios abrir y cerrar la carpeta. Los nodos hoja aparecen como un icono de archivo y no pueden contener nodos secundarios. Tanto las hojas como las ramas pueden ser races; los nodos raz aparecen en el nivel superior del rbol y no tienen un nodo principal. Los iconos son personalizables; para ms informacin, consulte Utilizacin de aspectos con el componente Tree en la pgina 1372. XML se puede estructurar de varias maneras, pero el componente Tree no puede utilizar todos los tipos de estructura XML. No deben anidarse atributos de nodo en un nodo secundario; cada nodo debe contener todos sus atributos necesarios. Asimismo, los atributos de cada nodo deben ser coherentes para resultar de utilidad. Por ejemplo, para describir una estructura de buzn de correo con un componente Tree, deben utilizarse los mismos atributos en cada nodo (mensaje, datos, hora, archivos adjuntos, etc.). Esto permite al rbol conocer lo que va a representar y al usuario desplazarse desde el ltimo elemento de la jerarqua al primero y viceversa para comparar datos. Cuando un componente Tree muestra un nodo, utiliza de forma predeterminada el atributo label del nodo como etiqueta de texto. Si existen otros atributos, se convierten en propiedades adicionales de los atributos del nodo dentro del rbol. El nodo raz real se considera como el propio componente Tree. Esto significa que el primer elemento secundario (en el ejemplo, <node label="Mail">), se representa como el nodo raz en la vista de rbol. Esto demuestra que un rbol puede tener varias carpetas raz. En este ejemplo, el rbol slo muestra una carpeta raz: Mail. Sin embargo, si aadiera nodos del mismo nivel a ese nivel en el XML, se visualizaran varios nodos raz en el rbol. Un proveedor de datos de un rbol tiene siempre preferencia por los nodos que contienen elementos secundarios que pueda mostrar. Muestra el primer elemento secundario del objeto XMLNode. Cuando se ajusta el XML en un objeto XML, la estructura tiene el siguiente aspecto:
<XMLDocumentObject> <node> <node label="Mail"> <node label="INBOX"/> <node label="Personal Folder"> <node label="Business" isBranch="true" /> <node label="Demo" isBranch="true" /> <node label="Personal" isBranch="true" /> <node label="Saved Mail" isBranch="true" /> <node label="bar" isBranch="true" /> </node> <node label="Sent" isBranch="true" />
1359
Flash Player ajusta los nodos XML en un nodo de documento adicional que se pasa al rbol. Cuando el rbol intenta mostrar el XML, trata de mostrar <node>, que no tiene ninguna etiqueta, por lo que no se muestra correctamente. Para evitar este problema, el proveedor de datos del componente Tree debera sealar al primer elemento secundario de XMLDocumentObject, como se muestra a continuacin:
myTree.dataProvider = myXML.firstChild;
Parmetros de Tree
A continuacin se indican los parmetros de edicin que se pueden definir para cada instancia del componente Tree en el inspector de propiedades o en el inspector de componentes: es un valor booleano que indica si se permite la seleccin de varios elementos (true) o no se permite (false). El valor predeterminado es false.
multipleSelection rowHeight
indica la altura de cada una de las filas, en pxeles. El valor predeterminado es 20.
Puede escribir cdigo ActionScript para controlar stas y otras opciones del componente Tree utilizando sus propiedades, mtodos y eventos. Para ms informacin, consulte Clase Tree en la pgina 1372. No se pueden especificar parmetros de datos en el inspector de propiedades ni en el inspector de componentes para el componente Tree, como se puede hacer con otros componentes. Para ms informacin, consulte Utilizacin del componente Tree en la pgina 1358 y Creacin de aplicaciones con el componente Tree en la pgina 1360.
1360
Componente Tree
Seleccione Archivo > Nuevo y, a continuacin, Archivo Flash (ActionScript 2.0). Guarde el documento como treeMenu.fla. En el panel Componentes, haga doble clic en el componente Tree para aadirlo al escenario. Seleccione la instancia de Tree. En el inspector de propiedades, introduzca el nombre de instancia menuTree. Seleccione la instancia de Tree y presione F8. Seleccione Clip de pelcula e introduzca el nombre TreeNavMenu. Si no se muestra la vista avanzada, haga clic en el botn Avanzado. Seleccione Exportar para ActionScript. Escriba TreeNavMenu en el cuadro de texto Clase y haga clic en Aceptar. Seleccione Archivo > Nuevo y, a continuacin, Archivo ActionScript. el archivo como TreeNavMenu.as en el mismo directorio donde se encuentra treeMenu.fla. En la ventana Script, introduzca el siguiente cdigo:
import mx.controls.Tree; class TreeNavMenu extends MovieClip { var menuXML:XML; var menuTree:Tree; function TreeNavMenu() { // Configurar el aspecto del rbol y de los controladores de // eventos. menuTree.setStyle("fontFamily", "_sans"); menuTree.setStyle("fontSize", 12); // Cargar el men XML. var treeNavMenu = this; menuXML = new XML(); menuXML.ignoreWhite = true; menuXML.load("TreeNavMenu.xml"); menuXML.onLoad = function() { treeNavMenu.onMenuLoaded(); }; } function change(event:Object) { if (menuTree == event.target) { var node = menuTree.selectedItem; // Si es una rama, expandirla o contraerla. if (menuTree.getIsBranch(node)) { menuTree.setIsOpen(node, !menuTree.getIsOpen(node), true); } // Si es un hipervnculo, saltar a l.
4.
5.
6. 7. 8. 9.
10. Guarde
11.
1361
var url = node.attributes.url; if (url) { getURL(url, "_top"); } // Borrar cualquier seleccin. menuTree.selectedNode = null; } } function onMenuLoaded() { menuTree.dataProvider = menuXML.firstChild; menuTree.addEventListener("change", this); } }
Este cdigo ActionScript configura los estilos del rbol. Se crea un objeto XML para cargar el archivo XML que crea los nodos del rbol. A continuacin, se define el controlador de eventos onLoad para establecer como proveedor de datos el contenido del archivo XML.
12. Cree 13.
14. Guarde los documentos y vuelva a treeMenu.fla. Seleccione Control > Probar pelcula para
probar la aplicacin.
1362
Componente Tree
Seleccione Archivo > Nuevo y, a continuacin, Archivo Flash (ActionScript 2.0). Arrastre una instancia del componente Tree al escenario. Seleccione la instancia de Tree. En el inspector de propiedades, introduzca el nombre de instancia myTree. En el panel Acciones del fotograma 1, introduzca el cdigo siguiente:
var myTreeDP:XML = new XML(); myTreeDP.ignoreWhite = true; myTreeDP.load("treeXML.xml"); myTreeDP.onLoad = function() { myTree.dataProvider = this.firstChild; }; var treeListener:Object = new Object(); treeListener.change = function(evt:Object) { trace("selected node is: "+evt.target.selectedNode); trace(""); }; myTree.addEventListener("change", treeListener);
4.
Este cdigo crea un objeto XML denominado myTreeDP y llama al mtodo XML.load() para cargar un origen de datos XML. A continuacin, el cdigo define un controlador de eventos onLoad que establece la propiedad dataProvider de la instancia myTree en el nuevo objeto XML cuando se carga XML. Para ms informacin sobre el objeto XML, consulte su entrada en Referencia del lenguaje ActionScript 2.0.
5. 6.
Cree un nuevo archivo denominado treeXML.xml en un editor de texto. Introduzca el cdigo siguiente en el archivo:
<node> <node label="Mail"> <node label="INBOX"/> <node label="Personal Folder"> <node label="Business" isBranch="true" /> <node label="Demo" isBranch="true" /> <node label="Personal" isBranch="true" /> <node label="Saved Mail" isBranch="true" /> <node label="bar" isBranch="true" /> </node> <node label="Sent" isBranch="true" /> <node label="Trash"/> </node> </node>
7.
Seleccione Control > Probar pelcula. En el archivo SWF, puede visualizar la estructura de XML que se muestra en el rbol. Haga clic en los elementos del rbol para ver cmo las sentencias trace() del controlador de eventos change envan los valores de datos al panel Salida.
Utilizacin del componente Tree 1363
Para utilizar la clase TreeDataProvider para crear XML en Flash durante la edicin:
1. 2. 3.
Seleccione Archivo > Nuevo y, a continuacin, Archivo Flash (ActionScript 2.0). Arrastre una instancia del componente Tree al escenario. Seleccione la instancia de Tree e introduzca en el inspector de propiedades el nombre de instancia myTree. En el panel Acciones del fotograma 1, introduzca el cdigo siguiente:
var myTreeDP:XML = new XML(); myTreeDP.addTreeNode("Local Folders", 0); // Utilizar XML.firstChild para anidar nodos secundarios en Local // Folders. var myTreeNode:XMLNode = myTreeDP.firstChild; myTreeNode.addTreeNode("Inbox", 1); myTreeNode.addTreeNode("Outbox", 2); myTreeNode.addTreeNode("Sent Items", 3); myTreeNode.addTreeNode("Deleted Items", 4); // Asignar el origen de datos myTreeDP al componente myTree. myTree.dataProvider = myTreeDP; // Configurar cada uno de los cuatro nodos secundarios para que sean // ramas. for (var i = 0; i<myTreeNode.childNodes.length; i++) { var node:XMLNode = myTreeNode.getTreeNodeAt(i); myTree.setIsBranch(node, true); }
4.
Este cdigo crea un objeto XML denominado myTreeDP. Cualquier objeto XML que se encuentre en el mismo fotograma que un componente Tree recibe automticamente todas las propiedades y los mtodos de la interfaz TreeDataProvider. La segunda lnea de cdigo crea un nico nodo raz denominado Local Folders. Para obtener informacin detallada sobre el resto del cdigo, vea los comentarios (lneas precedidas por //) que se encuentran en todo el cdigo.
5.
Seleccione Control > Probar pelcula. En el archivo SWF, puede visualizar la estructura de XML que se muestra en el rbol. Haga clic en los elementos del rbol para ver cmo las sentencias trace() del controlador de eventos change envan los valores de datos al panel Salida.
1364
Componente Tree
Seleccione Archivo > Nuevo y, a continuacin, Archivo Flash (ActionScript 2.0). Arrastre una instancia del componente Tree al escenario. Seleccione la instancia de Tree. En el inspector de propiedades, introduzca el nombre de instancia myTree. En el panel Acciones del fotograma 1, introduzca el cdigo siguiente:
// Crear un objeto XML. var myTreeDP:XML = new XML(); // Crear los valores de nodo. var myNode0:XMLNode = myTreeDP.createElement("node"); myNode0.attributes.label = "Local Folders"; myNode0.attributes.data = 0; var myNode1:XMLNode = myTreeDP.createElement("node"); myNode1.attributes.label = "Inbox"; myNode1.attributes.data = 1; var myNode2:XMLNode = myTreeDP.createElement("node"); myNode2.attributes.label = "Outbox"; myNode2.attributes.data = 2; var myNode3:XMLNode = myTreeDP.createElement("node"); myNode3.attributes.label = "Sent Items"; myNode3.attributes.data = 3; var myNode4:XMLNode = myTreeDP.createElement("node"); myNode4.attributes.label = "Deleted Items"; myNode4.attributes.data = 4; // Asignar nodos a la jerarqua del rbol XML. myTreeDP.appendChild(myNode0); myTreeDP.firstChild.appendChild(myNode1); myTreeDP.firstChild.appendChild(myNode2); myTreeDP.firstChild.appendChild(myNode3); myTreeDP.firstChild.appendChild(myNode4); // Asignar el origen de datos myTreeDP al componente Tree. myTree.dataProvider = myTreeDP;
4.
Para ms informacin sobre el objeto XML, consulte su entrada en Referencia del lenguaje ActionScript 2.0.
5.
Seleccione Control > Probar pelcula. En el archivo SWF, puede visualizar la estructura de XML que se muestra en el rbol. Haga clic en los elementos del rbol para ver cmo las sentencias trace() del controlador de eventos change envan los valores de datos al panel Salida.
1365
Para utilizar una cadena bien formada que permita crear XML en Flash durante la edicin:
1. 2. 3.
Seleccione Archivo > Nuevo y, a continuacin, Archivo Flash (ActionScript 2.0). Arrastre una instancia del componente Tree al escenario. Seleccione la instancia de Tree. En el inspector de propiedades, introduzca el nombre de instancia myTree. En el panel Acciones del fotograma 1, introduzca el cdigo siguiente:
var myTreeDP:XML = new XML("<node label='Local Folders'><node label='Inbox' data='0'/><node label='Outbox' data='1'/></node>"); myTree.dataProvider = myTreeDP;
4.
Este cdigo crea el objeto XML myTreeDP y lo asigna a la propiedad dataProvider de myTree.
5.
Seleccione Control > Probar pelcula. En el archivo SWF, puede visualizar la estructura de XML que se muestra en el rbol. Haga clic en los elementos del rbol para ver cmo las sentencias trace() del controlador de eventos change envan los valores de datos al panel Salida.
Tema
Halo
Descripcin
Esquema de colores base de un componente. Los valores posibles son haloGreen, haloBlue y haloOrange. El valor predeterminado es haloGreen. Color de fondo de la lista. El color predeterminado es blanco y se define en la declaracin de estilo de clase. Este estilo se omite si se especifica alternatingRowColors.
backgroundColor
Ambos
1366
Componente Tree
Estilo
backgroundDisabledColor
Tema
Ambos
Descripcin
Color de fondo cuando el valor de la propiedad enabled del componente es false. El valor predeterminado es 0xDDDDDD (gris medio). Establece los colores de fondo de las filas basndose en la profundidad de cada nodo. El valor es una matriz de colores cuyo primer elemento es el color de fondo del nodo raz, cuyo segundo elemento es el color de fondo de sus nodos secundarios, y as sucesivamente, hasta completar el nmero de colores proporcionados por la matriz. Esta propiedad de estilo no se establece de forma predeterminada. El componente Tree utiliza una instancia de RectBorder como borde y responde a los estilos definidos en dicha clase. Consulte Clase RectBorder en la pgina 1145. El estilo de borde predeterminado es inset.
depthColors
Ambos
borderStyle
Ambos
color disabledColor
Ambos Ambos
Color del texto. Color del texto cuando el componente est desactivado. El color predeterminado es 0x848384 (gris oscuro). Valor booleano que indica si la fuente especificada en
fontFamily es una fuente incorporada. Este estilo
embedFonts
Ambos
debe definirse como true si fontFamily hace referencia a una fuente incorporada. De lo contrario, no se utiliza la fuente incorporada. Si el estilo se define como true y fontFamily no hace referencia a una fuente incorporada, no se muestra ningn texto. El valor predeterminado es false.
fontFamily
Nombre de la fuente del texto. El valor predeterminado es _sans. Tamao de la fuente en puntos. El valor predeterminado es 10. Estilo de la fuente: puede ser normal o italic. El valor predeterminado es normal.
fontSize
fontStyle
1367
Estilo
fontWeight
Tema
Ambos
Descripcin
Grosor de la fuente: puede ser none o bold. El valor predeterminado es none. Todos los componentes pueden aceptar adems el valor normal en lugar de none durante una llamada a setStyle(), pero las llamadas posteriores a getStyle() devolvern none. Alineacin del texto: puede ser left, right o
center. El valor predeterminado es left.
textAlign
textDecoration
Decoracin del texto: puede ser none o underline. El valor predeterminado es none. Nmero que indica la sangra del texto. El valor predeterminado es 0. Icono que se muestra en un control de rbol para los nodos hoja cuando no se especifica ningn icono para un nodo determinado. El valor predeterminado es TreeNodeIcon, que es una imagen que representa un pedazo de papel. Icono que se muestra junto a un nodo de carpeta cerrada en un componente Tree. El valor predeterminado es TreeDisclosureClosed, que es una flecha gris que seala hacia la derecha. Icono que se muestra junto a un nodo de carpeta abierta en un componente Tree. El valor predeterminado es TreeDisclosureOpen, que es una flecha gris que seala hacia abajo. Icono que se muestra para un nodo de carpeta cerrada en un componente Tree si no se establece ningn icono especfico del nodo. El valor predeterminado es TreeFolderClosed, que es una imagen de carpeta de archivos cerrada, de color amarillo. Icono que se muestra para un nodo de carpeta abierta en un componente Tree si no se establece ningn icono especfico del nodo. El valor predeterminado es TreeFolderOpen, que es una imagen de carpeta de archivos abierta, de color amarillo. Nmero de pxeles de la sangra de cada fila de un componente Tree. El valor predeterminado es 17.
textIndent
defaultLeafIcon
disclosureClosedIcon
Ambos
disclosureOpenIcon
Ambos
folderClosedIcon
Ambos
folderOpenIcon
Ambos
indentation
Ambos
1368
Componente Tree
Estilo
openDuration
Tema
Ambos Ambos
Descripcin
Duracin, en milisegundos, de las animaciones para expandir y contraer. El valor predeterminado es 250. Referencia a una funcin de interpolacin que controla las animaciones para expandir y contraer. De forma predeterminada es una funcin sinusoidal entrante/saliente. Para ms informacin, consulte Personalizacin de animaciones de componentes en Utilizacin de componentes ActionScript 2.0. Nmero de milisegundos de demora entre el momento en que el usuario presiona por primera vez un botn en la barra de desplazamiento y el momento en que comienza a repetirse la accin. El valor predeterminado es 500 (medio segundo). Nmero de milisegundos entre clics automticos cuando un usuario mantiene presionado el botn del ratn sobre un botn de la barra de desplazamiento. El valor predeterminado es 35. Color de fondo de una fila por la que se desplaza el puntero. El valor predeterminado es 0xE3FFD6 (verde brillante) con el tema Halo y 0xAAAAAA (gris claro) con el tema Sample. Cuando se cambia themeColor en una llamada a setStyle(), el marco establece rollOverColor en un valor relacionado con el valor de themeColor elegido.
openEasing
repeatDelay
Ambos
repeatInterval
Ambos
rollOverColor
Ambos
selectionColor
Ambos
Color de fondo de una fila seleccionada. El valor predeterminado es 0xCDFFC1 (verde claro) con el tema Halo y 0xEEEEEE (gris muy claro) con el tema Sample. Cuando se cambia themeColor en una llamada a setStyle(), el marco establece selectionColor en un valor relacionado con el valor de themeColor elegido.
selectionDuration
Ambos
Longitud de la transicin desde un estado normal a un estado seleccionado o viceversa, en milisegundos. El valor predeterminado es 200.
1369
Estilo
selectionDisabledColor
Tema
Ambos
Descripcin
Color de fondo de una fila seleccionada. El valor predeterminado es 0xDDDDDD (gris medio). Como el valor predeterminado de esta propiedad coincide con el valor predeterminado de backgroundDisabledColor, la seleccin no es visible cuando se desactiva el componente, a menos que se cambie una de estas propiedades de estilo. Referencia a la ecuacin de suavizado que se utiliza para controlar la transicin entre los estados de seleccin. Se aplica nicamente a la transicin de un estado normal a un estado seleccionado. La ecuacin predeterminada usa una funcin sinusoidal entrante/saliente. Para ms informacin, consulte Personalizacin de animaciones de componentes en Utilizacin de componentes ActionScript 2.0. Color del texto cuando el puntero se desplaza sobre l. El valor predeterminado es 0x2B333C (gris oscuro). Este estilo es importante cuando se establece rollOverColor porque ambos colores deben complementarse para que el texto pueda verse con claridad al desplazar el puntero sobre l. Color del texto de la fila seleccionada. El valor predeterminado es 0x005F33 (gris oscuro). Este estilo es importante cuando se establece selectionColor porque ambos colores deben complementarse para que el texto pueda verse con claridad cuando se selecciona. Determina si el resaltado se activa cuando el puntero se desplaza sobre una fila. El valor predeterminado es true.
selectionEasing
Ambos
textRollOverColor
Ambos
textSelectedColor
Ambos
useRollOver
Ambos
1370
Componente Tree
Por ejemplo, el siguiente cdigo crear una instancia first_tr de Tree mediante UIObject.createClassObject(), llena el rbol mediante un proveedor de datos y utiliza UIObject.setStyle() para cambiar el sangrado de los nodos del rbol por 8 pxeles. Arrastre un componente Tree a la biblioteca del documento actual y aada lo siguiente al primer fotograma de la lnea de tiempo principal:
import mx.controls.Tree; this.createClassObject(Tree, "first_tr", 20); first_tr.setSize(200, 100); first_tr.move(0, 120); var trDP_xml:XML = new XML("<node label='1st Local Folder'><node label='Inbox' data='0'/><node label='Outbox' data='1'/><node label='2nd Local Folder'><node label='Inbox' data='0'/><node label='Outbox' data='1'/></node></node>"); first_tr.dataProvider = trDP_xml; first_tr.setStyle("indentation", 8);
Para definir una propiedad de estilo slo en el componente Tree, puede crear una nueva instancia CSSStyleDeclaration y almacenarla en _global.styles.DataGrid.
import mx.styles.CSSStyleDeclaration; if (_global.styles.Tree == undefined) { _global.styles.Tree = new CSSStyleDeclaration(); } _global.styles.Tree.setStyle("backgroundColor", 0xFF00AA);
1371
Cuando se crea una nueva declaracin de estilo de clase, se pierden todos los valores predeterminados proporcionados por la declaracin ScrollSelectList. Entre ellos, el valor de backgroundColor, necesario para la compatibilidad con eventos de ratn. Para crear una declaracin de estilo de clase y conservar los valores predeterminados, utilice un bucle for para copiar los valores anteriores a la nueva declaracin.
var source = _global.styles.ScrollSelectList; var target = _global.styles.Tree; for (var style in source) { target.setStyle(style, source.getStyle(style)); }
Clase Tree
Herencia MovieClip > Clase UIObject > Clase UIComponent > View > ScrollView > ScrollSelectList > Componente List > Tree Nombre de clase de ActionScript
mx.controls.Tree
Los mtodos, propiedades y eventos de la clase Tree permiten administrar y manipular objetos Tree.
Descripcin
Aade un nodo a una instancia de Tree. Aade un nodo en una ubicacin especfica de una instancia de Tree. Devuelve el ndice de visualizacin de un nodo determinado. Especifica si la carpeta es una rama (cuenta con un icono de carpeta y una flecha de ampliacin). Indica si un nodo est abierto o cerrado.
Tree.getDisplayIndex() Tree.getIsBranch()
Tree.getIsOpen()
1372
Componente Tree
Mtodo
Tree.getNodeDisplayedAt()
Descripcin
Asigna un ndice de visualizacin del rbol al nodo que se muestra en esa posicin. Devuelve un nodo en la raz del rbol. Actualiza el rbol. Elimina todos los nodos de la instancia de Tree y actualiza el rbol. Elimina un nodo en una posicin especfica y actualiza el rbol. Especifica un icono para el nodo especificado. Especifica si un nodo es una rama (cuenta con un icono de carpeta y una flecha de ampliacin). Abre o cierra un nodo.
Tree.removeTreeNodeAt()
Tree.setIcon() Tree.setIsBranch()
Tree.setIsOpen()
UIObject.getStyle()
UIObject.invalidate()
UIObject.move() UIObject.redraw()
Clase Tree
1373
Descripcin
Devuelve una referencia al objeto seleccionado. Define la seleccin en la instancia de componente.
Descripcin
Aade un elemento al final de la lista. Aade un elemento a la lista en el ndice especificado. Con el componente Tree, es preferible utilizar Tree.addTreeNodeAt(). Devuelve el elemento del ndice especificado. Elimina todos los elementos de la lista. Elimina el elemento en el ndice especificado. Sustituye por otro el elemento del ndice especificado. Aplica las propiedades especificadas al elemento especificado. Ordena los elementos de la lista segn la funcin de comparacin especificada. Ordena los elementos de la lista segn la propiedad especificada.
List.sortItems()
List.sortItemsBy()
1374
Componente Tree
Descripcin
Especifica un origen de datos XML. Especifica el primer nodo en la parte superior de la pantalla. Especifica el nodo seleccionado en una instancia de Tree. Especifica los nodos seleccionados en una instancia de Tree.
Descripcin
Slo lectura; posicin del borde inferior del objeto con respecto al borde inferior de su elemento principal correspondiente. Slo lectura; altura del objeto, expresada en pxeles. Slo lectura; borde izquierdo del objeto, expresado en pxeles. Slo lectura; posicin del borde derecho del objeto con respecto al borde derecho de su elemento principal correspondiente. Nmero que indica el factor de escala en la direccin x del objeto con respecto a su elemento principal correspondiente. Nmero que indica el factor de escala en la direccin y del objeto con respecto a su elemento principal correspondiente. Slo lectura; posicin del borde superior del objeto con respecto a su elemento principal correspondiente. Valor booleano que indica si el objeto es visible (true) o no (false). Slo lectura; anchura del objeto, expresada en pxeles. Slo lectura; borde izquierdo del objeto, expresado en pxeles. Slo lectura; borde superior del objeto, expresado en pxeles.
UIObject.height UIObject.left
UIObject.right
UIObject.scaleX
UIObject.scaleY
UIObject.top
UIObject.visible
UIObject.width UIObject.x
UIObject.y
Clase Tree
1375
Descripcin
Indica si el componente puede recibir selecciones y entradas. Nmero que indica el orden de tabulacin para un componente de un documento.
Descripcin
Asigna la clase o el smbolo que se va utilizar para mostrar cada fila de la lista. Origen de los elementos de la lista. Posicin horizontal de la lista. Indica si la barra de desplazamiento horizontal se muestra (on) o no (off). Campo de cada elemento que se utiliza para especificar iconos. Funcin que determina qu icono se debe utilizar. Especifica el campo de cada elemento que se utilizar como texto de etiqueta. Funcin que determina qu campos de cada elemento se utilizarn para el texto de etiqueta. Nmero de elementos de la lista. Es una propiedad de slo lectura. Nmero de pxeles que la lista puede desplazarse a la derecha cuando List.hScrollPolicy est definida en on. Indica si en la lista se permite la seleccin mltiple (true) o no (false).
List.iconField
List.iconFunction List.labelField
List.labelFunction
List.length
List.maxHPosition
List.multipleSelection
1376
Componente Tree
Propiedad
List.rowCount
Descripcin
Nmero de filas que son al menos parcialmente visibles en la lista. Altura de las filas de la lista, expresada en pxeles. Indica si la lista es seleccionable (true) o no (false). ndice de una seleccin en una lista de seleccin nica. Matriz de los elementos seleccionados en una lista de seleccin mltiple. Elemento seleccionado en una lista de seleccin nica. Es una propiedad de slo lectura. Objetos del elemento seleccionado en una lista de seleccin mltiple. Es una propiedad de slo lectura. Desplaza la lista para que el elemento visible en la parte superior sea el nmero asignado. Indica si la barra de desplazamiento vertical se muestra (on), no se muestra (off) o se muestra cuando es necesario (auto).
List.selectedItem
List.selectedItems
List.vPosition
List.vScrollPolicy
Descripcin
Se difunde cuando un usuario cierra un nodo. Se difunde cuando un usuario abre un nodo.
Descripcin
Se difunde cuando un objeto est a punto de dibujar sus grficos. Se difunde cuando el estado de un objeto pasa de ser visible a invisible. Se difunde cuando se crean subobjetos. Se difunde cuando se mueve el objeto.
UIObject.hide
UIObject.load UIObject.move
Clase Tree
1377
Evento
UIObject.resize UIObject.reveal
Descripcin
Se difunde cuando cambia el tamao de un objeto. Se difunde cuando el estado de un objeto pasa de ser invisible a visible. Se difunde durante la descarga de los subobjetos.
UIObject.unload
Descripcin
Se difunde cuando se selecciona un objeto. Se difunde cuando un objeto deja de seleccionarse. Se difunde cuando se presiona una tecla. Se difunde cuando se suelta una tecla.
Descripcin
Se difunde cuando la interaccin del usuario provoca un cambio en la seleccin. Se difunde cuando el puntero se desplaza sobre elementos de la lista y despus sale de ellos. Se difunde cuando el puntero se desplaza sobre un elemento. Se difunde cuando se recorre la lista.
List.itemRollOut
List.itemRollOver
List.scroll
1378
Componente Tree
Tree.addTreeNode()
Disponibilidad
Sintaxis 1:
treeInstance.addTreeNode(label [, data])
Sintaxis 2:
treeInstance.addTreeNode(child)
Parmetros
Cadena que muestra el nodo o un objeto con un campo de etiqueta (o con cualquier nombre de campo de etiqueta que especifique la propiedad labelField).
label data child
Objeto de cualquier tipo que est asociado con el nodo. Este parmetro es opcional. Cualquier objeto XMLNode.
Valor devuelto
Mtodo; aade un nodo secundario al rbol. El nodo se crea a partir de la informacin proporcionada en los parmetros label y data (Sintaxis 1) o a partir del nodo secundario creado previamente, que es un objeto XMLNode (Sintaxis 2). Si se aade un nodo que ya exista, ste se elimina de su ubicacin anterior. Al llamar a este mtodo se actualiza la vista.
Tree.addTreeNode()
1379
Ejemplo
En el siguiente ejemplo, se crean dos componentes Tree con un nodo para cada uno, 1st y 2nd Local Folders, respectivamente. A continuacin, se aade el nodo (2nd Local Folders) del segundo componente Tree al primero y, adems, se aade un nuevo nodo denominado Inbox.
Local Folders
Primero debe aadir el componente a la biblioteca de documentos; para ello, arrastre un componente Tree al escenario y elimnelo a continuacin. Luego aada el siguiente cdigo al fotograma 1.
S U G E R E N CI A 1380
Realice primero el ejemplo sin las dos sentencias addTreeNode() finales; a continuacin, intente realizar el ejemplo completo.
/** Se requiere: - Componente Tree en biblioteca */ import mx.controls.Tree; this.createClassObject(Tree, "first_tr", 10); first_tr.setSize(200, 100); this.createClassObject(Tree, "second_tr", 20); second_tr.setSize(200, 100); second_tr.move(0, 120); var trDP_xml:XML = new XML("<node label='1st Local Folders'><node label='Inbox' data='0'/><node label='Outbox' data='1'/></node>"); first_tr.dataProvider = trDP_xml; var trDP2_xml:XML = new XML("<node label='2nd Local Folders'><node label='Outbox' data='0'/><node label='Outbox' data='1'/></node>"); second_tr.dataProvider = trDP2_xml; // Aadir el nodo de second_tr a first_tr. first_tr.addTreeNode(second_tr.getTreeNodeAt(0)); // Aadir nodo a first_tr. first_tr.addTreeNode("Inbox", "data");
Componente Tree
Tree.addTreeNodeAt()
Disponibilidad
Sintaxis 1:
treeInstance.addTreeNodeAt(index, label [, data])
Sintaxis 2:
treeInstance.addTreeNodeAt(index, child)
Parmetros
Posicin de ndice basado en cero (entre los nodos secundarios) en la que debe aadirse el nodo.
index label data child
Cadena que contiene el nombre del nodo que se va a aadir. Objeto de cualquier tipo que est asociado con el nodo. Este parmetro es opcional. Cualquier objeto XMLNode.
Valor devuelto
Mtodo; aade un nodo a la ubicacin especificada del rbol. El nodo se crea a partir de la informacin proporcionada en los parmetros label y data (Sintaxis 1) o a partir del objeto XMLNode creado previamente (Sintaxis 2). Si se aade un nodo que ya exista, ste se elimina de su ubicacin anterior. Al llamar a este mtodo se actualiza la vista.
Tree.addTreeNodeAt()
1381
Ejemplo
En el siguiente ejemplo, se crean dos componentes Tree con un nodo cada uno: 1st Local Folders y 2nd Local Folders, respectivamente. Se utiliza la primera sintaxis de addTreeNodeAt() para aadir un nuevo nodo, Inbox, al primero componente Tree. A continuacin, se utiliza la segunda sintaxis de addTreeNodeAt() para aadir el primer nodo ((getTreeNodeAt(0)) del segundo componente Tree al primero. Primero debe aadir el componente a la biblioteca de documentos; para ello, arrastre un componente Tree al escenario y elimnelo a continuacin. Luego aada el siguiente cdigo al fotograma 1.
S UG E R E NC I A 1382
Realice primero el ejemplo sin las dos sentencias addTreeNodeAt() finales; a continuacin, intente realizar el ejemplo completo.
/** Se requiere: - Componente Tree en biblioteca */ import mx.controls.Tree; this.createClassObject(Tree, "first_tr", 10); first_tr.setSize(200, 100); this.createClassObject(Tree, "second_tr", 20); second_tr.setSize(200, 100); second_tr.move(0, 120); var trDP_xml:XML = new XML("<node label='1st Local Folders'><node label='Inbox' data='0'/><node label='Outbox' data='1'/></node>"); first_tr.dataProvider = trDP_xml; var trDP2_xml:XML = new XML("<node label='2nd Local Folders'><node label='Outbox' data='0'/><node label='Outbox' data='1'/></node>"); second_tr.dataProvider = trDP2_xml; // Aadir nodo a first_tr. first_tr.addTreeNodeAt(1, "Inbox", "data"); // Aadir el nodo de second_tr a first_tr. first_tr.addTreeNodeAt(2, second_tr.getTreeNodeAt(0));
Componente Tree
Tree.dataProvider
Disponibilidad
Descripcin
Propiedad; XML o una cadena. Si dataProvider es un objeto XML, se aade directamente al rbol. Si dataProvider es una cadena, debe contener XML vlido que el rbol pueda leer y convertir en un objeto XML. Puede cargar XML desde un origen externo en tiempo de ejecucin o crearlo en Flash durante la edicin. Para crear XML, puede utilizar los mtodos de TreeDataProvider o los mtodos y las propiedades de la clase XML de ActionScript incorporados. Tambin puede crear una cadena que contenga XML. Los objetos XML que se encuentran en el mismo fotograma que un componente Tree contienen automticamente los mtodos y las propiedades de TreeDataProvider. Puede utilizar el objeto XML o XMLNode de ActionScript.
Ejemplo
En el siguiente ejemplo, se utiliza la propiedad dataProvider para aadir el contenido de un archivo XML a la instancia my_tr del componente Tree: Primero debe aadir una instancia del componente Tree al escenario y denominarla my_tr; a continuacin, aada el siguiente cdigo al fotograma 1.
/** Se requiere: - Componente Tree en el escenario (nombre de instancia: my_tr) */ var my_tr:mx.controls.Tree; my_tr.setSize(200, 100); var trDP_xml:XML = new XML(); trDP_xml.ignoreWhite = true; trDP_xml.onLoad = function(success:Boolean){ my_tr.dataProvider = trDP_xml.firstChild;
Tree.dataProvider
1383
} trDP_xml.load("http://www.flash-mx.com/mm/xml/tree.xml");
N OT A 1384
La mayora de archivos XML contienen espacios en blanco. Para que Flash omita los espacios en blanco, debe definirse la propiedad XML.ignoreWhite en true.
Tree.firstVisibleNode
Disponibilidad
Descripcin
Propiedad; indica el primer nodo visible en la parte superior de la visualizacin del rbol. Utilice esta propiedad para desplazarse hasta la posicin que se desee en la visualizacin del rbol. Si el nodo especificado someNode se encuentra en un nodo que no se ha ampliado, la definicin de firstVisibleNode no tiene ningn efecto. El valor predeterminado es el primer nodo visible o undefined, en el caso de que no haya ningn nodo visible. El valor de esta propiedad es un objeto XMLNode. Esta propiedad es anloga a la propiedad List.vPosition.
Ejemplo
En el siguiente ejemplo, se llena un componente Tree denominado my_tr con seis nodos que crea al componente a partir de una cadena de texto XML. Para que el ltimo nodo sea visible en el componente Tree, se asigna el ltimo nodo (posicin relativa 5) a la propiedad firstVisibleNode. Para hacer que otros nodos sean visibles, cambie el 5 por otros valores de 0 a 4.
Componente Tree
Primero debe aadir una instancia del componente Tree al escenario y denominarla my_tr; a continuacin, aada el siguiente cdigo al fotograma 1.
/** Se requiere: - Componente Tree en el escenario (nombre de instancia: my_tr) */ var my_tr:mx.controls.Tree; my_tr.setSize(200, 100); var trDP_xml:XML = new XML("<node label='1st Local Folders'><node label='Inbox' data='0' /><node label='Outbox' data='1' /></node><node label='2nd Local Folders'><node label='Inbox' data='0' /><node label='Outbox' data='1' /></node><node label='3rd Local Folders'><node label='Inbox' data='0' /><node label='Outbox' data='1' /></node><node label='4th Local Folders'><node label='Inbox' data='0' /><node label='Outbox' data='1' /></node><node label='5th Local Folders'><node label='Inbox' data='0' /><node label='Outbox' data='1' /></node><node label='6th Local Folders'><node label='Inbox' data='0' /><node label='Outbox' data='1' /></node>"); my_tr.dataProvider = trDP_xml; // Definir ltimo nodo como nodo visible. my_tr.firstVisibleNode = my_tr.getTreeNodeAt(5);
Tree.getDisplayIndex()
Disponibilidad
Parmetros
node
Objeto XMLNode.
Valor devuelto
El ndice del nodo especificado o undefined si el nodo no se est mostrando en ese momento.
Tree.getDisplayIndex()
1385
Descripcin
Mtodo; devuelve el ndice de visualizacin del nodo especificado en el parmetro node. El ndice de visualizacin indica la posicin del elemento en la lista de elementos visibles en la ventana del rbol. Por ejemplo, ningn nodo secundario de un nodo cerrado se incluye en el ndice de visualizacin. La lista de ndices de visualizacin empieza por 0 y sigue por los elementos visibles independientemente de su nodo principal. En otras palabras, el ndice es el nmero de fila, empezando por 0, de las filas visualizadas.
Ejemplo
En el siguiente ejemplo, se aaden seis nodos a un componente Tree y se llama a getDisplayIndex() para visualizar la posicin del nodo que selecciona el usuario. Primero debe aadir una instancia del componente Tree al escenario y denominarla my_tr; a continuacin, aada el siguiente cdigo al fotograma 1.
/** Se requiere: - Componente Tree en el escenario (nombre de instancia: my_tr) */ var my_tr:mx.controls.Tree; my_tr.setSize(200, 140); var trDP_xml:XML = new XML("<node label='1st Local Folders'><node label='Inbox' data='0' /><node label='Outbox' data='1' /></node><node label='2nd Local Folders'><node label='Inbox' data='0' /><node label='Outbox' data='1' /></node><node label='3rd Local Folders'><node label='Inbox' data='0' /><node label='Outbox' data='1' /></node><node label='4th Local Folders'><node label='Inbox' data='0' /><node label='Outbox' data='1' /></node><node label='5th Local Folders'><node label='Inbox' data='0' /><node label='Outbox' data='1' /></node><node label='6th Local Folders'><node label='Inbox' data='0' /><node label='Outbox' data='1' /></node>"); my_tr.dataProvider = trDP_xml; my_tr.firstVisibleNode = my_tr.getTreeNodeAt(0); my_tr.addEventListener("change", listChanged); function listChanged(evt_obj:Object) { trace(my_tr.getDisplayIndex(evt_obj.target.selectedNode)); }
1386
Componente Tree
Tree.getIsBranch()
Disponibilidad
Parmetros
node
Objeto XMLNode.
Valor devuelto
Mtodo; indica si el nodo especificado cuenta con un icono de carpeta y una flecha de ampliacin (por tanto, es una rama). Esto se establece de forma automtica al aadir nodos secundarios al nodo. Slo debe llamar a Tree.setIsBranch() para crear carpetas vacas.
Ejemplo
En el siguiente ejemplo, se crean dos nodos en un componente Tree y se llama a isBranch() para determinar si el segundo nodo es una rama. Primero debe aadir una instancia del componente Tree al escenario y denominarla my_tr; a continuacin, aada el siguiente cdigo al fotograma 1.
/** Se requiere: - Componente Tree en el escenario (nombre de instancia: my_tr) */ var my_tr:mx.controls.Tree; my_tr.setSize(200, 100); var trDP_xml:XML = new XML("<node label='1st Local Folders'><node label='Inbox' data='0' /><node label='Outbox' data='1' /></node><node label='2nd Local Folders'><node label='Inbox' data='2' /><node label='Outbox' data='3' /></node>"); my_tr.dataProvider = trDP_xml; var isBranch:Boolean = my_tr.getIsBranch(my_tr.getTreeNodeAt(1)); trace("2nd node is a branch: " + isBranch);
Vase tambin
Tree.setIsBranch()
Tree.getIsBranch() 1387
Tree.getIsOpen()
Disponibilidad
Parmetros
node
Objeto XMLNode.
Valor devuelto
Valor booleano que indica si el rbol est abierto (true) o cerrado (false).
Descripcin
Los ndices de visualizacin cambian cada vez que los nodos se abren y se cierran.
Ejemplo
En el siguiente ejemplo, se aaden dos nodos a un componente Tree denominado my_tr, se abre el segundo nodo y, a continuacin, se llama a getIsOpen() para visualizar el estado del segundo nodo. Primero debe aadir una instancia del componente Tree al escenario y denominarla my_tr; a continuacin, aada el siguiente cdigo al fotograma 1.
/** Se requiere: - Componente Tree en el escenario (nombre de instancia: my_tr) */ var my_tr:mx.controls.Tree; my_tr.setSize(200, 100); var trDP_xml:XML = new XML("<node label='1st Local Folders'><node label='Inbox' data='0'/><node label='Outbox' data='1'/></node><node label='2nd Local Folders'><node label='Inbox' data='2'/><node label='Outbox' data='3'/></node>"); my_tr.dataProvider = trDP_xml; my_tr.setIsOpen(my_tr.getTreeNodeAt(1), true); var isOpen:Boolean = my_tr.getIsOpen(my_tr.getTreeNodeAt(1)); trace("2nd node is a open: " + isOpen);
Componente Tree
Tree.getNodeDisplayedAt()
Disponibilidad
Parmetros
index
Entero que representa la posicin de visualizacin en el rea visualizable del rbol. La serie de nmeros est basada en cero; el nodo de la primera posicin es 0, la segunda posicin es 1, etc.
Valor devuelto
Mtodo; asigna un ndice de visualizacin del rbol al nodo que se muestra en esa posicin. Por ejemplo, si la quinta fila del rbol muestra un nodo que se encuentra en el octavo nivel de la jerarqua, dicho nodo se devolver mediante una llamada a getNodeDisplayedAt(4). El ndice de visualizacin es una matriz de elementos que se pueden visualizar en la ventana del rbol. Por ejemplo, ningn nodo secundario de un nodo cerrado se incluye en el ndice de visualizacin. El ndice de visualizacin empieza por 0 y sigue por los elementos visibles independientemente de su nodo principal. En otras palabras, el ndice de visualizacin es el nmero de fila, empezando por 0, de las filas visualizadas.
NO T A
Los ndices de visualizacin cambian cada vez que los nodos se abren y se cierran.
Tree.getNodeDisplayedAt()
1389
Ejemplo
En el siguiente ejemplo, se aade un nodo a una instancia de Tree denominada my_tr y, a continuacin, se llama al mtodo getNodeDisplayedAt() para recuperar el nodo en la posicin de visualizacin 0 (cero). En el ejemplo se llama a la funcin trace() para visualizar el nodo. Primero debe aadir una instancia del componente Tree al escenario y denominarla my_tr; a continuacin, aada el siguiente cdigo al fotograma 1.
/** Se requiere: - Componente Tree en el escenario (nombre de instancia: my_tr) */ var my_tr:mx.controls.Tree; my_tr.setSize(200, 100); var trDP_xml:XML = new XML("<node label=\"1st Local Folders\"><node label=\"Inbox\" data=\"0\" />"); my_tr.dataProvider = trDP_xml; trace(my_tr.getNodeDisplayedAt(0));
Tree.getTreeNodeAt()
Disponibilidad
Parmetros
index
Valor devuelto
Un objeto XMLNode.
Descripcin
1390
Componente Tree
Ejemplo
En el siguiente ejemplo, se aade un nodo a una instancia de Tree denominada my_tr y, a continuacin, se llama al mtodo getTreeNodeAt() para devolver el primer nodo del rbol. Primero debe aadir una instancia del componente Tree al escenario y denominarla my_tr; a continuacin, aada el siguiente cdigo al fotograma 1.
/** Se requiere: - Componente Tree en el escenario (nombre de instancia: my_tr) */ var my_tr:mx.controls.Tree; my_tr.setSize(200, 100); var trDP_xml:XML = new XML("<node label=\"1st Local Folders\"><node label=\"Inbox\" data=\"0\" /><node label=\"Outbox\" data=\"1\" /></ node>"); my_tr.dataProvider = trDP_xml; trace(my_tr.getTreeNodeAt(0));
Tree.nodeClose
Disponibilidad
Descripcin
Evento; se difunde a todos los detectores registrados cuando un usuario cierra los nodos de un componente Tree. Los componentes utilizan un modelo de evento distribuidor/detector. El componente Tree difunde un evento nodeClose cuando se cierra uno de sus nodos con un clic. El evento se controla mediante una funcin, tambin denominada controlador, asociada con el objeto detector (listenerObject) que crea el usuario.
Tree.nodeClose 1391
Cuando se activa el evento, ste pasa automticamente un objeto de evento (eventObject) al controlador. Cada objeto de evento tiene propiedades que contienen informacin sobre el evento. Estas propiedades sirven para escribir el cdigo que controla el evento. El objeto del evento Tree.nodeClose tiene una propiedad adicional: node (el nodo XML que se ha cerrado). Para ms informacin, consulte Clase EventDispatcher en la pgina 527.
Ejemplo
En el siguiente ejemplo, se aaden dos nodos a la instancia de Tree my_tr y, a continuacin, se crean dos objetos detectores: uno para eventos nodeOpen y otro para eventos nodeClose. Cuando se producen dichos eventos, la funcin detectora utiliza una sentencia trace para visualizar el evento y el nodo afectado en el panel Salida. Primero debe aadir una instancia del componente Tree al escenario y denominarla my_tr; a continuacin, aada el siguiente cdigo al fotograma 1.
/** Se requiere: - Componente Tree en el escenario (nombre de instancia: my_tr) */ var my_tr:mx.controls.Tree; my_tr.setSize(200, 100); var trDP_xml:XML = new XML("<node label='1st Local Folders'><node label='Inbox' data='0'/><node label='Outbox' data='1'/></node><node label='2nd Local Folders'><node label='Inbox' data='2'/><node label='Outbox' data='3'/></node>"); my_tr.dataProvider = trDP_xml; // Crear un objeto detector. var trListener:Object = new Object(); trListener.nodeOpen = function(evt_obj:Object){ trace("Node opened\n" + evt_obj.node); trace("\n"); } trListener.nodeClose = function(evt_obj:Object){ trace("Node closed\n" + evt_obj.node); trace("\n"); } // Aadir detectores. my_tr.addEventListener("nodeOpen", trListener); my_tr.addEventListener("nodeClose", trListener);
1392
Componente Tree
Tree.nodeOpen
Disponibilidad
Descripcin
Evento; se difunde a todos los detectores registrados cuando un usuario abre un nodo de un componente Tree. Los componentes utilizan un modelo de evento distribuidor/detector. El componente Tree distribuye un evento nodeOpen cuando un usuario abre un nodo con un clic. El evento se controla mediante una funcin, tambin denominada controlador, asociada con el objeto detector (listenerObject) que crea el usuario. Llame al mtodo addEventListener() y pase el nombre del controlador como parmetro. Cuando se activa el evento, ste pasa automticamente un objeto de evento (eventObject) al controlador. Cada objeto de evento tiene propiedades que contienen informacin sobre el evento. Estas propiedades sirven para escribir el cdigo que controla el evento. El objeto del evento Tree.nodeOpen tiene una propiedad adicional: node (el nodo XML que se ha abierto). Para ms informacin, consulte Clase EventDispatcher en la pgina 527.
Tree.nodeOpen
1393
Ejemplo
En el siguiente ejemplo, se aaden dos nodos a la instancia de Tree my_tr y, a continuacin, se crean dos objetos detectores: uno para eventos nodeOpen y otro para eventos nodeClose. Cuando se producen dichos eventos, las funciones detectoras realizan llamadas a sentencias trace para visualizar el evento y el nodo afectado en el panel Salida. Primero debe aadir una instancia del componente Tree al escenario y denominarla my_tr; a continuacin, aada el siguiente cdigo al fotograma 1.
/** Se requiere: - Componente Tree en el escenario (nombre de instancia: my_tr) */ var my_tr:mx.controls.Tree; my_tr.setSize(200, 100); var trDP_xml:XML = new XML("<node label='1st Local Folders'><node label='Inbox' data='0'/><node label='Outbox' data='1'/></node><node label='2nd Local Folders'><node label='Inbox' data='2'/><node label='Outbox' data='3'/></node>"); my_tr.dataProvider = trDP_xml; // Crear un objeto detector. var trListener:Object = new Object(); trListener.nodeOpen = function(evt_obj:Object){ trace("Node opened\n" + evt_obj.node); trace("\n"); } trListener.nodeClose = function(evt_obj:Object){ trace("Node closed\n" + evt_obj.node); trace("\n"); } // Aadir detectores. my_tr.addEventListener("nodeOpen", trListener); my_tr.addEventListener("nodeClose", trListener);
1394
Componente Tree
Tree.refresh()
Disponibilidad
Parmetros
Ninguno.
Valor devuelto
Ninguno.
Descripcin
En el siguiente ejemplo, se aade un nodo a una instancia de Tree denominada my_tr y se crean detectores para un botn Refresh (Actualizar) y un botn Remove All (Quitar todos). Suponiendo que el origen XML del proveedor de datos ha cambiado, el usuario puede hacer clic en el botn Refresh y el cdigo llamar al mtodo refresh() para actualizar el contenido del rbol. Primero debe aadir una instancia del componente Tree al escenario y denominarla my_tr. A continuacin, aada un botn denominado refresh_button. Luego aada el cdigo siguiente al fotograma 1 de la lnea de tiempo principal:
/** Se requiere: - Componente Tree en el escenario (nombre de instancia: my_tr) - Componente Button en el escenario (nombre de instancia: refresh_button) */ var my_tr:mx.controls.Tree; var refresh_button:mx.controls.Button; var removeAll_button:mx.controls.Button; my_tr.setSize(200, 100); var trDP_xml:XML = new XML();
Tree.refresh()
1395
trDP_xml.ignoreWhite = true; trDP_xml.onLoad = function() { my_tr.dataProvider = this.firstChild; }; trDP_xml.load("http://yourXMLsourcehere"); function refreshListener(evt_obj:Object):Void { my_tr.refresh(); } refresh_button.addEventListener("click", refreshListener);
Tree.removeAll()
Disponibilidad
Parmetros
Ninguno.
Valor devuelto
Ninguno.
Descripcin
1396
Componente Tree
Ejemplo
En el siguiente ejemplo, se aade un nodo a una instancia de Tree denominada my_tr y se crea un detector para un botn Remove All (Quitar todos). Cuando el usuario hace clic en el botn Remove All, el cdigo llama al mtodo removeAll() para actualizar el rbol. Primero debe aadir una instancia del componente Tree al escenario y denominarla my_tr y aadir un botn denominado removeAll_button; a continuacin, aada el siguiente cdigo al fotograma 1.
/** Se requiere: - Componente Tree en el escenario (nombre de instancia: my_tr) - Componente Button en el escenario (nombre de instancia: refresh_button) - Componente Button en el escenario (nombre de instancia: removeAll_button) */ var my_tr:mx.controls.Tree; var removeAll_button:mx.controls.Button; my_tr.setSize(200, 100); var trDP_xml:XML = new XML(); trDP_xml.ignoreWhite = true; trDP_xml.onLoad = function() { my_tr.dataProvider = this.firstChild; }; trDP_xml.load("http://www.flash-mx.com/mm/xml/tree.xml"); function removeAllListener(evt_obj:Object):Void { my_tr.removeAll(); } removeAll_button.addEventListener("click", removeAllListener);
Tree.removeAll()
1397
Tree.removeTreeNodeAt()
Disponibilidad
Parmetros
index
Nmero de ndice de un nodo secundario de un rbol. Cada nodo secundario de un rbol tiene asignado un ndice basado en cero en el orden en que se ha creado.
Valor devuelto
Mtodo; elimina un nodo (especificado por su posicin de ndice) en la raz del rbol y lo actualiza.
Ejemplo
En el siguiente ejemplo, se aaden dos nodos a una instancia de Tree y se crea un detector para un evento change en el rbol. Cuando se produce un evento change, las funciones detectoras realizan una llamada al mtodo removeTreeNodeAt() para eliminar el nodo seleccionado del rbol. Primero debe aadir una instancia del componente Tree al escenario y denominarla my_tr; a continuacin, aada el siguiente cdigo al fotograma 1.
/** Se requiere: - Componente Tree en el escenario (nombre de instancia: my_tr) */ var my_tr:mx.controls.Tree; my_tr.setSize(200, 100); var trDP_xml:XML = new XML("<node label='1st Local Folders'><node label='Inbox' data='0' /><node label='Outbox' data='1' /></node><node label='2nd Local Folders'><node label='Inbox' data='2' /><node label='Outbox' data='3' /></node>"); my_tr.dataProvider = trDP_xml;
1398
Componente Tree
var treeListener:Object = new Object(); treeListener.change = function (evt_obj:Object) { my_tr.removeTreeNodeAt(my_tr.selectedIndex); } my_tr.addEventListener("change", treeListener);
Tree.selectedNode
Disponibilidad
Descripcin
En el siguiente ejemplo, se aaden dos nodos a una instancia de Tree y se establece el estado seleccionado en el segundo nodo. Primero debe aadir una instancia del componente Tree al escenario y denominarla my_tr; a continuacin, aada el siguiente cdigo al fotograma 1:
/** Se requiere: - Componente Tree en el escenario (nombre de instancia: my_tr) */ var my_tr:mx.controls.Tree; my_tr.setSize(200, 100); var trDP_xml:XML = new XML("<node label='1st Local Folders'><node label='Inbox' data='0' /><node label='Outbox' data='1' /></node><node label='2nd Local Folders'><node label='Inbox' data='2' /><node label='Outbox' data='3' /></node>"); my_tr.dataProvider = trDP_xml; // Seleccionar el segundo nodo. my_tr.selectedNode = my_tr.getTreeNodeAt(1);
Vase tambin
Tree.selectedNodes
Tree.selectedNode
1399
Tree.selectedNodes
Disponibilidad
Descripcin
En el siguiente ejemplo, se aaden tres nodos a una instancia de Tree y se establece el estado seleccionado en los dos primeros. Primero debe aadir una instancia del componente Tree al escenario y denominarla my_tr; a continuacin, aada el siguiente cdigo al fotograma 1:
/** Se requiere: - Componente Tree en el escenario (nombre de instancia: my_tr) */ var my_tr:mx.controls.Tree; my_tr.setSize(200, 100); var trDP_xml:XML = new XML("<node label='1st Local Folders'><node label='Inbox' data='0'/><node label='Outbox' data='1'/></node><node label='2nd Local Folders'><node label='Inbox' data='2'/><node label='Outbox' data='3'/></node><node label='3rd Local Folders'><node label='Inbox' data='2'/><node label='Outbox' data='3'/></node>"); my_tr.dataProvider = trDP_xml; // Permitir varias selecciones. my_tr.multipleSelection = true; // Seleccionar el primer nodo y el segundo. my_tr.selectedNodes = [my_tr.getTreeNodeAt(0), my_tr.getTreeNodeAt(1)];
Vase tambin
Tree.selectedNode
1400
Componente Tree
Tree.setIcon()
Disponibilidad
Parmetros
node linkID
Nodo XML.
Identificador de vinculacin de un smbolo que va a utilizarse como icono junto al nodo. Este parmetro se utiliza para los nodos hoja y para el estado cerrado de los nodos rama.
linkID2 En un nodo rama, identificador de vinculacin de un smbolo que va a utilizarse como icono para representar el nodo abierto. Este parmetro es opcional.
Valor devuelto
Ninguno.
Descripcin
Mtodo; especifica un icono para el nodo especificado. Este mtodo toma un parmetro ID (linkID) para los nodos hoja y dos parmetros ID (linkID y linkID2) para los nodos rama (los iconos de cerrado y abierto). En los nodos hoja, se omite el segundo parmetro. En los nodos rama, si se omite linkID2, el icono se utiliza tanto para el estado abierto como para el cerrado.
Tree.setIcon()
1401
Ejemplo
En el siguiente ejemplo, se aaden dos nodos a una instancia de Tree denominada my_tr y se llama a la funcin setIcon() para especificar un icono en la biblioteca con el identificador de vinculacin imageIcon para el segundo nodo. Primero debe aadir una instancia del componente Tree al escenario y denominarla my_tr y aadir un icono a la biblioteca con el identificador de vinculacin imageIcon; a continuacin, aada el siguiente cdigo al fotograma 1.
/** Se requiere: - Componente Tree en el escenario (nombre de instancia: my_tr) - elemento de biblioteca con el identificador de vinculacin imageIcon */ var my_tr:mx.controls.Tree; my_tr.setSize(200, 100); var trDP_xml:XML = new XML("<node label='1st Local Folders'><node label='Inbox' data='0' /><node label='Outbox' data='1' /></node><node label='2nd Local Folders'><node label='Inbox' data='2' /><node label='Outbox' data='3' /></node>"); my_tr.dataProvider = trDP_xml; // Establecer clip de pelcula como icono del segundo nodo. my_tr.setIcon(my_tr.getTreeNodeAt(1), "imageIcon");
Tree.setIsBranch()
Disponibilidad
Parmetros
node
Nodo XML. Valor booleano que indica si el nodo es una rama (true) o no (false).
isBranch
1402
Componente Tree
Valor devuelto
Ninguno.
Descripcin
Mtodo; especifica si el nodo tiene un icono de carpeta y una flecha de ampliacin y si tiene nodos secundarios o puede tenerlos. Un nodo se configura automticamente como rama si tiene nodos secundarios; slo tiene que llamar a setIsBranch() si desea crear una carpeta vaca. Puede crear ramas que an no cuenten con nodos secundarios; por ejemplo, si desea que se carguen nodos secundarios slo cuando un usuario abre una carpeta. Al llamar a setIsBranch() se actualizan todas las vistas.
Ejemplo
En el siguiente ejemplo, se aade un solo nodo a una instancia de Tree denominada my_tr y se llama a setIsBranch() para convertirla en una rama sin elementos secundarios. Primero debe aadir una instancia del componente Tree al escenario y denominarla my_tr; a continuacin, aada el siguiente cdigo al fotograma 1.
/** Se requiere: - Componente Tree en el escenario (nombre de instancia: my_tr) */ var my_tr:mx.controls.Tree; my_tr.setSize(200, 100); var trDP_xml:XML = new XML("<node label='Inbox' data='0'/>"); my_tr.dataProvider = trDP_xml; // Establecer primero nodo como rama. my_tr.setIsBranch(my_tr.getTreeNodeAt(0), true);
Tree.setIsBranch()
1403
Tree.setIsOpen()
Disponibilidad
Parmetros
node open
Nodo XML. Valor booleano que abre un nodo (true) o lo cierra (false).
animate
Valor booleano que determina si la transicin que se est abriendo est animada (true) o no (false). Este parmetro es opcional.
Valor booleano que determina si los eventos nodeOpen y nodeClose se distribuyen (true) o no (false) cuando se abre o cierra el nodo del rbol. Este parmetro es opcional. El valor predeterminado es false.
fireEvent
Valor devuelto
Ninguno.
Descripcin
En el siguiente ejemplo, se crean dos nodos en una instancia de Tree denominada my_tr y se llama al mtodo setIsOpen() para abrir el segundo nodo.
/** Se requiere: - Componente Tree en el escenario (nombre de instancia: my_tr) */ var my_tr:mx.controls.Tree; my_tr.setSize(200, 100); var trDP_xml:XML = new XML("<node label='1st Local Folders'><node label='Inbox' data='0'/><node label='Outbox' data='1'/></node><node label='2nd Local Folders'><node label='Inbox' data='2'/><node label='Outbox' data='3'/></node>"); my_tr.dataProvider = trDP_xml; // Establecer segundo nodo como abierto. my_tr.setIsOpen(my_tr.getTreeNodeAt(1), true);
1404 Componente Tree
CAPTULO 51
Clase Tween
Herencia
51
La clase Tween permite utilizar ActionScript para mover fcilmente los clips de pelcula, cambiar su tamao y hacer que se desvanezcan en el escenario especificando una propiedad del clip de pelcula de destino para crear una animacin con interpolacin durante varios fotogramas o segundos.
NO T A
La clase Tween slo es compatible si trabaja con un documento que especifique ActionScript 2.0 en la Configuracin de publicacin.
La clase Tween tambin permite especificar diversos mtodos de suavizado. El suavizado es la aceleracin o desaceleracin gradual durante una animacin, que hace que las animaciones parezcan ms realistas. Por ejemplo, las opciones de un componente de lista desplegable que cree podran aumentar gradualmente su velocidad cerca del principio de una animacin a medida que aparecen opciones y ralentizarse antes de que las opciones se detengan al final de la animacin a medida que se extiende la lista. Flash proporciona muchos mtodos de suavizado que contienen ecuaciones para esta aceleracin y desaceleracin, y que cambian la animacin de suavizado de la forma correspondiente. La clase Tween tambin invoca controladores de eventos de forma que el cdigo pueda responder cuando una animacin comienza, se detiene, reanuda o incrementa el valor de su propiedad de interpolacin. Por ejemplo, puede iniciar una segunda animacin interpolada cuando la primera interpolacin invoca su controlador de eventos Tween.onMotionStopped, que indica que la primera interpolacin se ha detenido.
1405
Descripcin
Indica a la animacin interpolada que contine desde su valor actual hasta un nuevo valor. Avanza la animacin interpolada directamente al final de la animacin. Avanza la animacin interpolada al siguiente fotograma. Dirige la animacin interpolada al fotograma anterior al actual. Reanuda una animacin interpolada a partir del punto en que se ha detenido en la animacin. Retrocede una animacin interpolada hasta el principio de la misma. Inicia la animacin interpolada desde el principio. Detiene la animacin interpolada en su posicin actual. Devuelve el nombre de clase, [Tween]. Ordena a la animacin interpolada que se reproduzca a la inversa desde el ltimo sentido de los incrementos de la propiedad de interpolacin.
Tween.fforward()
Tween.nextFrame() Tween.prevFrame()
Tween.resume()
Tween.rewind()
Descripcin
Duracin de la animacin interpolada en fotogramas o segundos. Slo lectura. ltimo valor interpolado del final de la animacin interpolada. Slo lectura. Nmero de fotogramas por segundo de la animacin interpolada. Slo lectura. Valor actual de la propiedad del clip de pelcula de destino que se est interpolando. Slo lectura. Tiempo transcurrido de la duracin de la animacin. Slo lectura.
Tween.finish
Tween.FPS
Tween.position
Tween.time
1406
Clase Tween
Descripcin
Controlador de eventos; se invoca con cada cambio de la propiedad de interpolacin del objeto que se est animando. Controlador de eventos; se invoca cuando el objeto Tween finaliza su animacin. Controlador de eventos; se invoca cuando se llama al mtodo Tween.resume(), que hace que se reanude la animacin interpolada. Controlador de eventos; se invoca cuando se llama al mtodo Tween.start(), que hace que se inicie la animacin interpolada. Controlador de eventos; se invoca cuando se llama al mtodo Tween.stop(), que hace que se detenga la animacin interpolada.
Tween.onMotionFinished
Tween.onMotionResumed
Tween.onMotionStarted
Tween.onMotionStopped
1407
Objeto de clip de pelcula al que se va a aplicar la instancia de Tween. de cadena de una propiedad de obj en la que se van a interpolar los valores.
mtodo de suavizado que calcula un efecto de suavizado para los valores de propiedades del objeto interpolado. Consulte Mtodos y clases de suavizado en la pgina 1409.
begin Nmero que indica el valor inicial de prop (propiedad del objeto de destino que se va a
interpolar).
finish Nmero
que indica el valor de fin de prop (propiedad del objeto de destino que se va
a interpolar).
duration Nmero
que indica la duracin del movimiento de interpolacin. Si se omite, se establece una duracin infinita de manera predeterminada. booleano que indica que se utilizarn segundos si el valor especificado en el parmetro duration es true o fotogramas si el valor es false.
useSeconds Valor
1408
Clase Tween
La clase mx.transitions.Tween para suavizar efectos en una animacin interpolada. La clase mx.transitions.TransitionManager para suavizar efectos en las transiciones. Consulte el Captulo 48, Clase TransitionManager, en la pgina 1329. Algunos componentes. Consulte Aplicacin de mtodos de suavizado a componentes en la pgina 1410.
Descripcin
Extiende la animacin cuando se supera el lmite de la transicin en uno o ambos extremos para producir el efecto de ser empujado hacia atrs desde el lmite. Aade un efecto de rebote dentro del rango de la transicin en uno o ambos extremos. El nmero de rebotes depende de la duracin: cuanto mayor sea la duracin, producir un mayor nmero de rebotes. Aade un efecto elstico que est fuera del rango de la transicin en uno o ambos extremos. La duracin no afecta al grado de elasticidad. Aade un movimiento ms lento en uno o ambos extremos. Esta funcin permite aadir un efecto de aceleracin, desaceleracin o ambos. Aade un movimiento ms lento en uno o ambos extremos. Este efecto es similar al suavizado Regular, pero ms pronunciado. Aade un movimiento uniforme de principio a fin sin efectos, ralentizacin ni aceleracin. Esta transicin tambin se denomina transicin lineal.
Bounce
Elastic Regular
Strong None
1409
Cada una de estas seis clases de clculo de suavizado tiene tres mtodos de suavizado que indican la parte de la animacin en la que se aplicar el efecto de suavizado. Adems, la clase de suavizado None tiene un cuarto mtodo de suavizado: easeNone. Los mtodos de suavizado se describen en la tabla siguiente:
Mtodo
easeIn easeOut easeInOut easeNone
Descripcin
Proporciona el efecto de suavizado al principio de la transicin. Proporciona el efecto de suavizado al final de la transicin. Proporciona el efecto de suavizado al principio y al final de la transicin. Indica que no se va a utilizar ningn clculo de suavizado. Slo se proporciona en la clase de suavizado None.
1410
Clase Tween
Seleccione Archivo > Nuevo y, a continuacin, Archivo Flash (ActionScript 2.0). Guarde el archivo como accordion.fla. Arrastre una copia del componente Accordion al escenario. Abra el inspector de propiedades y escriba my_acc en el cuadro de texto Nombre de instancia. Inserte una nueva capa sobre Capa 1 y denomnela acciones. Aada el siguiente cdigo ActionScript al fotograma 1 de la capa acciones:
import mx.core.View; import mx.transitions.easing.*; my_acc.createChild(View, "studio_view", {label:"Studio"}); my_acc.createChild(View, "dreamweaver_view", {label:"Dreamweaver"}); my_acc.createChild(View, "flash_view", {label:"Flash"}); my_acc.createChild(View, "coldfusion_view", {label:"ColdFusion"}); my_acc.createChild(View, "contribute_view", {label:"Contribute"}); my_acc.setStyle("openEasing", Bounce.easeOut); my_acc.setStyle("openDuration", 3500);
5. 6.
Este cdigo importa las clases de suavizado, de forma que puede escribir Bounce.easeOut en lugar de hacer referencia a cada una de las clases con nombres completos como mx.transitions.easing.Bounce.easeOut. A continuacin, el cdigo aade cinco nuevos paneles secundarios al componente Accordion (Studio, Dreamweaver, Flash, ColdFusion y Contribute). Las ltimas dos lneas de cdigo establecen el estilo de suavizado, desde el mtodo de suavizado predeterminado hasta Bounce.easeOut, y establecen la duracin de la animacin en 3.500 milisegundos (3,5 segundos).
7.
Guarde el documento y seleccione Control > Probar pelcula para obtener una previsualizacin dinmica del archivo en el entorno de prueba. Haga clic en cada una de las distintas barras de encabezado (ttulo) para ver las animaciones modificadas y pasar de un panel a otro. Si desea aumentar la velocidad de la animacin, especifique un valor de openDuration inferior a 3.500 milisegundos. La duracin predeterminada de la animacin es de 250 milisegundos (un cuarto de segundo).
1411
Seleccione Archivo > Nuevo y, a continuacin, Archivo Flash (ActionScript 2.0). Guarde el archivo como combobox.fla. Arrastre una copia del componente ComboBox desde el panel Componentes a la biblioteca del documento actual.
NO TA
El componente aparece en la biblioteca (no en el escenario) y est disponible para el archivo SWF en tiempo de ejecucin.
4.
Inserte una capa y asgnele el nombre acciones. Asegrese de que la capa acciones est por encima de la Capa 1. Aada el siguiente cdigo ActionScript al fotograma 1 de la capa actions:
import mx.transitions.easing.*; this.createClassObject(mx.controls.ComboBox, "my_cb", 20); var product_array:Array = new Array("Studio", "Dreamweaver", "Flash", "ColdFusion", "Contribute", "Breeze", "Director", "Flex"); my_cb.dataProvider = product_array; my_cb.move(10, 10); my_cb.setSize(140, 22); my_cb.setStyle("openDuration", 2000); my_cb.setStyle("openEasing", Elastic.easeOut);
5.
Despus de importar cada uno de los mtodos de suavizado, lo que sucede en la primera lnea de cdigo, el mtodo createClassObject() crea una instancia del componente ComboBox. La palabra clave this en la segunda lnea de cdigo hace referencia a la lnea de tiempo principal del archivo SWF. Esta lnea de cdigo coloca el componente en el escenario en tiempo de ejecucin y le asigna el nombre de instancia my_cb.
1412
Clase Tween
A continuacin, cree una matriz denominada product_array que contenga una lista del software de Adobe. Utilice esta matriz en la siguiente lnea de cdigo para establecer la propiedad dataProvider en la matriz de nombres de producto. A continuacin, utilice el mtodo setSize() para cambiar el tamao de la instancia de componente, establezca el valor de openDuration en 2.000 milisegundos (2 segundos) y cambie el mtodo de suavizado por Elastic.easeOut.
NO T A
Al igual que en los ejemplos anteriores, se importan las clases de suavizado, que permiten utilizar una versin corta del nombre de clase en lugar del nombre completo de mx.transitions.easing.Elastic.easeOut.
6.
Guarde el documento actual y seleccione Control > Probar pelcula para ver el documento en el entorno de prueba. Haga clic en el componente ComboBox en el escenario para utilizar la clase de suavizado especificada a fin de animar la lista desplegable de nombres de productos.
N OT A
7.
Utilice un mtodo de suavizado como Elastic o Bounce para los componentes ComboBox o Accordion. Algunos usuarios se distraern si las opciones estn en movimiento durante mucho tiempo antes de que puedan leerlas y seleccionarlas del men. Pruebe las aplicaciones y configuraciones individuales y decida si los mtodos de suavizado mejoran el documento de Flash o si ms bien lo empeoran.
Seleccione Archivo > Nuevo y, a continuacin, Archivo Flash (ActionScript 2.0). Guarde el archivo como datagrid.fla. Arrastre una instancia del componente DataGrid al escenario y asgnele el nombre de instancia my_dg. Inserte una capa y asgnele el nombre acciones. Asegrese de que la capa acciones est por encima de la Capa 1.
4.
1413
5.
Este cdigo ActionScript importa las clases de suavizado y cambia el tamao de la instancia del componente en el escenario a 320 pxeles (anchura) por 240 pxeles (altura). A continuacin, cree una columna con el nombre producto y cambie el tamao de la columna a 304 pxeles (anchura). La propia cuadrcula de datos tiene una anchura de 320 pxeles, aunque la barra de desplazamiento tiene una anchura de 16 pxeles, lo que produce una diferencia de 304 pxeles. A continuacin se establece la altura de la fila en 60 pxeles, lo hace que las animaciones de suavizado sean ms fciles de ver. Las siguientes tres lneas de cdigo ActionScript aaden elementos a la instancia de cuadrcula para poder hacer clic y ver las animaciones. Finalmente, se establecen las propiedades selectionEasing y selectionDuration mediante el mtodo setStyle(). El mtodo de suavizado se establece en Elastic.easeInOut, con una duracin (duration) de 1.000 milisegundos (un segundo, que es cinco veces ms largo que el valor predeterminado de 200 milisegundos).
6.
Guarde el documento y seleccione Control > Probar pelcula para ver el resultado en el entorno de prueba. Cuando haga clic en un elemento de la instancia de DataGrid, ver la aceleracin y desaceleracin de la seleccin mediante el efecto elstico. Debera verse fcilmente la animacin porque se ha aumentado significativamente la duracin.
N OT A
Tambin puede utilizar las mismas propiedades (selectionEasing y selectionDuration) con los componentes ComboBox, List y Tree.
1414
Clase Tween
Tween.continueTo()
Disponibilidad
Flash MX 2004.
Sintaxis
tweenInstance.continueTo(finish, duration)
Parmetros
Nmero que indica el valor de fin de la propiedad del objeto de destino que se va a interpolar.
finish
Nmero que indica la duracin temporal o nmero de fotogramas para el movimiento de interpolacin; se mide en duracin temporal si el parmetro useSeconds de Tween.start() se establece en true o en fotogramas si se establece en false. Para ms informacin sobre el parmetro useSeconds, consulte Tween.start() en la pgina 1431.
duration
Valor devuelto
Ninguno.
Descripcin
Mtodo; indica a la animacin interpolada que contine la interpolacin a partir de su punto de animacin actual, hasta un nuevo punto de duracin y finalizacin.
Ejemplo
En este ejemplo, el evento onMotionFinished activa un controlador, que indica a la instancia de Tween que contine su animacin hasta unos nuevos valores de finalizacin (finish) y duracin (duration), mediante una llamada al mtodo Tween.continueTo(). Para este ejemplo, se necesita en el escenario una instancia de clip de pelcula denominada img1_mc:
import mx.transitions.Tween; var myTween:Tween = new Tween(img1_mc, "_y", mx.transitions.easing.Elastic.easeOut,0, 200, 3, true); myTween.onMotionFinished = function() { var myFinish:Number = 100; var myDuration:Number = 5; myTween.continueTo( myFinish, myDuration ); };
Tween.continueTo()
1415
Tween.duration
Disponibilidad
Flash MX 2004.
Sintaxis
tweenInstance.duration
Descripcin
Propiedad (slo lectura); nmero que indica la duracin de la animacin interpolada en fotogramas o segundos. Esta propiedad se establece como un parmetro cuando se crea una nueva instancia de Tween o cuando se llama al mtodo Tween.yoyo().
Ejemplo
En el ejemplo siguiente, se realiza un seguimiento del valor actual de duration de un objeto Tween obteniendo el valor de la propiedad Tween.duration. Para este ejemplo, se necesita en el escenario una instancia de clip de pelcula denominada img1_mc:
import mx.transitions.Tween; var myTween:Tween = new Tween(img1_mc, "_y", mx.transitions.easing.Strong.easeOut,0, Stage.height, 50, false); var theDuration:Number = myTween.duration; trace(theDuration);
Tween.fforward()
Disponibilidad
Flash MX 2004.
Sintaxis
tweenInstance.fforward()
Valor devuelto
Ninguno.
1416
Clase Tween
Descripcin
En este ejemplo, se llama a Tween.fforward() para avanzar una animacin con interpolacin directamente a su valor final, tras lo cual se activa de inmediato el evento onMotionFinished. Un controlador para el evento Tween.onMotionFinished llama a Tween.yoyo(). Por lo tanto, la animacin interpolada se inicia de manera visible con el efecto inverso del mtodo Tween.yoyo(), ya que se omiti la animacin inicial hasta su valor final. Para este ejemplo, se necesita en el escenario una instancia de clip de pelcula denominada img1_mc:
import mx.transitions.Tween; var myTween:Tween = new Tween(img1_mc, "_x", mx.transitions.easing.Elastic.easeOut,0, Stage.width - img1_mc._width, 8, true); myTween.fforward(); myTween.onMotionFinished = function() { myTween.yoyo(); };
Tween.finish
Disponibilidad
Flash MX 2004.
Sintaxis
tweenInstance.finish
Descripcin
Propiedad (slo lectura); nmero que indica el valor de fin de la propiedad del objeto de destino que se va a interpolar. Esta propiedad se establece como un parmetro cuando se crea una nueva instancia de Tween o cuando se llama al mtodo Tween.yoyo().
Tween.finish
1417
Ejemplo
En el siguiente ejemplo, se devuelve el valor actual de finish de una instancia de Tween. Para este ejemplo, se necesita en el escenario una instancia de clip de pelcula denominada img1_mc:
import mx.transitions.Tween; var myTween:Tween = new Tween(img1_mc, "_y", mx.transitions.easing.Strong.easeOut,0, Stage.height - img1_mc._height, 50, false); var myFinish:Number = myTween.finish; trace(myFinish);
Tween.FPS
Disponibilidad
Flash MX 2004.
Sintaxis
tweenInstance.FPS
Descripcin
Propiedad; nmero de fotogramas por segundo calculado en la animacin interpolada. De manera predeterminada, la velocidad de fotogramas actual del escenario se utiliza para calcular la animacin interpolada. Al establecer esta propiedad se recalcula el nmero de incrementos en la propiedad animada que se muestra cada segundo como el valor de la propiedad Tween.FPS en lugar de la velocidad de fotogramas actual del escenario. Al establecer el valor de la propiedad Tween.FPS, la velocidad de fotogramas real del escenario no cambia.
N OT A 1418
Clase Tween
Ejemplo
En el ejemplo siguiente, se crean dos animaciones interpoladas establecidas en dos valores distintos de FPS. Se muestran los valores actuales de FPS para ambas instancias de Tween. Para este ejemplo, se necesita en el escenario una instancia de clip de pelcula denominada img1_mc y otra instancia de clip de pelcula img2_mc:
import mx.transitions.Tween; var myTween1:Tween = new Tween(img1_mc, "_y", mx.transitions.easing.Strong.easeOut,0, Stage.height - img1_mc._height, 400, false); myTween1.FPS = 1; var myFPS1:Number = myTween1.FPS; trace("myTween1.FPS:" + myFPS1); var myTween2:Tween = new Tween(img2_mc, "_y", mx.transitions.easing.Strong.easeOut,0, Stage.height - img2_mc._height, 400, false); myTween2.FPS = 12; var myFPS2:Number = myTween2.FPS; trace("myTween2.FPS:" + myFPS2);
Tween.nextFrame()
Disponibilidad
Flash MX 2004.
Sintaxis
tweenInstance.nextFrame()
Valor devuelto
Ninguno.
Descripcin
Mtodo; avanza la animacin interpolada al siguiente fotograma de una animacin que se ha detenido. Utilice este mtodo para avanzar fotograma a fotograma en una animacin interpolada despus de utilizar el mtodo Tween.stop() para detenerlo.
N O TA
Este mtodo slo puede utilizarse en interpolaciones basadas en fotogramas. Para especificar que una interpolacin se basa en fotogramas, debe establecer el valor false en el parmetro useSeconds.
Tween.nextFrame()
1419
Ejemplo
En este ejemplo, se aplica una animacin interpolada al clip de pelcula img1_mc. La animacin se reproduce indefinidamente a partir de su punto inicial mediante una llamada al mtodo Tween.start() desde un controlador activado por el evento Tween.onMotionFinished. Al hacer clic en un botn denominado forwardByFrame_btn se llama al mtodo Tween.stop() para detener la animacin y a continuacin se llama al mtodo Tween.nextFrame(). Si se hace clic en el botn durante la animacin con interpolacin, se detiene la animacin y se avanza solamente un fotograma. Al crear la instancia de Tween, el parmetro useSeconds se declara como false para que la interpolacin se base en fotogramas. Este proceso es necesario para utilizar el mtodo Tween.nextFrame(). Para este ejemplo, se necesita en el escenario una instancia de clip de pelcula denominada img1_mc:
import mx.transitions.Tween; var myTween:Tween = new Tween(img1_mc, "_x", mx.transitions.easing.None.easeNone,0, Stage.width, 60, false); myTween.onMotionFinished = function() { myTween.start(); }; forwardByFrame_btn.onRelease = function() { myTween.stop(); myTween.nextFrame(); };
1420
Clase Tween
Tween.onMotionChanged
Disponibilidad
Flash MX 2004.
Sintaxis
tweenInstance.onMotionChanged = function() { // ... };
Descripcin
Controlador de eventos; se invoca con cada cambio de la propiedad de interpolacin del objeto que se est animando. La gestin de este evento permite la reaccin del cdigo cuando se incrementa en un valor la propiedad del clip de pelcula de destino que se interpola.
Ejemplo
En este ejemplo, se aplica una interpolacin al clip de pelcula img1_mc. Con cada incremento de la interpolacin en la propiedad _x del clip de pelcula, se invoca el controlador de eventos onMotionChanged y se muestra un mensaje de seguimiento que indica la nueva posicin del clip de pelcula interpolado. Para este ejemplo, se necesita en el escenario una instancia de clip de pelcula denominada img1_mc:
import mx.transitions.Tween; var myTween:Tween = new Tween(img1_mc, "_x", mx.transitions.easing.Elastic.easeOut,0, Stage.width-img1_mc._width, 3, true); myTween.onMotionChanged = function() { trace( this.position ); };
Tween.onMotionChanged
1421
Tween.onMotionFinished
Disponibilidad
Flash MX 2004.
Sintaxis
tweenInstance.onMotionFinished = function() { // ... };
Descripcin
Controlador de eventos; se invoca cuando la animacin llega al final de su duracin. La gestin de este evento permite la reaccin del cdigo en el punto en que finaliza la animacin con interpolacin.
Ejemplo
En el siguiente ejemplo, se aplica una interpolacin al clip de pelcula img1_mc. Cuando la interpolacin llega al final de su animacin, invoca el controlador de eventos onMotionFinished que llama al mtodo Tween.yoyo(). Por lo tanto, la interpolacin puede completar su animacin antes de llamar al mtodo Tween.yoyo() para invertir la animacin. Para este ejemplo, se necesita en el escenario una instancia de clip de pelcula denominada img1_mc:
import mx.transitions.Tween; var myTween:Tween = new Tween(img1_mc, "_x", mx.transitions.easing.Elastic.easeOut,0, Stage.width-img1_mc._width, 3, true); myTween.FPS = 30; myTween.onMotionFinished = function() { myTween.yoyo(); };
1422
Clase Tween
Tween.onMotionResumed
Disponibilidad
Flash MX 2004.
Sintaxis
tweenInstance.onMotionResumed = function() { // ... };
Descripcin
Controlador de eventos; se invoca cuando se llama al mtodo Tween.resume(). La gestin de este evento permite la reaccin del cdigo en el punto en que se reanuda la animacin con interpolacin.
Ejemplo
En el siguiente ejemplo, se aplica una animacin interpolada al clip de pelcula img1_mc. Se repite la animacin de forma que se reproduzca repetidamente desde el punto inicial llamando al mtodo Tween.start() desde un controlador de eventos onMotionFinished. Al hacer clic en un botn denominado stopTween_btn, se llama al mtodo Tween.stop() para detener la animacin interpolada en su valor actual. Al hacer clic en un botn denominado resumeTween_btn, se llama el mtodo Tween.resume() para reanudar la animacin interpolada desde el punto en el que se ha detenido. Cuando se llama al mtodo Tween.resume(), la instancia de Tween invoca el controlador onMotionResumed. Para este ejemplo, se necesita en el escenario una instancia de clip de pelcula denominada img1_mc, una instancia de clip de pelcula stopTween_btn y otra instancia resumeTween_btn:
import mx.transitions.Tween; var myTween:Tween = new Tween(img1_mc, "_x", mx.transitions.easing.None.easeNone,0, Stage.width, 3, true); myTween.onMotionFinished = function() { myTween.start(); }; myTween.onMotionResumed = function() { trace("onMotionResumed"); }; stopTween_btn.onRelease = function() { myTween.stop(); }; resumeTween_btn.onRelease = function() { myTween.resume(); };
Tween.onMotionResumed 1423
Tween.onMotionStarted
Disponibilidad
Flash MX 2004.
Sintaxis
tweenInstance.onMotionStarted = function() { // ... };
Descripcin
Controlador de eventos; se invoca cuando se ha iniciado nuevamente la animacin en el transcurso de la misma o despus de haber finalizado. Este controlador de eventos no se invoca en el primer inicio de una animacin interpolada. Si se llama al mtodo Tween.start(), Tween.yoyo() o Tween.yoyo() para reiniciar una animacin finalizada o reiniciarla durante una animacin, se invoca el controlador de eventos onMotionStarted. La gestin de este evento permite la reaccin del cdigo en el punto en que se reinicia la animacin con interpolacin en algn momento despus de haberse iniciado ya.
Ejemplo
En el siguiente ejemplo, se aplica una animacin interpolada al clip de pelcula img1_mc. Se repite la animacin de forma que se reproduzca repetidamente desde el punto inicial llamando al mtodo Tween.start() desde un controlador de eventos Tween.onMotionFinished. Cuando se llama al mtodo Tween.start(), la instancia de Tween invoca el controlador Tween.onMotionStarted. Para este ejemplo, se necesita en el escenario una instancia de clip de pelcula denominada img1_mc:
import mx.transitions.Tween; var myTween:Tween = new Tween(img1_mc, "_x", mx.transitions.easing.None.easeNone,0, Stage.width, 4, true); myTween.onMotionFinished = function() { myTween.start(); }; myTween.onMotionStarted = function() { trace("onMotionStarted"); };
1424
Clase Tween
Tween.onMotionStopped
Disponibilidad
Flash MX 2004.
Sintaxis
tweenInstance.onMotionStopped = function() { // ... };
Descripcin
Controlador de eventos; se difunde cuando la animacin interpolada finaliza por completo o cuando se llama al mtodo Tween.stop(). La gestin de este evento permite la reaccin del cdigo en el punto en que se detiene la animacin con interpolacin.
Ejemplo
En el siguiente ejemplo, se aplica una animacin interpolada al clip de pelcula img1_mc. Cuando la instancia de Tween finaliza la animacin, invoca el controlador de eventos Tween.onMotionStopped. Para este ejemplo, se necesita en el escenario una instancia de clip de pelcula denominada img1_mc:
import mx.transitions.Tween; var myTween:Tween = new Tween(img1_mc, "_x", mx.transitions.easing.None.easeNone,0, Stage.width-img1_mc._width, 3, true); myTween.onMotionStopped = function() { trace("onMotionStopped"); };
Tween.onMotionStopped
1425
Tween.position
Disponibilidad
Flash MX 2004.
Sintaxis
tweenInstance.position
Descripcin
Propiedad (slo lectura); el valor actual de la propiedad del objeto de destino que se est interpolando. Este valor se actualiza con cada fotograma dibujado de la animacin interpolada.
Ejemplo
En el ejemplo siguiente, se realiza un seguimiento de los valores actuales de Tween.position y Tween.position del objeto Tween con los que la posicin de interpolacin finaliza en el ltimo fotograma de la animacin interpolada. Para este ejemplo, se necesita en el escenario una instancia de clip de pelcula denominada img1_mc:
import mx.transitions.Tween; var myTween:Tween = new mx.transitions.Tween(img1_mc, "_x", mx.transitions.easing.None.easeNone, 0, Stage.width-img1_mc._width, 3, true); myTween.onMotionChanged = function() { var myPosition:Number = myTween.position; var myFinish:Number = myTween.finish; trace(myPosition + " : " + myFinish); };
1426
Clase Tween
Tween.prevFrame()
Disponibilidad
Flash MX 2004.
Sintaxis
tweenInstance.prevFrame()
Valor devuelto
Ninguno.
Descripcin
Mtodo; reproduce el fotograma anterior de la animacin interpolada desde el punto en el que se ha detenido en una animacin detenida. Utilice este mtodo para retroceder la animacin interpolada un fotograma hasta un momento despus de haberla detenido mediante el mtodo Tween.stop().
NO TA
Este mtodo slo puede utilizarse en interpolaciones basadas en fotogramas. Para especificar que una interpolacin se basa en fotogramas, debe establecer el valor false en el parmetro Tween.start()useSeconds. Para ms informacin sobre el parmetro useSeconds, consulte Tween.start() en la pgina 1431.
Ejemplo
Este ejemplo aplica una animacin interpolada al clip de pelcula img1_mc. La animacin se reproduce indefinidamente a partir de su punto inicial mediante una llamada al mtodo Tween.start() desde un controlador activado por el evento onMotionFinished. Al hacer clic en un botn denominado forwardByFrame_btn se llama al mtodo Tween.stop() para detener la animacin y a continuacin se llama al mtodo Tween.prevFrame(). Al hacer clic en el botn durante la animacin interpolada, se detiene la animacin y despus se invierte en un solo fotograma. Al hacer clic en el botn resumeTween_btn, se llama al mtodo Tween.resume() y la animacin interpolada se reanuda. Al crear la instancia de Tween, el parmetro useSeconds se declara como false para que la interpolacin se base en fotogramas. Este proceso es necesario para utilizar el mtodo Tween.nextFrame(). Para este ejemplo, se necesita en el escenario una instancia de clip de pelcula denominada img1_mc, una instancia de clip de pelcula resumeTween_btn y otra instancia reverseByFrame_btn:
import mx.transitions.Tween;
Tween.prevFrame()
1427
var myTween:Tween = new Tween(img1_mc, "_x", mx.transitions.easing.None.easeNone, -img1_mc._width, Stage.width, 50, false); myTween.onMotionFinished = function() { myTween.start(); }; reverseByFrame_btn.onRelease = function() { myTween.stop(); myTween.prevFrame(); }; resumeTween_btn.onRelease = function() { myTween.resume(); };
Tween.resume()
Disponibilidad
Flash MX 2004.
Sintaxis
tweenInstance.resume()
Valor devuelto
Ninguno.
Descripcin
Mtodo; reanuda la reproduccin de una animacin interpolada que se ha detenido. Utilice este mtodo para continuar una animacin interpolada despus de haberla detenido mediante el mtodo Tween.stop().
N OT A 1428
Este mtodo slo puede utilizarse en interpolaciones basadas en fotogramas. Para especificar que una interpolacin se basa en fotogramas, debe establecer el valor false en el parmetro useSeconds.
Clase Tween
Ejemplo
En este ejemplo, se aplica una animacin interpolada al clip de pelcula img1_mc. La animacin se reproduce indefinidamente a partir de su punto inicial mediante una llamada al mtodo Tween.start() desde un controlador activado por el evento onMotionFinished. Al hacer clic en el botn stopTween_btn, se llama el mtodo Tween.stop() para detener la animacin interpolada en su valor actual. Al hacer clic en el botn resumeTween_btn, se llama al mtodo Tween.resume() para reanudar la animacin interpolada desde el punto en el que se ha detenido. Para este ejemplo, se necesita en el escenario una instancia de clip de pelcula denominada img1_mc, una instancia de clip de pelcula stopTween_btn y otra instancia resumeTween_btn:
import mx.transitions.Tween; var myTween:Tween = new Tween(img1_mc, "_x", mx.transitions.easing.None.easeNone, -img1_mc._width, Stage.width, 3, true); myTween.onMotionFinished = function() { myTween.start(); }; stopTween_btn.onRelease = function() { myTween.stop(); }; resumeTween_btn.onRelease = function() { myTween.resume(); };
Tween.rewind()
Disponibilidad
Flash MX 2004.
Sintaxis
tweenInstance.rewind()
Parmetros
Ninguno.
Valor devuelto
Ninguno.
Tween.rewind()
1429
Descripcin
Mtodo; mueve la reproduccin de una animacin interpolada a su valor inicial. Si se llama a Tween.rewind() mientras se est reproduciendo la animacin interpolada, la animacin se rebobina hasta su valor inicial y contina reproducindose. Si se llama a Tween.rewind() mientras la animacin interpolada est detenida o ha finalizado, la animacin interpolada se rebobina hasta su valor inicial y permanece detenida. Utilice este mtodo para rebobinar una animacin interpolada hasta su punto inicial despus de haberla detenido mediante el mtodo Tween.stop() o para rebobinar una animacin interpolada mientras se reproduce.
Ejemplo
En el siguiente ejemplo, se aplica una animacin interpolada al clip de pelcula img1_mc. La animacin se reproduce indefinidamente a partir de su punto inicial mediante una llamada al mtodo Tween.start() desde un controlador activado por el evento Tween.onMotionFinished. Al hacer clic en el botn rewindTween_btn, se llama al mtodo Tween.rewind() para rebobinar la animacin interpolada a su punto inicial. Para este ejemplo, se necesita en el escenario una instancia de clip de pelcula denominada img1_mc, una instancia de clip de pelcula stopTween_btn, una rewindTween_btn y una resumeTween_btn:
import mx.transitions.Tween; var myTween:Tween = new Tween(img1_mc, "_x", mx.transitions.easing.None.easeNone, img1_mc._width, Stage.width, 8, true); myTween.onMotionFinished = function() { myTween.start(); }; stopTween_btn.onRelease = function() { myTween.stop(); }; rewindTween_btn.onRelease = function() { myTween.rewind(); }; resumeTween_btn.onRelease = function() { myTween.resume(); };
1430
Clase Tween
Tween.start()
Disponibilidad
Flash MX 2004.
Sintaxis
tweenInstance.start()
Valor devuelto
Ninguno.
Descripcin
Mtodo; inicia la reproduccin de una animacin interpolada a partir de su punto inicial. Este mtodo se utiliza para reiniciar una instancia de Tween desde el principio de su animacin despus de que se haya detenido o completado su animacin.
Ejemplo
En este ejemplo, se crea un nuevo objeto Tween que anima la propiedad _x del clip de pelcula img1_mc. Despus de que la animacin interpolada finalice y llame al controlador de eventos Tween.onMotionFinished, se vuelve a reproducir la interpolacin llamando al mtodo Tween.start(). El resultado es un clip de pelcula que se mueve por el escenario de izquierda a derecha y despus inicia la animacin de nuevo cuando llega al final del escenario. Para este ejemplo, se necesita en el escenario una instancia de clip de pelcula denominada img1_mc:
import mx.transitions.Tween; var myTween:Tween = new Tween(img1_mc, "_x", mx.transitions.easing.None.easeNone,0, Stage.width, 50, false); myTween.onMotionFinished = function() { myTween.start(); };
Tween.start()
1431
Tween.stop()
Disponibilidad
Flash MX 2004.
Sintaxis
tweenInstance.stop()
Valor devuelto
Ninguno.
Descripcin
En el siguiente ejemplo, se aplica una animacin interpolada a la propiedad _x del clip de pelcula img1_mc. El controlador onRelease() del clip de pelcula stopTween_btn llama al mtodo Tween.stop() para detener la animacin interpolada y un controlador onRelease() del clip de pelcula resumeTween_btn llama al mtodo Tween.resume() para reanudar la animacin desde una posicin de animacin detenida. Para este ejemplo, se necesita en el escenario una instancia de clip de pelcula denominada img1_mc, una instancia de clip de pelcula stopTween_btn y otra instancia resumeTween_btn:
import mx.transitions.Tween; var myTween:Tween = new Tween(img1_mc, "_x", mx.transitions.easing.None.easeNone, img1_mc._width, Stage.width, 8, true); myTween.onMotionFinished = function() { myTween.start(); }; stopTween_btn.onRelease = function() { myTween.stop(); }; resumeTween_btn.onRelease = function() { myTween.resume(); };
1432
Clase Tween
Tween.time
Disponibilidad
Flash MX 2004.
Sintaxis
tweenInstance.time
Descripcin
Propiedad (slo lectura); nmero actual de segundos transcurridos de la duracin de la animacin si el parmetro useSeconds se estableci en true al crear la instancia de Tween. Si el parmetro useSeconds de la animacin se estableci en false, Tween.time devuelve el nmero actual de fotogramas pasados a la animacin del objeto Tween.
Ejemplo
En el siguiente ejemplo, se devuelve el valor de time de una instancia de Tween. Para este ejemplo, se necesita en el escenario una instancia de clip de pelcula denominada img1_mc:
import mx.transitions.Tween; var myTween:Tween = new mx.transitions.Tween(img1_mc, "_x", mx.transitions.easing.None.easeNone, 0, Stage.width-img1_mc._width, 10, false); myTween.onMotionChanged = function() { var myCurrentTime:Number = myTween.time; var myCurrentDuration:Number = myTween.duration; trace(myCurrentTime + " of " + myCurrentDuration); };
Tween.time
1433
Tween.toString()
Disponibilidad
Flash MX 2004.
Sintaxis
tweenInstance.toString()
Valor devuelto
En el siguiente ejemplo, se identifica un objeto Tween llamando al mtodo Tween.toString() para devolver [Tween], que identifica el nombre de clase del objeto. Para este ejemplo, se necesita en el escenario una instancia de clip de pelcula denominada img1_mc:
import mx.transitions.Tween; var myTween:Tween = new Tween(img1_mc, "_alpha", mx.transitions.easing.None.easeNone,0, 100, 50, false); var theClassName:String = myTween.toString(); trace(theClassName);
1434
Clase Tween
Tween.yoyo()
Disponibilidad
Flash MX 2004.
Sintaxis
tweenInstance.yoyo()
Valor devuelto
Ninguno.
Descripcin
Mtodo; ordena a la animacin interpolada que se reproduzca a la inversa desde el ltimo sentido de incrementos de la propiedad de interpolacin. Si se llama a este mtodo antes de que una animacin del objeto Tween haya finalizado, la animacin salta bruscamente al final de su reproduccin y a continuacin se reproduce en sentido inverso desde ese punto. Puede lograr un efecto de una animacin que est completando su reproduccin y despus invertir toda la reproduccin llamando al mtodo Tween.yoyo() en un controlador de eventos Tween.onMotionFinished. Este proceso garantiza que el efecto inverso del mtodo Tween.yoyo no se iniciar hasta que la animacin interpolada actual se haya completado. Consulte Tween.onMotionFinished en la pgina 1422.
Ejemplo
En el siguiente ejemplo, se utiliza el evento Tween.onMotionFinished para activar un controlador y se ordena a la instancia de Tween que anime el clip de pelcula img1_mc en sentido inverso llamando al mtodo Tween.yoyo(). El resultado es un clip de pelcula que se mueve de izquierda a derecha en el escenario y despus invierte el sentido, movindose de derecha a izquierda en un bucle de animacin. Para este ejemplo, se necesita en el escenario una instancia de clip de pelcula denominada img1_mc:
import mx.transitions.Tween; var myTween:Tween = new Tween(img1_mc, "_x", mx.transitions.easing.None.easeNone,0, Stage.width, 4, true); myTween.onMotionFinished = function() { myTween.yoyo(); };
Tween.yoyo()
1435
1436
Clase Tween
CAPTULO 52
Clase UIComponent
La clase UIComponent no representa un componente visual; contiene mtodos, propiedades y eventos que permiten a los componentes de Adobe compartir algunos comportamientos comunes.
NO T A
52
La clase UIComponent slo es compatible si trabaja con un documento que especifique ActionScript 2.0 en la Configuracin de publicacin.
Todos los componentes amplan el UIComponent. La clase UIComponent permite realizar lo siguiente: Recibir selecciones y entradas del teclado Activar y desactivar componentes Cambiar el tamao mediante el diseo
Para utilizar los mtodos y propiedades de UIComponent, puede llamarlos directamente desde cualquier componente en uso. Por ejemplo, para llamar a UIComponent.setFocus() desde el componente RadioButton, deber escribir el cdigo siguiente:
myRadioButton.setFocus();
Slo debe crear una instancia del UIComponent si est creando un componente nuevo. Incluso en tal caso, UIComponent se crea de forma implcita por medio de otras subclases, como por ejemplo Button. Si necesita crear una instancia de UIComponent, utilice el cdigo siguiente:
class MyComponent extends mx.core.UIComponent;
1437
Los mtodos, propiedades y eventos de la clase UIComponent permiten controlar el comportamiento comn de los componentes visuales de Flash.
Descripcin
Devuelve una referencia al objeto seleccionado. Define la seleccin en la instancia de componente.
Descripcin
Crea un subobjeto en un objeto. Elimina una instancia de componente. Llama a una funcin cuando se han establecido parmetros en el inspector de propiedades y el inspector de componentes. Obtiene la propiedad de estilo de la declaracin de estilo o del objeto. Marca el objeto de forma que se pueda volver a dibujar en el siguiente intervalo de fotogramas. Mueve el objeto a la posicin indicada. Fuerza la validacin del objeto, de forma que se pueda dibujar sobre el fotograma actual. Cambia el tamao del objeto al indicado. Define un aspecto en el objeto. Define la propiedad de estilo en la declaracin de estilo o en el objeto.
UIObject.getStyle()
UIObject.invalidate()
UIObject.move() UIObject.redraw()
1438
Clase UIComponent
Descripcin
Indica si el componente puede recibir selecciones y entradas. Nmero que indica el orden de tabulacin para un componente de un documento.
UIComponent.tabIndex
Descripcin
Posicin del borde inferior del objeto con respecto al borde inferior de su elemento principal correspondiente. Slo lectura. Altura del objeto, expresada en pxeles. Slo lectura. Borde izquierdo del objeto, expresado en pxeles. Slo lectura. Posicin del borde derecho del objeto con respecto al borde derecho de su elemento principal correspondiente. Slo lectura. Nmero que indica el factor de escala en la direccin x del objeto con respecto a su elemento principal correspondiente. Nmero que indica el factor de escala en la direccin y del objeto con respecto a su elemento principal correspondiente. Posicin del borde superior del objeto con respecto a su elemento principal correspondiente. Slo lectura. Valor booleano que indica si el objeto es visible (true) o no (false). Anchura del objeto, expresada en pxeles. Slo lectura. Borde izquierdo del objeto, expresado en pxeles. Slo lectura. Borde superior del objeto, expresado en pxeles. Slo lectura.
UIObject.height UIObject.left
UIObject.right
UIObject.scaleX
UIObject.scaleY
UIObject.top
UIObject.visible
UIObject.width UIObject.x
UIObject.y
1439
Descripcin
Se difunde cuando se selecciona un objeto. Se difunde cuando un objeto deja de seleccionarse. Se difunde cuando se presiona una tecla. Se difunde cuando se suelta una tecla.
Descripcin
Se difunde cuando un objeto est a punto de dibujar sus grficos. Se difunde cuando el estado de un objeto pasa de ser visible a invisible. Se difunde cuando se crean subobjetos. Se difunde cuando se mueve el objeto. Se difunde cuando cambia el tamao de un objeto. Se difunde cuando el estado de un objeto pasa de ser invisible a visible. Se difunde durante la descarga de los subobjetos.
UIObject.hide
UIObject.unload
1440
Clase UIComponent
UIComponent.enabled
Disponibilidad
Flash MX 2004.
Sintaxis
componentInstance.enabled
Descripcin
Propiedad; indica si el componente puede aceptar selecciones y entradas del ratn (true) o no (false). El valor predeterminado es true.
Ejemplo
UIComponent.focusIn
Disponibilidad
Flash MX 2004.
Sintaxis
Sintaxis 1:
var listenerObject:Object = new Object(); listenerObject.focusIn = function(eventObj:Object) { //... }; componentInstance.addEventListener("focusIn", listenerObject);
Sintaxis 2:
on (focusIn) { // ... }
UIComponent.focusIn
1441
Descripcin
Evento; notifica al detector que el objeto se ha seleccionado con el teclado. El primer ejemplo de sintaxis utiliza un modelo de eventos distribuidor/detector. Una instancia de componente (componentInstance) distribuye un evento (en este caso, focusIn) y ste se controla mediante una funcin, tambin denominada controlador, asociada con el objeto detector (listenerObject) que crea el usuario. Se define un mtodo con el mismo nombre que el evento del objeto detector; se llama al mtodo cuando se activa el evento. Cuando se activa el evento, ste pasa automticamente un objeto de evento (eventObject) al mtodo del objeto detector. Cada objeto de evento tiene propiedades que contienen informacin sobre el evento. Estas propiedades sirven para escribir el cdigo que controla el evento. Finalmente, se llama al mtodo EventDispatcher.addEventListener() de la instancia del componente que difunde el evento para registrar el detector con la instancia. Cuando la instancia distribuya el evento, se llamar al detector. Para ms informacin, consulte Clase EventDispatcher en la pgina 527. El segundo ejemplo de sintaxis utiliza un controlador on() que debe asociarse directamente con una instancia de componente.
Ejemplo
El siguiente cdigo desactiva un componente Button, btn, mientras un usuario escribe en el componente TextInput, txt, y habilita el botn cuando el usuario hace clic en l:
var txt:mx.controls.TextInput; var btn:mx.controls.Button; var txtListener:Object = new Object(); txtListener.focusOut = function() { _root.btn.enabled = true; } txt.addEventListener("focusOut", txtListener); var txtListener2:Object = new Object(); txtListener2.focusIn = function() { _root.btn.enabled = false; } txt.addEventListener("focusIn", txtListener2);
Vase tambin
EventDispatcher.addEventListener(), UIComponent.focusOut
1442
Clase UIComponent
UIComponent.focusOut
Disponibilidad
Flash MX 2004.
Sintaxis
on(focusOut){ ... } listenerObject = new Object(); listenerObject.focusOut = function(eventObject){ ... } componentInstance.addEventListener("focusOut", listenerObject)
Descripcin
Evento; notifica a los detectores que el objeto ya no tiene la seleccin del teclado. El primer ejemplo de sintaxis utiliza un controlador on() que debe asociarse directamente con una instancia de componente. El segundo ejemplo de sintaxis utiliza un modelo de evento distribuidor/detector. Una instancia de componente (componentInstance) distribuye un evento (en este caso, focusOut) y ste se controla mediante una funcin, tambin denominada controlador, asociada con el objeto detector (listenerObject) que crea el usuario. Se define un mtodo con el mismo nombre que el evento del objeto detector; se llama al mtodo cuando se activa el evento. Cuando se activa el evento, ste pasa automticamente un objeto de evento (eventObject) al mtodo del objeto detector. Cada objeto de evento tiene propiedades que contienen informacin sobre el evento. Estas propiedades sirven para escribir el cdigo que controla el evento. Finalmente, se llama al mtodo EventDispatcher.addEventListener() de la instancia del componente que difunde el evento para registrar el detector con la instancia. Cuando la instancia distribuya el evento, se llamar al detector. Para ms informacin, consulte Clase EventDispatcher en la pgina 527.
UIComponent.focusOut
1443
Ejemplo
El siguiente cdigo desactiva un componente Button, btn, mientras un usuario escribe en el componente TextInput, txt, y habilita el botn cuando el usuario hace clic en l:
var txt:mx.controls.TextInput; var btn:mx.controls.Button; var txtListener:Object = new Object(); txtListener.focusOut = function() { _root.btn.enabled = true; } txt.addEventListener("focusOut", txtListener); var txtListener2:Object = new Object(); txtListener2.focusIn = function() { _root.btn.enabled = false; } txt.addEventListener("focusIn", txtListener2);
Vase tambin
EventDispatcher.addEventListener(), UIComponent.focusIn
UIComponent.getFocus()
Disponibilidad
Flash MX 2004.
Sintaxis
componentInstance.getFocus();
Parmetros
Ninguno.
Valor devuelto
Mtodo; devuelve una referencia al objeto que recibe la seleccin del teclado.
Ejemplo
El cdigo siguiente devuelve una referencia al objeto que recibe la seleccin que asigna a la variable tmp:
var tmp = checkbox.getFocus();
1444
Clase UIComponent
UIComponent.keyDown
Disponibilidad
Flash MX 2004.
Sintaxis
on(keyDown){ ... } listenerObject = new Object(); listenerObject.keyDown = function(eventObject){ ... } componentInstance.addEventListener("keyDown", listenerObject)
Descripcin
Evento; notifica a los detectores que se ha presionado una tecla. Se trata de un evento de nivel muy bajo que no debera utilizarse a menos que sea necesario, ya que puede afectar al rendimiento del sistema. El primer ejemplo de sintaxis utiliza un controlador on() que debe asociarse directamente con una instancia de componente. El segundo ejemplo de sintaxis utiliza un modelo de evento distribuidor/detector. Una instancia de componente (componentInstance) distribuye un evento (en este caso, keyDown) y ste se controla mediante una funcin, tambin denominada controlador, asociada con el objeto detector (listenerObject) que crea el usuario. Se define un mtodo con el mismo nombre que el evento del objeto detector; se llama al mtodo cuando se activa el evento. Cuando se activa el evento, ste pasa automticamente un objeto de evento (eventObject) al mtodo del objeto detector. Cada objeto de evento tiene propiedades que contienen informacin sobre el evento. Estas propiedades sirven para escribir el cdigo que controla el evento. Finalmente, se llama al mtodo EventDispatcher.addEventListener() de la instancia del componente que difunde el evento para registrar el detector con la instancia. Cuando la instancia distribuya el evento, se llamar al detector. Para ms informacin, consulte Clase EventDispatcher en la pgina 527.
Ejemplo
El cdigo siguiente hace que un icono parpadee cuando se presiona una tecla:
formListener.handleEvent = function(eventObj) { form.icon.visible = !form.icon.visible; } form.addEventListener("keyDown", formListener);
UIComponent.keyDown 1445
UIComponent.keyUp
Disponibilidad
Flash MX 2004.
Sintaxis
on(keyUp){ ... } listenerObject = new Object(); listenerObject.keyUp = function(eventObject){ ... } componentInstance.addEventListener("keyUp", listenerObject)
Descripcin
Evento; notifica a los detectores cuando se suelta una tecla. Se trata de un evento de nivel bajo que no debera utilizarse a menos que sea necesario, ya que puede afectar al rendimiento del sistema. El primer ejemplo de sintaxis utiliza un controlador on() que debe asociarse directamente con una instancia de componente. El segundo ejemplo de sintaxis utiliza un modelo de evento distribuidor/detector. Una instancia de componente (componentInstance) distribuye un evento (en este caso, keyUp) y ste se controla mediante una funcin, tambin denominada controlador, asociada con el objeto detector (listenerObject) que crea el usuario. Se define un mtodo con el mismo nombre que el evento del objeto detector; se llama al mtodo cuando se activa el evento. Cuando se activa el evento, ste pasa automticamente un objeto de evento (eventObject) al mtodo del objeto detector. Cada objeto de evento tiene propiedades que contienen informacin sobre el evento. Estas propiedades sirven para escribir el cdigo que controla el evento. Finalmente, se llama al mtodo EventDispatcher.addEventListener() de la instancia del componente que difunde el evento para registrar el detector con la instancia. Cuando la instancia distribuya el evento, se llamar al detector. Para ms informacin, consulte Clase EventDispatcher en la pgina 527.
Ejemplo
El cdigo siguiente hace que un icono parpadee cuando se suelta una tecla:
formListener.handleEvent = function(eventObj) { form.icon.visible = !form.icon.visible; } form.addEventListener("keyUp", formListener);
1446
Clase UIComponent
UIComponent.setFocus()
Disponibilidad
Flash MX 2004.
Sintaxis
componentInstance.setFocus();
Parmetros
Ninguno.
Valor devuelto
Ninguno.
Descripcin
Mtodo; define la seleccin en esta instancia del componente. La instancia con la seleccin recibe todas las entradas del teclado.
Ejemplo
UIComponent.tabIndex
Disponibilidad
Flash MX 2004.
Sintaxis
instance.tabIndex
Descripcin
UIComponent.tabIndex
1447
1448
Clase UIComponent
CAPTULO 53
Clase UIEventDispatcher
Nombre de clase de ActionScript Herencia
53
mx.events.UIEventDispatcher
La clase UIEventDispatcher se mezcla con la clase UIComponent y permite que los componentes emitan ciertos eventos. Si se desea que un objeto que no se hereda de UIComponent distribuya ciertos eventos, se puede utilizar UIEventDispatcher.
N OT A
La clase UIEventDispatcher slo es compatible si trabaja con un documento que especifique ActionScript 2.0 en la Configuracin de publicacin.
Descripcin
Registra un detector para una instancia de componente. Distribuye un evento a todos los detectores registrados.
EventDispatcher.dispatchEvent()
1449
Descripcin
Se difunde cuando se presiona una tecla. Se difunde cuando se suelta una tecla presionada. Se difunde cuando un componente se carga en Flash Player. Se difunde cuando se presiona el ratn. Se difunde cuando el ratn se mueve fuera de una instancia de componente. Se difunde cuando el ratn se mueve sobre una instancia de componente. Se difunde cuando se presiona y se suelta el botn del ratn. Se difunde cuando un componente se descarga de Flash Player.
UIEventDispatcher.mouseDown UIEventDispatcher.mouseOut
UIEventDispatcher.mouseOver
UIEventDispatcher.mouseUp
UIEventDispatcher.unload
UIEventDispatcher.keyDown
Disponibilidad
Descripcin
Evento; se difunde a todos los detectores registrados cuando se presiona una tecla y la aplicacin Flash est seleccionada. Cuando se activa el evento, ste pasa automticamente un objeto de evento (eventObject) al controlador. Cada objeto de evento tiene propiedades que contienen informacin sobre el evento. Estas propiedades sirven para escribir el cdigo que controla el evento.
1450 Clase UIEventDispatcher
UIEventDispatcher.keyUp
Disponibilidad
Descripcin
Evento; se difunde a todos los detectores registrados cuando se suelta una tecla que estaba presionada y la aplicacin Flash est seleccionada. Cuando se activa el evento, ste pasa automticamente un objeto de evento (eventObject) al controlador. Cada objeto de evento tiene propiedades que contienen informacin sobre el evento. Estas propiedades sirven para escribir el cdigo que controla el evento.
UIEventDispatcher.load
Disponibilidad
Descripcin
Evento; se difunde a todos los detectores registrados cuando se carga un componente en Flash Player. Cuando se activa el evento, ste pasa automticamente un objeto de evento (eventObject) al controlador. Cada objeto de evento tiene propiedades que contienen informacin sobre el evento. Estas propiedades sirven para escribir el cdigo que controla el evento.
UIEventDispatcher.load 1451
UIEventDispatcher.mouseDown
Disponibilidad
Descripcin
Evento; se difunde a todos los detectores registrados cuando una aplicacin Flash est seleccionada y se presiona el ratn. Cuando se activa el evento, ste pasa automticamente un objeto de evento (eventObject) al controlador. Cada objeto de evento tiene propiedades que contienen informacin sobre el evento. Estas propiedades sirven para escribir el cdigo que controla el evento.
UIEventDispatcher.mouseOut
Disponibilidad
Descripcin
Evento; se difunde a todos los detectores registrados cuando una aplicacin Flash est seleccionada y el ratn se mueve fuera de una instancia de componente. Cuando se activa el evento, ste pasa automticamente un objeto de evento (eventObject) al controlador. Cada objeto de evento tiene propiedades que contienen informacin sobre el evento. Estas propiedades sirven para escribir el cdigo que controla el evento.
1452 Clase UIEventDispatcher
UIEventDispatcher.mouseOver
Disponibilidad
Descripcin
Evento; se difunde a todos los detectores registrados cuando una aplicacin Flash est seleccionada y el ratn se mueve sobre una instancia de componente. Cuando se activa el evento, ste pasa automticamente un objeto de evento (eventObject) al controlador. Cada objeto de evento tiene propiedades que contienen informacin sobre el evento. Estas propiedades sirven para escribir el cdigo que controla el evento.
UIEventDispatcher.mouseUp
Disponibilidad
Descripcin
Evento; se difunde a todos los detectores registrados cuando una aplicacin Flash est seleccionada y se presiona y se suelta el botn del ratn. Cuando se activa el evento, ste pasa automticamente un objeto de evento (eventObject) al controlador. Cada objeto de evento tiene propiedades que contienen informacin sobre el evento. Estas propiedades sirven para escribir el cdigo que controla el evento. Para ms informacin, consulte Clase EventDispatcher en la pgina 527.
UIEventDispatcher.mouseUp 1453
UIEventDispatcher.removeEventListener()
Disponibilidad
Parmetros
event
Cadena que es el nombre del evento. Referencia a un objeto detector o a una funcin.
listener
Valor devuelto
Ninguno.
Descripcin
Mtodo; quita el registro de un objeto detector desde una instancia de componente que difunde un evento. Este mtodo sustituye al evento EventDispatcher.removeEventListener() que se encuentra en la clase base EventDispatcher.
UIEventDispatcher.unload
Disponibilidad
Descripcin
Evento; se difunde a todos los detectores registrados cuando se descarga un componente de Flash Player. Cuando se activa el evento, ste pasa automticamente un objeto de evento (eventObject) al controlador. Cada objeto de evento tiene propiedades que contienen informacin sobre el evento. Estas propiedades sirven para escribir el cdigo que controla el evento.
1454 Clase UIEventDispatcher
CAPTULO 54
Clase UIObject
Herencia
54
La clase UIObject slo es compatible si trabaja con un documento que especifique ActionScript 2.0 en la Configuracin de publicacin.
La clase UIObject ajusta el objeto MovieClip de ActionScript y contiene funciones y propiedades que permiten a los componentes compartir algunos comportamientos comunes. El ajuste de la clase MovieClip permite a Adobe aadir nuevos eventos y ampliar funciones en el futuro sin que ello afecte al contenido. Asimismo, el ajuste de la clase MovieClip permitir a los usuarios que no conocen los conceptos tradicionales de Flash como pelcula y fotograma utilizar las propiedades, mtodos y eventos para crear aplicaciones basadas en componentes sin conocer dichos conceptos. La clase UIObject incorpora lo siguiente: Estilos Eventos Cambio del tamao mediante la escala
Para utilizar los mtodos y propiedades de la clase UIObject, puede llamarlos directamente desde cualquier componente en uso. Por ejemplo, para llamar al mtodo UIObject.setSize() desde el componente RadioButton, deber escribir el cdigo siguiente:
myRadioButton.setSize(30, 30);
Slo debe crear una instancia del UIObject si est creando un componente nuevo. Incluso en este caso, UIObject se crea con frecuencia de forma implcita por medio de otras subclases, por ejemplo Button. Si necesita crear una instancia de UIObject, utilice el cdigo siguiente:
class MyComponent extends UIObject;
1455
Crea un subobjeto TextField para utilizarlo durante la creacin de componentes. Crea un subobjeto en un objeto. Elimina una instancia de componente. Llama a una funcin cuando se han establecido parmetros en el inspector de propiedades y el inspector de componentes. Obtiene la propiedad de estilo de la declaracin de estilo o del objeto. Marca el objeto de forma que se pueda volver a dibujar en el siguiente intervalo de fotogramas. Mueve el objeto a la posicin indicada. Fuerza la validacin del objeto, de forma que se pueda dibujar sobre el fotograma actual. Cambia el tamao del objeto al indicado. Define un aspecto en el objeto. Define la propiedad de estilo en la declaracin de estilo o en el objeto.
UIObject.getStyle()
UIObject.invalidate()
UIObject.move() UIObject.redraw()
Descripcin
Posicin del borde inferior del objeto con respecto al borde inferior de su elemento principal correspondiente. Slo lectura. Altura del objeto, expresada en pxeles. Slo lectura. Borde izquierdo del objeto, expresado en pxeles. Slo lectura.
UIObject.height UIObject.left
1456
Clase UIObject
Propiedad
UIObject.right
Descripcin
Posicin del borde derecho del objeto con respecto al borde derecho de su elemento principal correspondiente. Slo lectura. Nmero que indica el factor de escala en la direccin x del objeto con respecto a su elemento principal correspondiente. Nmero que indica el factor de escala en la direccin y del objeto con respecto a su elemento principal correspondiente. Posicin del borde superior del objeto con respecto a su elemento principal correspondiente. Slo lectura. Valor booleano que indica si el objeto es visible (true) o no (false). Anchura del objeto, expresada en pxeles. Slo lectura. Borde izquierdo del objeto, expresado en pxeles. Slo lectura. Borde superior del objeto, expresado en pxeles. Slo lectura.
UIObject.scaleX
UIObject.scaleY
UIObject.top
UIObject.visible
UIObject.width UIObject.x
UIObject.y
Descripcin
Se difunde cuando un objeto est a punto de dibujar sus grficos. Se difunde cuando el estado de un objeto pasa de ser visible a invisible. Se difunde cuando se crean subobjetos. Se difunde cuando se mueve el objeto. Se difunde cuando cambia el tamao de un objeto. Se difunde cuando el estado de un objeto pasa de ser invisible a visible. Se difunde durante la descarga de los subobjetos.
UIObject.hide
UIObject.unload
1457
UIObject.bottom
Disponibilidad
Flash MX 2004.
Sintaxis
componentInstance.bottom
Descripcin
Propiedad (slo lectura); nmero expresado en pxeles que indica la posicin inferior del objeto con respecto a la parte inferior de su elemento principal correspondiente. Para definir esta propiedad, llame a UIObject.move().
Ejemplo
En este ejemplo, se desplaza la casilla de verificacin para alinearla debajo del borde inferior del cuadro de lista:
myCheckbox.move(myCheckbox.x, form.height - listbox.bottom);
UIObject.createClassObject()
Disponibilidad
Flash MX 2004.
Sintaxis
componentInstance.createClassObject(className, instanceName, depth, initObject)
Parmetros
className
Objeto que indica la clase de la nueva instancia. Cadena que indica el nombre de instancia de la instancia nueva. Objeto que contiene propiedades de inicializacin para la nueva instancia.
instanceName depth
initObject
1458
Clase UIObject
Valor devuelto
Mtodo; crea una instancia de un componente en tiempo de ejecucin. Utilice la sentencia import y especifique el nombre del paquete de clase antes de llamar a este mtodo. Adems, el componente debe estar en la biblioteca del archivo FLA.
Ejemplo
El siguiente cdigo importa los activos del componente Button y, a continuacin, crea un subobjeto del componente Button:
import mx.controls.Button; createClassObject(Button,"button2",5,{label:"Test Button"});
Tambin se puede especificar el nombre del paquete de clase mediante la siguiente sintaxis:
createClassObject(mx.controls.Button, "button2", 5, {label:"Test Button"});
UIObject.createLabel()
Disponibilidad
Flash MX 2004.
Sintaxis
createLabel(name, depth, text)
Parmetros
name depth text
Cadena que especifica el nombre de instancia. Nmero que indica la profundidad de la nueva instancia. Texto de la etiqueta.
Valor devuelto
Un objeto TextField.
UIObject.createLabel()
1459
Descripcin
Mtodo; crea un subobjeto TextField. La mayora de los componentes lo utilizan para obtener un objeto de texto ligero para mostrar texto en el componente, al tiempo que heredan los mtodos y propiedades de estilo y cambio de tamao del componente. Este mtodo se utiliza para crear nuevos componentes. El objeto TextField que se crea es el mismo objeto TextField que se crea mediante MovieClip.createTextField(), pero tiene la ventaja aadida de que hereda mtodos y propiedades tiles del UIObject principal. Un objeto TextField que utilice UIObject.createLabel() para crearse en un componente puede aprovechar los siguientes mtodos heredados de UIObject para establecer el cambio de tamao y los estilos en el contexto del UIObject principal:
TextField.getPreferredHeight() : Number TextField.getPreferredWidth() : Number TextField.setStyle( styleName : String, value ) TextField.setSize( width : Number, height : Number) TextField.setValue( text : String )
N OT A
Los objetos TextField creados con UIObject.createLabel() tienen una propiedad TextField._visible inicial establecida en false. Esta propiedad se utiliza para evitar las posibles oscilaciones mientras el componente principal llama a UIObject.setSize(). La propiedad TextField._visible se establece en true cuando se llama a UIObject.draw() despus de cambiar el tamao de los objetos secundarios del componente principal.
Para ms informacin, consulte el archivo de ejemplo MultilineCell.as en Ejemplo sencillo de procesador de celdas en la pgina 116.
Ejemplo
En el siguiente ejemplo, se crea una instancia de TextField denominada multiLineLabel en el mtodo UIComponent.createChildren() de un componente:
public function createChildren():Void { var myTextField_txt:TextField = this.createLabel("multiLineLabel", 900, "Hello World"); // Establecer el atributo de estilo fontSize de TextField. myTextField_txt.setStyle("fontSize", 18); // Establecer el tamao inicial de TextField. myTextField_txt.setSize(myTextField_txt.getPreferredWidth(), myTextField_txt.getPreferredHeight()); // Establecer la ubicacin inicial de TextField en el centro del // escenario. myTextField_txt._x = (Stage.width/2) - (myTextField_txt._width/2); myTextField_txt._y = (Stage.height/2) - (myTextField_txt._height/2); }
1460
Clase UIObject
UIObject.createObject()
Disponibilidad
Flash MX 2004.
Sintaxis
componentInstance.createObject(linkageName, instanceName, depth, initObject)
Parmetros
linkageName
Cadena que indica el identificador de vinculacin de un smbolo en la Cadena que indica el nombre de instancia de la instancia nueva. Objeto que contiene propiedades de inicializacin para la nueva instancia.
biblioteca.
instanceName depth
initObject
Valor devuelto
Mtodo; crea un subobjeto en un objeto. Este mtodo suelen utilizarlo slo los desarrolladores de componentes o los desarrolladores expertos.
Ejemplo
UIObject.createObject()
1461
UIObject.destroyObject()
Disponibilidad
Flash MX 2004.
Sintaxis
destroyObject(instanceName)
Parmetros
instanceName
Valor devuelto
Ninguno.
Descripcin
En el siguiente ejemplo, se elimina la primera instancia my_ti de TextInput cuando se hace clic en el botn. Con un componente Button y un componente TextInput en la biblioteca del documento actual, aada el siguiente cdigo al primer fotograma de la lnea de tiempo principal:
//Crear instancias de TextInput y Button this.createClassObject(mx.controls.TextInput, "my_ti", 1, {text:"Hello World"}); this.createClassObject(mx.controls.Button, "my_button", 2, {label:"My Button"}); //Mover botn debajo de entrada de texto my_button.move(my_ti.left, Stage.height - my_ti.bottom); //Crear objeto detector para clic de botn var buttonListener:Object = new Object(); buttonListener.click = function(evt_obj:Object){ destroyObject("my_ti"); } //Aadir detector my_button.addEventListener("click", buttonListener);
1462
Clase UIObject
UIObject.doLater()
Disponibilidad
Flash MX 2004.
Sintaxis
componentInstance.doLater(target, "function")
Parmetros
target function
Cadena que indica el nombre de una funcin a la que hay que llamar despus de que haya pasado un fotograma en el clip de pelcula del componente (para que estn disponibles las propiedades establecidas en el inspector de componentes o en el inspector de propiedades).
Valor devuelto
Ninguno.
Descripcin
Mtodo; llama a una funcin definida por el usuario solamente despus de que el componente haya terminado de establecer todas sus propiedades a partir del inspector de propiedades o el inspector de componentes. Todos los componentes que heredan de UIObject tienen el mtodo doLater(). Es posible que las propiedades de componentes establecidas en el inspector de propiedades o el inspector de componentes no se encuentren disponibles de forma inmediata para ActionScript en la lnea de tiempo. Por ejemplo, al intentar rastrear la propiedad label de un componente CheckBox mediante ActionScript, en el primer fotograma del archivo SWF se produce un error que no se notifica, aunque el componente aparezca en el escenario segn lo previsto. Aunque las propiedades establecidas en una clase o en un script de fotograma estn disponibles de forma inmediata, la mayora de las propiedades asignadas en el inspector de propiedades o en el inspector de componentes no se establecen hasta el siguiente fotograma en el propio componente. Si bien cualquier enfoque que retrase el acceso a la propiedad resolvera este problema, la solucin ms simple y directa es utilizar el mtodo doLater().
UIObject.doLater()
1463
Ejemplo
UIObject.draw
Disponibilidad
Flash MX 2004.
Sintaxis
Sintaxis 1:
var listenerObject:Object = new Object(); listenerObject.draw = function(eventObject:Object) { // ... }; componentInstance.addEventListener("draw", listenerObject);
Sintaxis 2:
on (draw) { // ... }
Descripcin
Evento; notifica a los detectores que el objeto est a punto de dibujar sus grficos. Se trata de un evento de nivel bajo que no debera utilizarse a menos que sea necesario, ya que puede afectar al rendimiento del sistema.
1464
Clase UIObject
El primer ejemplo de sintaxis utiliza un modelo de eventos distribuidor/detector. Una instancia de componente (componentInstance) distribuye un evento (en este caso, draw) y ste se controla mediante una funcin, tambin denominada controlador, asociada con el objeto detector (listenerObject) que crea el usuario. Se define un mtodo con el mismo nombre que el evento del objeto detector; se llama al mtodo cuando se activa el evento. Cuando se activa el evento, ste pasa automticamente un objeto de evento (eventObject) al mtodo del objeto detector. Cada objeto de evento tiene propiedades que contienen informacin sobre el evento. Estas propiedades sirven para escribir el cdigo que controla el evento. Finalmente, se llama al mtodo EventDispatcher.addEventListener() de la instancia del componente que difunde el evento para registrar el detector con la instancia. Cuando la instancia distribuya el evento, se llamar al detector. Para ms informacin, consulte Clase EventDispatcher en la pgina 527. El segundo ejemplo de sintaxis utiliza un controlador on() que debe asociarse directamente con una instancia de componente.
Ejemplo
El cdigo siguiente vuelve a dibujar el objeto form2 cuando se ha dibujado el objeto form:
formListener.draw = function(eventObj:Object) { form2.redraw(true); } form.addEventListener("draw", formListener);
Vase tambin
EventDispatcher.addEventListener()
UIObject.getStyle()
Disponibilidad
Flash MX 2004.
Sintaxis
componentInstance.getStyle(propertyName)
Parmetros
propertyName fontWeight, borderStyle
UIObject.getStyle()
1465
Valor devuelto
Mtodo; obtiene la propiedad de estilo de la declaracin de estilo o del objeto. Si la propiedad de estilo es un estilo heredado, los antecesores del objeto pueden ser el origen del valor de estilo. Para ver una lista de los estilos admitidos por cada componente, consulte las entradas individuales de componente. Consulte tambin Utilizacin de un estilo global y estilos personalizados y de clase en un mismo documento en Utilizacin de componentes ActionScript 2.0.
Ejemplo
El cdigo siguiente define la propiedad de estilo fontWeight de la instancia ib en negrita cuando la propiedad de estilo fontWeight de la instancia cb sea negrita:
if (cb.getStyle("fontWeight") == "bold") { ib.setStyle("fontWeight", "bold"); };
UIObject.height
Disponibilidad
Flash MX 2004.
Sintaxis
componentInstance.height
Descripcin
Propiedad (slo lectura); nmero que indica la altura del objeto, expresada en pxeles. Para cambiar la propiedad height, llame a UIObject.setSize().
Ejemplo
1466
Clase UIObject
UIObject.hide
Disponibilidad
Flash MX 2004.
Sintaxis
Sintaxis 1:
var listenerObject:Object = new Object(); listenerObject.hide = function(eventObject:Object) { // ... }; componentInstance.addEventListener("hide", listenerObject);
Sintaxis 2:
on (hide) { // ... }
Descripcin
Evento; se difunde cuando la propiedad visible del objeto cambia de true a false.
Ejemplo
El controlador siguiente muestra un mensaje en el panel Salida cuando el objeto con el que est asociado queda oculto.
on (hide) { trace("Ive become invisible."); }
Vase tambin
UIObject.reveal
UIObject.hide
1467
UIObject.invalidate()
Disponibilidad
Flash MX 2004.
Sintaxis
componentInstance.invalidate()
Valor devuelto
Ninguno.
Descripcin
Mtodo; marca el objeto de forma que se pueda volver a dibujar en el siguiente intervalo de fotogramas. Este mtodo es principalmente til para desarrolladores de componentes personalizados nuevos. Un componente personalizado es probable que admita un nmero de operaciones que cambien el aspecto del componente. Con frecuencia, la mejor forma de crear un componente es concentrando la lgica para actualizar el aspecto del componente en el mtodo draw(). Si el componente tiene un mtodo draw(), se puede llamar a invalidate() en el componente para volver a dibujarlo. Para ms informacin sobre la definicin de un mtodo draw(), consulte Definicin del mtodo draw() en Utilizacin de componentes ActionScript 2.0.. Todas las operaciones que cambian el aspecto del componente pueden llamar a invalidate() en lugar de volver a dibujar el componente. Esto tiene algunas ventajas: el cdigo no se duplica innecesariamente y se pueden agrupar varios cambios en un redibujado en lugar de provocar varios y repetidos redibujados.
Ejemplo
1468
Clase UIObject
UIObject.left
Disponibilidad
Flash MX 2004.
Sintaxis
componentInstance.left
Descripcin
Propiedad (slo lectura); nmero que indica en pxeles el borde izquierdo del objeto con respecto a su elemento principal correspondiente. Para definir esta propiedad, llame a UIObject.move().
UIObject.load
Disponibilidad
Flash MX 2004.
Sintaxis
Sintaxis 1:
var listenerObject:Object = new Object(); listenerObject.load = function(eventObject:Object) { // ... }; componentInstance.addEventListener("load", listenerObject);
Sintaxis 2:
on (load) { //... }
UIObject.load
1469
Descripcin
Evento; notifica a los detectores que se ha creado el subobjeto de este objeto. El primer ejemplo de sintaxis utiliza un modelo de eventos distribuidor/detector. Una instancia de componente (componentInstance) distribuye un evento (en este caso, load) y ste se controla mediante una funcin, tambin denominada controlador, asociada con el objeto detector (listenerObject) que crea el usuario. Se define un mtodo con el mismo nombre que el evento del objeto detector; se llama al mtodo cuando se activa el evento. Cuando se activa el evento, ste pasa automticamente un objeto de evento (eventObject) al mtodo del objeto detector. Cada objeto de evento tiene propiedades que contienen informacin sobre el evento. Estas propiedades sirven para escribir el cdigo que controla el evento. Finalmente, se llama al mtodo EventDispatcher.addEventListener() de la instancia del componente que difunde el evento para registrar el detector con la instancia. Cuando la instancia distribuya el evento, se llamar al detector. Para ms informacin, consulte Clase EventDispatcher en la pgina 527. El segundo ejemplo de sintaxis utiliza un controlador on() que debe asociarse directamente con una instancia de componente
Ejemplo
En el ejemplo siguiente, se crea una instancia de MySymbol despus de cargar la instancia form:
var formListener:Object = new Object(); formListener.load = function(eventObj:Object) { form.createObject("MySymbol", "sym1", 0); }; form.addEventListener("load", formListener);
1470
Clase UIObject
UIObject.move
Disponibilidad
Flash MX 2004.
Sintaxis
Sintaxis 1:
var listenerObject:Object = new Object(); listenerObject.move = function(eventObject:Object):Void { // ... }; componentInstance.addEventListener("move", listenerObject);
Sintaxis 2:
on (move) { // ... }
Descripcin
Evento; notifica a los detectores que el objeto se ha movido. El primer ejemplo de sintaxis utiliza un modelo de eventos distribuidor/detector. Una instancia de componente (componentInstance) distribuye un evento (en este caso move) y ste se controla mediante una funcin, tambin denominada controlador, asociada con el objeto detector (listenerObject) que crea el usuario. Se define un mtodo con el mismo nombre que el evento del objeto detector; se llama al mtodo cuando se activa el evento. Cuando se activa el evento, ste pasa automticamente un objeto de evento (eventObject) al mtodo del objeto detector. Cada objeto de evento tiene propiedades que contienen informacin sobre el evento. Estas propiedades sirven para escribir el cdigo que controla el evento. Finalmente, se llama al mtodo EventDispatcher.addEventListener() de la instancia del componente que difunde el evento para registrar el detector con la instancia. Cuando la instancia distribuya el evento, se llamar al detector. Para ms informacin, consulte Clase EventDispatcher en la pgina 527. El segundo ejemplo de sintaxis utiliza un controlador on() que debe asociarse directamente con una instancia de componente
UIObject.move
1471
Ejemplo
En el siguiente ejemplo, se llama al mtodo move() para mover un componente Button, my_button, desde su posicin actual hasta la esquina superior izquierda (10,10) del escenario:
var my_button:mx.controls.Button; my_button.addEventListener("move", doMove); function doMove(evt_obj:Object):Void { trace(evt_obj.target + " moved from {oldX:" + evt_obj.oldX + ", oldY:" + evt_obj.oldY + "} to {x:" + evt_obj.target.x + ", y:" + evt_obj.target.y + "}"); } my_button.move(10, 10);
UIObject.move()
Disponibilidad
Flash MX 2004.
Sintaxis
componentInstance.move(x, y, noEvent)
Parmetros
x
Nmero que indica la posicin de la esquina superior izquierda del objeto con respecto a su elemento principal correspondiente. Nmero que indica la posicin de la esquina superior izquierda del objeto con respecto a su elemento principal correspondiente. Valor booleano que indica si debe distribuirse el evento move.
noEvent
Valor devuelto
Ninguno.
Descripcin
Mtodo; mueve el objeto hasta la posicin indicada. Pase slo valores enteros a UIObject.move() o, de lo contrario, el componente puede aparecer borroso.
1472
Clase UIObject
Ejemplo
En el siguiente ejemplo, se llama al mtodo move() para mover un componente Button, my_button, desde su posicin actual hasta la esquina superior izquierda (10,10) del escenario:
var my_button:mx.controls.Button; my_button.addEventListener("move", doMove); function doMove(evt_obj:Object):Void { trace(evt_obj.target + " moved from {oldX:" + evt_obj.oldX + ", oldY:" + evt_obj.oldY + "} to {x:" + evt_obj.target.x + ", y:" + evt_obj.target.y + "}"); } my_button.move(10, 10);
UIObject.redraw()
Disponibilidad
Flash MX 2004.
Sintaxis
componentInstance.redraw(always)
Parmetros
Valor booleano. Si es true, el mtodo dibuja el objeto aunque no se haya llamado a invalidate(). Si es false, el mtodo dibuja el objeto slo si se ha llamado a invalidate().
always
Valor devuelto
Ninguno.
Descripcin
Mtodo; fuerza la validacin del objeto, de forma que se pueda dibujar sobre el fotograma actual.
Ejemplo
En el ejemplo siguiente, se crean una casilla de verificacin y un botn y se dibujan ya que no se espera que otros scripts modifiquen el formulario:
form.createClassObject(mx.controls.CheckBox, "cb", 0); form.createClassObject(mx.controls.Button, "b", 1); form.redraw(true)
UIObject.redraw()
1473
UIObject.resize
Disponibilidad
Flash MX 2004.
Sintaxis
Sintaxis 1:
var listenerObject:Object = new Object(); listenerObject.resize = function(eventObject:Object) { // ... }; componentInstance.addEventListener("resize", listenerObject);
Sintaxis 2:
on (resize) { // ... }
Descripcin
Evento; notifica a los detectores que se ha cambiado el tamao de un objeto. El primer ejemplo de sintaxis utiliza un modelo de eventos distribuidor/detector. Una instancia de componente (componentInstance) distribuye un evento (en este caso, resize) y ste se controla mediante una funcin, tambin denominada controlador, asociada con el objeto detector (listenerObject) que crea el usuario. Se define un mtodo con el mismo nombre que el evento del objeto detector; se llama al mtodo cuando se activa el evento. Cuando se activa el evento, ste pasa automticamente un objeto de evento (eventObject) al mtodo del objeto detector. Cada objeto de evento tiene propiedades que contienen informacin sobre el evento. Estas propiedades sirven para escribir el cdigo que controla el evento. Finalmente, se llama al mtodo EventDispatcher.addEventListener() de la instancia del componente que difunde el evento para registrar el detector con la instancia. Cuando la instancia distribuya el evento, se llamar al detector. Para ms informacin, consulte Clase EventDispatcher en la pgina 527. El segundo ejemplo de sintaxis utiliza un controlador on() que debe asociarse directamente con una instancia de componente
1474
Clase UIObject
Ejemplo
En el ejemplo siguiente, se llama al mtodo setSize() para que sym1 sea la mitad de ancho y un cuarto de alto cuando form se mueva:
var formListener:Object = new Object(); formListener.resize = function(eventObj:Object):Void { form.sym1.setSize(sym1.width / 2, sym1.height / 4); }; form.addEventListener("resize", formListener);
En el siguiente ejemplo, se llama al mtodo setSize() para cambiar el tamao de un componente Button, my_button, a 200 pxeles de ancho por 100 pxeles de alto:
var my_button:mx.controls.Button; my_button.addEventListener("resize", doSize); function doSize(evt_obj:Object):Void { trace(evt_obj.target + " resized from {oldWidth:" + evt_obj.oldWidth + ", oldHeight:" + evt_obj.oldHeight + "} to {width:" + evt_obj.target.width + ", height:" + evt_obj.target.height + "}"); } my_button.setSize(200, 100);
UIObject.reveal
Disponibilidad
Flash MX 2004.
Sintaxis
Sintaxis 1:
var listenerObject:Object = new Object(); listenerObject.reveal = function(eventObject:Object) { // ... }; componentInstance.addEventListener("reveal", listenerObject);
Sintaxis 2:
on (reveal) { // ... }
Descripcin
Evento; se difunde cuando la propiedad visible del objeto cambia de false a true.
UIObject.reveal
1475
Ejemplo
El controlador siguiente muestra un mensaje en el panel Salida cuando el objeto con el que est asociado aparece en pantalla.
on (reveal) { trace("Ive become visible."); }
Vase tambin
UIObject.hide
UIObject.right
Disponibilidad
Flash MX 2004.
Sintaxis
componentInstance.right
Descripcin
Propiedad (slo lectura); nmero expresado en pxeles que indica la posicin del borde derecho del objeto con respecto al borde derecho de su elemento principal correspondiente. Para definir esta propiedad, llame a UIObject.move().
Ejemplo
En el ejemplo siguiente, se desplaza la casilla de verificacin para alinearla debajo del borde derecho del cuadro de lista:
myCheckbox.move(form.width - listbox.right, myCheckbox.y);
1476
Clase UIObject
UIObject.scaleX
Disponibilidad
Flash MX 2004.
Sintaxis
componentInstance.scaleX
Descripcin
Propiedad; nmero que indica el factor de escala en la direccin x del objeto con respecto a su elemento principal correspondiente.
Ejemplo
En el ejemplo siguiente, se hace que la casilla de verificacin doble su anchura y se define la variable tmp en el factor de escala horizontal:
checkbox.scaleX = 200; var tmp:Number = checkbox.scaleX;
UIObject.scaleY
Disponibilidad
Flash MX 2004.
Sintaxis
componentInstance.scaleY
Descripcin
Propiedad; nmero que indica el factor de escala en la direccin y del objeto con respecto a su elemento principal correspondiente.
Ejemplo
En el ejemplo siguiente, se hace que la casilla de verificacin doble su altura y se define la variable tmp en el factor de escala vertical:
checkbox.scaleY = 200; var tmp:Number = checkbox.scaleY;
UIObject.scaleY 1477
UIObject.setSize()
Disponibilidad
Flash MX 2004.
Sintaxis
componentInstance.setSize(width, height, noEvent)
Parmetros
width height noEvent
Nmero que indica la anchura del objeto, expresada en pxeles. Nmero que indica la altura del objeto, expresada en pxeles. Valor booleano que indica si debe distribuirse el evento resize.
Valor devuelto
Ninguno.
Descripcin
Mtodo; cambia el tamao del objeto por el tamao especificado. Debe pasar slo valores enteros a UIObject.setSize() o, de lo contrario, el componente puede aparecer borroso. Este mtodo (y todos los mtodos y propiedades de UIObject) est disponible desde cualquier instancia de componente. La llamada a este mtodo desde una instancia de ComboBox hace que se ajuste el tamao del cuadro combinado y cambie la propiedad rowHeight de la lista que contiene.
NO T A 1478
Algunos componentes slo permiten modificar las dimensiones de altura o anchura. Por ejemplo, los componentes CheckBox y RadioButton no permiten modificar la altura.
Clase UIObject
Ejemplo
En este ejemplo, se cambia el tamao de la instancia del componente pBar a 100 pxeles de ancho y 100 pxeles de alto:
pBar.setSize(100, 100);
En el siguiente ejemplo, se llama al mtodo setSize() para cambiar el tamao de un componente Button, my_button, a 200 pxeles de ancho por 100 pxeles de alto:
var my_button:mx.controls.Button; my_button.addEventListener("resize", doSize); function doSize(evt_obj:Object):Void { trace(evt_obj.target + " resized from {oldWidth:" + evt_obj.oldWidth + ", oldHeight:" + evt_obj.oldHeight + "} to {width:" + evt_obj.target.width + ", height:" + evt_obj.target.height + "}"); } my_button.setSize(200, 100);
UIObject.setSkin()
Disponibilidad
Flash MX 2004.
Sintaxis
componentInstance.setSkin(id, linkageName)
Parmetros
id
Nmero que indica la profundidad del aspecto de componente. Cadena que indica un elemento de la biblioteca.
linkageName
Valor devuelto
Mtodo; define un aspecto en la instancia de componente. Utilice este mtodo en un archivo de clase de componente cuando cree un componente. Para ms informacin, consulte Asignacin de aspectos en Utilizacin de componentes ActionScript 2.0. No se puede utilizar este mtodo para definir los aspectos de un componente en tiempo de ejecucin (por ejemplo, la forma en la que se definen los estilos de un componente en tiempo de ejecucin).
UIObject.setSkin() 1479
Ejemplo
Este ejemplo es un fragmento de cdigo del archivo de clase de un componente nuevo llamado Shape. Crea una variable themeShape y la define en el identificador de vinculacin del aspecto. En el mtodo createChildren(), se llama al mtodo setSkin() y se pasa el id 1 y la variable que aloja el identificador de vinculacin del aspecto:
class Shape extends UIComponent { static var symbolName:String = "Shape"; static var symbolOwner:Object = Shape; var className:String = "Shape"; var themeShape:String = "circle_skin" function Shape() { } function init(Void):Void { super.init(); } function createChildren():Void { setSkin(1, themeShape); super.createChildren(); } }
UIObject.setStyle()
Disponibilidad
Flash MX 2004.
Sintaxis
componentInstance.setStyle(propertyName, value)
1480
Clase UIObject
Parmetros
Cadena que indica el nombre de la propiedad de estilo. Los estilos compatibles dependern del componente. Cada componente permite establecer un conjunto de estilos distinto. Por ejemplo, Personalizacin del componente TextArea en la pgina 1271 muestra una tabla de estilos, incluido fontWeight. As pues, en un componente TextArea, puede utilizar fontWeight como valor del parmetro propertyName.
propertyName value
Valor devuelto
Ninguno.
Descripcin
Mtodo; define la propiedad de estilo en la declaracin de estilos o en el objeto. Si la propiedad de estilo es un estilo heredado, la notificacin del nuevo valor se enviar a los elementos secundarios. Para ver una lista de estilos admitidos por cada componente, consulte las entradas individuales de componente. Por ejemplo, los estilos del componente Button se enumeran en Utilizacin de estilos con el componente Button en la pgina 96. Para mejorar el rendimiento puede cambiar estilos antes de cargarlos, calcularlos y aplicarlos a los objetos del archivo SWF. Si cambia los estilos antes de cargarlos y calcularlos, no tendr que llamar a setStyle. Adobe recomienda establecer las propiedades en cada objeto porque se crean instancias de los objetos para mejorar el rendimiento cuando se utilizan estilos. Cuando aada dinmicamente instancias al escenario, establezca las propiedades en el parmetro initObj en la llamada que realice a UIObject.createClassObject(), como muestra el siguiente cdigo ActionScript:
createClassObject(ComponentClass, "myInstance", 0, {styleName:"myStyle", color:0x99CCFF});
NO T A
En este ejemplo, se utiliza la declaracin de estilo personalizado myStyle. Para cambiar varias propiedades o cambiar propiedades de varias instancias de componente, cree una declaracin de estilo personalizado. Flash representa con mayor rapidez un componente que utilice una declaracin de estilo personalizado que uno que utilice UIObject.setStyle() para varias propiedades. Para ms informacin, consulte Definicin de estilos personalizados para grupos de componentes en Utilizacin de componentes ActionScript 2.0.
Ejemplo
El cdigo siguiente define la propiedad de estilo fontWeight de la instancia de la casilla de verificacin cb en negrita:
cb.setStyle("fontWeight", "bold");
UIObject.setStyle()
1481
UIObject.top
Disponibilidad
Flash MX 2004.
Sintaxis
componentInstance.top
Descripcin
Propiedad (slo lectura); nmero que indica en pxeles el borde superior del objeto con respecto a su elemento principal correspondiente. Para definir esta propiedad, llame a UIObject.move().
UIObject.unload
Disponibilidad
Flash MX 2004.
Sintaxis
Sintaxis 1:
var listenerObject:Object = new Object(); listenerObject.unload = function(eventObject:Object):Void { // ... }; componentInstance.addEventListener("unload", listenerObject);
Sintaxis 2:
on (unload) { // ... }
1482
Clase UIObject
Descripcin
Evento; notifica a los detectores que se estn descargando los subobjetos de este objeto. El primer ejemplo de sintaxis utiliza un modelo de eventos distribuidor/detector. Una instancia de componente (componentInstance) distribuye un evento (en este caso, unload) y ste se controla mediante una funcin, tambin denominada controlador, asociada con el objeto detector (listenerObject) que crea el usuario. Se define un mtodo con el mismo nombre que el evento del objeto detector; se llama al mtodo cuando se activa el evento. Cuando se activa el evento, ste pasa automticamente un objeto de evento (eventObject) al mtodo del objeto detector. Cada objeto de evento tiene propiedades que contienen informacin sobre el evento. Estas propiedades sirven para escribir el cdigo que controla el evento. Finalmente, se llama al mtodo EventDispatcher.addEventListener() de la instancia del componente que difunde el evento para registrar el detector con la instancia. Cuando la instancia distribuya el evento, se llamar al detector. Para ms informacin, consulte Clase EventDispatcher en la pgina 527. El segundo ejemplo de sintaxis utiliza un controlador on() que debe asociarse directamente con una instancia de componente
Ejemplo
UIObject.unload
1483
UIObject.visible
Disponibilidad
Flash MX 2004.
Sintaxis
componentInstance.visible
Descripcin
UIObject.width
Disponibilidad
Flash MX 2004.
Sintaxis
componentInstance.width
Descripcin
Propiedad (slo lectura); nmero que indica la anchura del objeto, expresada en pxeles. Para cambiar la anchura, llame a UIObject.setSize().
Ejemplo
1484
Clase UIObject
UIObject.x
Disponibilidad
Flash MX 2004.
Sintaxis
componentInstance.x
Descripcin
Propiedad (slo lectura); nmero que indica el borde izquierdo del objeto, expresado en pxeles. Para definir esta propiedad, llame a UIObject.move().
Ejemplo
UIObject.y
Disponibilidad
Flash MX 2004.
Sintaxis
componentInstance.y
Descripcin
Propiedad (slo lectura); nmero que indica el borde superior del objeto, expresado en pxeles. Para definir esta propiedad, llame a UIObject.move().
Ejemplo
UIObject.y
1485
1486
Clase UIObject
CAPTULO 55
Componente UIScrollBar
El componente UIScrollBar permite aadir una barra de desplazamiento a un campo de texto Puede aadir una barra de desplazamiento a un campo de texto durante la edicin o en tiempo de ejecucin con ActionScript.
NO T A
55
El componente UIScrollBar es compatible tanto con ActionScript 2.0 como con ActionScript 3.0. En este documento, se describe el componente de la versin 2. Si utiliza el componente de la versin 3, consulte Utilizacin de UIScrollBar en Utilizacin de componentes ActionScript 3.0.
El componente UIScrollBar funciona como cualquier otra barra de desplazamiento. Contiene botones de flecha en ambos extremos y una gua de desplazamiento y un cuadro de desplazamiento (deslizador) en medio. Puede asociarse con cualquier borde de un campo de texto y utilizarse tanto vertical como horizontalmente.
1487
Parmetros de UIScrollBar
A continuacin se indican los parmetros de edicin que se pueden definir para cada instancia del componente UIScrollBar en el inspector de propiedades o el inspector de componentes (opcin de men Ventana > Inspector de componentes):
_targetInstanceName
indica el nombre de instancia del campo de texto asociado con el componente UIScrollBar.
horizontal indica si la barra de desplazamiento est orientada horizontalmente (true) o verticalmente (false). El valor predeterminado es false.
A continuacin se indican los parmetros adicionales que se pueden definir para cada instancia del componente UIScrollBar en el inspector de componentes (Ventana > Inspector de componentes):
enabled
es un valor booleano que indica si el componente acepta selecciones y entradas. El valor predeterminado es true.
visible es un valor booleano que indica si el objeto es visible (true) o no (false). El valor predeterminado es true.
N OT A 1488
Las propiedades minHeight y minWidth se utilizan en rutinas internas de cambio de tamao. Se definen en UIObject y se sustituyen por distintos componentes segn convenga. Estas propiedades pueden utilizarse si se crea un administrador de diseo personalizado en la aplicacin. De lo contrario, establecer estas propiedades en el inspector de componentes no produce ningn efecto visible.
Es posible escribir ActionScript para controlar stas y otras opciones adicionales para un componente UIScrollBar mediante sus propiedades, mtodos y eventos. Para ms informacin, consulte Clase UIScrollBar en la pgina 1494.
Componente UIScrollBar
Seleccione Archivo > Nuevo y, a continuacin, Archivo Flash (ActionScript 2.0). Cree un campo de texto dinmico y asgnele el nombre de instancia myText en el inspector de propiedades. En el inspector de propiedades, establezca el Tipo de lnea del campo de introduccin de texto en Multilnea o en Multilnea sin ajuste si tiene previsto utilizar la barra de desplazamiento horizontalmente. En el Fotograma 1, utilice ActionScript para aadir texto suficiente al campo de forma que los usuarios deban desplazarse para poder verlo en su totalidad. Puede escribir el siguiente cdigo:
myText.text="When the moon is in the seventh house and Jupiter aligns with Mars, then peace will guide the planet and love will rule the stars."
N OT A
3.
4.
Asegrese de que el campo de texto en el escenario es lo suficientemente pequeo como para tener que desplazarse por l para poder ver todo el texto. Si no lo es, la barra de desplazamiento no aparece o puede aparecer simplemente como dos lneas sin control deslizador, que es la parte que se arrastra para desplazarse por el contenido.
5. 6.
Compruebe que est activado el ajuste a objetos (Ver > Ajustar > Ajustar a objetos). Arrastre una instancia de UIScrollBar del panel Componentes al campo de introduccin de texto junto al lado donde desea asociarlo. El componente debe solaparse con el campo de texto al soltar el ratn, para que quede correctamente vinculado al campo. La propiedad _targetInstanceName del componente se llena automticamente con el nombre de instancia del campo de texto en el inspector de propiedades y el inspector de componentes. Si no aparece en la ficha Parmetros, es posible que no haya superpuesto suficientemente la instancia de UIScrollBar.
7.
Seleccione Control > Probar pelcula. La aplicacin se ejecuta y la barra de desplazamiento desplaza el contenido al campo de texto.
1489
Tambin se puede crear una instancia del componente UIScrollBar y asociarla con un campo de texto en tiempo de ejecucin mediante ActionScript. El cdigo siguiente crea una instancia de UIScrollBar orientada verticalmente y la asocia con el lado derecho de una instancia de campo de texto denominada my_txt y establece el tamao de la barra de desplazamiento para ajustarla al tamao del campo de texto:
/** Se requiere: - Componente UIScrollBar en la biblioteca */ // Crear campo de texto. this.createTextField("my_txt", 10, 10, 20, 200, 100); my_txt.wordWrap = true; this.createClassObject(mx.controls.UIScrollBar, "my_sb", 20); // Establecer el campo de texto de destino de la barra de desplazamiento. my_sb.setScrollTarget(my_txt); // Cambiar el tamao para ajustar el campo de texto. my_sb.setSize(16, my_txt._height); // Desplazarlo junto al campo de texto. my_sb.move(my_txt._x + my_txt._width, my_txt._y); // Cargar el texto que debe mostrarse y definir controlador onData. var my_lv:LoadVars = new LoadVars(); my_lv.onData = function(src:String) { if (src != undefined) { my_txt.text = src; } else { my_txt.text = "Error loading text."; } }; my_lv.load("http://www.helpexamples.com/flash/lorem.txt");
1490
Componente UIScrollBar
Si utiliza el mtodo UIObject.setSize(), slo puede cambiar la altura o la anchura de la instancia, en funcin de si se trata de una barra de desplazamiento horizontal o vertical. Por tanto, el mtodo setSize() omite el parmetro height o width.
No obstante, tenga en cuenta que, con el tema Halo, una barra de desplazamiento orientada verticalmente debe tener una anchura de 16 pxeles y una barra de desplazamiento orientada horizontalmente debe tener una altura de 16 pxeles. Estas dimensiones se determinan de manera estricta por el tema que se utilice actualmente con la barra de desplazamiento. Slo es posible cambiar la dimensin de longitud de una barra de desplazamiento. Es posible personalizar la apariencia de una instancia de UIScrollBar mediante el uso de estilos y aspectos.
Tema
Halo
Descripcin
Esquema de colores base de un componente. Los valores posibles son haloGreen, haloBlue y haloOrange. El valor predeterminado es haloGreen Color de fondo de la gua de desplazamiento. El valor predeterminado es 0xCCCCCC (gris claro). Color de las flechas de desplazamiento arriba y abajo. El valor predeterminado es 0x000000 (negro). Color de las flechas de desplazamiento arriba y abajo en una barra de desplazamiento desactivada. El valor predeterminado es 0x848384 (gris oscuro).
scrollTrackColor
symbolColor
symbolDisabledColor
1491
Descripcin
Estado arriba (normal) de los botones arriba e izquierdo. El valor predeterminado es ScrollUpArrowUp. Estado de los botones arriba e izquierdo cuando se desplaza el puntero sobre ellos. El valor predeterminado es ScrollUpArrowOver. Estado de los botones arriba e izquierdo cuando se presionan. El valor predeterminado es ScrollUpArrowDown. Estado arriba (normal) de los botones abajo y derecho. El valor predeterminado es ScrollDownArrowUp. Estado de los botones abajo y derecho cuando se desplaza el puntero sobre ellos. El valor predeterminado es ScrollDownArrowOver. Estado de los botones abajo y derecho cuando se presionan. El valor predeterminado es ScrollDownArrowDown. Smbolo que se utiliza para la gua de la barra de desplazamiento (fondo). El valor predeterminado es ScrollTrack. Smbolo que se utiliza para la gua de desplazamiento (fondo) cuando se desplaza el puntero sobre ella. El valor predeterminado es undefined. Smbolo que se utiliza para la gua de desplazamiento (fondo) cuando se presiona. El valor predeterminado es undefined. Extremos superior e izquierdo del cuadro de desplazamiento (deslizador). El valor predeterminado es ScrollThumbTopUp. Parte central (ampliable) del deslizador. El valor predeterminado es ScrollThumbMiddleUp.
upArrowOverName
upArrowDownName
downArrowUpName
downArrowOverName
downArrowDownName
scrollTrackName
scrollTrackOverName
scrollTrackDownName
thumbTopName
thumbMiddleName
1492
Componente UIScrollBar
Propiedad
thumbBottomName
Descripcin
Extremos inferior y derecho del deslizador. El valor predeterminado es ScrollThumbBottomUp. Control que se visualiza delante del deslizador. El valor predeterminado es ScrollThumbGripUp.
thumbGripName
En el siguiente ejemplo, se muestra cmo insertar una fina lnea blanca en medio de la gua de desplazamiento.
Para crear smbolos de clip de pelcula para aspectos de UIScrollBar:
1. 2.
Seleccione Archivo > Nuevo y, a continuacin, Archivo Flash (ActionScript 2.0). Seleccione Archivo > Importar > Abrir biblioteca externa y, a continuacin, seleccione el archivo HaloTheme.fla. Este archivo se encuentra en la carpeta de configuracin a nivel de la aplicacin. Para saber cul es la ubicacin exacta en el sistema operativo, consulte Temas en Utilizacin de componentes ActionScript 2.0.
3.
En el panel Biblioteca del tema, expanda la carpeta Flash UI Components 2/Themes/ MMDefault y arrastre la carpeta ScrollBar Assets a la biblioteca del documento. Expanda la carpeta ScrollBar Assets/States en la biblioteca del documento. Abra los smbolos que desea personalizar. Por ejemplo, abra el smbolo ScrollTrack. Personalice el smbolo como desee. Por ejemplo, dibuje un rectngulo negro en medio de la gua; utilice para ello un rectngulo 1 x 4 en las coordenadas (8,0).
4. 5.
6.
7.
Repita los pasos 5 y 6 en todos los smbolos que desee personalizar. Por ejemplo, dibuje la misma lnea en el smbolo ScrollTrackDisabled. Haga clic en el botn Atrs para volver a la lnea de tiempo principal. Cree en el escenario una instancia de TextField para introducir datos. un componente UIScrollBar a la instancia de TextField. Seleccione Control > Probar pelcula.
8. 9.
1493
Clase UIScrollBar
Herencia
MovieClip > Clase UIObject > Clase UIComponent > ScrollBar > UIScrollBar mx.controls.UIScrollBar
Las propiedades de la clase UIScrollBar permiten ajustar la posicin y la cantidad de desplazamiento cuando el usuario hace clic en las flechas o en la gua de desplazamiento. A diferencia de lo que ocurre en la mayora de componentes, los eventos se difunden al presionar el botn del ratn y siguen difundindose hasta que se suelta el botn. Cada clase de componente tiene una propiedad version que es una propiedad de clase. Las propiedades de clase slo estn disponibles en la propia clase. La propiedad version devuelve una cadena que indica la versin del componente. Para acceder a esta propiedad, utilice el cdigo siguiente:
trace(mx.controls.UIScrollBar.version);
N OT A 1494
Componente UIScrollBar
Descripcin
Crea un objeto en la clase especificada. Crea un subobjeto en un objeto. Elimina una instancia de componente. Llama a una funcin cuando se han establecido parmetros en el inspector de propiedades y el inspector de componentes. Obtiene la propiedad de estilo de la declaracin de estilo o del objeto. Marca el objeto de forma que se pueda volver a dibujar en el siguiente intervalo de fotogramas. Mueve el objeto a la posicin indicada. Fuerza la validacin del objeto, de forma que se pueda dibujar sobre el fotograma actual. Cambia el tamao del objeto al indicado. Define un aspecto en el objeto. Define la propiedad de estilo en la declaracin de estilo o en el objeto.
UIObject.getStyle()
UIObject.invalidate()
UIObject.move() UIObject.redraw()
Descripcin
Devuelve una referencia al objeto seleccionado. Define la seleccin en la instancia de componente.
Clase UIScrollBar
1495
Descripcin
Nmero de lneas o pxeles de desplazamiento cuando el usuario hace clic en los botones de flecha de la barra de desplazamiento. Nmero de lneas o pxeles de desplazamiento cuando el usuario hace clic en la gua de la barra de desplazamiento. Posicin de desplazamiento actual de la barra de desplazamiento. Nombre de instancia del campo de texto asociado a la instancia de UIScrollBar. Valor booleano que indica si la barra de desplazamiento est orientada verticalmente (false), que es la opcin predeterminada, u horizontalmente (true).
UIScrollBar.pageScrollSize
UIScrollBar.scrollPosition
UIScrollBar._targetInstanceName
UIScrollBar.horizontal
Descripcin
Slo lectura; posicin del borde inferior del objeto con respecto al borde inferior de su elemento principal correspondiente. Slo lectura; altura del objeto, expresada en pxeles. Slo lectura; borde izquierdo del objeto, expresado en pxeles. Slo lectura; posicin del borde derecho del objeto con respecto al borde derecho de su elemento principal correspondiente. Nmero que indica el factor de escala en la direccin x del objeto con respecto a su elemento principal correspondiente.
UIObject.height UIObject.left
UIObject.right
UIObject.scaleX
1496
Componente UIScrollBar
Propiedad
UIObject.scaleY
Descripcin
Nmero que indica el factor de escala en la direccin y del objeto con respecto a su elemento principal correspondiente. Slo lectura; posicin del borde superior del objeto con respecto a su elemento principal correspondiente. Valor booleano que indica si el objeto es visible (true) o no (false). Slo lectura; anchura del objeto, expresada en pxeles. Slo lectura; borde izquierdo del objeto, expresado en pxeles. Slo lectura; borde superior del objeto, expresado en pxeles.
UIObject.top
UIObject.visible
UIObject.width UIObject.x
UIObject.y
Descripcin
Indica si el componente puede recibir selecciones y entradas. Nmero que indica el orden de tabulacin para un componente de un documento.
UIComponent.tabIndex
Clase UIScrollBar
1497
Descripcin
Se difunde al hacer clic en cualquier parte de la barra de desplazamiento.
Descripcin
Se difunde cuando un objeto est a punto de dibujar sus grficos. Se difunde cuando el estado de un objeto pasa de ser visible a invisible. Se difunde cuando se crean subobjetos. Se difunde cuando se mueve el objeto. Se difunde cuando cambia el tamao de un objeto. Se difunde cuando el estado de un objeto pasa de ser invisible a visible. Se difunde durante la descarga de los subobjetos.
UIObject.hide
UIObject.unload
Descripcin
Se difunde cuando se selecciona un objeto. Se difunde cuando un objeto deja de seleccionarse. Se difunde cuando se presiona una tecla. Se difunde cuando se suelta una tecla.
1498
Componente UIScrollBar
UIScrollBar.horizontal
Disponibilidad
Flash MX 2004.
Sintaxis
scrollBarInstance.horizontal
Descripcin
Propiedad; indica si la barra de desplazamiento est orientada verticalmente (false) u horizontalmente (true). Esta propiedad puede probarse y definirse. El valor predeterminado es false.
Ejemplo
En el siguiente ejemplo, se utiliza la propiedad horizontal para establecer la barra de desplazamiento denominada my_sb en una orientacin horizontal y se muestra el texto en la instancia my_txt del componente TextField:
/** Se requiere: - Componente UIScrollBar en la biblioteca */ // Crear el campo de texto. this.createTextField("my_txt", 10, 10, 20, 200, 100); my_txt.wordWrap = false; my_txt.text = "Mary had a little lamb whose fleece " + "was white as snow and everywhere that Mary went the " + "lamb was sure to go." // Crear barra de desplazamiento. this.createClassObject(mx.controls.UIScrollBar, "my_sb", 20); my_sb.horizontal = true; // Establecer el campo de texto de destino de la barra de desplazamiento. my_sb.setScrollTarget(my_txt); // Cambiar el tamao para ajustar el campo de texto. my_sb.setSize(my_txt._width, 16); // Desplazarlo a la parte inferior del campo de texto. my_sb.move(my_txt._x, my_txt._y + my_txt._height);
UIScrollBar.horizontal
1499
UIScrollBar.lineScrollSize
Disponibilidad
Flash MX 2004.
Sintaxis
scrollBarInstance.lineScrollSize
Descripcin
Propiedad; obtiene o establece el nmero de lneas o pxeles de desplazamiento cuando el usuario hace clic en los botones de flecha del componente UIScrollBar. Si la barra de desplazamiento est orientada verticalmente, el valor es un nmero de lneas. Si la barra de desplazamiento est orientada horizontalmente, el valor es un nmero de pxeles. El valor predeterminado es 1.
Ejemplo
En el siguiente ejemplo, se crea una barra de desplazamiento para desplazar el texto en un campo de texto que se carga desde una pgina Web. El ejemplo establece la propiedad lineScrollSize para desplazarse dos lneas cada vez que se hace clic en un botn de flecha:
/** Se requiere: - Componente UIScrollBar en la biblioteca */ this.createTextField("my_txt", 10, 10, 20, 200, 100); my_txt.wordWrap = true; this.createClassObject(mx.controls.UIScrollBar, "my_sb", 20); // Definir el campo de texto de destino. my_sb.setScrollTarget(my_txt); // Cambiar el tamao para ajustar el campo de texto. my_sb.setSize(16, my_txt._height); // Desplazarlo junto al campo de texto. my_sb.move(my_txt._x + my_txt._width, my_txt._y); // Desplazarse 2 lneas por cada clic en flecha de desplazamiento. my_sb.lineScrollSize = 2; // Desplazarse 5 lneas por cada clic en flecha de desplazamiento. my_sb.pageScrollSize = 5; // Cargar el texto que debe mostrarse y definir controlador onData. ");
1500 Componente UIScrollBar
UIScrollBar.pageScrollSize
Disponibilidad
Flash MX 2004.
Sintaxis
scrollBarInstance.pageScrollSize
Descripcin
Propiedad; obtiene o establece el nmero de lneas o pxeles de desplazamiento cuando el usuario hace clic en la gua de desplazamiento del componente UIScrollBar. Si la barra de desplazamiento est orientada verticalmente, el valor es un nmero de lneas. Si la barra de desplazamiento est orientada horizontalmente, el valor es un nmero de pxeles. Tambin es posible definir este valor pasando un parmetro pageSize con el mtodo UIScrollBar.setScrollTarget().
Ejemplo
En el siguiente ejemplo, se crea una barra de desplazamiento para desplazar el texto en un campo de texto que se carga desde una pgina Web. El ejemplo establece la propiedad pageScrollSize para desplazarse cinco lneas de texto cada vez que el usuario hace clic en la gua de desplazamiento:
/** Se requiere: - Componente UIScrollBar en la biblioteca */ this.createTextField("my_txt", 10, 10, 20, 200, 100); my_txt.wordWrap = true; this.createClassObject(mx.controls.UIScrollBar, "my_sb", 20); // Definir el campo de texto de destino. my_sb.setScrollTarget(my_txt); // Cambiar el tamao para ajustar el campo de texto. my_sb.setSize(16, my_txt._height); // Desplazarlo junto al campo de texto. my_sb.move(my_txt._x + my_txt._width, my_txt._y);
UIScrollBar.pageScrollSize
1501
// Desplazarse 2 lneas por cada clic en flecha de desplazamiento. my_sb.lineScrollSize = 2; // Desplazarse 5 lneas por cada clic en gua de desplazamiento. my_sb.pageScrollSize = 5; // Cargar el texto que debe mostrarse y definir controlador onData. var my_lv:LoadVars = new LoadVars(); my_lv.onData = function(src:String) { if (src != undefined) { my_txt.text = src; } else { my_txt.text = "Error loading text."; } }; my_lv.load("http://www.helpexamples.com/flash/lorem.txt");
UIScrollBar.scroll
Disponibilidad
Flash MX 2004.
Sintaxis
Sintaxis 1:
var listenerObject:Object = new Object(); listenerObject.scroll = function(eventObject:Object) { // ... }; scrollBarInstance.addEventListener("scroll", listenerObject)
Sintaxis 2:
on (scroll) { // ... }
1502
Componente UIScrollBar
Descripcin
Evento; se difunde a todos los detectores registrados cuando se hace clic con el ratn (se suelta) sobre la barra de desplazamiento. La propiedad UIScrollBar.scrollPosition y la imagen en pantalla de la barra de desplazamiento se actualizan antes de que se difunda este evento. El primer ejemplo de sintaxis utiliza un modelo de evento distribuidor/detector en el que el script se sita en un fotograma de la lnea de tiempo que contiene la instancia del componente. Una instancia de componente (scrollBarInstance) distribuye un evento (en este caso, scroll) y ste se controla mediante una funcin, tambin denominada controlador, asociada con el objeto detector (listenerObject) que crea el usuario. Debe definirse un mtodo con el mismo nombre que el evento del objeto detector; se llama al mtodo cuando se produce el evento. Cuando se produce el evento, ste pasa automticamente un objeto de evento (eventObject) al mtodo del objeto detector. El objeto de evento tiene propiedades que contienen informacin sobre el evento. Estas propiedades sirven para escribir el cdigo que controla el evento. Finalmente, se llama a addEventListener() (consulte EventDispatcher.addEventListener()) en la instancia del componente que difunde el evento para registrar el detector con la instancia. Cuando la instancia distribuya el evento, se llamar al detector. Adems de las propiedades normales del objeto de evento (type y target), el objeto del evento scroll incluye una tercera propiedad denominada direction. La propiedad direction contiene una cadena que describe la orientacin de la barra de desplazamiento. Los valores posibles de la propiedad direction son vertical (valor predeterminado) y horizontal. Para ms informacin sobre las propiedades type y target del objeto de evento, consulte Objetos de evento en la pgina 527. El segundo ejemplo de sintaxis utiliza un controlador on() que debe asociarse directamente con una instancia del componente UIScrollBar. La palabra clave this, utilizada en un controlador on() asociado con un componente, hace referencia a la instancia del componente. Por ejemplo, el cdigo siguiente, asociado con la instancia myUIScrollBarComponent de UIScrollBar, enva _level0.myUIScrollBarComponent al panel Salida:
on (scroll) { trace(this); }
UIScrollBar.scroll
1503
Ejemplo
En el siguiente ejemplo, se implementa la sintaxis 1 y se crea un objeto detector denominado sbListener con un controlador de eventos scroll:
/** Se requiere: - Componente UIScrollBar en la biblioteca */ this.createTextField("my_txt", 10, 10, 20, 200, 100); my_txt.wordWrap = true; this.createClassObject(mx.controls.UIScrollBar, "my_sb", 20); // Definir el campo de texto de destino. my_sb.setScrollTarget(my_txt); // Cambiar el tamao para ajustar el campo de texto. my_sb.setSize(16, my_txt._height); // Desplazarlo junto al campo de texto. my_sb.move(my_txt._x + my_txt._width, my_txt._y); // Crear un objeto detector. var sbListener:Object = new Object(); sbListener.scroll = function(evt_obj:Object){ // Insertar cdigo para controlar el evento "scroll". trace("text is scrolling"); } // Aadir detector. my_sb.addEventListener("scroll", sbListener); // Cargar el texto que debe mostrarse y definir controlador onData. var my_lv:LoadVars = new LoadVars(); my_lv.onData = function(src:String) { if (src != undefined) { my_txt.text = src; } else { my_txt.text = "Error loading text."; } }; my_lv.load("http://www.helpexamples.com/flash/lorem.txt");
El cdigo siguiente implementa la sintaxis 2. El cdigo se asocia con la instancia del componente UIScrollBar y enva un mensaje al panel Salida cuando el usuario hace clic en la barra de desplazamiento. El controlador on() debe asociarse directamente con la instancia de UIScrollBar.
on (scroll) { trace("UIScrollBar component was clicked"); }
1504
Componente UIScrollBar
UIScrollBar.scrollPosition
Disponibilidad
Flash MX 2004.
Sintaxis
scrollBarInstance.scrollPosition
Descripcin
Propiedad; obtiene o establece la posicin de desplazamiento actual del cuadro de desplazamiento (deslizador) cuando se establece un nuevo valor de scrollPosition. El valor de scrollPosition depende de que la instancia de UIScrollBar se utilice para el desplazamiento vertical u horizontal. Establezca el desplazamiento de la instancia de destino de la barra de desplazamiento por separado, mediante la siguiente sintaxis:
my_scrollbar._targetInstanceName.scroll = 20;
Si la instancia de UIScrollBar se utiliza para el desplazamiento vertical (el uso ms comn), el valor de scrollPosition es un entero con un rango entre 0 y el nmero total de lneas en el campo de texto dividido por el nmero de lneas que pueden mostrarse simultneamente en el campo de texto. Si se define un valor de scrollPosition en un nmero por encima de este rango, el campo de texto simplemente se desplazar al final del texto. Para establecer el cuadro de desplazamiento (deslizador) en la primera lnea, defina el valor 0 en scrollPosition. Para establecer el cuadro de desplazamiento (deslizador) en el final, establezca scrollPosition en el nmero de lneas de texto del campo de texto menos uno. Es posible determinar el nmero de lneas a partir del valor de la propiedad maxscroll del campo de texto. Si la instancia de UIScrollBar se utiliza para el desplazamiento horizontal, el valor de scrollPosition es un entero entre 0 y la anchura del campo de texto, en pxeles. Es posible determinar la anchura del campo de texto en pxeles a partir del valor de la propiedad maxhscroll del campo de texto. El valor predeterminado de scrollPosition es 0.
UIScrollBar.scrollPosition
1505
Ejemplo
1506
Componente UIScrollBar
UIScrollBar.setScrollProperties()
Disponibilidad
Flash MX 2004.
Sintaxis
scrollBarInstance.setScrollProperties(pageSize, minPos, maxPos)
Parmetros
Nmero de elementos que pueden verse en el rea de visualizacin. Este parmetro define el tamao del recuadro de delimitacin del campo de texto. Si la barra de desplazamiento es vertical, este valor es un nmero de lneas de texto; si la barra de desplazamiento es horizontal, este valor es un nmero de pxeles.
pageSize minPos Este parmetro se refiere a la lnea de texto de numeracin inferior cuando se utiliza la barra de desplazamiento verticalmente o al pxel de numeracin inferior del recuadro de delimitacin del campo de texto cuando se utiliza la barra de desplazamiento horizontalmente. El valor suele ser 0. maxPos Este valor se refiere a la lnea de texto de numeracin superior cuando se utiliza la barra de desplazamiento verticalmente o al pxel de numeracin superior del recuadro de delimitacin del campo de texto cuando se utiliza la barra de desplazamiento horizontalmente.
Descripcin
Mtodo; establece el intervalo de la barra de desplazamiento y el tamao del campo de texto asociado a la barra de desplazamiento. Este mtodo es til sobre todo cuando se asocia un componente UIScrollBar con un campo de texto en tiempo de ejecucin (mediante UIScrollBar.setScrollTarget()) y no durante la edicin, y la asignacin no provoca que el campo de texto difunda eventos change. Si se utiliza el mtodo replaceText para definir el texto del campo de texto, debe utilizarse setScrollProperties() para actualizar las barras de desplazamiento. El componente UIScrollBar utiliza conjuntamente los valores de minPos y maxPos para determinar el intervalo de desplazamiento de la barra y el campo de texto asociado.
Ejemplo
En el siguiente ejemplo, se establece que un componente UIScrollBar muestre 10 lneas de texto simultneamente en el campo de texto, fuera del rango de 0 a 99 lneas:
my_sb.setScrollProperties(10, 0, 99);
UIScrollBar.setScrollProperties()
1507
UIScrollBar.setScrollTarget()
Disponibilidad
Flash MX 2004.
Sintaxis
scrollBarInstance.setScrollTarget(textInstance)
Parmetros
textInstance
Descripcin
Mtodo; asigna un componente UIScrollBar a una instancia de campo de texto. Utilice este mtodo si es necesario asociar un campo de texto y un componente UIScrollBar en tiempo de ejecucin.
Ejemplo
En el siguiente ejemplo, se crea una barra de desplazamiento para desplazar el texto en un campo de texto que se carga desde una pgina Web. En el ejemplo, se llama al mtodo setScrollTarget() para asociar la barra de desplazamiento my_sb con el campo de texto my_txt.
/** Se requiere: - Componente UIScrollBar en la biblioteca */ this.createTextField("my_txt", 10, 10, 20, 200, 100); my_txt.wordWrap = true; this.createClassObject(mx.controls.UIScrollBar, "my_sb", 20); // Definir el campo de texto de destino. my_sb.setScrollTarget(my_txt); // Cambiar el tamao para ajustar el campo de texto. my_sb.setSize(16, my_txt._height); // Desplazarlo junto al campo de texto. my_sb.move(my_txt._x + my_txt._width, my_txt._y); // Desplazarse 2 lneas por cada clic en flecha de desplazamiento.
1508
Componente UIScrollBar
my_sb.lineScrollSize = 2; // Desplazarse 5 lneas por cada clic en gua de desplazamiento. my_sb.pageScrollSize = 5; // Cargar el texto que debe mostrarse y definir controlador onData. var my_lv:LoadVars = new LoadVars(); my_lv.onData = function(src:String) { if (src != undefined) { my_txt.text = src; } else { my_txt.text = "Error loading text."; } }; my_lv.load("http://www.helpexamples.com/flash/lorem.txt");
UIScrollBar._targetInstanceName
Disponibilidad
Flash MX 2004.
Sintaxis
scrollBarInstance._targetInstanceName
Descripcin
Propiedad; indica el nombre de instancia del campo de texto asociado con un componente UIScrollBar. Esta propiedad puede probarse y definirse. Sin embargo, no debera utilizarse para crear una asociacin entre un campo de texto y una barra de desplazamiento. Utilice UIScrollBar.setScrollTarget() en su lugar.
UIScrollBar._targetInstanceName
1509
Ejemplo
En el siguiente ejemplo, se crea una barra de desplazamiento para desplazar el texto en un campo de texto que se carga desde una pgina Web. En el ejemplo, se llama a la funcin trace() para mostrar el valor de la propiedad targetInstanceName.
/** Se requiere: - Componente UIScrollBar en la biblioteca */ this.createTextField("my_txt", 10, 10, 20, 200, 100); my_txt.wordWrap = true; this.createClassObject(mx.controls.UIScrollBar, "my_sb", 20); // Definir el campo de texto de destino. my_sb.setScrollTarget(my_txt); trace(my_sb._targetInstanceName); // Cambiar el tamao para ajustar el campo de texto. my_sb.setSize(16, my_txt._height); // Desplazarlo junto al campo de texto. my_sb.move(my_txt._x + my_txt._width, my_txt._y); // Definir propiedades de desplazamiento. my_sb.setScrollProperties(10, 0, 99); // Cargar el texto que debe mostrarse y definir controlador onData. var my_lv:LoadVars = new LoadVars(); my_lv.onData = function(src:String) { if (src != undefined) { my_txt.text = src; my_txt.condenseWhite = true; } else { my_txt.text = "Error loading text."; } }; my_lv.load("http://www.helpexamples.com/flash/lorem.txt");
1510
Componente UIScrollBar
CAPTULO 56
56
Las clases de servicios Web, que se encuentran en el paquete mx.services, permiten acceder a servicios Web que utilizan el protocolo SOAP (Simple Object Access Protocol). Esta API no es la misma que la API del componente WebServiceConnector. La API de servicio Web es un conjunto de clases que se pueden utilizar slo en el cdigo ActionScript y suele incluirse en varios productos Adobe. Por el contrario, el componente WebServiceConnector es una API exclusiva de Flash que proporciona una interfaz de ActionScript para el componente WebServiceConnector visual.
NO TA
Las clases Web service slo son compatibles si trabaja con un documento que especifique ActionScript 2.0 en la Configuracin de publicacin.
En la tabla siguiente, se enumeran las clases del paquete mx.services. Estas clases funcionan de modo muy integrado, de modo que para aprender sobre las clases de este paquete, debe leer la informacin en el orden en el que aparece en la tabla.
Clase
Clase WebService
Descripcin
Con un archivo del lenguaje de descripcin de servicios Web (WSDL, Web Service Definition Language) que define el servicio Web, crea un objeto WebService para llamar a los mtodos de servicios Web y para controlar las funciones callback del servicio Web. Objeto devuelto de una llamada a mtodo de servicio Web que se ha implementado para controlar los resultados y los fallos de la llamada. Objeto opcional que sirve para registrar la actividad relacionada con un objeto WebService. Clase avanzada que contiene informacin sobre el funcionamiento del servicio Web y que permite controlar determinados comportamientos.
Clase PendingCall
1511
Estas clases estn disponibles automticamente en un documento de Flash cuando se aade el componente WebServiceConnector al archivo FLA.
Clase Log
Nombre de clase de ActionScript
mx.services.Log
La clase Log forma parte del paquete mx.services y se utiliza con la clase WebService (consulte Clase WebService en la pgina 1534). Para ver informacin general sobre las clases del paquete mx.data.services, consulte Clases de servicios Web en la pgina 1511.
La clase Log slo es compatible si trabaja con un documento que especifique ActionScript 2.0 en la Configuracin de publicacin.
Puede crear un objeto Log para registrar la actividad relacionada con un objeto WebService. Para ejecutar cdigo mientras se envan mensajes al objeto Log, utilice la funcin callback Log.onLog(). No hay archivo de registro; el mecanismo de registro es el que haya utilizado durante la funcin callback onLog(), como por ejemplo el envo de mensajes de registro a una sentencia trace(). El constructor de esta clase crea un objeto Log que puede pasarse como un parmetro opcional al constructor de WebService (consulte Clase WebService en la pgina 1534).
Descripcin
Devuelve la fecha y hora actual como una cadena con el formato: mm/dd hh:mm:ss que se utiliza en los mensajes de registro. Genera un evento Log.onLog con un nivel de registro y un mensaje designados. Genera un evento Log.onLog con un nivel de registro Log.DEBUG y un mensaje designado.
Log.logInfo()
Log.logDebug()
Descripcin
Categora de informacin que desea registrar. Nombre de cadena que identifica el objeto Log y que se incluye en cada mensaje del evento Log.onLog.
Descripcin
Flash Player la llama cuando se enva un mensaje de registro a un archivo de registro.
Clase Log
1513
Parmetros
logLevel
Nivel que indica el tipo de informacin que desea registrar en el registro. Hay cuatro niveles de registro posibles:
Log.BRIEF
Registra el evento de ciclo de vida y las notificaciones de error principales. ste es el valor predeterminado. Registra todos los eventos de ciclo de vida y las notificaciones de error. Registra las mtricas y los eventos y errores pormenorizados. No registra nada. Se puede utilizar para desactivar temporalmente los eventos
Nombre opcional que se incluye con cada mensaje de registro. Si utiliza varios objetos Log, puede utilizar el nombre de registro para determinar en qu registro ha quedado almacenado un mensaje determinado.
logName
Valor devuelto
Ninguno.
Descripcin
Constructor; crea un objeto Log. Una vez que haya creado el objeto Log, puede pasarlo a un servicio Web para recibir los mensajes.
Ejemplo
Puede llamar al constructor new Log para que devuelva un objeto Log y lo pase al servicio Web:
// Crea un objeto Log. import mx.services.*; myWebSrvcLog = new Log(); myWebSrvcLog.onLog = function(msg : String) : Void { myTrace(txt) }
1514
Cuando se ejecuta el cdigo de los servicios Web y se envan los mensajes al objeto Log, se realiza la llamada a la funcin onLog() de dicho objeto. Aqu es donde debe colocar el cdigo que muestra los mensajes de registro si quiere visualizarlos en tiempo real. A continuacin, se muestran ejemplos de mensajes de registro:
7/30 7/30 7/30 7/30 7/30 7/30 7/30 7/30 7/30 7/30 15:22:43 15:22:43 15:22:43 15:22:44 15:22:46 15:22:46 15:22:46 15:22:46 15:22:46 15:22:46 [INFO] SOAP: Decoding PendingCall response [DEBUG] SOAP: Decoding SOAP response envelope [DEBUG] SOAP: Decoding SOAP response body [INFO] SOAP: Decoded SOAP response into result [16 millis] [INFO] SOAP: Received SOAP response from network [6469 millis] [INFO] SOAP: Parsed SOAP response XML [15 millis] [INFO] SOAP: Decoding PendingCall response [DEBUG] SOAP: Decoding SOAP response envelope [DEBUG] SOAP: Decoding SOAP response body [INFO] SOAP: Decoded SOAP response into result [16 millis]
Log.getDateString()
Disponibilidad
Parmetros
Ninguno.
Valor devuelto
Fecha y hora actual como una cadena con el formato: mm/dd hh:mm:ss.
Descripcin
Funcin; devuelve la fecha y hora actual como una cadena con el formato: mm/dd hh:mm:ss. Puede utilizar Log.getDateString() para obtener la fecha en el mismo formato que en el mensaje de registro o registrar nicamente la cadena de fecha en un controlador de eventos log.onLog para utilizarla en la gestin de registros personalizados.
Log.getDateString()
1515
Ejemplo
En el ejemplo siguiente, se crea un objeto Log, se pasa a un objeto WebService nuevo y se controlan los mensajes de registro mediante Log.getDateString(), para obtener la hora del registro.
import mx.services.*; // Crea un objeto Log. myWebSrvcLog = new Log(Log.BRIEF, "myLog"); // Pasa el objeto Log al servicio Web. myWebService = new WebService(wsdlURI, myWebSrvcLog); // Controla los mensajes de registro de entrada. myWebSrvcLog.onLog = function(message : String) : Void { trace("A Log Event Occurred At This Time: "+ this.getDateString()); }
Log.logInfo()
Disponibilidad
Parmetros
msg
Mensaje de tipo String que desea que aparezca en el mensaje de evento de registro resultante.
Valor devuelto
Ninguno.
Descripcin
Funcin; genera un mensaje de registro establecido por el parmetro msg, en un nivel de registro establecido por el parmetro level. Este mtodo proporciona una forma de crear sus propios eventos de registro sin ningn nivel de registro.
1516
Ejemplo
El ejemplo siguiente crea un nuevo objeto Log. Se genera un evento onLog con un mensaje que indica el inicio de un nuevo registro, mediante una llamada a Log.logDebug().
import mx.services.*; // Crea un objeto Log. myWebSrvcLog = new Log(Log.VERBOSE, "myLog"); // Handles incoming log messages. myWebSrvcLog.onLog = function(message:String):Void { trace(message); }; myWebSrvcLog.logInfo(">>>>> New Log Started <<<<<"); // Passes the Log object to the web service. var wsdlURI:String = "http://www.flash-mx.com/mm/tips/tips.cfc?WSDL"; var myWebService:WebService = new WebService(wsdlURI, myWebSrvcLog);
Log.logDebug()
Disponibilidad
Parmetros
msg
Cadena de mensaje de registro. La cadena que proporcione en este parmetro aparecer como mensaje de registro en el evento de registro resultante.
Valor devuelto
Ninguno.
Descripcin
Funcin; genera un mensaje de registro que contiene msg y el indicador de tipo de mensaje [debug]. Este mtodo proporciona una forma de crear sus propios eventos de registro con [debug] en el mensaje de registro, que slo ser visible con un valor de nivel de registro Log.DEBUG. La siguiente cadena es un ejemplo de mensaje de registro de nivel debug, generado por
Log.logDebug(): 12/18 23:20:17 [DEBUG] myLog: My log message
Log.logDebug()
1517
Ejemplo
El ejemplo siguiente crea un nuevo objeto Log. Se genera un evento onLog con un mensaje que indica el inicio de un nuevo registro, mediante una llamada a Log.logDebug().
import mx.services.*; // Crea un objeto Log. myWebSrvcLog = new Log(Log.DEBUG, "myLog"); // Controla los mensajes de registro de entrada. myWebSrvcLog.onLog = function(message : String) : Void { trace(message); } // Genera un mensaje de registro con un nivel de registro Log.DEBUG. myWebSrvcLog.logDebug("New Log Started"); // Pasa el objeto Log al servicio Web. myWebService = new WebService(wsdlURI, myWebSrvcLog);
Log.level
Disponibilidad
Descripcin
Propiedad; indica la categora de informacin que desea registrar. Hay cuatro niveles de registro posibles:
Log.BRIEF
Registra el evento de ciclo de vida y las notificaciones de error principales. ste es el valor predeterminado. La propiedad Log.level establecida en Log.BRIEF devuelve el nmero 0.
Log.VERBOSE
Registra todos los eventos de ciclo de vida y las notificaciones de error. La propiedad Log.level establecida en Log.VERBOSE devuelve el nmero 1. Registra las mtricas y los eventos y errores pormenorizados. La propiedad establecida en Log.DEBUG devuelve el nmero 2. No registra nada. Se puede utilizar para desactivar temporalmente los eventos La propiedad Log.level establecida en Log.NONE devuelve el nmero -1.
Log.DEBUG Log.level
Log.NONE Log.onLog.
Aunque puede definir esta propiedad directamente, resulta habitual establecer Log.level como un parmetro al crear un nuevo objeto Log. Consulte Clase Log en la pgina 1512.
1518 Clases de servicios Web
Ejemplo
En el ejemplo siguiente, se crea un nuevo objeto Log una propiedad Log.level establecida en Log.DEBUG. Se realiza un seguimiento de la propiedad Log.level actual. A continuacin, la propiedad Log.level del objeto Log se establece en Log.VERBOSE.
import mx.services.*; // Crea un objeto Log. myWebSrvcLog = new Log(Log.DEBUG, "myLog"); trace("myWebSrvcLog.level: "+ myWebSrvcLog.level); // Hay que cambiar el nivel del objeto Log. myWebSrvcLog.level = Log.VERBOSE; trace("myWebSrvcLog.level: "+ myWebSrvcLog.level);
Log.name
Disponibilidad
Descripcin
Propiedad; cadena que identifica la instancia de Log y que se incluye en cada mensaje del evento Log.onLog. Esta propiedad puede obtenerse y definirse. Normalmente se define al crear un nuevo objeto Log. Consulte Clase Log en la pgina 1512.
Ejemplo
En el ejemplo siguiente, se crea un nuevo objeto Log con la propiedad Log.level establecida en Log.VERBOSE y con el nombre myLog. Se realiza un seguimiento de la propiedad Log.name actual. A continuacin, la propiedad Log.name del objeto Log se establece en
myNewLogName. import mx.services.*; // Crea un objeto Log. myWebSrvcLog = new Log(Log.VERBOSE, "myLog"); trace("myWebSrvcLog.level: "+ myWebSrvcLog.level); // Establece un nuevo nombre para el objeto Log. myWebSrvcLog.name = "myNewLogName"; trace("myWebSrvcLog.name: " + myWebSrvcLog.name);
Log.name
1519
Log.onLog()
Disponibilidad
Parmetros
message
Valor devuelto
Ninguno.
Descripcin
Funcin callback; Flash Player la llama cuando se enva un mensaje de registro a un archivo de registro. Esta funcin es un buen sitio donde colocar el cdigo que registra o muestra los mensajes de registro como, por ejemplo, un comando trace. (Para ms informacin sobre la estructura del registro, consulte Clase Log en la pgina 1512.)
Ejemplo
En el ejemplo siguiente, se crea un objeto Log, se pasa a un objeto WebService nuevo y se controlan los mensajes de registro:
import mx.services.*; // Crea un objeto Log. myWebSrvcLog = new Log(); // Pasa el objeto Log al servicio Web. myWebService = new WebService(wsdlURI, myWebSrvcLog); // Controla los mensajes de registro de entrada. myWebSrvcLog.onLog = function(message : String) : Void { mytrace("myWebSrvcLog.message: " + message); }
1520
Clase PendingCall
Nombre de clase de ActionScript
mx.services.PendingCall
La clase PendingCall forma parte del paquete mx.services y se utiliza con la clase WebService. Para ver informacin general de las clases del paquete mx.services, consulte Clases de servicios Web en la pgina 1511.
NO T A
La clase PendingCall slo es compatible si trabaja con un documento que especifique ActionScript 2.0 en la Configuracin de publicacin.
No se crea un objeto PendingCall ni se utiliza una funcin constructora, sino que al llamar a un mtodo en un objeto WebService, el mtodo WebService devuelve un objeto PendingCall. Utilice las funciones callback PendingCall.onResult y PendingCall.onFault para controlar la respuesta asncrona del mtodo de servicio Web. Si el mtodo de servicio Web devuelve un fallo, Flash Player llama a PendingCall.onFault y pasa un objeto SOAPFault que representa el fallo del protocolo SOAP de XML devuelto por el servidor o servicio Web. El objeto SOAPFault no lo crean directamente los desarrolladores, sino que se devuelve como resultado de un error. Este objeto es una asignacin de ActionScript del tipo XML de SOAPFault.
PendingCall.onResult
Si la invocacin del servicio Web se finaliza correctamente, Flash Player llama a y pasa un objeto de resultado. El objeto de resultado es la respuesta XML del servicio Web descodificada y deserializada en ActionScript. Para ms informacin sobre el objeto WebService, consulte Clase WebService en la pgina 1534.
El objeto PendingCall tambin proporciona acceso a varios parmetros de salida cuando el mtodo de servicio Web devuelve ms de un resultado. El valor devuelto al que se hace referencia en esta API es simplemente el primer (o nico) resultado; para obtener acceso a todos los resultados, pueden utilizarse las funciones get output. Por ejemplo, si el valor devuelto en el parmetro a la funcin callback onResult no es el nico resultado al que desea tener acceso, puede utilizar getOutputValues() (que devuelve una matriz) o getOutputValue() (que devuelve un valor individual) para obtener los valores decodificados de ActionScript. Tambin puede acceder directamente al objeto SOAPParameter. El objeto SOAPParameter es un objeto de ActionScript con dos propiedades: value (el valor de ActionScript del parmetro de salida) y element (el valor de XML del parmetro de salida). Las siguientes funciones devuelven un objeto SOAPParameter o una matriz de objetos SOAPParameter: getOutputParameters(), getOutputParameterByName() y getOutputParameter().
Clase PendingCall
1521
Descripcin
Recupera un objeto SOAPParameter por el ndice. nombre.
PendingCall.getOutputParameters() PendingCall.getOutputValue()
Recupera una matriz de objetos SOAPParameter. Recupera el valor de salida correspondiente al ndice especificado. Recupera una matriz de todos los valores de salida.
PendingCall.getOutputValues()
Descripcin
Descriptor de operacin SOAPCall de la operacin PendingCall. Peticin SOAP en formato XML sin procesar. Respuesta SOAP en formato XML sin procesar.
PendingCall.request PendingCall.response
Descripcin
Flash Player la llama cuando un mtodo de servicio Web ha fallado y ha devuelto un error. Se realiza esta llamada cuando un mtodo se ha llevado a cabo correctamente y ha devuelto un resultado.
PendingCall.onResult
1522
PendingCall.getOutputParameter()
Disponibilidad
Parmetros
index
Valor devuelto
Un objeto SOAPParameter con dos propiedades: value (el valor de ActionScript del parmetro de salida) y element (el valor de XML del parmetro de salida).
Descripcin
Funcin; obtiene un parmetro de salida adicional del objeto SOAPParameter, el cual contiene el valor y el elemento XML. Las llamadas RPC de SOAP pueden devolver varios parmetros de salida. El primer (o nico) valor devuelto se proporciona siempre en el parmetro result de la funcin callback onResult, pero para obtener acceso a los otros valores devueltos deben utilizarse funciones como getOutputParameter() y getOutputValue(). La funcin getOutputParameter() devuelve el parmetro de salida n en forma de objeto SOAPParameter.
Ejemplo
Un descriptor SOAP como el siguiente, getOutputParameter(1) devolver un objeto SOAPParameter con value=Hi there! y element=the <outParam2> XMLNode.
... <SOAP:Body> <rpcResponse> <outParam1 xsi:type="xsd:int">54</outParam1> <outParam2 xsi:type="xsd:string">Hi there!</outParam2> <outParam3 xsi:type="xsd:boolean">true</outParam3> </rpcResponse> </SOAP:Body> ...
Vase tambin
PendingCall.getOutputParameterByName(), PendingCall.getOutputParameters(), PendingCall.getOutputValue(), PendingCall.getOutputValues()
PendingCall.getOutputParameter() 1523
PendingCall.getOutputParameterByName()
Disponibilidad
Parmetros
localName Nombre local del parmetro. En otras palabras, el nombre de un elemento XML, sin informacin del espacio de nombres. Por ejemplo, el nombre local de los dos elementos siguientes es bob: <bob abc="123"> <xsd:bob def="ghi">
Valor devuelto
Un objeto SOAPParameter con dos propiedades: value (el valor de ActionScript del parmetro de salida) y element (el valor de XML del parmetro de salida).
Descripcin
Funcin; obtiene los parmetros de salida en forma de objeto SOAPParameter, que contiene el valor y el elemento XML. Las llamadas RPC de SOAP pueden devolver varios parmetros de salida. El primer (o nico) valor devuelto se proporciona siempre en el parmetro result de la funcin callback onResult, pero para obtener acceso a los otros valores devueltos deben utilizarse funciones como getOutputParameterByName(). Esta funcin devuelve el parmetro de salida con el nombre localName.
Ejemplo
Un descriptor SOAP como el siguiente, getOutputParameterByName(outParam2) devolver un objeto SOAPParameter con value=Hi there! y element=the <outParam2> XMLNode.
... <SOAP:Body> <rpcResponse> <outParam1 xsi:type="xsd:int">54</outParam1> <outParam2 xsi:type="xsd:string">Hi there!</outParam2> <outParam3 xsi:type="xsd:boolean">true</outParam3> </rpcResponse> </SOAP:Body> ...
Vase tambin
PendingCall.getOutputParameter(), PendingCall.getOutputParameters(), PendingCall.getOutputValue(), PendingCall.getOutputValues()
1524
PendingCall.getOutputParameters()
Disponibilidad
Parmetros
Ninguno.
Valor devuelto
Un objeto SOAPParameter con dos propiedades: value (el valor de ActionScript del parmetro de salida) y element (el valor de XML del parmetro de salida).
Descripcin
Funcin; obtiene parmetros de salida adicionales del objeto SOAPParameter, el cual contiene los valores y los elementos XML. Las llamadas RPC de SOAP pueden devolver varios parmetros de salida. El primer (o nico) valor devuelto se proporciona siempre en el parmetro result de la funcin callback onResult, pero para obtener acceso a los otros valores devueltos deben utilizarse funciones como getOutputParameters() y getOutputValues().
Vase tambin
PendingCall.getOutputParameterByName(), PendingCall.getOutputParameter(), PendingCall.getOutputValue(), PendingCall.getOutputValues()
PendingCall.getOutputParameters()
1525
PendingCall.getOutputValue()
Disponibilidad
Parmetros
index
Valor devuelto
Parmetro de salida n.
Descripcin
Funcin; obtiene el valor de ActionScript descodificado de un parmetro de salida individual. Las llamadas RPC de SOAP pueden devolver varios parmetros de salida. El primer (o nico) valor devuelto se proporciona siempre en el parmetro result de la funcin callback onResult, pero para obtener acceso a los otros valores devueltos deben utilizarse funciones como getOutputValue() y getOutputParameter(). La funcin getOutputValue() devuelve el parmetro de salida n.
Ejemplo
Vase tambin
PendingCall.getOutputParameterByName(),PendingCall.getOutputParameter(), PendingCall.getOutputParameters(), PendingCall.getOutputValues()
1526
PendingCall.getOutputValues()
Disponibilidad
Parmetros
Ninguno.
Valor devuelto
Funcin; obtiene el valor de ActionScript descodificado de todos los parmetros de salida. Las llamadas RPC de SOAP pueden devolver varios parmetros de salida. El primer (o nico) valor devuelto se proporciona siempre en el parmetro result de la funcin callback onResult, pero para obtener acceso a los otros valores devueltos deben utilizarse funciones como getOutputValues() y getOutputParameters().
Vase tambin
PendingCall.getOutputParameterByName(), PendingCall.getOutputParameter(), PendingCall.getOutputParameters(), PendingCall.getOutputValue()
PendingCall.getOutputValues()
1527
PendingCall.myCall
Disponibilidad
Descripcin
Propiedad; objeto SOAPCall correspondiente a la operacin PendingCall. El objeto SOAPCall contiene informacin sobre la operacin del servicio Web y permite controlar determinados comportamientos. Para ms informacin, consulte Clase SOAPCall en la pgina 1532.
Ejemplo
PendingCall.onFault
Disponibilidad
1528
Parmetros
fault
Versin del objeto de ActionScript descodificado del objeto SOAPFault con propiedades. Si la informacin sobre el error proviene de un servidor con el formato XML, el objeto SOAPFault ser la versin de ActionScript descodificada de dicho XML.
El tipo de objeto de error devuelto a PendingCall.onFault es un objeto SOAPFault. No lo crea directamente el desarrollador, sino que se devuelve como resultado de un error. Este objeto es una asignacin de ActionScript del tipo XML de SOAPFault.
Propiedad SOAPFault
faultcode faultstring detail
Descripcin
Cadena; cadena breve que describe el error. Cadena; descripcin inteligible del error. Cadena; informacin especfica de la aplicacin asociada con el error, como por ejemplo un seguimiento de la pila u otra informacin que devuelve el motor del servicio Web. XML; objeto XML que representa la versin XML del fallo. Cadena; origen del fallo (opcional si no interviene ningn intermediario).
element faultactor
Valor devuelto
Ninguno.
Descripcin
Funcin callback; Flash Player la llama cuando un mtodo de servicio Web ha fallado y ha devuelto un error. El parmetro fault es un objeto SOAPFault de ActionScript. Es un buen sitio para insertar cdigo que controle los fallos, por ejemplo, para indicar al usuario que el servidor no est disponible o para contactar con el servicio de asistencia tcnica en caso necesario.
Ejemplo
En el ejemplo siguiente, se controlan los errores devueltos desde el mtodo de servicio Web.
// Controla todos los errores devueltos debido al uso de un mtodo de // servicio Web. myPendingCallObj = myWebService.methodName(params) myPendingCallObj.onFault = function(fault) { // Detecta el fallo de SOAP. DebugOutputField.text = fault.faultstring; // Aadir cdigo para controlar los fallos, por ejemplo indicando al // usuario que el servidor no est disponible o que contacte // con el servicio de asistencia tcnica. }
PendingCall.onFault 1529
PendingCall.onResult
Disponibilidad
Parmetros
Versin del objeto de ActionScript descodificado del resultado XML devuelto por un mtodo de servicio Web llamado mediante myPendingCallObj = myWebService.methodName(params).
result
Valor devuelto
Ninguno.
Descripcin
Funcin callback; Flash Player llama a esta funcin cuando un mtodo de servicio Web funciona correctamente y devuelve un resultado. El resultado es la versin del objeto de ActionScript descodificado del XML devuelto por la operacin. En esta funcin, debe incluirse cdigo que lleve a cabo la funcin apropiada en funcin del resultado. Para devolver XML sin procesar en lugar del resultado descodificado, acceda a la propiedad PendingCall.response.
Ejemplo
En el ejemplo siguiente, se controlan los resultados devueltos del mtodo de servicio Web.
// Controla los resultados devueltos debido al uso de un mtodo de // servicio Web. myPendingCallObj = myWebService.methodName(params) myPendingCallObj.onResult = function(result) { // Detecta el resultado y lo controla para esta aplicacin. ResultOutputField.text = result; }
Vase tambin
PendingCall.response
1530
PendingCall.request
Disponibilidad
Descripcin
Propiedad; contiene el formato XML sin procesar de la peticin actual enviada con myPendingCallback = myWebService.methodName(). Normalmente, no se utiliza PendingCall.request, pero puede resultar til si est interesado en las comunicaciones SOAP que se envan por la red. Para obtener la versin de ActionScript de los resultados de la peticin, utilice myPendingCallback.onResult.
PendingCall.response
Disponibilidad
Descripcin
Propiedad; contiene formato XML sin procesar de la respuesta a la llamada al mtodo de servicio Web ms reciente enviada con myPendingCallback = myWebService.methodName(). Normalmente, no se utiliza PendingCall.response, pero puede resultar til si est interesado en las comunicaciones SOAP que se envan por la red. Para obtener la versin de ActionScript correspondiente de los resultados de la peticin, utilice myPendingCallback.onResult.
PendingCall.response
1531
Clase SOAPCall
Nombre de clase de ActionScript
mx.services.SOAPCall
La clase SOAPCall forma parte del paquete mx.services y es una clase avanzada que se utiliza con la clase WebService (consulte Clase WebService en la pgina 1534). Para ver informacin general sobre las clases del paquete mx.data.services, consulte Clases de servicios Web en la pgina 1511.
NO TA
La clase SOAPCall slo es compatible si trabaja con un documento que especifique ActionScript 2.0 en la Configuracin de publicacin.
Los desarrolladores no crean objetos SOAPCall. Cuando se llama a un mtodo para un objeto WebService, dicho objeto devuelve un objeto PendingCall. Para acceder al objeto SOAPCall asociado, utilice myPendingCall.myCall. Cuando se crea un objeto WebService, ste contiene los mtodos correspondientes a las operaciones de la URL WSDL que se pasen. En segundo plano, tambin se crea un objeto SOAPCall para cada operacin en WSDL. El objeto SOAPCall es el descriptor de la operacin y como tal contiene toda la informacin sobre dicha operacin determinada; es decir, el aspecto del XML en la red, el estilo de la operacin, etc. Tambin permite controlar determinados comportamientos. Puede obtenerse el objeto SOAPCall de una determinada operacin mediante la funcin WebService.getCall(). Existe un solo objeto SOAPCall para cada operacin, que comparten todas las llamadas activas a dicha operacin. Una vez que disponga del objeto SOAPCall, puede personalizar el descriptor realizando las acciones siguientes: Activar/desactivar la descodificacin de la respuesta XML Activar/desactivar el retardo de la conversin de matrices SOAP en objetos de ActionScript Modificar la configuracin de simultaneidad de una operacin determinada
Descripcin
Nmero de peticiones simultaneas. Activa o desactiva la descodificacin de la respuesta XML. conversin de matrices SOAP en objetos de ActionScript).
1532
SOAPCall.concurrency
Disponibilidad
Descripcin
Propiedad; nmero de peticiones simultaneas. Los valores posibles aparecen enumerados en la tabla siguiente:
Valor
SOAPCall.MULTIPLE_CONCURRENCY SOAPCall.SINGLE_CONCURRENCY
Descripcin
Permite varias llamadas activas. Permite una sola llamada cada vez e indica un error cuando hay una llamada activa. Permite una sola llamada mediante la cancelacin de las anteriores.
SOAPCall.LAST_CONCURRENCY
SOAPCall.doDecoding
Disponibilidad
Descripcin
Propiedad; activa la descodificacin de la respuesta XML (true) o la desactiva (false). De forma predeterminada, la respuesta XML se convierte (descodifica) en objetos de ActionScript. Si slo desea el cdigo XML, establezca SOAPCall.doDecoding en false.
SOAPCall.doDecoding
1533
SOAPCall.doLazyDecoding
Disponibilidad
Descripcin
Propiedad; activa la descodificacin diferida de las matrices (true) o la desactiva (false). De forma predeterminada, se utiliza un algoritmo de descodificacin diferida para retrasar hasta el ltimo momento la conversin de las matrices SOAP en objetos de ActionScript; de esta forma, las funciones se ejecutan mucho ms rpido cuando devuelven grandes juegos de datos. Esto significa que las matrices que se reciben de la ubicacin remota son objetos ArrayProxy. Despus, cuando se accede a un ndice determinado (foo[5]) dicho elemento se descodifica automticamente, si es necesario. Este comportamiento puede desactivarse (lo que provocar la completa descodificacin de todas las matrices) estableciendo SOAPCall.doLazyDecoding en false.
Clase WebService
Nombre de clase de ActionScript
mx.services.WebService
La clase WebService forma parte del paquete mx.services y se utiliza con las clases Log, PendingCall y SOAPCall. Para ver informacin general de las clases del paquete mx.services, consulte Clases de servicios Web en la pgina 1511.
N O TA 1534
La clase WebService slo es compatible si trabaja con un documento que especifique ActionScript 2.0 en la Configuracin de publicacin.
Esta clase WebService no es la misma que la clase WebServiceConnector. La clase WebServiceConnector proporciona una interfaz de ActionScript al componente WebServiceConnector visual.
El objeto WebService acta como una referencia local a un servicio Web remoto. Cuando se crea un objeto WebService, el archivo WSDL que define el servicio Web se descarga, se analiza y se coloca en el objeto. Despus, se llaman directamente a los mtodos del servicio Web para el objeto WebService y se controlan las funciones callback del servicio Web. Si WSDL se ha procesado correctamente y el objeto WebService est listo, se invoca la funcin callback WebService.onLoad. Si se detecta un problema durante la carga del WSDL, se invoca la funcin callback WebService.onFault. Cuando se llama a un mtodo para un objeto WebService, el valor devuelto es un objeto de funcin callback. El tipo de objeto de la funcin callback devuelto de todas los mtodos de servicio Web es PendingCall. Estos objetos no suelen crearlos los desarrolladores, sino que se crean automticamente como resultado del mtodo webServiceObject.webServiceMethodName() que se ha llamado. Estos objetos no son el resultado de la llamada de WebService, que se produce posteriormente, sino que el objeto PendingCall representa la llamada en curso. Una vez finalizada la ejecucin de la operacin de WebService (generalmente segundos despus de realizar una llamada a un mtodo), se rellenan los diferentes campos de datos de PendingCall y se llama a la funcin callback PendingCall.onResult o PendingCall.onFault proporcionada. Para ms informacin sobre el objeto PendingCall, consulte Clase PendingCall en la pgina 1521. Flash Player pone en cola las llamadas que se hayan realizado antes de haber analizado el WSDL e intenta ejecutarlas despus de analizar el WSDL. Esto se debe a que el WSDL contiene informacin necesaria para que las peticiones SOAP se codifiquen y enven correctamente. No es necesario poner en cola las llamadas de funcin que se realicen una vez que se haya analizado el WSDL, pues se ejecutan de forma inmediata. Si una llamada en cola no coincide con el nombre de ninguna de las operaciones definidas en el WSDL, Flash Player devuelve un error al objeto de funcin callback que se proporcion al realizar la llamada originalmente. La interfaz API WebServices, que se incluye en el paquete mx.services, consta de las clases WebService, Log y PendingCall. Para que las clases de servicios Web estn disponibles en tiempo de ejecucin, el componente WebServiceConnector debe encontrarse en la biblioteca del archivo FLA. Si se utiliza ActionScript nicamente para acceder a un servicio Web en tiempo de ejecucin, se debe aadir este componente manualmente a la biblioteca del documento.
Clase WebService
1535
Descripcin
Obtiene el objeto SOAPCall de una operacin determinada. el WSDL.
Descripcin
Se llama cuando se produce un error durante el anlisis de WSDL. Se llama cuando el servicio Web ha cargado y analizado correctamente su archivo WSDL.
WebService.onLoad
Tipos compatibles
Las clases de servicios Web admiten un subconjunto de tipos de esquema XML (tipos de datos), como se define en las tablas siguientes. Los tipos de datos complejos y el tipo de matriz codificada con SOAP tambin son compatibles y pueden estar formados por otros tipos complejos, matrices o tipos de esquema XML incorporados:
Tipos numricos simples en la pgina 1537 Tipos simples de fecha y hora en la pgina 1537 Tipos simples de nombre y cadena en la pgina 1538 Tipo booleano en la pgina 1538 Tipos de objeto en la pgina 1538 Elementos compatibles del objeto de esquema XML en la pgina 1538
1536
Vinculacin de ActionScript
Number Number Number Number Number Number Number Number Number Number Number Number Number Number Number
Vinculacin de ActionScript
Objeto Date Objeto Date Objeto Date Objeto Date Objeto Date Objeto Date Objeto Date Objeto Date Objeto Date
Tipos compatibles
1537
Vinculacin de ActionScript
Cadena de ActionScript Cadena de ActionScript Objeto mx.services.Qname
Tipo booleano
Tipo de esquema XML
Boolean
Vinculacin de ActionScript
Boolean
Tipos de objeto
Tipo de esquema XML
Any Complex Type
Vinculacin de ActionScript
Objeto XML Objeto de ActionScript compuesto por propiedades de cualquier tipo compatible Matriz de ActionScript compuesta por cualquier objeto o tipo compatible
Array
1538
Seguridad de WebService
Los mtodos y funciones callback de la clase WebService cumplen con el modelo de seguridad de Flash Player. Para ms informacin sobre el modelo de seguridad de Flash Player, consulte Aspectos bsicos de la seguridad en Aprendizaje de ActionScript 2.0 en Flash.
Autenticacin y autorizacin de usuarios
Las reglas de autenticacin y autorizacin son las mismas para la interfaz API de WebService que para cualquier operacin de red XML de Flash. El propio protocolo SOAP no especifica ningn mtodo de autenticacin ni autorizacin. Por ejemplo, cuando el transporte HTTP subyacente devuelve una respuesta HTTP BASIC en los encabezados HTTP, el navegador responde presentando un cuadro de dilogo al usuario y adjuntando seguidamente la entrada del usuario a los encabezados HTTP en mensajes posteriores. Este mecanismo se produce en un nivel inferior al de SOAP y forma parte del diseo de autenticacin HTTP de Flash.
Integridad de los mensajes La seguridad de los mensajes implica el cifrado de los propios mensajes SOAP en una capa conceptual sobre los paquetes de red en los que se entregan los mensajes SOAP. Seguridad de transporte El transporte de red subyacente para los servicios Web SOAP de Flash Player siempre es HTTP POST. Por lo tanto, los medios de seguridad que se pueden aplicar en la capa de transporte HTTP de Flash, como SSL, se admiten a travs de invocaciones de servicios Web desde Flash. SSL/HTTPS proporciona el tipo ms comn de seguridad de transporte para la mensajera SOAP; adems, la utilizacin de autenticacin HTTP BASIC, junto con SSL en la capa de transporte, es el tipo de seguridad ms comn para sitios Web en la actualidad.
1539
Parmetros
wsdlURI logObject
Parmetro opcional que especifica el nombre del objeto Log de este servicio Web. Si se utiliza este parmetro, debe crearse primero el objeto Log. Para ms informacin, consulte Clase Log en la pgina 1512.
Valor devuelto
Ninguno.
Descripcin
Funcin constructora; crea un objeto WebService. Cuando se llama a new WebService(), se proporciona una URL de WSDL y Flash Player devuelve un objeto WebService. El constructor puede aceptar adems un URI de proxy y un objeto Log. Si lo desea, puede utilizar dos funciones callback para el objeto WebService. Flash Player llama a webServiceObject.onLoad cuando acaba de analizar el archivo WSDL y el objeto se ha completado. Es una buena ubicacin para incluir cdigo que se desea ejecutar slo despus de que el archivo WSDL se haya analizado completamente. Por ejemplo, puede incluir la primera llamada a mtodo de servicio Web en esta funcin. Flash Player llama a webServiceObject.onFault cuando se produce un error al buscar o analizar el archivo WSDL. Es una buena ubicacin para incluir cdigo de depuracin y cdigo que indique al usuario que el servidor no est disponible, que se vuelva a intentar la accin ms tarde o informacin similar. Para ms informacin, consulte las entradas individuales de estas funciones.
Invocacin de una operacin de servicio Web
Las operaciones de servicio Web se invocan como mtodo directamente disponible en el servicio Web. Por ejemplo, si el servicio Web tiene el mtodo getCompanyInfo(tickerSymbol), se invocara el mtodo de la siguiente manera:
myPendingCallObject = myWebServiceObject.getCompanyInfo(tickerSymbol);
En este ejemplo, el objeto de funcin callback se denomina myPendingCallObject. Todas las invocaciones de mtodos son asncronas y devuelven un objeto de funcin callback del tipo PendingCall. (Asncrono significa que el resultado de la llamada al servicio Web no est disponible de forma inmediata.) Observe la siguiente llamada:
x = stockService.getQuote("macr");
1540
Cuando se realiza esta llamada, el objeto x no es el resultado de getQuote, sino que es un objeto PendingCall. Los resultados reales slo se encuentran disponibles posteriormente, cuando finaliza la operacin del servicio Web. El cdigo de ActionScript se notifica mediante una llamada a la funcin callback onResult.
Gestin del objeto PendingCall Este objeto de funcin callback es un objeto PendingCall que se utiliza para gestionar los resultados y los errores del mtodo de servicio Web llamado (consulte Clase PendingCall en la pgina 1521). A continuacin, se muestra un ejemplo: MyPendingCallObject = myWebServiceObject.myMethodName(param1, ..., paramN); MyPendingCallObject.onResult = function(result) { OutputField.text = result } MyPendingCallObject.onFault = function(fault) { DebugField.text = fault.faultCode + "," + fault.faultstring; // Aadir cdigo para controlar los fallos, por ejemplo indicando al // usuario que el servidor no est disponible o que contacte // con el servicio de asistencia tcnica. }
WebService.getCall()
Disponibilidad
Parmetros
operationName
desea recuperar.
Valor devuelto
Un objeto SOAPCall.
WebService.getCall()
1541
Descripcin
Funcin; cuando se crea un objeto WebService, ste contiene los mtodos correspondientes a las operaciones de la URL de WSDL que se pasen. En segundo plano, tambin se crea un objeto SOAPCall para cada operacin en el archivo WSDL. El objeto SOAPCall es el descriptor de la operacin y como tal contiene toda la informacin sobre dicha operacin determinada; es decir, el aspecto del XML en la red, el estilo de la operacin, etc. Tambin permite controlar determinados comportamientos. Puede obtener el objeto SOAPCall de una operacin determinada utilizando el mtodo getCall(). Existe un solo objeto SOAPCall para cada operacin, que comparten todas las llamadas activas a dicha operacin. Una vez que dispone del objeto SOAPCall, puede cambiar el descriptor de operador utilizando la clase SOAPCall; consulte Clase SOAPCall en la pgina 1532.
WebService.myMethodName()
Disponibilidad
Parmetros
param1, ... paramN
se llame.
Valor devuelto
Objeto PendingCall con el que se puede asociar una funcin para gestionar los resultados y los errores de la invocacin. Para ms informacin, consulte Clase PendingCall en la pgina 1521.
1542
La funcin callback que se invoca cuando se devuelve la respuesta del mtodo WebService es PendingCall.onResult o PendingCall.onFault. Si identifica de forma exclusiva los objetos de funcin callback, puede gestionar varias funciones callback onResult, como en el ejemplo siguiente:
myWebService = new WebService("http://www.myCompany.com/myService.wsdl"); callback1 = myWebService.getWeather("02451"); callback1.onResult = function(result) { // realizar una accin } callback2 = myWebService.getDetailedWeather("02451"); callback2.onResult = function(result) { // realizar otra accin }
Descripcin
Mtodo; invoca una operacin de servicio Web. El mtodo se invoca directamente en el servicio Web. Por ejemplo, si el servicio Web tiene el mtodo getCompanyInfo(tickerSymbol), realizara la siguiente llamada:
myCallbackObject.myservice.getCompanyInfo(tickerSymbol);
Todas las invocaciones son asncronas y devuelven un objeto de funcin callback del tipo PendingCall.
WebService.onFault
Disponibilidad
WebService.onFault
1543
Parmetros
fault
Versin del objeto de ActionScript descodificado del error con propiedades. Si la informacin sobre el error proviene de un servidor con el formato XML, el objeto SOAPFault ser la versin de ActionScript descodificada de dicho XML.
El tipo de objeto de error que se devuelve a los mtodos WebService.onFault es un objeto SOAPFault. No lo crean directamente los desarrolladores, sino que se devuelve como resultado de un error. Este objeto es una asignacin de ActionScript del tipo XML de SOAPFault.
Propiedad SOAPFault
faultcode faultstring detail
Descripcin
Cadena; QName estndar ms corto que describe el error. Cadena; descripcin inteligible del error. Cadena; informacin especfica de la aplicacin asociada con el error, como por ejemplo un seguimiento de la pila u otra informacin que devuelve el motor del servicio Web. XML; objeto XML que representa la versin XML del fallo. Cadena; origen del fallo. Es opcional si no interviene ningn intermediario.
element faultactor
Valor devuelto
Ninguno.
Descripcin
Funcin callback; Flash Player la llama cuando el constructor new WebService() ha fallado y ha devuelto un error. Esto puede suceder cuando el archivo WSDL no se puede analizar o no se puede encontrar. El parmetro fault es un objeto SOAPFault de ActionScript.
Ejemplo
En el ejemplo siguiente, se gestionan los errores devueltos en la creacin del objeto WebService.
MyWebServiceObject.onFault = function(fault) { // Captura el fallo. DebugOutputField.text = fault.faultstring; // Aadir cdigo para controlar los fallos, por ejemplo indicando al // usuario que el servidor no est disponible o que contacte // con el servicio de asistencia tcnica. }
1544
WebService.onLoad
Disponibilidad
Parmetros
wsdlDocument
Valor devuelto
Ninguno.
Descripcin
Funcin callback; Flash Player la llama cuando el objeto WebService ha cargado y analizado correctamente su archivo WSDL. Si se invocan operaciones en una aplicacin antes de llamar a esta funcin callback, se ponen en cola internamente y no se transiten realmente hasta que se ha cargado el WSDL.
Ejemplo
En el ejemplo siguiente, se especifica la URL de WSDL, se crea un objeto de servicio Web y se recibe el documento WSDL despus de cargarlo. Con los componentes WebServiceClasses y Alert en la biblioteca, aada lo siguiente al primer fotograma de la lnea de tiempo principal:
import mx.controls.Alert; import mx.services.WebService; // Especificar la URL de WSDL. var wsdlURI = "http://www.flash-db.com/services/ws/companyInfo.wsdl"; // Crea un objeto de servicio Web. stockService = new WebService(wsdlURI); stockService.onLoad = function(wsdlURI){ Alert.show("Loaded"); }
WebService.onLoad
1545
1546
CAPTULO 57
Componente WebServiceConnector
57
El componente WebServiceConnector le permite acceder a mtodos remotos presentados por un servidor mediante el protocolo estndar SOAP (Simple Object Access Protocol). Un mtodo de servicio Web puede aceptar parmetros y devolver un resultado. Utilizando la herramienta de edicin de Flash y el componente WebServiceConnector, puede inspeccionar, acceder a y vincular datos entre un servidor Web remoto y su aplicacin Flash.
N OT A NO T A
El componente WebServiceConnector slo es compatible si trabaja con un documento que especifique ActionScript 2.0 en la Configuracin de publicacin.
Una sola instancia de componente WebServiceConnector puede utilizarse para hacer diversas llamadas a la misma operacin. Sin embargo, tiene que utilizar una instancia de WebServiceConnector distinta para cada operacin distinta que desee llamar.
El componente WebServiceConnector aparece en el escenario durante la edicin de la aplicacin, pero es visible en la aplicacin en tiempo de ejecucin.
Para ms informacin de introduccin sobre el trabajo con los resultados de este componente, consulte Trabajo con esquemas en la ficha Esquema en Utilizacin de Flash.
1547
Parmetros de WebServiceConnector
A continuacin se indican los parmetros de edicin que se pueden definir para cada instancia del componente WebServiceConnector mediante la ficha Parmetros del inspector de componentes:
multipleSimultaneousAllowed es un valor booleano que indica si se pueden realizar varias llamadas a la vez; el valor predeterminado es false. Si su valor es false, el mtodo trigger() no realizar una llamada si ya se est realizando otra llamada. Se emitir un evento de estado, con el cdigo CallAlreadyInProgress. Si este parmetro es true, la llamada tiene lugar. operation
es una cadena que indica el nombre de una operacin que aparece en el puerto SOAP en un archivo WSDL.
es un valor booleano que indica si debe suprimirse una llamada si los parmetros no son vlidos; el valor predeterminado es false. Si su valor es true, el mtodo trigger() no realizar una llamada si los parmetros vinculados a datos no superan la validacin Se emitir un evento de estado, con el cdigo InvalidParams. Si este parmetro es false, la llamada tiene lugar con los datos no vlidos, del modo requerido.
suppressInvalidCalls WSDLURL (tipo cadena) es la URL del archivo WSDL que define la operacin de servicio Web. Cuando se define esta URL durante la edicin, el archivo WSDL se recoge y se analiza de forma inmediata. Los parmetros resultantes y la informacin de resultados se pueden consultar en la ficha Esquema del inspector de componentes. La descripcin del servicio tambin se aade al panel Servicio Web. Por ejemplo, consulte www.flash-mx.com/mm/tips/tips.cfc?wsdl.
1548
Componente WebServiceConnector
Confirme que se especifica ActionScript 2.0 en la Configuracin de publicacin. Utilice el panel Servicios Web para introducir la URL de un archivo WSDL de un servicio Web. Para aadir una llamada a un mtodo del servicio Web, seleccione el mtodo, haga clic con el botn derecho del ratn (Windows) o presione la tecla Control y haga clic (Macintosh) y, a continuacin, seleccione Aadir llamada de mtodo del men contextual. Esto crea una instancia del componente WebServiceConnector en su aplicacin. El esquema para el componente puede encontrarse en la ficha Esquema del inspector de componentes. Puede utilizar este esquema a su gusto; por ejemplo, para realizar cambios adicionales en el formato o en la configuracin de validacin.
N OT A
3.
El esquema para las propiedades del componente params y results se actualiza cada vez que el usuario cambia el parmetro WSDLURL u operation. Esta accin sobrescribe cualquier cambio que se haya realizado.
4.
Utilice la ficha Vinculaciones del inspector de componentes para vincular los parmetros del servicio Web y los resultados que ahora estn definidos en su esquema con los componentes de interfaz de usuario de su aplicacin. Utilice un desencadenante para iniciar la operacin de vinculacin de datos de una de las siguientes formas:
5.
Asocie el comportamiento Trigger Data Source a un botn. Utilice su propio cdigo ActionScript para llamar al mtodo trigger() en el componente WebServiceConnector. Cree una vinculacin entre el parmetro de servicio Web y un control de interfaz de usuario y establezca su propiedad Kind en AutoTrigger. Para ms informacin, consulte Tipos de esquema en Utilizacin de Flash.
Para ver un ejemplo paso a paso que conecte y muestre un servicio Web mediante el componente WebServiceConnector, consulte Tutorial Servicio Web de sugerencias de Macromedia.
1549
Clase WebServiceConnector
Herencia
Esta clase permite conectar a servicios Web remotos mediante cdigo ActionScript en lugar de utilizar instancias de componente en el escenario. Para utilizar la clase WebServiceConnector, es necesario aadir una instancia del componente WebServiceConnector a su biblioteca. No es necesario colocar el componente directamente en el escenario. Hay que importar la clase de ActionScript mx.data.components.WebServiceConnector al principio del script o utilizar el nombre de clase completo en el cdigo.
Descripcin
Inicia una llamada a un servicio Web.
Descripcin
Indica si se pueden realizar varias llamadas a la vez. Indica el nombre de una operacin que aparece en el puerto SOAP en un archivo WSDL. Especifica los datos que se enviarn al servidor cuando se ejecute la siguiente operacin trigger(). Identifica los datos que se han recibido del servidor como resultado de la operacin trigger().
WebServiceConnector.params
WebServiceConnector.results
1550
Componente WebServiceConnector
Propiedad
WebServiceConnector.suppress InvalidCalls
Descripcin
Indica si debe suprimirse una llamada si hay parmetros no vlidos. Especifica la URL del archivo WSDL que define la operacin de servicio Web.
WebServiceConnector.WSDLURL
Descripcin
Se difunde cuando se realiza de forma correcta una llamada a un servicio Web. Se difunde cuando el mtodo trigger() est en curso, despus de que se hayan recogido los datos pero antes de que se validen y se inicie la llamada al servicio Web. Se difunde cuando se inicia una llamada a un servicio Web, para informar al usuario del estado de la operacin.
WebServiceConnector.send
WebServiceConnector.status
Clase WebServiceConnector
1551
WebServiceConnector.multiple SimultaneousAllowed
Disponibilidad
Descripcin
Propiedad; indica si se pueden realizar varias llamadas al mismo tiempo (true) o no (false). Si esta propiedad es true, la llamada tiene lugar. Si el valor de esta propiedad es false y hay otra llamada en curso, el mtodo WebServiceConnector.trigger() provoca que se emita un evento status con el cdigo CallAlreadyInProgress. Cuando se estn realizando varias llamadas de forma simultnea, no hay ninguna garanta de que finalicen en el mismo orden en el que se han activado. Adems, el navegador y/o el sistema operativo pueden limitar el nmero de operaciones de red simultneas. El lmite ms probable que puede encontrar el usuario es que el navegador imponga un nmero mximo de URL que puedan descargarse de forma simultnea. Esto suele ser configurable en un navegador. Sin embargo, aunque se diera el caso, el navegador pondra en cola los flujos y esto no interferira con el comportamiento esperado de la aplicacin de Flash.
Ejemplo
1552
Componente WebServiceConnector
WebServiceConnector.operation
Disponibilidad
Descripcin
Propiedad; nombre de una operacin que aparece en el puerto SOAP en un archivo WSDL.
Ejemplo
En este ejemplo se devuelven los datos de un servicio Web remoto y se rastrea una sugerencia y el tiempo que tarda el servicio en devolver los datos al archivo SWF. Arrastre un componente WebServiceConnector a su biblioteca e introduzca el siguiente cdigo en el fotograma 1 de la lnea de tiempo:
import mx.data.components.WebServiceConnector; var startTime:Number; var wscListener:Object = new Object(); wscListener.result = function(evt:Object) { var resultTimeMS:Number = getTimer()-startTime; trace("result loaded in "+resultTimeMS+" ms."); trace(evt.target.results); }; wscListener.send = function(evt:Object) { startTime = getTimer(); }; var wsConn:WebServiceConnector = new WebServiceConnector(); wsConn.addEventListener("result", wscListener); wsConn.addEventListener("send", wscListener); wsConn.WSDLURL = "http://www.flash-mx.com/mm/tips/tips.cfc?wsdl"; wsConn.operation = "getTipByProduct"; wsConn.params = ["Flash"]; wsConn.suppressInvalidCalls = true; wsConn.multipleSimultaneousAllowed = false; wsConn.trigger();
WebServiceConnector.operation
1553
WebServiceConnector.params
Disponibilidad
Descripcin
Propiedad; especifica datos que se enviarn al servidor cuando se ejecute la siguiente operacin trigger(). La descripcin WSDL del servicio Web determina el tipo de datos. Cuando se realiza una llamada a mtodos de servicio Web, el tipo de datos de la propiedad params debe ser un objeto o matriz de ActionScript, como se indica a continuacin:
Si el servicio Web tiene formato de documento, el tipo de datos de params es un documento XML. Si utiliza el inspector de propiedades o el inspector de componentes para definir la URL y el funcionamiento de WSDL durante la edicin, puede proporcionar params como matriz de parmetros en el mismo orden que exige el mtodo de servicio Web, por ejemplo [1, hello, 2432].
Ejemplo
En el ejemplo siguiente, se define la propiedad params de un componente de servicio Web denominado wsc:
wsc.params = [param_txt.text];
1554
Componente WebServiceConnector
WebServiceConnector.result
Disponibilidad
Descripcin
Evento; se difunde cuando se realiza de forma correcta una llamada a un servicio Web. El parmetro para el controlador de eventos es un objeto con los campos siguientes:
type:
cadena result
target: referencia al objeto que ha emitido el evento (por ejemplo, un componente WebServiceConnector)
En el ejemplo siguiente, se define una funcin res para el evento result y se asigna la funcin al controlador de eventos addEventListener:
var res = function (ev) { trace(ev.target.results); }; wsc.addEventListener("result", res);
En este ejemplo se devuelven datos de un servicio Web remoto y se rastrea una sugerencia. Arrastre un componente WebServiceConnector a su biblioteca e introduzca el siguiente cdigo en el fotograma 1 de la lnea de tiempo:
import mx.data.components.WebServiceConnector; var wscListener:Object = new Object(); wscListener.result = function(evt:Object) { trace(evt.target.results); }; var wsConn:WebServiceConnector = new WebServiceConnector(); wsConn.addEventListener("result", wscListener); wsConn.WSDLURL = "http://www.flash-mx.com/mm/tips/tips.cfc?wsdl"; wsConn.operation = "getTipByProduct"; wsConn.params = ["Flash"]; wsConn.trigger();
WebServiceConnector.result
1555
WebServiceConnector.results
Disponibilidad
Descripcin
Propiedad; identifica los datos que se han recibido del servidor como resultado de una operacin trigger(). Cada componente WebServiceConnector define cmo se recogen estos datos y qu tipos son vlidos. Estos datos aparecen cuando la operacin RPC ha finalizado correctamente, como seala el evento result. Est disponible hasta que el componente se descarga o hasta la siguiente operacin RPC. Los datos devueltos pueden ser voluminosos. Puede gestionar este tamao de dos maneras:
Seleccione un clip de pelcula, una lnea de tiempo o una pantalla adecuada como elemento principal para el componente WebServiceConnector. La memoria de almacenamiento del componente estar disponible para la eliminacin de datos innecesarios cuando se elimine el elemento principal. En ActionScript, puede asignar null a esta propiedad en cualquier momento.
1556
Componente WebServiceConnector
WebServiceConnector.send
Disponibilidad
Descripcin
Evento; se difunde durante el proceso de una operacin trigger(), despus de que se hayan recogido los datos de parmetros pero antes de que se validen y se inicie la llamada al servicio Web. Es una buena ubicacin para incluir cdigo que modifique los datos de parmetros antes de la llamada. El parmetro para el controlador de eventos es un objeto con los campos siguientes:
type:
cadena send
target: referencia al objeto que ha emitido el evento (por ejemplo, un componente WebServiceConnector)
Puede recuperar o modificar los valores de parmetro actuales mediante la propiedad params.
Ejemplo
En el ejemplo siguiente, se define una funcin sendFunction para el evento send y se asigna la funcin al controlador de eventos addEventListener:
var sendFunction = function (sendEnv) { sendEnv.target.params = [newParam_txt.text]; }; wsc.addEventListener("send", sendFunction);
WebServiceConnector.send
1557
WebServiceConnector.status
Disponibilidad
Descripcin
Evento; se difunde cuando se inicia una llamada a un servicio Web, para informar al usuario del estado de la operacin. El parmetro para el controlador de eventos es un objeto con los campos siguientes:
type:
cadena status
target:
cadena que da el nombre de la condicin que se ha producido objeto cuyo contenido depende del cdigo
A continuacin se detallan los cdigos y los datos asociados disponibles para el evento status:
Cdigo
StatusChange
Datos
{callsInProgress:nnn}
Descripcin
Este evento se emite siempre que se inicia o finaliza una llamada de servicio Web. El elemento nnn es el nmero de llamadas que se estn realizando en este momento. Este evento se emite si se llama a trigger(), multipleSimultaneousAllowed es false y ya se est realizando una llamada. Despus de que se produzca este evento, el intento de llamada se considera realizado y no habr ningn evento result ni send. Este evento se emite si el mtodo trigger() ha detectado que la propiedad params no contena datos vlidos. Si el valor de la propiedad suppressInvalidCalls es true, el intento de llamada se considera realizado y no habr ningn evento result ni send.
InvalidParams
Sin datos
1558
Componente WebServiceConnector
Cdigo
WebServiceFault
Datos
{faultcode: code, faultstring: string, detail: detail}
Descripcin
Este evento se emite si se producen otros problemas durante el proceso de la llamada. Los datos son un objeto SOAPFault. Despus de que se produzca este evento, el intento de llamada se considera realizado y no habr ningn evento result ni send. En la tabla siguiente, se enumeran los posibles errores.
Cadena de fallo
Se ha agotado el tiempo de espera al llamar al mtodo xxx. No hay ninguna funcin callback para el encabezado xxx. No se puede conectar con el punto final: xxx La solicitud implementa la versin xxx y la respuesta implementa la versin yyy. No se ha podido cargar el archivo WSDL.
Detalles
MustUnderstand
Server.Connection VersionMismatch
Client.Disconnected
No se puede cargar el archivo WSDL; si est conectado en este momento, verifique la URI y/o el formato del WSDL xxx.
Server
Formato de WSDL errneo. Las definiciones deben ser el primer elemento de un documento WSDL. No se ha podido cargar el archivo WSDL. El analizador WSDL no tena ningn documento registrado para el espacio de nombres xxxx. No se han encontrado elementos en el archivo WSDL en xxx.
Server.NoServicesInWSDL
WSDL.UnrecognizedNamespace
WebServiceConnector.status
1559
Cdigo de fallo
WSDL.UnrecognizedBindingName
Cadena de fallo
El analizador WSDL no ha podido encontrar una vinculacin denominada xxx en el espacio de nombres yyy. El analizador WSDL no ha podido encontrar un portType denominado xxx en el espacio de nombres yyy. El analizador WSDL no ha podido encontrar un mensaje denominado xxx en el espacio de nombres yyy. El elemento xxx no se puede resolver. El tipo xxx no se puede resolver. No se ha podido encontrar el mtodo xxx en el servicio. yyy - se han notificado errores del servidor; esto depende del servidor con el que se est comunicando. El componente WebServiceConnector no tena ninguna URL de WSDL definida. La invocacin a WebService no se ha podido realizar por motivos desconocidos. No se ha podido cargar el esquema importado.
Detalles
WSDL.UnrecognizedPortTypeName
WSDL.UnrecognizedMessageName
No.WSDLURL.Defined
Unknown.Call.Failure
Client.Disconnected
No se puede cargar el esquema; si est conectado en este momento, verifique la URI y/o el formato del esquema en (XXXX).
1560
Componente WebServiceConnector
Ejemplo
En el ejemplo siguiente, se define una funcin fault para el evento status y se asigna la funcin al controlador de eventos addEventListener. En el ejemplo se escribe intencionadamente de forma incorrecta el URI del servicio para que se devuelva un error de servicio Web (la URL debe ser http://www.flash-mx.com/mm/tips/tips.cfc?wsdl) y un mensaje donde se pida al usuario que compruebe el URI. Con un componente WebServiceConnector en la biblioteca, aada lo siguiente al primer fotograma de la lnea de tiempo:
import mx.data.components.WebServiceConnector; var fault = function (stat) { if (stat.code == "WebServiceFault"){ trace(stat.data.faultcode); trace(stat.data.faultstring); trace(stat.data.detail); } }; var wsConn:WebServiceConnector = new WebServiceConnector(); wsConn.addEventListener("status", fault); wsConn.WSDLURL = "http://www.flasht-mx.com/mm/tips/tips.cfc?wsdl"; wsConn.operation = "getTipByProduct"; wsConn.params = ["Flash"]; wsConn.trigger();
WebServiceConnector.suppress InvalidCalls
Disponibilidad
WebServiceConnector.suppress InvalidCalls
1561
Descripcin
Propiedad; indica si debe suprimirse una llamada en caso de que los parmetros no sean vlidos. Si su valor es true, el mtodo trigger() no realizar una llamada si los parmetros vinculados no superan la validacin Se emitir un evento status con el cdigo InvalidParams. Si esta propiedad es false, la llamada tiene lugar con los datos no vlidos, del modo requerido.
Ejemplo
En este ejemplo se muestra un error porque los parmetros necesarios no se pasan. Arrastre un componente WebServiceConnector a su biblioteca e introduzca el siguiente cdigo en el fotograma 1 de la lnea de tiempo:
import mx.data.components.WebServiceConnector; var res:Function = function (evt:Object) { trace(evt.target.results); }; var stat:Function = function (error:Object) { switch (error.code) { case 'InvalidParams' : trace("Unable to connect to remote Web Service: "+error.code); break; case 'StatusChange' : break; default : trace("Error: "+error.code); break; } }; var wsConn:WebServiceConnector = new WebServiceConnector(); wsConn.addEventListener("result", res); wsConn.addEventListener("status", stat); wsConn.WSDLURL = "http://www.flash-mx.com/mm/tips/tips.cfc?wsdl"; wsConn.operation = "getTipByProduct"; // wsConn.params = ["Flash"]; wsConn.suppressInvalidCalls = true; wsConn.trigger();
Para mostrar una sugerencia en lugar de un error, quite la marca de comentario de la lnea wsConn.params = ["Flash"];.
1562
Componente WebServiceConnector
WebServiceConnector.trigger()
Disponibilidad
Descripcin
Mtodo; inicia una llamada a un servicio Web. Cada servicio Web define exactamente lo que esto implica. Si la operacin es correcta, el resultado de la operacin aparecer en la propiedad results del servicio Web. El mtodo trigger() sigue estos pasos:
1.
Si hay datos vinculados a la propiedad params, el mtodo ejecuta todas las vinculaciones para garantizar que haya datos actualizados disponibles. Esto tambin provoca una validacin de datos. Si los datos no son vlidos y el valor de suppressInvalidCalls es true, la operacin se interrumpe. Si la operacin contina, se emite el evento send. La llamada remota real se inicia a travs del mtodo de conexin indicado (por ejemplo HTTP).
2.
3. 4.
Ejemplo
En este ejemplo se devuelven datos de un servicio Web remoto y se rastrea una sugerencia. Arrastre un componente WebServiceConnector a su biblioteca e introduzca el siguiente cdigo en el fotograma 1 de la lnea de tiempo:
import mx.data.components.WebServiceConnector; var res:Function = function (evt:Object) { trace(evt.target.results); }; var wsConn:WebServiceConnector = new WebServiceConnector(); wsConn.addEventListener("result", res); wsConn.WSDLURL = "http://www.flash-mx.com/mm/tips/tips.cfc?wsdl"; wsConn.operation = "getTipByProduct"; wsConn.params = ["Flash"]; wsConn.suppressInvalidCalls = true; wsConn.trigger();
WebServiceConnector.trigger()
1563
WebServiceConnector.WSDLURL
Disponibilidad
Descripcin
Propiedad; URL del archivo WSDL que define la operacin de servicio Web. Cuando se define esta URL durante la edicin, el archivo WSDL se recoge y se analiza de forma inmediata. Los parmetros resultantes y los resultados aparecen en la ficha Esquema del inspector de componentes. La descripcin del servicio tambin aparece en el panel Servicio Web.
Ejemplo
En este ejemplo se devuelven datos de un servicio Web remoto y se rastrea una sugerencia. Arrastre un componente WebServiceConnector a su biblioteca e introduzca el siguiente cdigo en el fotograma 1 de la lnea de tiempo:
import mx.data.components.WebServiceConnector; var res:Function = function (evt:Object) { trace(evt.target.results); }; var wsConn:WebServiceConnector = new WebServiceConnector(); wsConn.addEventListener("result", res); wsConn.WSDLURL = "http://www.flash-mx.com/mm/tips/tips.cfc?wsdl"; wsConn.operation = "getTipByProduct"; wsConn.params = ["Flash"]; wsConn.suppressInvalidCalls = true; wsConn.trigger();
1564
Componente WebServiceConnector
CAPTULO 58
Componente Window
El componente Window muestra el contenido de un clip de pelcula en una ventana provista de una barra de ttulo, un borde y un botn de cierre opcional.
N OT A
58
El componente Window slo es compatible si trabaja con un documento que especifique ActionScript 2.0 en la Configuracin de publicacin.
El componente Window puede ser modal o amodal. Una ventana modal impide que las entradas realizadas con el ratn o el teclado se apliquen a otros componentes situados fuera de la ventana. Tambin admite la funcin de arrastre, es decir, el usuario puede hacer clic en la barra de ttulo y arrastrar la ventana y su contenido a otro lugar. El arrastre de los bordes no cambia el tamao de la ventana. La previsualizacin dinmica de cada instancia de Window refleja los cambios realizados en todos los parmetros (excepto en contentPath) en el inspector de propiedades o en el inspector de componentes durante la edicin. Cuando se aade el componente Window a una aplicacin, es posible utilizar el panel Accesibilidad para que los lectores de pantalla puedan acceder al mismo. En primer lugar, debe aadir la lnea de cdigo siguiente para activar la accesibilidad:
mx.accessibility.WindowAccImpl.enableAccessibility();
La accesibilidad de un componente slo se activa una vez, sea cual sea su nmero de instancias. Para ms informacin, consulte Creacin de contenido accesible en Utilizacin de Flash.
1565
1566
Componente Window
Parmetros de Window
A continuacin se indican los parmetros de edicin que se pueden definir para cada instancia del componente Window en el inspector de propiedades o el inspector de componentes (opcin de men Ventana > Inspector de componentes):
closeButton indica si la ventana va a mostrar un botn de cierre (true) o no (false). Al hacer clic en el botn de cierre se difunde un evento click, pero no se cierra la ventana. Debe escribir un controlador que invoque a Window.deletePopUp() para cerrar la ventana explcitamente. Para ms informacin sobre el evento click, consulte Window.click.
N OT A
contentPath especifica el contenido de la ventana. Puede ser el identificador de vinculacin del clip de pelcula o el nombre de smbolo de una pantalla, formulario o diapositiva que incluya el contenido de la ventana. Tambin puede ser una URL absoluta o relativa a un archivo SWF o JPEG que se carga en la ventana. El valor predeterminado es "". El contenido cargado se recorta para que quepa en la ventana. title
N OT A NO T A
A continuacin se indican los parmetros adicionales que se pueden definir para cada instancia del componente Window en el inspector de componentes (Ventana > Inspector de componentes):
enabled
es un valor booleano que indica si el componente acepta selecciones y entradas. El valor predeterminado es true.
visible es un valor booleano que indica si el objeto es visible (true) o no (false). El valor predeterminado es true. Para ms informacin sobre los cinco parmetros de aspecto siguientes, consulte Utilizacin de aspectos con el componente Window en la pgina 1571.
skinCloseDisabled determina que el botn de cierre est en estado desactivado. El valor predeterminado es CloseButtonDisabled. skinCloseDown
determina que el botn de cierre est en estado presionado. El valor predeterminado es CloseButtonDown.
1567
skinCloseOver determina el estado del botn de cierre cuando se desplaza el puntero sobre l.
determina que el botn de cierre est en estado sin presionar (predeterminado). El valor predeterminado es CloseButtonUp. determina el aspecto de la barra de ttulo. El valor predeterminado es
skinTitleBackground TitleBackground.
titleStyleDeclaration asigna el nombre de la declaracin de estilo del texto del ttulo. El valor predeterminado es undefined, por lo que la barra de ttulo tiene un texto blanco en negrita. Consulte tambin Definicin de estilos personalizados para grupos de componentes en Utilizacin de componentes ActionScript 2.0.
Puede escribir cdigo ActionScript para controlar stas y otras opciones del componente Window utilizando sus propiedades, mtodos y eventos. Para ms informacin, consulte Clase Window en la pgina 1573.
Seleccione Archivo > Nuevo y, a continuacin, Archivo Flash (ActionScript 2.0). Arrastre una copia del componente Window desde el panel Componentes a la biblioteca del documento actual. Se aadir el componente a la biblioteca, pero no al escenario. Arrastre un componente de botn desde el panel Componentes al escenario y, en el inspector de propiedades, asgnele el nombre de instancia my_button. Abra el panel Acciones e introduzca el controlador de acciones del ratn siguiente en el fotograma 1:
/** Se requiere: - Componente Button en el escenario (nombre de instancia: my_button) - Componente Window en la biblioteca */ import mx.containers.Window; var my_button:mx.controls.Button; System.security.allowDomain("http://www.helpexamples.com");
3.
4.
1568
Componente Window
// Crear un objeto detector. var buttonListener:Object = new Object(); buttonListener.click = function(evt_obj:Object) { // Crear una instancia de Window. var my_win:MovieClip = mx.managers.PopUpManager.createPopUp(evt_obj.target, Window, true, {title:"Sample Image", contentPath:"http://www.helpexamples.com/ flash/images/image1.jpg"}); my_win.setSize(320, 240); }; // Aadir detector. my_button.addEventListener("click", buttonListener);
En este ejemplo, se crea una funcin click() que el detector de eventos buttonListener llama cuando el usuario hace clic en el botn my_button. El controlador de eventos click, buttonListener.click(), llama a PopUpManager.createPopUp() para crear una instancia de una ventana que muestre una imagen. Para cerrar la ventana cuando se haga clic en el botn Aceptar o Cancelar, tendr que escribir otro controlador.
Tema
Halo
Descripcin
Esquema de colores base de un componente. Los valores posibles son haloGreen, haloBlue y haloOrange. El valor predeterminado es haloGreen. Color del fondo. El valor predeterminado es blanco para el tema Halo y 0xEFEBEF (gris claro) para el tema Sample.
backgroundColor
Ambos
1569
Estilo
borderStyle
Tema
Ambos
Descripcin
El componente Window utiliza una instancia de RectBorder como borde y responde a los estilos definidos en dicha clase. Consulte Clase RectBorder en la pgina 1145. El componente Window tiene un estilo de borde especfico del componente default con el tema Halo y outset con el tema Sample. Color del texto. El valor predeterminado es 0x0B333C para el tema Halo y en blanco para el tema Sample. Color del texto cuando el componente est desactivado. El color predeterminado es 0x848384 (gris oscuro). Valor booleano que indica si la fuente especificada en fontFamily es una fuente incorporada. Este estilo debe definirse como true si fontFamily hace referencia a una fuente incorporada. De lo contrario, no se utiliza la fuente incorporada. Si el estilo se define como true y fontFamily no hace referencia a una fuente incorporada, no se muestra ningn texto. El valor predeterminado es false. Nombre de la fuente del texto. El valor predeterminado es _sans. Tamao de la fuente en puntos. El valor predeterminado es 10. Estilo de la fuente: puede ser normal o italic. El valor predeterminado es normal. Grosor de la fuente: puede ser none o bold. El valor predeterminado es none. Todos los componentes pueden aceptar tambin el valor normal en lugar de none durante una llamada a setStyle(), pero las llamadas posteriores a getStyle() devolvern none. Alineacin del texto: puede ser left, right o center. El valor predeterminado es left. Decoracin del texto: puede ser none o underline. El valor predeterminado es none. Nmero que indica la sangra del texto. El valor predeterminado es 0.
color
disabledColor
embedFonts
fontFamily
fontSize
fontStyle
fontWeight
textAlign
textDecoration
textIndent
1570
Componente Window
Los estilos de texto pueden definirse en el propio componente Window o en la declaracin de estilo de clase _global.styles.windowStyles (slo estilos de texto y no otros estilos como themeColor o backgroundColor, que proceden de la declaracin de estilo de clase _global.styles.Window). Esto tiene la ventaja de que no crea configuraciones de estilo que se propaguen a los componentes secundarios mediante la herencia de estilo. En el siguiente ejemplo, se muestra cmo poner en cursiva el ttulo de un componente Window sin que esta configuracin se propague a los componentes secundarios.
import mx.containers.Window; _global.styles.windowStyles.setStyle("fontStyle", "italic"); createClassObject(Window, "window", 1, {title: "A Window"});
Observe que en este ejemplo se define la propiedad antes de crear instancias de ventana mediante createClassObject(). Para que los estilos tengan efecto, deben definirse antes de crear la ventana.
1571
Descripcin
Barra de ttulo. El valor predeterminado es TitleBackground. Botn de cierre. El valor predeterminado es CloseButtonUp. Botn de cierre en estado presionado. El valor predeterminado es CloseButtonDown. Botn de cierre en estado desactivado. El valor predeterminado es CloseButtonDisabled. Botn de cierre cuando el puntero pasa sobre l. El valor predeterminado es CloseButtonOver.
skinCloseDisabled
skinCloseOver
En el siguiente ejemplo, se muestra cmo crear un smbolo de clip de pelcula nuevo para utilizarlo como fondo del ttulo.
Para definir el ttulo de un componente Window en un smbolo de clip de pelcula personalizado:
1. 2. 3. 4. 5.
Seleccione Archivo > Nuevo y, a continuacin, Archivo Flash (ActionScript 2.0). Cree un nuevo smbolo seleccionando Insertar > Nuevo smbolo. Asgnele el nombre TitleBackground. Si no se muestra la vista avanzada, haga clic en el botn Avanzado. Seleccione Exportar para ActionScript. El identificador se rellenar automticamente con TitleBackground. Establezca la Clase con el valor mx.skins.SkinElement. SkinElement es una clase simple que puede utilizarse para todos los elementos de aspecto que no proporcionan su propia implementacin de ActionScript. Proporciona el movimiento y las funciones del cambio de tamao que requiere la arquitectura de componentes.
6.
7. 8. 9.
Verifique que Exportar en primer fotograma est seleccionado y haga clic en Aceptar. Abra el smbolo nuevo para editarlo. Utilice las herramientas de dibujo para crear un cuadro con relleno en rojo y lnea negra. un estilo de borde muy fino. Defina el cuadro, incluido el borde, para que se posicione en (0,0) y tenga una anchura de 100 y una altura de 22. El componente Window definir la anchura adecuada del aspecto, pero utilizar la altura existente como altura del ttulo.
1572
Componente Window
clic en el botn Atrs para volver a la lnea de tiempo principal. Control > Probar pelcula.
14. Seleccione
Clase Window
Herencia
MovieClip > Clase UIObject > Clase UIComponent > View > ScrollView > mx.containers.Window
Window
Nombre de clase de ActionScript
Las propiedades de la clase Window permiten realizar lo siguiente en tiempo de ejecucin: definir el ttulo, aadir un botn de cierre y definir el contenido que se muestra. Si una propiedad de la clase Window se define con ActionScript, sustituye el parmetro del mismo nombre definido en el inspector de propiedades o en el panel Inspector de componentes. La mejor manera de crear una instancia de Window es llamando a Este mtodo crea una ventana que puede ser modal (que solapa y desactiva los objetos existentes de la aplicacin) o amodal. Por ejemplo, el cdigo siguiente crea una instancia de Window modal (el ltimo parmetro indica modalidad):
PopUpManager.createPopUp(). var newWindow = PopUpManager.createPopUp(this, Window, true);
Flash simula la modalidad creando una ventana transparente grande por debajo del componente Window. Debido a la forma en la que se representan las ventanas transparentes, es posible que advierta una ligera atenuacin de los objetos situados debajo. Para definir una transparencia efectiva, hay que cambiar el valor de _global.style.modalTransparency de 0 (completamente transparente) a 100 (opaco). Si hace que la ventana sea parcialmente transparente, tambin podr definir el color de la ventana cambiando el aspecto Modal del tema predeterminado. Si utiliza PopUpManager.createPopUp() para crear una ventana modal, deber llamar a Window.deletePopUp() para eliminarlo y eliminar tambin la ventana transparente. Por ejemplo, si utiliza el botn de cierre de la ventana, deber escribir el cdigo siguiente:
var win = PopUpManager.createPopUp(_root, Window, true, {closeButton:true}); function click(evt){ evt.target.deletePopUp(); } win.addEventListener("click", this);
Clase Window
1573
La ejecucin del cdigo no se interrumpe cuando se crea una ventana modal. En otros entornos, como Microsoft Windows, si crea una ventana modal, las lneas de cdigo siguientes a la creacin de la ventana no se ejecutan hasta que sta se cierra. En Flash, las lneas de cdigo siguen ejecutndose despus de crear la ventana y antes de que se cierre. Cada clase de componente tiene una propiedad version, que es una propiedad de clase. Las propiedades de clase slo estn disponibles en la propia clase. La propiedad version devuelve una cadena que indica la versin del componente. Para acceder a esta propiedad, utilice el cdigo siguiente:
trace(mx.containers.Window.version);
NO T A 1574
Descripcin
Elimina una instancia de Window creada por PopUpManager.createPopUp().
Crea un subobjeto en un objeto. Elimina una instancia de componente. Llama a una funcin cuando se han establecido parmetros en el inspector de propiedades y el inspector de componentes. Obtiene la propiedad de estilo de la declaracin de estilo o del objeto. Marca el objeto de forma que se pueda volver a dibujar en el siguiente intervalo de fotogramas.
UIObject.getStyle()
UIObject.invalidate()
Componente Window
Mtodo
UIObject.move() UIObject.redraw()
Descripcin
Mueve el objeto a la posicin indicada. Fuerza la validacin del objeto, de forma que se pueda dibujar sobre el fotograma actual. Cambia el tamao del objeto al indicado. Define un aspecto en el objeto. Define la propiedad de estilo en la declaracin de estilo o en el objeto.
Descripcin
Devuelve una referencia al objeto seleccionado. Define la seleccin en la instancia de componente.
Descripcin
Indica si la barra de ttulo incluye un botn de cierre (true) o no (false). Referencia al contenido (clip de pelcula raz) de la ventana (slo lectura). Define el nombre del contenido que ha de aparecer en la ventana. Texto que aparece en la barra de ttulo. de ttulo.
Window.content
Window.contentPath
Window.title
Clase Window
1575
Descripcin
Slo lectura; posicin del borde inferior del objeto con respecto al borde inferior de su elemento principal correspondiente. Slo lectura; altura del objeto, expresada en pxeles. Slo lectura; borde izquierdo del objeto, expresado en pxeles. Slo lectura; posicin del borde derecho del objeto con respecto al borde derecho de su elemento principal correspondiente. Nmero que indica el factor de escala en la direccin x del objeto con respecto a su elemento principal correspondiente. Nmero que indica el factor de escala en la direccin y del objeto con respecto a su elemento principal correspondiente. Slo lectura; posicin del borde superior del objeto con respecto a su elemento principal correspondiente. Valor booleano que indica si el objeto es visible (true) o no (false). Slo lectura; anchura del objeto, expresada en pxeles. Slo lectura; borde izquierdo del objeto, expresado en pxeles. Slo lectura; borde superior del objeto, expresado en pxeles.
UIObject.height UIObject.left
UIObject.right
UIObject.scaleX
UIObject.scaleY
UIObject.top
UIObject.visible
UIObject.width UIObject.x
UIObject.y
1576
Componente Window
Descripcin
Indica si el componente puede recibir selecciones y entradas. Nmero que indica el orden de tabulacin para un componente de un documento.
UIComponent.tabIndex
Descripcin
Se difunde cuando se hace clic en (se suelta) el botn de cierre. Se difunde cuando se crea una ventana. Se difunde cuando se hace clic con el botn del ratn (se suelta) fuera de la ventana modal.
Window.complete Window.mouseDownOutside
Descripcin
Se difunde cuando un objeto est a punto de dibujar sus grficos. Se difunde cuando el estado de un objeto pasa de ser visible a invisible. Se difunde cuando se crean subobjetos. Se difunde cuando se mueve el objeto. Se difunde cuando cambia el tamao de un objeto. Se difunde cuando el estado de un objeto pasa de ser invisible a visible. Se difunde durante la descarga de los subobjetos.
UIObject.hide
UIObject.unload
Clase Window
1577
Descripcin
Se difunde cuando se selecciona un objeto. Se difunde cuando un objeto deja de seleccionarse. Se difunde cuando se presiona una tecla. Se difunde cuando se suelta una tecla.
Window.click
Disponibilidad
Flash MX 2004.
Sintaxis
Sintaxis 1:
var listenerObject:Object = new Object(); listenerObject.click = function(eventObject:Object) { // ... }; windowInstance.addEventListener("click", listenerObject);
Sintaxis 2:
on (click) { // ... }
1578
Componente Window
Descripcin
Evento; se difunde a todos los detectores registrados cuando se hace clic con el ratn (se suelta) sobre el botn de cierre. El primer ejemplo de sintaxis utiliza un modelo de eventos distribuidor/detector. Una instancia de componente (windowInstance) distribuye un evento (en este caso, click) y ste se controla mediante una funcin, denominada tambin controlador, asociada con el objeto detector (listenerObject) que crea el usuario. Se define un mtodo con el mismo nombre que el evento del objeto detector; se llama al mtodo cuando se activa el evento. Cuando se activa el evento, ste pasa automticamente un objeto de evento (eventObject) al mtodo del objeto detector. El objeto de evento tiene propiedades que contienen informacin sobre el evento. Estas propiedades sirven para escribir el cdigo que controla el evento. Finalmente, se llama al mtodo EventDispatcher.addEventListener() de la instancia del componente que difunde el evento para registrar el detector con la instancia. Cuando la instancia distribuya el evento, se llamar al detector. Para ms informacin, consulte Clase EventDispatcher en la pgina 527. El segundo ejemplo de sintaxis utiliza un controlador on() que debe asociarse directamente con una instancia de Window. La palabra clave this, utilizada en un controlador on() asociado con un componente, hace referencia a la instancia del componente. Por ejemplo, el cdigo siguiente, asociado con la instancia de Window myWindow, enva _level0.myWindow al panel Salida:
on(click){ trace(this); }
Ejemplo
En el siguiente ejemplo, se crea una ventana modal con un botn de cierre. Se define un controlador de acciones del ratn que llama al mtodo click() para eliminar la ventana cuando el usuario haga clic en el botn. Debe arrastrar un componente Window desde el panel Componentes hasta la biblioteca del documento actual y, a continuacin, aadir el siguiente cdigo al fotograma 1:
/** Se requiere: - Componente Window en la biblioteca */ import mx.managers.PopUpManager; import mx.containers.Window; System.security.allowDomain("http://www.flash-mx.com");
Window.click
1579
var my_win:MovieClip = PopUpManager.createPopUp(this, Window, true, {closeButton:true, contentPath:"http://www.flash-mx.com/images/ image1.jpg"}); var winListener:Object = new Object(); winListener.click = function() { my_win.deletePopUp(); }; my_win.addEventListener("click", winListener);
Vase tambin
EventDispatcher.addEventListener(), Window.closeButton
Window.closeButton
Disponibilidad
Flash MX 2004.
Sintaxis
windowInstance.closeButton
Descripcin
Propiedad; valor booleano que indica si la barra de ttulo debe llevar un botn de cierre (true) o no (false). La propiedad debe definirse en el parmetro initObject del mtodo PopUpManager.createPopUp(). El valor predeterminado es false. Al hacer clic en el botn de cierre se difunde un evento click, pero no se cierra la ventana. Debe escribir un controlador que invoque a Window.deletePopUp() para cerrar la ventana explcitamente. Para ms informacin sobre el evento click, consulte Window.click.
Ejemplo
En el siguiente ejemplo, se crea una ventana emergente y se define la propiedad closeButton para aadirle un botn de cierre. Debe arrastrar un componente Window desde el panel Componentes hasta la biblioteca del documento actual y, a continuacin, aadir el siguiente cdigo al fotograma 1:
/** Se requiere: - Componente Window en la biblioteca */ import mx.managers.PopUpManager;
1580
Componente Window
import mx.containers.Window; System.security.allowDomain("http://www.flash-mx.com"); var my_win:MovieClip = PopUpManager.createPopUp(this, Window, true, {closeButton:true, contentPath:"http://www.flash-mx.com/images/ image1.jpg"});
Vase tambin
PopUpManager.createPopUp(), Window.click
Window.complete
Disponibilidad
Flash MX 2004.
Sintaxis
listenerObject = new Object(); listenerObject.complete = function(eventObject){ ... } windowInstance.addEventListener("complete", listenerObject)
Descripcin
Evento; se difunde a todos los detectores registrados cuando se crea una ventana. Utilice este evento para adaptar el tamao de una ventana a su contenido. Una instancia de componente (windowInstance) distribuye un evento (en este caso, complete) y ste se controla mediante una funcin, denominada tambin controlador, asociada con el objeto detector (listenerObject) que crea el usuario. Se define un mtodo con el mismo nombre que el evento del objeto detector; se llama al mtodo cuando se activa el evento. Cuando se activa el evento, ste pasa automticamente un objeto de evento (eventObject) al mtodo del objeto detector. El objeto de evento tiene propiedades que contienen informacin sobre el evento. Estas propiedades sirven para escribir el cdigo que controla el evento. Finalmente, se llama al mtodo EventDispatcher.addEventListener() de la instancia del componente que difunde el evento para registrar el detector con la instancia. Cuando la instancia distribuya el evento, se llamar al detector. Para ms informacin, consulte Clase EventDispatcher en la pgina 527.
Window.complete
1581
Ejemplo
En el siguiente ejemplo, se crea una ventana y, a continuacin, se define un controlador complete que adapta el tamao de la ventana a su contenido. Debe arrastrar un componente Window desde el panel Componentes hasta la biblioteca del documento actual y, a continuacin, aadir el siguiente cdigo al fotograma 1:
/** Se requiere: - Componente Window en la biblioteca */ import mx.managers.PopUpManager; import mx.containers.Window; System.security.allowDomain("http://www.flash-mx.com"); var my_win:MovieClip = PopUpManager.createPopUp(this, Window, true, {closeButton:true, contentPath:"http://www.flash-mx.com/images/ image1.jpg"}); var winListener:Object = new Object(); winListener.click = function(evt_obj:Object) { my_win.deletePopUp(); }; winListener.complete = function(evt_obj:Object) { my_win.setSize(my_win.content._width, my_win.content._height + 25); } my_win.addEventListener("click", winListener); my_win.addEventListener("complete", winListener);
Vase tambin
EventDispatcher.addEventListener()
1582
Componente Window
Window.content
Disponibilidad
Flash MX 2004.
Sintaxis
windowInstance.content
Descripcin
Propiedad de slo lectura; referencia al contenido (clip de pelcula raz) de la ventana. Esta propiedad devuelve un objeto MovieClip. Cuando se asocia un smbolo de la biblioteca, el valor predeterminado es una instancia del smbolo asociado. Si se carga el contenido de una URL, el valor predeterminado es undefined hasta que comienza la operacin de carga.
Ejemplo
En el siguiente ejemplo, se crea una ventana y, a continuacin, se define un controlador complete que adapta el tamao de la ventana a su contenido. Se utiliza la propiedad content para hacer referencia a la anchura del contenido del clip de pelcula de la ventana. Debe arrastrar un componente Window desde el panel Componentes hasta la biblioteca del documento actual y, a continuacin, aadir el siguiente cdigo al fotograma 1:
/** Se requiere: - Componente Window en la biblioteca */ import mx.managers.PopUpManager; import mx.containers.Window; System.security.allowDomain("http://www.flash-mx.com"); var my_win:MovieClip = PopUpManager.createPopUp(this, Window, true, {closeButton:true, contentPath:"http://www.flash-mx.com/images/ image1.jpg"}); var winListener:Object = new Object(); winListener.click = function(evt_obj:Object) { my_win.deletePopUp(); }; winListener.complete = function(evt_obj:Object) { my_win.setSize(my_win.content._width, my_win.content._height + 25); } my_win.addEventListener("click", winListener); my_win.addEventListener("complete", winListener);
Window.content
1583
Window.contentPath
Disponibilidad
Flash MX 2004.
Sintaxis
windowInstance.contentPath
Descripcin
Propiedad; define el nombre del contenido que ha de aparecer en la ventana. Este valor puede ser el identificador de vinculacin de un clip de pelcula de la biblioteca o la URL absoluta o relativa de un archivo SWF o JPEG que se carga. El valor predeterminado es "" (una cadena vaca).
Ejemplo
En el siguiente ejemplo, se crea una ventana y se utiliza la propiedad contentPath para especificar la ubicacin de la imagen que se mostrar en la ventana. Debe arrastrar un componente Window desde el panel Componentes hasta la biblioteca del documento actual y, a continuacin, aadir el siguiente cdigo al fotograma 1:
/** Se requiere: - Componente Window en la biblioteca */ import mx.managers.PopUpManager; import mx.containers.Window; System.security.allowDomain("http://www.flash-mx.com"); // Crear ventana. var my_win:MovieClip = PopUpManager.createPopUp(this, Window, true, { contentPath:"http://www.flash-mx.com/images/image2.jpg"});
1584
Componente Window
Window.deletePopUp()
Disponibilidad
Flash MX 2004.
Sintaxis
windowInstance.deletePopUp()
Parmetros
Ninguno.
Valor devuelto
Ninguno.
Descripcin
Mtodo; elimina la instancia de Window y quita el estado modal. Este mtodo slo se puede llamar para instancias de Window creadas por medio de PopUpManager.createPopUp().
Ejemplo
En el ejemplo siguiente, se crea una ventana modal y se define un controlador de acciones del ratn que llama a la funcin deletePopUp() para eliminar la ventana. Debe arrastrar un componente Window desde el panel Componentes hasta la biblioteca del documento actual y, a continuacin, aadir el siguiente cdigo al fotograma 1:
/** Se requiere: - Componente Window en la biblioteca */ import mx.managers.PopUpManager; import mx.containers.Window; System.security.allowDomain("http://www.flash-mx.com"); var my_win:MovieClip = PopUpManager.createPopUp(this, Window, true, {closeButton:true, contentPath:"http://www.flash-mx.com/images/ image1.jpg"}); var winListener:Object = new Object(); winListener.click = function() { my_win.deletePopUp(); }; my_win.addEventListener("click", winListener);
Window.deletePopUp()
1585
Window.mouseDownOutside
Disponibilidad
Flash MX 2004.
Sintaxis
Sintaxis 1:
var listenerObject:Object = new Object(); listenerObject.mouseDownOutside = function(eventObject:Object) { // ... }; windowInstance.addEventListener("mouseDownOutside", listenerObject);
Sintaxis 2:
on (mouseDownOutside) { // ... }
Descripcin
Evento; se difunde a todos los detectores registrados cuando se hace clic con el ratn (se suelta) fuera de la ventana modal. Este evento se utiliza muy raramente, pero puede servir para descartar una ventana si el usuario trata de interactuar con algn elemento situado fuera de la misma. El primer ejemplo de sintaxis utiliza un modelo de eventos distribuidor/detector. Una instancia de componente (windowInstance) distribuye un evento (en este caso, mouseDownOutside) y ste se controla mediante una funcin, tambin denominada controlador, asociada con el objeto detector (listenerObject) que crea el usuario. Se define un mtodo con el mismo nombre que el evento del objeto detector; se llama al mtodo cuando se activa el evento. Cuando se activa el evento, ste pasa automticamente un objeto de evento (eventObject) al mtodo del objeto detector. El objeto de evento tiene propiedades que contienen informacin sobre el evento. Estas propiedades sirven para escribir el cdigo que controla el evento. Finalmente, se llama al mtodo EventDispatcher.addEventListener() de la instancia del componente que difunde el evento para registrar el detector con la instancia. Cuando la instancia distribuya el evento, se llamar al detector. Para ms informacin, consulte Clase EventDispatcher en la pgina 527.
1586
Componente Window
El segundo ejemplo de sintaxis utiliza un controlador on() que debe asociarse directamente con una instancia de Window. La palabra clave this, utilizada en un controlador on() asociado con un componente, hace referencia a la instancia del componente. Por ejemplo, el cdigo siguiente, asociado con la instancia de Window myWindowComponent, enva _level0.myWindowComponent al panel Salida:
on (mouseDownOutside) { trace(this); }
Ejemplo
En el ejemplo siguiente, se crea una instancia de Window y se define un controlador mouseDownOutside que muestra un mensaje si el usuario hace clic fuera de la ventana. Debe arrastrar un componente Window desde el panel Componentes hasta la biblioteca del documento actual y, a continuacin, aadir el siguiente cdigo al fotograma 1:
/** Se requiere: - Componente Window en la biblioteca */ import mx.managers.PopUpManager; import mx.containers.Window; System.security.allowDomain("http://www.flash-mx.com"); // Crear ventana. var my_win:MovieClip = PopUpManager.createPopUp(this, Window, true, undefined, true); // Crear un objeto detector. var winListener:Object = new Object(); winListener.mouseDownOutside = function(evt_obj:Object) { trace("mouseDownOutside event triggered."); } // Aadir detector. my_win.addEventListener("mouseDownOutside", winListener);
Vase tambin
EventDispatcher.addEventListener()
Window.mouseDownOutside
1587
Window.title
Disponibilidad
Flash MX 2004.
Sintaxis
windowInstance.title
Descripcin
Propiedad; cadena que indica el texto de la barra de ttulo. El valor predeterminado es "" (una cadena vaca).
Ejemplo
En el siguiente ejemplo, se crea una ventana emergente y se utiliza la propiedad title para establecer como ttulo Hello World. Debe arrastrar un componente Window desde el panel Componentes hasta la biblioteca del documento actual y, a continuacin, aadir el siguiente cdigo al fotograma 1:
/** Se requiere: - Componente Window en la biblioteca */ import mx.managers.PopUpManager import mx.containers.Window // Crear ventana. var my_win:MovieClip = PopUpManager.createPopUp(this, Window, true); // Definir atributos de la ventana. my_win.title = "Hello World!"; my_win.setSize(200, 100); my_win.move(20, 20);
1588
Componente Window
Window.titleStyleDeclaration
Disponibilidad
Flash MX 2004.
Sintaxis
windowInstance.titleStyleDeclaration
Descripcin
Propiedad; cadena que indica la declaracin de estilos que asigna formato a la barra de ttulo de una ventana. El valor predeterminado es undefined, que significa texto blanco en negrita.
Ejemplo
En el siguiente ejemplo, se crea una declaracin de estilo CSS para que el texto tenga un tamao de 14 puntos y aparezca en cursiva y subrayado. Se utiliza la propiedad titleStyleDeclaration para aplicar dicho estilo al ttulo de la ventana emergente que crea. Debe arrastrar un componente Window desde el panel Componentes hasta la biblioteca del documento actual y, a continuacin, aadir el siguiente cdigo al fotograma 1.
/** Se requiere: - Componente Window en la biblioteca */ import mx.styles.CSSStyleDeclaration import mx.managers.PopUpManager import mx.containers.Window // Crear una nueva CSSStyleDeclaration denominada TitleStyles // e incluirla en la lista de estilos globales. _global.styles.TitleStyles = new CSSStyleDeclaration(); // Personalizar estilos. _global.styles.TitleStyles.fontStyle = "italic"; _global.styles.TitleStyles.textDecoration = "underline"; _global.styles.TitleStyles.color = 0xff0000; _global.styles.TitleStyles.fontSize = 14; // Crear ventana. var my_win:MovieClip = PopUpManager.createPopUp(this, Window, true, {closeButton:true, titleStyleDeclaration:"TitleStyles"});
Window.titleStyleDeclaration
1589
// Definir atributos de la ventana. my_win.title = "Testing Styles"; my_win.setSize(200, 100); my_win.move(20, 20); // Crear un objeto detector. var winListener:Object = new Object(); winListener.click = function(evt_obj:Object) { trace("closing window"); evt_obj.target.deletePopUp(); }; // Aadir detector. my_win.addEventListener("click", winListener);
Para ms informacin sobre los estilos, consulte Utilizacin de estilos para personalizar el texto y el color de un componente en Utilizacin de componentes ActionScript 2.0.
1590
Componente Window
CAPTULO 59
Componente XMLConnector
El componente XMLConnector permite leer o escribir documentos XML mediante operaciones HTTP GET y POST. Acta como conector entre otros componentes y orgenes de datos XML externos.
NO T A
59
El componente XMLConnector slo es compatible si trabaja con un documento que especifique ActionScript 2.0 en la Configuracin de publicacin.
El componente XMLConnector se comunica con otros componentes de la aplicacin mediante cdigo ActionScript o funciones de vinculacin de datos del entorno de edicin de Flash. El componente XMLConnector tiene propiedades, mtodos y eventos, pero no aparece en pantalla en tiempo de ejecucin.
1591
Parmetros de XMLConnector
A continuacin se indican los parmetros de edicin que se pueden definir para cada instancia de componente XMLConnector en la ficha Parmetros del inspector de componentes:
URL
direction
es una cadena que define qu operacin HTTP hay que realizar cuando se llama al mtodo XMLConnector.trigger(). Este parmetro puede tener el valor send, receive o send/receive.
El valor send significa que los datos XML se envan (va HTTP POST) a la URL, pero Flash omite cualquier dato que se devuelva. No se establece ningn valor para la propiedad XMLConnector.results y no hay ningn evento result. El valor receive significa que no se envan datos XML a la URL. Flash accede a la URL va HTTP GET y espera que se devuelvan datos XML vlidos. Un valor send/receive significa que Flash enva los datos XML va HTTP POST y espera que se devuelvan datos XML vlidos. Si el valor del parmetro direction es null o unrecognized, el valor predeterminado es
send/receive.
es un valor booleano; el valor predeterminado es false. Cuando se establece este parmetro en true, los nodos de texto que contienen slo espacio en blanco se descartan durante el proceso de anlisis. Los nodos de texto con espacio en blanco al principio o al final no se ven afectados.
ignoreWhite multipleSimultaneousAllowed es un valor booleano; cuando tiene el valor de true, permite que se inicie una operacin trigger() cuando ya hay una operacin trigger() en curso. Si hay varias operaciones trigger() simultneas es posible que no se completen en el mismo orden en que se llamaron. Adems, Flash Player puede limitar el nmero de operaciones de red simultneas. Este lmite vara para cada versin y plataforma. Cuando el parmetro se establece en false, no puede iniciarse una operacin trigger() si hay otra en curso. suppressInvalidCall es un valor booleano; cuando se establece en true, suprime la operacin trigger() si los parmetros de datos no son vlidos. Cuando suppressInvalidCall se establece en false, se ejecuta la operacin trigger() y, si es necesario, utiliza datos no vlidos.
1592
Componente XMLConnector
Confirme que se especifica ActionScript 2.0 en la Configuracin de publicacin. Aada una instancia del componente XMLConnector a su aplicacin y asgnele un nombre de instancia. Utilice la ficha Parmetros del inspector de componentes para introducir la URL del origen de datos XML externo al que desee acceder. Utilice la ficha Esquema del inspector de componentes para especificar un esquema para el documento XML.
NO TA
3.
4.
Puede utilizar el botn de importacin de esquema de muestra para automatizar este proceso.
5.
Utilice la ficha Vinculaciones del inspector de componentes para vincular elementos de datos (params y results) del documento XML a las propiedades de los componentes visuales de su aplicacin. Por ejemplo, puede conectarse a un documento XML que proporcione informacin meteorolgica y vincular los elementos de datos Ubicacin y Temperatura a los componentes Label de su aplicacin. El nombre y la temperatura de una ciudad concreta aparecen en la aplicacin en tiempo de ejecucin.
6.
Utilice un desencadenante para iniciar la operacin de vinculacin de datos con uno de los siguientes mtodos:
Asocie el comportamiento Trigger Data Source a un botn. Utilice su propio cdigo ActionScript para llamar al mtodo trigger() en el componente XMLConnector. Cree una vinculacin entre el parmetro XML y un control de interfaz de usuario y establezca su propiedad Kind en AutoTrigger. Para ms informacin, consulte Tipos de esquema en Utilizacin de Flash.
Para ver un ejemplo paso a paso que conecte y muestre XML mediante el componente XMLConnector, consulte XML Tutorial: Timesheet de los tutoriales de integracin de datos en www.adobe.com/go/data_integration_es.
1593
Clase XMLConnector
Herencia
La clase XMLConnector le permite enviar o recibir archivos XML mediante HTTP. Puede utilizar cdigo ActionScript para vincular otros componentes a un origen de datos que devuelva datos XML, permitiendo as la comunicacin entre los componentes.
Descripcin
Inicia una llamada a procedimiento remoto.
Descripcin
Indica si los datos se estn enviando, recibiendo o ambas cosas. Indica si los nodos de texto que contienen slo espacio en blanco se descartan durante el proceso de anlisis. la vez.
XMLConnector.ignoreWhite
XMLConnector.params
Especifica los datos que se enviarn al servidor cuando se ejecute la siguiente operacin trigger(). Identifica los datos que se han recibido del servidor como resultado de la operacin trigger(). Indica si debe suprimirse una llamada si hay parmetros no vlidos. URL que utiliza el componente en operaciones HTTP.
XMLConnector.results
XMLConnector.suppressInvalidCalls
XMLConnector.URL
1594
Componente XMLConnector
Descripcin
Se difunde cuando una llamada a procedimiento remoto se realiza correctamente. Se difunde cuando hay un mtodo trigger() en marcha, despus de que los datos de parmetros se hayan recopilado pero antes de que se validen y se inicie la llamada a procedimiento remoto. Se difunde cuando se inicia una llamada a procedimiento remoto para informar al usuario del estado de la operacin.
XMLConnector.send
XMLConnector.status
XMLConnector.direction
Disponibilidad
Descripcin
Propiedad; indica si los datos se estn enviando, recibiendo o ambas cosas. Los valores son los siguientes:
send
Los datos XML de la propiedad params se envan a travs del mtodo HTTP POST a la URL del documento XML. Los datos que se devuelven se omiten. No se establece ningn valor para la propiedad results y no hay ningn evento result.
NO T A
Las propiedades params y results y el evento result se heredan de la interfaz API del componente RPC.
receive
No se envan datos de params a la URL. Se accede a la URL del documento XML a travs de HTTP GET y se espera recibir datos XML vlidos de la URL. Los datos de params se envan a la URL y se espera recibir datos XML vlidos de la URL.
send/receive
XMLConnector.direction
1595
Ejemplo
En el ejemplo siguiente, se establece el valor receive para la direccin del documento mysettings.xml:
myXMLConnector.direction = "receive"; myXMLConnector.URL = "mysettings.xml"; myXMLConnector.trigger();
XMLConnector.ignoreWhite
Disponibilidad
Descripcin
Propiedad; valor booleano. Cuando se establece este parmetro en true, los nodos de texto que contienen slo espacio en blanco se descartan durante el proceso de anlisis. Los nodos de texto con espacio en blanco al principio o al final no se ven afectados. El valor predeterminado es false.
Ejemplo
1596
Componente XMLConnector
XMLConnector.multipleSimultaneousAll owed
Disponibilidad
Descripcin
Propiedad; indica si se pueden realizar varias llamadas al mismo tiempo. Si esta propiedad es false, el mtodo XMLConnector.trigger() realiza una llamada si ya se est realizando otra llamada. Se emitir un evento status con el cdigo CallAlreadyInProgress. Si esta propiedad es true, la llamada tiene lugar. Cuando se estn realizando varias llamadas de forma simultnea, no hay ninguna garanta de que finalicen en el mismo orden en el que se han activado. Adems, el navegador y/o el sistema operativo pueden limitar el nmero de operaciones de red simultneas. El lmite ms probable que puede encontrar el usuario es que el navegador imponga un nmero mximo de URL que puedan descargarse de forma simultnea. Esto suele ser configurable en un navegador. Sin embargo, aunque se diera el caso, el navegador pondra en cola los flujos y esto no interferira con el comportamiento esperado de la aplicacin de Flash.
Ejemplo
En este ejemplo se recupera un archivo XML remoto mediante el componente XMLConnector al establecer la propiedad direction en receive. Arrastre un componente XMLConnector a su biblioteca e introduzca el siguiente cdigo en el fotograma 1 de la lnea de tiempo:
import mx.data.components.XMLConnector; var xmlListener:Object = new Object(); xmlListener.result = function(evt:Object) { trace("results:"); trace(evt.target.results); trace(""); }; xmlListener.status = function(evt:Object) { trace("status::"+evt.code); }; var myXMLConnector:XMLConnector = new XMLConnector();
XMLConnector.multipleSimultaneousAllowed
1597
myXMLConnector.addEventListener("result", xmlListener); myXMLConnector.addEventListener("status", xmlListener); myXMLConnector.direction = "receive"; myXMLConnector.URL = "http://www.flash-mx.com/mm/tips/tips.xml"; myXMLConnector.multipleSimultaneousAllowed = false; myXMLConnector.suppressInvalidCalls = true; myXMLConnector.trigger(); myXMLConnector.trigger(); myXMLConnector.trigger();
En este ejemplo se especifica la URL del archivo XML y se establece multipleSimultaneousAllowed en false. Activa la instancia de XMLConnector tres veces, lo que hace que el mtodo status del detector de eventos muestre el cdigo de error CallAlreadyInProgress dos veces en el panel Salida. El primer intento se enva correctamente desde Flash al servidor. Cuando la primera activacin recibe correctamente un resultado, se difunde un evento result y el paquete XML recibido se muestra en el panel Salida.
XMLConnector.params
Disponibilidad
Descripcin
Propiedad; especifica datos que se enviarn al servidor cuando se ejecute la siguiente operacin trigger(). Cada componente RPC define cmo se utilizan estos datos y qu tipos son vlidos.
Ejemplo
1598
Componente XMLConnector
XMLConnector.result
Disponibilidad
Descripcin
Evento; se difunde cuando una llamada a procedimiento remoto se realiza correctamente. El parmetro para el controlador de eventos es un objeto con los campos siguientes:
type:
cadena result
target: referencia al objeto que ha emitido el evento (por ejemplo, un componente WebServiceConnector)
En el ejemplo siguiente, se define una funcin res para el evento result y se asigna la funcin al controlador de eventos addEventListener:
var res = function (ev) { trace(ev.target.results); }; xcon.addEventListener("result", res);
XMLConnector.result
1599
XMLConnector.results
Disponibilidad
Descripcin
Propiedad; identifica los datos que se han recibido del servidor como resultado de una operacin trigger(). Cada componente RPC define cmo se recogen estos datos y qu tipos son vlidos. Estos datos aparecen cuando la operacin RPC ha finalizado correctamente, como seala el evento result. Est disponible hasta que el componente se descarga o hasta la siguiente operacin RPC. Es posible que los datos que se devuelvan sean de gran tamao. Puede gestionarse de dos maneras:
Seleccione un clip de pelcula, una lnea de tiempo o una pantalla adecuada como elemento principal para el componente RPC. La memoria del componente estar disponible para la eliminacin de datos innecesarios cuando se elimine el elemento principal. En ActionScript, puede asignar null a esta propiedad en cualquier momento.
Ejemplo
1600
Componente XMLConnector
XMLConnector.send
Disponibilidad
Descripcin
Evento; se difunde cuando hay una operacin trigger() en curso, despus de que los datos de parmetros se hayan recopilado pero antes de que se validen y se inicie la llamada a procedimiento remoto. Es una buena ubicacin para incluir cdigo que modifique los datos de parmetros antes de la llamada. El parmetro para el controlador de eventos es un objeto con los campos siguientes:
type:
cadena send
target: referencia al objeto que ha emitido el evento (por ejemplo, un componente WebServiceConnector)
Puede recuperar o modificar los valores de parmetro actuales mediante la propiedad params.
Ejemplo
En el ejemplo siguiente, se define una funcin sendFunction para el evento send y se asigna la funcin al controlador de eventos addEventListener:
var sendFunction = function (sendEnv) { sendEnv.target.params = [newParam_txt.text]; }; xcon.addEventListener("send", sendFunction);
XMLConnector.send
1601
XMLConnector.status
Disponibilidad
Descripcin
Evento; se difunde cuando se inicia una llamada a procedimiento remoto para informar al usuario del estado de la operacin. El parmetro para el controlador de eventos es un objeto con los campos siguientes:
type:
cadena status
target:
cadena que da el nombre de la condicin especfica que se ha producido objeto cuyo contenido depende del cdigo
Se establece el valor Fault en el campo de cdigo del evento Status si se producen problemas con la llamada, de la manera siguiente:
Cdigo
Fault
Datos
{faultcode: code, faultstring: string, detail: detail, element: element, faultactor: actor}
Descripcin
Este evento se emite si se producen otros problemas durante el proceso de la llamada. Los datos son un objeto SOAPFault. Despus de que se produzca este evento, el intento de llamada se considera realizado y no habr ningn evento result ni send.
1602
Componente XMLConnector
A continuacin se indican los fallos que se pueden producir con el evento status:
Cdigo de fallo
XMLConnector.Not.XML
Cadena de fallo
params no es un objeto XML params tena el error NN de anlisis XML
Notas
El valor params debe ser un objeto XML de ActionScript. La propiedad status del objeto XML params tena un valor distinto de cero NN. Para ver los posibles errores NN, consulte XML.status en Referencia del lenguaje ActionScript 2.0. Debido a diversas limitaciones de navegador, este mensaje puede significar: (a) que la URL del servidor no era vlida, no responda o ha devuelto un cdigo de error HTTP; o (b) que la solicitud del servidor se ha ejecutado correctamente pero la respuesta generada tiene 0 bytes de datos. Para evitar esta restriccin, disee su aplicacin de manera que el servidor nunca devuelva 0 bytes de datos. Si recibe el cdigo de fallo XMLConnector.No.Data.Received, sabr que ha habido un error de servidor y podr notificrselo al usuario de la forma correspondiente.
XMLConnector.Parse.Error
XMLConnector.No.Data.Received
El cdigo XML recibido no era tenan un error NN de vlido, como ha determinado el analizador XML integrado de anlisis XML Flash Player. Para ver los posibles errores NN, consulte XML.status en Referencia del lenguaje ActionScript 2.0. la direccin es send o send/receive, pero params es null
XMLConnector.Params.Missing
XMLConnector.status
1603
Ejemplo
En el ejemplo siguiente, se define una funcin statusFunction para el evento status y se asigna la funcin al controlador de eventos addEventListener:
var statusFunction = function (stat) { trace(stat.code); trace(stat.data.faultcode); trace(stat.data.faultstring); }; xcon.addEventListener("status", statusFunction);
XMLConnector.suppressInvalidCalls
Disponibilidad
Descripcin
Propiedad; indica si debe suprimirse una llamada en caso de que los parmetros no sean vlidos. Si su valor es true, el mtodo trigger() no realizar una llamada si los parmetros vinculados no superan la validacin Se emitir un evento status con el cdigo InvalidParams. Si esta propiedad es false, la llamada tiene lugar con los datos no vlidos, del modo requerido.
Ejemplo
En este ejemplo se muestra un error porque los parmetros necesarios no se pasan. Arrastre un componente XMLConnector a su biblioteca e introduzca el siguiente cdigo en el fotograma 1 de la lnea de tiempo:
import mx.data.components.XMLConnector; var xmlListener:Object = new Object(); xmlListener.result = function(evt:Object) { trace("results:"); trace(evt.target.results); trace(""); }; xmlListener.status = function(evt:Object) { switch (evt.code) { case 'Fault' :
1604
Componente XMLConnector
trace("ERROR! ["+evt.data.faultcode+"]"); trace("\t"+evt.data.faultstring); break; case 'InvalidParams' : trace("ERROR! ["+evt.code+"]"); break; } }; var myXMLConnector:XMLConnector = new XMLConnector(); myXMLConnector.addEventListener("result", xmlListener); myXMLConnector.addEventListener("status", xmlListener); myXMLConnector.direction = "send/receive"; myXMLConnector.URL = "http://www.flash-mx.com/mm/login_xml.cfm"; myXMLConnector.multipleSimultaneousAllowed = false; myXMLConnector.suppressInvalidCalls = false; // myXMLConnector.params = new XML("<login username='Mort' // password='Guacamole' />"); myXMLConnector.trigger();
Elimine los comentarios de la penltima lnea de cdigo para que el fragmento funcione correctamente.
XMLConnector.trigger()
Disponibilidad
Descripcin
Mtodo; inicia una llamada a procedimiento remoto mediante el componente XMLConnector. Puede ser tanto obteniendo como enviando el archivo XML especificado. Si la operacin es correcta, el resultado de la operacin aparecer en la propiedad results del componente RPC.
XMLConnector.trigger()
1605
Si hay datos vinculados a la propiedad params, el mtodo ejecuta todas las vinculaciones para garantizar que haya datos actualizados disponibles. Esto tambin provoca una validacin de datos. Si los datos no son vlidos y el valor de suppressInvalidCalls es true, la operacin se interrumpe. Si la operacin contina, se emite el evento send. La llamada remota real se inicia a travs del mtodo de conexin indicado (por ejemplo, HTTP).
2.
3. 4.
Ejemplo
En este ejemplo se recupera un archivo XML remoto mediante el componente XMLConnector al establecer la propiedad direction en receive. Arrastre un componente XMLConnector a su biblioteca e introduzca el siguiente cdigo en el fotograma 1 de la lnea de tiempo:
import mx.data.components.XMLConnector; var xmlListener:Object = new Object(); xmlListener.result = function(evt:Object) { trace("results:"); trace(evt.target.results); trace(""); }; xmlListener.status = function(evt:Object) { trace("status::"+evt.code); }; var myXMLConnector:XMLConnector = new XMLConnector(); myXMLConnector.addEventListener("result", xmlListener); myXMLConnector.addEventListener("status", xmlListener); myXMLConnector.direction = "receive"; myXMLConnector.URL = "http://www.flash-mx.com/mm/tips/tips.xml"; myXMLConnector.multipleSimultaneousAllowed = false; myXMLConnector.suppressInvalidCalls = true; myXMLConnector.trigger(); myXMLConnector.trigger(); myXMLConnector.trigger();
En este cdigo se especifica la URL del archivo XML y se establece multipleSimultaneousAllowed en false. Activa la instancia de XMLConnector tres veces, lo que hace que el mtodo status del detector de eventos muestre el cdigo de error CallAlreadyInProgress dos veces en el panel Salida. El primer intento se enva correctamente desde Flash al servidor. Cuando la primera activacin recibe correctamente un resultado, se difunde un evento result y el paquete XML recibido se muestra en el panel Salida.
1606
Componente XMLConnector
XMLConnector.URL
Disponibilidad
Descripcin
Propiedad; URL que este componente utiliza al realizar operaciones HTTP. Esta URL puede ser una URL absoluta o relativa. La URL est sujeta a todas las protecciones de seguridad de Flash Player estndar (para ms informacin sobre las protecciones de seguridad de Flash Player, consulte Aspectos bsicos de la seguridad en Aprendizaje de ActionScript 2.0 en Flash).
Ejemplo
En este ejemplo se recupera un archivo XML remoto mediante el componente XMLConnector al establecer la propiedad direction en receive. Arrastre un componente XMLConnector a su biblioteca e introduzca el siguiente cdigo en el fotograma 1 de la lnea de tiempo:
import mx.data.components.XMLConnector; var xmlListener:Object = new Object(); xmlListener.result = function(evt:Object) { trace("results:"); trace(evt.target.results); trace(""); }; xmlListener.status = function(evt:Object) { trace("status::"+evt.code); }; var myXMLConnector:XMLConnector = new XMLConnector(); myXMLConnector.addEventListener("result", xmlListener); myXMLConnector.addEventListener("status", xmlListener); myXMLConnector.direction = "receive"; myXMLConnector.URL = "http://www.flash-mx.com/mm/tips/tips.xml"; myXMLConnector.multipleSimultaneousAllowed = false; myXMLConnector.suppressInvalidCalls = true; myXMLConnector.trigger(); myXMLConnector.trigger(); myXMLConnector.trigger();
XMLConnector.URL
1607
En este cdigo se especifica la URL del archivo XML y se establece multipleSimultaneousAllowed en false. Activa la instancia de XMLConnector tres veces, lo que hace que el mtodo status() del detector de eventos muestre el cdigo de error CallAlreadyInProgress dos veces en el panel Salida. El primer intento se enva correctamente desde Flash al servidor. Cuando la primera activacin recibe correctamente un resultado, se difunde un evento result y el paquete XML recibido se muestra en el panel Salida.
1608
Componente XMLConnector
CAPTULO 60
Clase XPathAPI
Nombre de clase de ActionScript
60
mx.xpath.XPathAPI
La clase XPathAPI permite realizar bsquedas XPath sencillas en Adobe Flash. Puede resultar muy til para buscar paquetes XML basados en nombres de nodo y valores de atributo. Dicho de otro modo, puede buscar rpidamente nodos y atributos en un documento XML mediante los mtodos de XpathAPI.
N OT A
La clase XPathAPI slo es compatible si trabaja con un documento que especifique ActionScript 2.0 en la Configuracin de publicacin.
Para utilizar las bsquedas XPath en Flash, primero debe incluir la clase XPathAPI en la biblioteca de Flash; para ello deber aadir DataBindingClass (si no se ha aadido ya). Si ya ha configurado las vinculaciones, es posible que esta clase se haya incluido automticamente. Si no es as, deber seleccionar la clase en las bibliotecas comunes (Ventana > Bibliotecas comunes > Clases). En el panel de la biblioteca Classes.fla, simplemente arrastre una copia del componente DataBindingClasses en la biblioteca del documento de Flash actual. Despus de esto podr importar la clase si escribe import mx.xpath.XPathAPI o si utiliza el nombre completo de las clases cuando acceda a estos mtodos, aadiendo el prefijo mx.xpath.XPathAPI.method_name a los mtodos de la clase. Para ms informacin sobre esta clase, consulte el Centro de recursos de documentacin de Flash en www.adobe.com/go/xpathapi_es.
1609
1610
Clase XPathAPI
CAPTULO 61
Componente XUpdateResolver
61
Los componentes Resolver se utilizan con el componente DataSet (parte de la funcionalidad de administracin de datos de la arquitectura de datos de Flash) para guardar los cambios en un origen de datos externo.
NO T A
Los componentes resolver slo son compatible si trabaja con un documento que especifique ActionScript 2.0 en la Configuracin de publicacin.
Los componentes Resolver toman un objeto DataSet.deltaPacket y lo convierten en un paquete de actualizacin con un formato apropiado para el tipo de resolver. Los componentes Connector pueden transmitir a continuacin el paquete de actualizacin al origen de datos externo. Los componentes Resolver no aparecen en pantalla en tiempo de ejecucin. Para obtener informacin general sobre cmo administrar datos en Flash mediante el componente DataSet, consulte Administracin de datos en Utilizacin de Flash. XUpdate es un estndar para describir los cambios que se realizan en un documento XML, y es compatible con diversas bases de datos XML, como Xindice y XHive. El componente XUpdateResolver convierte los cambios realizados a un componente DataSet en sentencias XUpdate. Las actualizaciones del componente XUpdateResolver se envan en forma de paquete de datos XUpdate, que se comunica a la base de datos o al servidor a travs de un objeto de conexin. El componente XUpdateResolver obtiene un paquete delta de un componente DataSet, enva su propio paquete de actualizacin a un conector, recibe de la conexin errores de servidor y los transfiere de nuevo al componente DataSet. Todo esto mediante propiedades vinculables.
1611
Para ms informacin sobre el borrador de trabajo de la especificacin de lenguaje XUpdate, consulte http://xmldb-org.sourceforge.net/xupdate/xupdate-wd.html. Para ms informacin sobre la arquitectura de datos de Flash, consulte Resolucin de datos en Utilizacin de Flash; para ms informacin sobre la resolucin de datos XML, consulte Resolucin de datos XML con el componente XUpdateResolver en Utilizacin de Flash.
SUGERENCIA 1612 N O TA
Tambin puede utilizar el componente XUpdateResolver para enviar actualizaciones de datos a un origen de datos externo que pueda analizar el lenguaje XUpdate (por ejemplo, una pgina ASP, un servlet Java o un componente de ColdFusion).
Componente XUpdateResolver
A continuacin se muestra un ejemplo de un paquete de actualizacin XML cuando el parmetro includeDeltaPacketInfo se establece en false:
<xupdate:modifications version="1.0" xmlns:xupdate="http://www.xmldb.org/ xupdate"> <xupdate:remove select="/datapacket/row[@id='100']"/> </xupdate:modifications>
A continuacin se muestra un ejemplo de un paquete de actualizacin XML cuando el parmetro includeDeltaPacketInfo se establece en true:
<xupdate:modifications version="1.0" xmlns:xupdate="http://www.xmldb.org/ xupdate" transId="46386292065:Wed Jun 25 15:52:34 GMT-0700 2003"> <xupdate:remove select="/datapacket/row[@id='100']" opId="0123456789"/> </xupdate:modifications>
Confirme que se especifica ActionScript 2.0 en la Configuracin de publicacin. Aada a su aplicacin dos instancias del componente XMLConnector y una instancia de cada uno de los componentes DataSet y XUpdateResolver y asgneles nombres de instancia. Seleccione el primer componente XMLConnector y utilice la ficha Parmetros del inspector de componentes para introducir la URL del origen de datos XML externo al que desea acceder. Con el componente XMLConnector seleccionado, haga clic en la ficha Esquema del inspector de componentes e importe un archivo XML de muestra para generar su esquema.
NO T A
3.
4.
Puede ser que necesite crear un esquema virtual para su archivo XML si desea acceder a un subelemento de la matriz a la que est vinculando el conjunto de datos. Para ms informacin, consulte Esquemas virtuales en Utilizacin de Flash.
5.
Utilice la ficha Vinculaciones del inspector de componentes para vincular una matriz del componente XMLConnector con la propiedad dataProvider del componente DataSet. Seleccione el componente DataSet y utilice la ficha Esquema del inspector de componentes para crear los campos DataSet que se vincularn a los campos del objeto de la matriz. Utilice la ficha Vinculaciones del inspector de componentes para vincular elementos de datos (campos DataSet) a los componentes visuales de su aplicacin.
6.
7.
1613
8.
Seleccione la ficha Esquema del componente XUpdateResolver. Con la propiedad de componente deltaPacket seleccionada, utilice el panel Atributos de esquema para establecer la propiedad encoder para el codificador DataSetDeltaToXUpdateDelta. Seleccione Opciones de codificador e introduzca el valor rowNodeKey, que identifica de manera exclusiva el nodo de fila en el archivo XML.
NO T A
9.
El valor rowNodeKey combina una sentencia XPath con un parmetro de campo para definir la exclusividad con la cual deberan generarse las sentencias XPath para los datos de actualizacin que contiene el paquete delta. Para ms informacin sobre el codificador DataSetDeltaToXUpdateDelta, consulte Codificadores de esquema en Utilizacin de Flash.
10. Haga clic en la ficha Vinculaciones y cree una vinculacin entre la propiedad deltaPacket
Cree otra vinculacin desde la propiedad xupdatePacket al segundo componente XMLConnector para devolver los datos al origen de datos externo.
NO TA
La propiedad xupdatePacket contiene el paquete delta (sentencia XUpdate) con formato que se enviar al servidor.
12. Utilice
un desencadenante para iniciar la operacin de vinculacin de datos: utilice el comportamiento Trigger Data Source asociado a un botn o aada ActionScript.
adems de estos pasos, tambin puede crear vinculaciones para aplicar el paquete de resultados devuelto por el servidor al juego de datos mediante el componente XUpdateResolver. Para ver un ejemplo paso a paso de la resolucin de datos en un origen de datos externo mediante XUpdate, consulte el tema de actualizacin de Timesheet en los tutoriales de integracin de datos en www.adobe.com/go/data_integration_es.
1614
Componente XUpdateResolver
Clase XUpdateResolver
Herencia
Las propiedades y eventos de la clase XUpdateResolver permiten trabajar con el componente DataSet para guardar cambios en orgenes de datos externos.
Descripcin
Contiene una descripcin de los cambios realizados en el componente DataSet. La propiedad deltaPacket del componente DataSet debera vincularse a esta propiedad para que, cuando se llame al mtodo DataSet.applyUpdates(), se copie a travs de la vinculacin y el componente Resolver cree el paquete XUpdate. los atributos de los nodos XUpdate.
XUpdateResolver.updateResults XUpdateResolver.xupdatePacket
Describe los resultados de una actualizacin. Contiene la conversin XUpdate de los cambios realizados en el componente DataSet.
Descripcin
Lo llama el componente Resolver para realizar modificaciones personalizadas inmediatamente despus de haber creado el paquete XML e inmediatamente antes de enviar dicho paquete. Lo llama el componente Resolver para comparar dos paquetes.
XUpdateResolver.reconcileResults
Clase XUpdateResolver
1615
XUpdateResolver.beforeApplyUpdates
Disponibilidad
Flash Player 7.
Edicin
Parmetros
eventObject
Objeto de evento Resolver; describe las personalizaciones del paquete XML antes de que la actualizacin se enve a travs del conector a la base de datos. Este objeto de evento debe contener las propiedades siguientes:
Propiedad
target type updatePacket
Descripcin
Objeto; Resolver que genera este evento. Cadena; nombre del evento. Objeto XML; objeto XML que est a punto de aplicarse.
Valor devuelto
Ninguno.
Descripcin
Evento; lo llama el componente Resolver para realizar modificaciones personalizadas inmediatamente despus de haber creado el paquete XML para un nuevo paquete delta e inmediatamente antes de enviar dicho paquete mediante la vinculacin de datos. Puede utilizar este controlador de eventos para realizar modificaciones personalizadas en el cdigo XML antes de enviar los datos actualizados a un conector.
Ejemplo
1616
Componente XUpdateResolver
XUpdateResolver.deltaPacket
Disponibilidad
Flash Player 7.
Edicin
Descripcin
Propiedad; contiene una descripcin de los cambios realizados en el componente DataSet. Esta propiedad es de tipo deltaPacket, recibe un paquete delta que debe convertirse en un paquete XUpdate y emite un paquete delta a partir de los resultados de cualquier servidor incluidos en la propiedad updateResults. Esta propiedad proporciona un mtodo para realizar modificaciones personalizadas en el cdigo XML antes de enviar los datos actualizados a un conector. Los mensajes de la propiedad updateResults se tratan como errores. Esto significa que se aade nuevamente un delta con mensajes al paquete delta para que se pueda reenviar la prxima vez que el paquete delta se enve al servidor. Debe escribir cdigo que gestione deltas que tengan mensajes a fin de que los mensajes se presenten al usuario y se modifiquen antes de aadirlos al siguiente paquete delta. La propiedad deltaPacket del componente DataSet debera vincularse a esta propiedad para que, cuando se llame al mtodo DataSet.applyUpdates(), se copie a travs de la vinculacin y el componente Resolver cree el paquete XUpdate.
XUpdateResolver.deltaPacket
1617
XUpdateResolver.includeDeltaPacketInfo
Disponibilidad
Flash Player 7.
Edicin
Descripcin
Propiedad; propiedad booleana que, si su valor es true, incluye informacin adicional del paquete delta en los atributos de los nodos XUpdate. Esta informacin incluye los ID de transaccin y de operacin. Para ver un ejemplo de XML resultante, consulte Parmetro del componente XUpdateResolver en la pgina 1612.
XUpdateResolver.reconcileResults
Disponibilidad
Flash Player 7.
Edicin
Parmetros
eventObject
Objeto ResolverEvent; describe el objeto de evento que se utiliza para comparar dos paquetes de actualizacin. Este objeto de evento debe contener las propiedades siguientes:
Propiedad
target type
Descripcin
Objeto; Resolver que genera este evento. Cadena; nombre del evento.
1618
Componente XUpdateResolver
Valor devuelto
Ninguno.
Descripcin
Evento; lo llama el componente Resolver para comparar dos paquetes. Utilice esta funcin callback para insertar cdigo despus de que se hayan recibido los resultados del servidor e inmediatamente antes de la transmisin, a travs de una vinculacin de datos, del paquete delta que contiene los resultados de la operacin. Es una buena ubicacin para incluir cdigo que gestione mensajes del servidor.
Ejemplo
En el ejemplo siguiente, se igualan dos paquetes de actualizacin y se borran las actualizaciones si han sido correctas:
on (reconcileResults) { // Examinar resultados. if(examine(updateResults)) myDataSet.purgeUpdates(); else displayErrors(results); }
XUpdateResolver.updateResults
Disponibilidad
Flash Player 7.
Edicin
Descripcin
Propiedad; propiedad del tipo deltaPacket que contiene los resultados de una actualizacin devuelta por el servidor mediante un conector. Utilice esta propiedad para transmitir errores y datos actualizados del servidor a un componente DataSet; por ejemplo, cuando el servidor asigna nuevos ID para un campo asignado automticamente. Vincule esta propiedad con la propiedad results de un conector de manera que pueda recibir los resultados de una actualizacin y transmitirlos de nuevo al componente DataSet.
XUpdateResolver.updateResults
1619
Los mensajes de la propiedad updateResults se tratan como errores. Esto significa que se aade nuevamente un delta con mensajes al paquete delta para que se pueda reenviar la prxima vez que el paquete delta se enve al servidor. Debe escribir cdigo que gestione deltas que tengan mensajes a fin de que los mensajes se presenten al usuario y se modifiquen antes de aadirlos al siguiente paquete delta.
XUpdateResolver.xupdatePacket
Disponibilidad
Flash Player 7.
Edicin
Descripcin
Propiedad; propiedad de tipo xml que contiene la conversin XUpdate de los cambios realizados en el componente DataSet. Vincule esta propiedad a la propiedad del componente conector que transmite el paquete de actualizacin convertido de cambios de nuevo al componente DataSet.
1620
Componente XUpdateResolver
ndice alfabtico
A
Accordion, componente aplicar mtodos de suavizado a 1410 crear aplicaciones 38 eventos 52 herencia 48 mtodos 49 paquete 48 parmetros 37 personalizar 41 propiedades 50 utilizar aspectos 43 utilizar estilos 41 activadores, men 1017 administrador, componentes 32 Alert, componente crear aplicaciones 68 eventos 77 herencia 73 mtodos 74 paquete 73 parmetros 68 personalizar 69 propiedades 75 utilizar aspectos 72 utilizar estilos 69 aspecto, personalizar FLVPlayback 554 autenticacin y clase WebService 1539
Button, componente crear aplicaciones 93 eventos 108 herencia 104 informacin 91 mtodos 105, 1212 paquete 104 parmetros 92 personalizar 96 propiedades 106 utilizar aspectos 98 utilizar estilos 96
C
cargar contenido externo 1154 CellRenderer, API ejemplo 116 informacin 113 mtodos 122 propiedades 122 utilizar 115 CheckBox, componente crear aplicaciones 135 eventos 144 herencia 141 informacin 133 mtodos 141 paquete 141 parmetros 134 propiedades 142 utilizar aspectos 139 utilizar estilos 137 Clase Slide 1221
B
Binding, clase informacin 219 mtodos 219 bordes. Vase RectBorder, clase
1621
clases Accordion 48 Alert 73 Binding 219 Button 104 CheckBox 141 ComboBox 173 ComponentMixins 239 CustomFormatter 223 CustomValidator 227 DataGrid 278 DataGridColumn 320 DataHolder 336 DataSet 384 DataType 245 DateChooser 362 DateField 466 datos, vinculacin 217 Delegate 489 DeltaItem 491 DepthManager 515 EndPoint 232 EventDispatcher 527 FLVPlayback 570 FocusManager 763 Form 779 Label 803 List 822 Loader 872 Log 1512 Media 907 Menu 951 MenuBar 1024 MenuDataProvider 1005 NumericStepper 1050 PendingCall 1521 PopUpManager 1063 ProgressBar 1076 RadioButton 1109 RDBMSResolver 1133 RectBorder 1145 Screen 1153 ScrollPane 1185 servicios Web 1511 SimpleButton 1211 Slide 1224 SOAPCall 1532 StyleManager 1261
SystemManager 1265 TextArea 1274 TextInput 1307 Tree 1372 TypedValue 260 UIEventDispatcher 1449 UIScrollBar 1494 WebService 1534 WebServiceConnector 1550 Window 1573 XMLConnector 1594 XUpdateResolver 1611 Collection, interfaz informacin 153 mtodos 154 columnas, clase DataGridColumn 320 ComboBox, componente aplicar mtodos de suavizado a 1412 crear aplicaciones 167 eventos 177 herencia 173 informacin 163 mtodos 174 paquete 173 parmetros 166 propiedades 175 utilizar aspectos 171 utilizar estilos 169 componentes de interfaz de usuario 30 componentes, aplicar mtodos de suavizado a 1410 componentes, categoras administradores 32 datos 31 interfaz de usuario, componentes 30 medios 32 otras 33 pantallas 32 ComponentMixins, clase informacin 239 mtodos 239 comportamientos y reproduccin de vdeo 898 CustomFormatter, clase ejemplo 224 informacin 223 mtodos 225 CustomValidator, clase informacin 227 mtodos 228
1622
ndice alfabtico
D
DataGrid, componente animar 1413 crear aplicaciones 268 DataGridColumn, clase 322 diseo 266 estrategias de rendimiento 272 eventos 283 eventos, heredados 284 herencia 278 informacin interaccin con 264 mtodos 278 mtodos, heredados 279, 280 modelo de datos 265, 266 paquete 278 parmetros 268 personalizar 274 propiedades 280, 281 propiedades, heredadas 282 utilizar 265 utilizar aspectos 277 utilizar estilos 274 vista, datos 265, 266 DataGridColumn, clase informacin 320 propiedades 321 DataHolder, componente crear aplicaciones 335 herencia 336 informacin 333 paquete 336 propiedades 336 DataProvider, interfaz API eventos 341 informacin 339 mtodos 340 paquete 339 propiedades 341 DataSet, componente crear aplicaciones 382 eventos 388 flujo de trabajo normal 381 herencia 384 informacin 379 mtodos 385 paquete 384 parmetros 380 propiedades 387
DataType, clase informacin 245 mtodos 247 propiedades 247 DateChooser, componente clase 362 crear aplicaciones 356 eventos 365 herencia 362 informacin 355 mtodos 363 paquete 362 parmetros 355 personalizar 358 propiedades 364 utilizar aspectos 360 utilizar estilos 358 DateField, componente crear aplicaciones 461 eventos 470 herencia 466 informacin 459 mtodos 467 paquete 466 parmetros 460 personalizar 462 propiedades 468 utilizar aspectos 465 utilizar estilos 462 datos, componentes 31 Delegate, clase informacin 489 mtodos 489 Delta, interfaz informacin 497 mtodos 497 DeltaItem, clase informacin 491 propiedades 492 DeltaPacket, interfaz informacin 507 mtodos 508 DepthManager, clase 515 mtodos 516 detail, propiedad PendingCall.onFault 1529 WebService.onFault 1544
E
element PendingCall.onFault 1529 WebService.onFault 1544 elementos de men separadores 956 EndPoint, clase informacin 232 mtodos 233 estilos RectBorder, clase Vase tambin nombres de componentes individuales imgenes EventDispatcher, clase informacin 527 mtodos 528 paquete 528 evento, objeto 527 eventos objeto de evento 527
FMS (Flash Media Server) Vase FLVPlayback, componente FocusManager, clase crear aplicaciones 767 eventos 771 herencia 768 informacin 763 mtodos 768 paquete 768 personalizar 767 propiedades 770 Form, clase eventos 786 herencia 781 informacin 779 mtodos 781 paquete 781 parmetros 781 propiedades 783 FVSS (Flash Video Stream Service) Vase FLVPlayback, componente
F
faultactor, propiedad PendingCall.onFault 1529 WebService.onFault 1544 faultcode, propiedad PendingCall.onFault 1529 WebService.onFault 1544 faultstring, propiedad PendingCall.onFault 1529 WebService.onFault 1544 FLV, reproducir 533 FLVPlayback, componente 533 clase 570 crear aplicaciones 535 crear un aspecto nuevo 563 eventos 579 mtodos 571 parmetros de componentes 538 personalizar 554 propiedades 573 reproducir varios archivos FLV 550 utilizar 535 utilizar puntos de referencia 542 utilizar un archivo SMIL 753 VideoError, clase 738 VideoPlayer, clase 747
I
Inspector de componentes, componentes multimedia 897 interfaces Collection 153 Delta 497 DeltaPacket 507 Iterator 795 TransferObject 1325 TreeDataProvider 1349 interfaz de usuario, componentes 30 Iterator, interfaz informacin 795 mtodos 795 paquete 795
J
juegos de datos. Vase DataSet, componente
1624
ndice alfabtico
L
Label, componente crear aplicaciones 801 eventos 806 herencia 803 informacin 799 mtodos 804 paquete 803 parmetros 800 personalizar 802 propiedades 805 utilizar estilos 802 List, componente comportamiento de desplazamiento 114 crear aplicaciones 815 diseo 113 eventos 827 herencia 822 informacin 811 mtodos 823 paquete 822 parmetros 814 personalizar 817 propiedades 825 utilizar aspectos 822 utilizar estilos 818 Loader, componente crear aplicaciones 870 eventos 875 herencia 872 informacin 867 mtodos 872 paquete 872 parmetros 869 personalizar 871 propiedades 873 utilizar aspectos 871 utilizar estilos 871 Log, clase 1512
M
MediaController, componente informacin 893 parmetros 903 MediaDisplay, componente informacin 893 parmetros 902
MediaPlayback, componente informacin 893 parmetros 904 Menu, componente aadir mens jerrquicos 954 atributos XML 955 crear aplicaciones 961 eventos 973 exposicin de elementos en ActionScript 959 informacin 951 mtodos 970 modelo de datos 954 parmetros 960 personalizar 965 propiedades 972 propiedades de objeto de inicializacin 959 tipos de elementos de men 956 utilizar aspectos 969 utilizar estilos 965 vista 954 MenuBar, componente clase 1024 crear aplicaciones 1019 eventos 1027 informacin 1017 mtodos 1024 parmetros 1018 personalizar 1021 propiedades 1026 utilizar aspectos 1022 utilizar estilos 1021 MenuDataProvider, clase eventos 1006 informacin 1005 mtodos 1006 modelos de datos DataGrid, componente 266 Menu, componente 954 multimedia, componentes comportamientos 898 crear aplicaciones 906 diseo 890 eventos 911 herencia 907 informacin 32, 887 inspector de componentes 897 MediaController, componente 887 MediaDisplay, componente 887
MediaPlayback, componente 887 mtodos 908 paquetes 907 parmetros 902 personalizar 906 propiedades 909 utilizar aspectos 907 utilizar estilos 906 multipleSimultaneousAllowed, parmetro 1548
R
RadioButton, componente crear aplicaciones 1103 eventos 1113 informacin 1101 mtodos 1110 parmetros 1102 personalizar 1104 propiedades 1111 utilizar aspectos 1107 utilizar estilos 1105 RDBMSResolver, componente eventos 1134 flujo de trabajo normal 1132 informacin 1129 mtodos 1133 parmetros 1130 propiedades 1133 RectBorder, clase informacin 1145 utilizar estilos 1146
N
NumericStepper, componente crear aplicaciones 1045 eventos 1054 informacin 1043 mtodos 1051 parmetros 1044 personalizar 1046 propiedades 1052 utilizar aspectos 1048 utilizar estilos 1047
O
onFault callback function 1544 operation, parmetro 1548 orden de tabulacin, para componentes 763
S
Screen, clase cargar contenido externo 1154 eventos 1162 hacer referencia a pantallas 1156 informacin 1153 mtodos 1157 propiedades 1159 ScrollPane, componente crear aplicaciones 1182 eventos 1189 informacin 1179 mtodos 1185 parmetros 1181 personalizar 1183 propiedades 1187 utilizar aspecto 1184 utilizar estilos 1184 seguridad y clase WebService 1539 servicios Web, clases informacin 1511 Log, clase 1512 PendingCall, clase 1521 SOAPCall, clase 1532 utilizar en tiempo de ejecucin 1512 WebService, clase 1534
P
pantalla, componentes 32 PendingCall, clase funciones callback 1522 informacin 1521 mtodos 1522 propiedades 1522 PopUpManager, clase 1063 ProgressBar, componente crear aplicaciones 1069 eventos 1078 informacin 1067 mtodos 1076 parmetros 1068 personalizar 1073 propiedades 1077 utilizar aspectos 1074 utilizar estilos 1073 puntos de referencia, informacin 542
1626
ndice alfabtico
SimpleButton, clase 1211 eventos 1214 informacin 1211 mtodos 1212 propiedades 1213 Slide, clase ejemplo 1224 eventos 1230 herencia 1224 mtodos 1224 paquete 1224 parmetros 1223 propiedades 1226 SOAPCall, clase informacin 1532 propiedades 1532 SOAPFault, objeto 1544 StyleManager, clase informacin 1261 mtodos 1261 suavizado, clases y mtodos, clase Tween 1409 suppressInvalidCalls, parmetro 1548 SystemManager, clase informacin 1265 propiedades 1265
T
tablas. Vase DataGrid, componente TextArea, componente crear aplicaciones 1270 eventos 1278 herencia 1274 informacin 1267 mtodos 1275 paquete 1274 parmetros 1268 personalizar 1271 propiedades 1276 utilizar aspectos 1274 utilizar estilos 1271 TextArea.styleSheet 1296 TextInput, componente 1301 clase 1307 crear aplicaciones 1303 eventos 1310 informacin 1301 mtodos 1308 parmetros 1302
personalizar 1304 propiedades 1309 utilizar 1302 utilizar estilos 1305 tipos de datos, compatibles con clases de servicios Web 1536 tipos de esquema, XML tipos. Vase tipos de datos TransferObject, interfaz informacin 1325 mtodos 1325 TransitionManager, clase Blinds, transicin 1342 eventos 1332 Fade, transicin 1343 Fly, transicin 1344 Iris, transicin 1344 mtodos 1331 parmetros 1330 Photo, transicin 1345 PixelDissolve, transicin 1346 propiedades 1331 Rotate, transicin 1346 Squeeze, transicin 1347 transiciones, clases basadas en 1341 Wipe, transicin 1348 Zoom, transicin 1348 Tree, componente aplicar formato XML 1358 crear aplicaciones 1360 eventos 1377 herencia 1372 mtodos 1374 paquete 1372 parmetros 1360 personalizar 1366 propiedades 1375 utilizar aspectos 1372 utilizar estilos 1366 TreeDataProvider, interfaz informacin 1349 mtodos 1350 propiedades 1350 Tween, clase Accordion, componente 1410 aplicar mtodos de suavizado a componentes 1410 ComboBox, componente 1412 DataGrid, componente 1413 eventos 1407 mtodos 1406
parmetros 1408 propiedades 1406 suavizado, clases y mtodos 1409 TypedValue, clase informacin 260 propiedades 260
U
UIComponent, clase eventos 1440 herencia 1438 informacin 1437 mtodos 1438 paquete 1438 propiedades 1439 UIEventDispatcher, clase eventos 1450 informacin 1449 mtodos 1449 UIObject, clase 1455 eventos 1407, 1457 herencia 1455 informacin 1405, 1455 mtodos 1406, 1456 paquete 1455 propiedades 1406, 1456 UIScrollBar, componente crear aplicaciones 1489 eventos 1498 herencia 1494 informacin 1487 mtodos 1494 paquete 1494 parmetros 1488 personalizar 1491 propiedades 1496 utilizar aspectos 1492 utilizar estilos 1491
propiedades 749 vinculacin de datos, clases Binding, clase 219 ComponentMixins, clase 239 CustomValidator, clase 227 DataType, clase 245 EndPoint, clase 232 informacin 217 paquete 218 TypedValue, clase 260 utilizar en tiempo de ejecucin 217 vista, componente Menu 954
W
WebService, clase funciones callback 1536 informacin 1534 mtodos 1536 seguridad 1539 tipos compatibles 1536 WebServiceConnector, componente eventos 1551 flujo de trabajo normal 1549 informacin 1547 mtodos 1550 parmetros 1548 propiedades 1550 Window, componente crear aplicaciones 1568 eventos 1577 herencia 1573 informacin 1565 mtodos 1574 paquete 1573 parmetros 1567 personalizar 1569 propiedades 1575 utilizar aspectos 1571 utilizar estilos 1569 WSDLURL, parmetro 1548
V
vdeo, reproduccin 898 VideoError, clase definicin 738 propiedades 739 VideoPlayer, clase 747 eventos 752 mtodos 748
X
XML aplicar formato para el componente Tree 1358 atributos de elemento de men 955 tipos de esquema
1628
ndice alfabtico
XMLConnector, componente esquemas y 1591 eventos 1595 flujo de trabajo normal 1593 informacin 1591 mtodos 1594 parmetros 1592 propiedades 1594 XUpdateResolver, componente eventos 1615 flujo de trabajo normal 1613 informacin 1611 parmetros 1612 propiedades 1615
1630
ndice alfabtico