Comunidad de diseño web y desarrollo en internet online

Notacion por puntos

Citar            
MensajeEscrito el 13 Feb 2007 08:40 am
¿Seria posible escrbir la linea 3 en notacion por puntos?

Código :

var oObjeto:Object = new Object();
this.createEmptyMovieClip("mcBola", 0);
oObjeto[mcBola._name] = {nombre:mcBola._name};
trace(oObjeto["mcBola"].nombre);

Gracias!!

Por oxk4r

56 de clabLevel



 

Orense·España

firefox
Citar            
MensajeEscrito el 13 Feb 2007 10:37 am
Si, como lo tienes. Qué problema hay?

Por Teseo

SWAT Team

1780 de clabLevel

14 tutoriales

Genero:Masculino   SWAT

firefox
Citar            
MensajeEscrito el 13 Feb 2007 10:58 am
Si, es que al añadir propiedades a un objeto, se puede hacer de 2 formas, con la notacion de acceso a matriz, que es la que uso en este caso, y con la de acceso por puntos. El caso es que vi un ejemplo como el que muestro en un tutorial de Joey Lott, pero no entiendo muy bien por qué asigna las propiedades usando oObjeto[mcBola._name] en lugar de oObjeto[mcBola].
El caso es que yo he tratado de escribirlo con notacion por puntos para entenderlo mejor:

Código :

var oObjeto:Object = new Object();
this.createEmptyMovieClip("mcBola", 0);
oObjeto.mcBola.nombre = mcBola._name;
trace(oObjeto.mcBola.nombre);// undefined

Pero algo hago mal porque no me funciona...

Por oxk4r

56 de clabLevel



 

Orense·España

firefox
Citar            
MensajeEscrito el 13 Feb 2007 03:48 pm
Mira lo que hace tu código, a ver si encuentras el punto en que pierde la lógica:

Código :

Crea objeto nuevo, en el clip principal.
Crea un mc nuevo en el clip principal.
Asignas a la propiedad del clip del objeto el nombre del mc.

En cuanto a eso de la notación por puntos, quizá te refieras a la otra forma que había de acceder a los clips en flash 4, qe ya o me acuerdo como era, pero de todas formas, no se utiliza.

Por Zah

BOFH

4290 de clabLevel

27 tutoriales
5 articulos

  Bastard Operators From Hell Editores

Zaragoza, España

firefox
Citar            
MensajeEscrito el 13 Feb 2007 08:44 pm
Hola zah. Perdona es que estoy un poco liado con esto. Intentare ir por partes.
Primero.
¿Que diferencia hay entre?:

Código :

var oObjeto:Object = new Object();
oObjeto.valor = 1;
oObjeto["valor"] = 2;
oObjeto[valor] = 3;

Por oxk4r

56 de clabLevel



 

Orense·España

firefox
Citar            
MensajeEscrito el 14 Feb 2007 05:54 pm
oObjeto["valor"] = oObjeto.valor
oObjeto[valor] = oObjeto[1]

Por Zah

BOFH

4290 de clabLevel

27 tutoriales
5 articulos

  Bastard Operators From Hell Editores

Zaragoza, España

firefox
Citar            
MensajeEscrito el 14 Feb 2007 09:31 pm
No entiendo este:
oObjeto[valor] = oObjeto[1]

Por oxk4r

56 de clabLevel



 

Orense·España

firefox
Citar            
MensajeEscrito el 14 Feb 2007 10:42 pm
Sorry,
oObjeto[valor] = oObjeto[undefined]
oObjeto[oObjeto.valor] = oObjeto[1]

Por Zah

BOFH

4290 de clabLevel

27 tutoriales
5 articulos

  Bastard Operators From Hell Editores

Zaragoza, España

firefox
Citar            
MensajeEscrito el 15 Feb 2007 07:07 am
:( Sigo sin entender que significa :
oObjeto[oObjeto.valor] = oObjeto[1]
Te refieres a un indice como el de un Array o algo asi?

Por oxk4r

56 de clabLevel



 

Orense·España

firefox
Citar            
MensajeEscrito el 15 Feb 2007 03:27 pm
Sí.

Ayuda de flash escribió:



Array
Object
|
+-Array

public dynamic class Array
extends Object
La clase Array le permite obtener acceso a matrices indexadas y manipularlas. Una matriz indexada es un objeto cuyas propiedades se identifican mediante un número que representa su posición en la matriz. Este número se conoce como índice. Todas las matrices indexadas están basadas en cero, lo que significa que el primer elemento de la matriz es [0], el segundo elemento, [1], y así sucesivamente. Para crear un objeto Array, deberá utilizar el constructor new Array(). Para obtener acceso a elementos de una matriz, utilice el operador de acceso a matriz ([]).

Puede almacenar una amplia variedad de tipos de datos en un elemento de matriz, incluidos números, cadenas, objetos e incluso otras matrices. Puede crear una matriz multidimensional creando una matriz indexada y asignando a cada uno de sus elementos una matriz indexada distinta. Una matriz de este tipo se considera multidimensional porque puede emplearse para representar datos en una tabla.

La asignación de matriz se hace por referencia en lugar de por valor: cuando se asigna una variable de matriz a otra variable de matriz, ambas hacen referencia a la misma matriz:

Código :

var oneArray:Array = new Array("a", "b", "c");
var twoArray:Array = oneArray; // Both array variables refer to the same array.
twoArray[0] = "z"; 
trace(oneArray); // Output: z,b,c.

No se debe utilizar la clase Array para crear matriz asociativas, que son estructuras de datos distintas que contienen elementos con nombre en lugar de elementos numerados. Deberá emplear el objeto Object para crear matrices asociativas (también llamadas hashes). Si bien ActionScript permite crear matrices asociativas empleando la clase Array, no es posible utilizar ninguno de los métodos o las propiedades de la clase Array. En el fondo, una matriz asociativa es una instancia de la clase Object y cada par clave-valor se representa mediante una propiedad y su valor. Otra razón para declarar una matriz asociativa como tipo Object es que permite utilizar un literal de objeto para llenar la matriz asociativa (pero sólo en el momento en que se declara). El ejemplo siguiente crea una matriz asociativa utilizando un literal de objeto, accede a los elementos empleando el operador de punto y el operador de acceso a matriz y, a continuación, añade un nuevo par clave-valor creando una propiedad nueva:

Código :

var myAssocArray:Object = {fname:"John", lname:"Public"};
trace(myAssocArray.fname); // Output: John
trace(myAssocArray["lname"]); // Output: Public
myAssocArray.initial = "Q";
trace(myAssocArray.initial); // Output: Q

Por Zah

BOFH

4290 de clabLevel

27 tutoriales
5 articulos

  Bastard Operators From Hell Editores

Zaragoza, España

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.