Foros del Web » Creando para Internet » Flash y Actionscript »

instancias de objetos de la libreria??

Estas en el tema de instancias de objetos de la libreria?? en el foro de Flash y Actionscript en Foros del Web. Hola tengo una preguntilla a todos los pro de flash. Estoy haciendo un pequeño interactivo como un trabajo para la universidad. Lo que quiero es ...
  #1 (permalink)  
Antiguo 17/06/2009, 03:24
 
Fecha de Ingreso: junio-2009
Mensajes: 5
Antigüedad: 15 años, 5 meses
Puntos: 0
instancias de objetos de la libreria??

Hola tengo una preguntilla a todos los pro de flash. Estoy haciendo un pequeño interactivo como un trabajo para la universidad. Lo que quiero es esto, tengo una botella como grafico, y digamos que tengo consumo de agua, entonces dependiendo de cuanto sea el consumo de agua de la persona (la persona ingresa el dato, pero eso ya lo tengo resuelto asi mismo las variables para captar la info, etc) dependiendo de cuanto sea el consumo de la persona muestre cierta cantidad de botellas, es decir, digamos que cada 3 minutos de lavarse los dientes son 2 botellas, entonces si pone 6 aparecen despues si apreto un boton 4 botellas. :D

Me explico bien? :lol:

Pense que podria crear instancias de mi grafico o movieclip botella y decirle pongac en posicion x, y, despues crear otra botella en posicion x+1, y+1 (por dar un ejemplo) y asi sucesivamente hasta que termine y muestre las botellas en pantalla.

Alguien sabe algun cosejito, sitio, web, foro, blog o ayuda que me pueda dar ya que es medio urgentillo, :cry:
lo que habia pensando era algo como
var cualquier: MovieClip = new MovieClip() pero no me sirve por que crea un novieclip vacio, y pense en
var calquier: MovieClip = new botella() :? pero no tengo ninguna clase en mi doc que sea botella y estoy perdido puesto que programar botella no es como que una opción, habra algo más "grafico"...

Espero que puedan ayudarme, muchas gracias de antemano, pura vida saludos desde Costa Rica :wink:
  #2 (permalink)  
Antiguo 17/06/2009, 18:07
Avatar de WaR-05  
Fecha de Ingreso: abril-2008
Mensajes: 35
Antigüedad: 16 años, 7 meses
Puntos: 1
Respuesta: instancias de objetos de la libreria??

Dejame ver si entendí, lo que quieres es duplicar tus instancias de la botella?
Puedes hacer esto:

for(var i=0; i<5; i++){

//Creas una instancia de algún movie clip en la libreria.
botella = attachMovie("botella","botella_" + i, i)
botella._x = 100 * i;
botella._y = 100;
}

Pero no funciona así nada más.
Necesitas seleccionar el objeto en la libreria. Click derecho > linkage
Y marcas las casillas de:

Export for ActionScript y la de Export in first frame.
  #3 (permalink)  
Antiguo 18/06/2009, 12:17
 
Fecha de Ingreso: junio-2009
Mensajes: 5
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: instancias de objetos de la libreria??

Uff genial!!!!

Muchisimas gracias funciono de lujo!!!
  #4 (permalink)  
Antiguo 18/06/2009, 21:19
 
Fecha de Ingreso: junio-2009
Mensajes: 5
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: instancias de objetos de la libreria??

Tengo otra pregunta jejeje

El codigo me sirvio de manera excelente! pero ahora resulta que quiero un boton que reste las botellas, uno va poniendolas y otro va quitandolas una por una, será que se puede?
  #5 (permalink)  
Antiguo 19/06/2009, 00:23
 
Fecha de Ingreso: junio-2009
Mensajes: 5
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: instancias de objetos de la libreria??

tengo una pista, pero hace mucho que no programo jeje

botella.unloadMovie(_root["botella_"+i]);

con esto quito la ultima botella
osea
on (press){
botella.unloadMovie(_root["botella_"+i]);
}

pero si toco el boton nuevamente no sigue quitando... como seria para quitar la siguiente y la siguiente hasta acabar, pense en un for pero no tengo idea como idearlo, como les digo hace tiempillo que no programo entonces no se me ocurre un algoritmo, algun consejo?
  #6 (permalink)  
Antiguo 19/06/2009, 10:12
Avatar de WaR-05  
Fecha de Ingreso: abril-2008
Mensajes: 35
Antigüedad: 16 años, 7 meses
Puntos: 1
Respuesta: instancias de objetos de la libreria??

Hola otra vez!!

Puedes utilizar la funcion removeMovieClip().

Por ejemplo:


***Codigo de la botella. ****
on(release){

this.removeMovieClip();

}

O si sabes como agregar el evento al crearlo dinamicamente ahí lo puedes poner.

Esto funciona solo para clips creados dinamicamente. Si usas la instruccion en un clip que hayas arrastrado y soltado de la librería creo que no funciona.

Si aún no checa esto:

www . nunomira . com/tutorials/removing_movie_clips.php

Saludos!
  #7 (permalink)  
Antiguo 19/06/2009, 10:17
 
Fecha de Ingreso: junio-2009
Mensajes: 5
Antigüedad: 15 años, 5 meses
Puntos: 0
Sonrisa Respuesta: instancias de objetos de la libreria??

Es que lo que quiero es que un boton borre la ultima botella que el boton "mas" puso. Con el codigo logro borrar la ultima pero no la siguiente, es decir, borro a numero 5 pero la numero 4 ya no la borra.

Y ese on (release) es para cuando se salga? es que no entiendo muy bien ese release para que sirve y por que tengo que ponerlo dentro del clip de la botella y no dentro del boton cuando se presiona.... ya que existen dos botones uno agrega y otro quita.
  #8 (permalink)  
Antiguo 19/06/2009, 14:44
Avatar de WaR-05  
Fecha de Ingreso: abril-2008
Mensajes: 35
Antigüedad: 16 años, 7 meses
Puntos: 1
Respuesta: instancias de objetos de la libreria??

Disculpa.
El código que escribí es para que cuando se presione la botella se destruya el objeto.

Al momento de crear las botellas por que no las guardas en un arreglo.
Así despues con el botón de remover puedes hacer referencia al ultimo objeto con una variable.

EN EL PRIMER FOTOGRAMA
var total_botellas = 0;
var botellas = new array();
var dimension = 0;

EN EL BOTON CREAR
_root.botellas[ _root.total_botellas ] = attachMovie("botella","botella_"+total_botellas,_r oot.dimension);
_root.total_botellas++;
_root.dimension++;
_root.botellas[ _root.total_botellas ]._x = ....

BOTON REMOVER
_root.botellas[_root.total_botellas].removeMovieClip();
_root.total_botellas--;

Algo así me imagino, solo debes agregarle la lógica que quieres puesto que no conosco tu proyecto. Si no pues dime para ver que podemos hacer.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:15.