Comunidad de diseño web y desarrollo en internet online

como repetir una accion

Citar            
MensajeEscrito el 16 Dic 2009 04:38 pm
buenas!! Queria saber si alguien podia ayudarme.
Estoy comensando un trabajo en AS3. Esto que tengo escrito consta de dos clip.
uno puede ser arrastrado por el mouse (ventana1) y el otro indica el punto de ubicación del primero (t1).

el codigo es:

Código ActionScript :

     //PASO 1  aqui indicamos que se junte ventana1 al clip t1
var ventana1:Ventana1 = new Ventana1();
ventana1.x=475;
ventana1.y=300;
addChild(ventana1);

addEventListener(Event.ENTER_FRAME, igualarVentana1);
function igualarVentana1(event:Event) {
   
if (t1.y == ventana1.y) {
      stop();
   }else {
      ventana1.y += (t1.y-ventana1.y)/4;
      ventana1.x += (t1.x-ventana1.x)/4;
      ventana1.rotation += (t1.rotation -ventana1.rotation)/4;
   }
}

// PASO 2  aqui indicamos que se arrastren los clips  con el mouse
// configurar listeners 
ventana1.addEventListener(MouseEvent.MOUSE_DOWN, iniciarArrastreventana1);
stage.addEventListener(MouseEvent.MOUSE_UP, pararArrastreventana1);
ventana1.addEventListener(Event.ENTER_FRAME, arrastrarventana1);

// balance entre localización sprite y pulsación
var balancePulsacionventana1:Point = null;

// pulsación usuario
function iniciarArrastreventana1(event:MouseEvent) {
   balancePulsacionventana1 = new Point(event.localX, event.localY);
}

// liberación usuario
function pararArrastreventana1(event:MouseEvent) {
   balancePulsacionventana1 = null;
}

// se ejecuta en cada fotograma
function arrastrarventana1(event:Event) {
   if (balancePulsacionventana1 != null) {// ratón está arrastrando
      ventana1.x = mouseX - balancePulsacionventana1.x;
      ventana1.y = mouseY - balancePulsacionventana1.y;
   }
}

Mi pregunta es si para crear 5 clips de estos debo escribirlo 5 veces lo mismo pero con distintos nombres.(ventana2, t2. etc)
Gracias por cualquier ayuda.

Por zumimoraes

83 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 17 Dic 2009 01:58 am
En programación se evita fijar un dato, ya sea una instancia o un número a menos que sea totalmente necesario. Si miras tu código tienes ventana1 por todos lados. Si en vez de ese nombre de instancia tuvieras una variable, entonces la rutina se podría reutilizar, así como está es imposible

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 17 Dic 2009 09:50 am
Que mareo. Estoy siguiendo un video tutorial. Entendia que ventana1 era una variable " var ventana1:Ventana1 = new Ventana1();"
Lo que me sucede es que al crear otro clip ventana1 la función se cumple en el y deja de funcionar en el anterior.
Que debo escribir para que a todo clip con nombre ventana1 se le aplique esa función?
Discupa por el poco argumento que tengo. Estoy aprendiendo.
Muchas gracias por la ayuda.
Zumi

Por zumimoraes

83 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 17 Dic 2009 11:30 am
Ya veo. Te diría que no ha sido pensado para hacerlo con muchas, de hecho incluso repitiendo tendrás problemas (por ejemplo sobreescribirás el onEnterFrame) Intenta meter todo esto en una clase o MovieClip que después puedas duplicar.

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 17 Dic 2009 11:40 am
Haber si comprendo. Creo un clip nuevo, dentro escribo lo anterior y coloco los clip ventana1 y t1. Lo duplico en la biblioteca y luego llamo a los 5 al escenario por codigo. Ese seria el procedimiento?
Gracias

Por zumimoraes

83 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 17 Dic 2009 11:48 am
No lo duplicas en la biblioteca, arrastras varias instancias del mismo al escenario (te dara coordenadas locales en vez de escenario)

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 17 Dic 2009 10:42 pm
Las 5 ventanas que pretendo presentar serán presentaciones de trabajos. Llevaran imágenes distintas y links.
Para poder hacerlas distintas unas de otras debo duplicarlas,no?
A la hora de cambiar nombres dentro de los códigos con la herramienta buscar es fácil cambiar en todo el código el 1 por el 2 por ej.
Espero estarlo entendiendo.
Gracias por la ayuda.

Por zumimoraes

83 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 18 Dic 2009 11:57 am
Si lo que quieres es hardcodear los cambios entonces si, haz copias en la biblioteca, luego modifica la copia

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 21 Dic 2009 05:13 pm
Gracias por los conse.
La parte de las etiquetas quedo perfecto ya puedo pasar de una a otra sin problema y las 5 ventanas tambien quedaron muy bien. Duplicandolas claro.
Ahora estoy luchando con otra cosa que ya tengo armada pero en AS2. Si no puedo con ella ya pedire ayuda.
Gracias por todo!!!!

Por zumimoraes

83 de clabLevel



Genero:Masculino  

msie8

 

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