Hola...
Pueden ayudarme con lo siguiente??
Necesito que al presionar un botón, me cree un objeto (una movie) ojalá a partir de la copia de otro objeto...
Podrían ayudarme ??? saludos
| ||||
ok, sólo se trata de lo siguiente: Necesito que cuando se presione un botón dentro de un movie, se ejecute una acción que haga aparecer un objeto; Algo así sería en seudo código: Al hacer clic en el botón ( Crear circulo de 5 x 5 pixeles; colocar circulo en coordenada x=100; colocar circulo en coordenada y=80; ) No se mucho de programación en Actionscript, por lo que si me pueden ayudar con la sintaxis tanto mejor saludos |
| ||||
En este caso una de las cosas que podes hacer es usar la funcion attachMovie, para atachar un elemento de la libreria a un movie clip, por ejemplo en tu caso queres duplicar un circulo. Podes hacer, un circulo y guardarlo como movie clip, es decir convertirlo a movieclip. Luego en el movie clip que queres que se cargue este circulo podes hacer. en una capa de codigo actionscript podes poner algo como los siguiente. cargador_mc.attachMovie("nombre_obj_libreria","nom bre_a_usar_mc",this.getNextHighestDepth()); despues lo adecuas asi: cargador_mc["nombre_a_usar_mc"]._width = 100; //el ancho cargador_mc["nombre_a_usar_mc"]._y = 0; //poscion en y cargador_mc["nombre_a_usar_mc"]._x = 50; //posicion en x etc. saludos. |
| ||||
Hola Sir Matrix: Aquí tienes un ejemplo: on(release){ _root.createEmptyMovieClip("rond",1); rond.lineStyle(5,0,100); rond.lineTo(.15,.45); rond._x = 100; rond._y = 80; } Espero haberte sido de ayuda. |
| ||||
Hola, muchas gracias por los códigos, el de Bandit me funciona muy bien, pero lo que necesito es más bien lo que coloca webseficientes... pero esto no me funciona... Apreto y apreto el botón y nada... no tengo que declarar la función cargador_mc en alguna parte??? (perdon por la ignorancia) Saludoss |
| ||||
Sir matrix, en lugar de cargador_mc, proba con "this.", se supone qeu cargador_mc, es la movie donde queres cargar el circulo. proba asi. this.attachMovie("nombre_obj_libreria","nom bre_a_usar_mc",this.getNextHighestDepth()); despues lo adecuas asi: this["nombre_a_usar_mc"]._width = 100; //el ancho this["nombre_a_usar_mc"]._y = 0; //poscion en y this["nombre_a_usar_mc"]._x = 50; //posicion en x avisame, sino y te envio un ejemplo en .fla |
| ||||
Gracias a todos, voy a probar todas las formas... pero ahora tengo un nuevo problema::::: Necesito crear/copiar los objetos dinámicamente, y no sé cuantos objetos se van a crear... y todos deben tener atributos diferente (una posición diferente)... es decir algo como: for (j=0; j<total; j++) { _root.createEmptyMovieClip("rond"+j,1); rond+j.lineStyle(5,0,100); rond+j.lineTo(.15,.45); rond+j._x = 100+j; rond+j._y = 80+j; Es decir, colocar diferentes parámetros a cada objeto creado/pegado, y no pueden llamarse igual :P saludossss Última edición por Sir Matrix; 23/08/2006 a las 17:24 Razón: completar |
| ||||
Muchas gracias... muy bueno y me ha funcionado... exepto que ahora tengo otro problema.... casi absurdo.... Cuando cargop los datos de esta manera no tengo problema: for (j=0; j<3; j++) { _root["rond"+j]._x=100 Pero cuando intento asignarle el valor que tomo de un XML no me lo toma... y me toma como que el valor es 0. for (j=0; j<3; j++) { _root["punto"+j]._x = my_xml.firstChild.childNodes[j].firstChild.nodeValue; He corroborado con trace(my_xml.firstChild.childNodes[j].firstChild.nodeValue);y el dato está bueno, pero no me toma el valor, de hecho he probado hacer lo siguiente: ejex=my_xml.firstChild.childNodes[j].firstChild.nodeValue + 0; _root["punto"+j]._x = ejex; Pero tampoco toma el valor!!! que puede estar pasando???? |
| ||||
Es otra cosa!! Le estuve haciendo traza al código y lo que está pasando es que los puntos creados se van borrando cuando aparecen nuevos puntos!!! por eso parece que hubiera un sólo punto al darle al botón... Tal vez si pudiera usar el código de webeficientes,,, o el duplicateMovieClip("fuente","nuevoNombre",depth);. . pero no me anda..... saludos |
| ||||
Tu problema es basicamente este createEmptyMovieClip("nombre",profundidad) en profundidad pones siempre en 1, y solamente puedes tener un objeto por capa por eso para profundidad tambien debes usar un valor siempre diferente j+100 getMaxDepth()+1 //no estoy seguro de esta funcion o cosas asi y es exactamente igual que en duplicateMovieClip |
| ||||
Muy bueno!! Lo he hecho de la sgte forma: _root.duplicateMovieClip("PDV","punto"+j, j); Muy simple y además me sirve para que cuando le den nuevamente al botón se borren o reemplazen los circulos anteriores. soy feliz |