Comunidad de diseño web y desarrollo en internet online

funcion a boton llamado con attachMovie

Citar            
MensajeEscrito el 16 Oct 2008 06:52 pm
hola gente
buenos dias
tengo una pequeña nueva duda
hace ya mas de un mes estoy haciendo un carrito de compras en flash pero me llevaba muchos problemas y tenia que reccurrit todo el tiempo a cristalab xD asi que bueno cambie de metodo ahora es compra directa osea compran uno producto despues otro y asi...
pero llevo un problema
cuando un boton es llamado con attachMovie...me dijieron que el codigo que lleva su funcion va puesto donde es llamado el boton...el problema es que no me funciona
les dejo el codigo

Código ActionScript :

//primera parte
for(var a:Number=0; a<11;a++){
   _root["boton_articulo"+a].numero=a
   _root["boton_articulo"+a].onRelease=function(){
      boton = attachMovie("boton", "boton"+this.numero, 2);
      _root["boton"+this.numero]._x=200;
      _root["boton"+this.numero]._y=300;
      boton.numero = this.numero;
      
      trace(boton.numero);
   }
//segunda parte
myXML.onLoad = function(exito:Boolean):Void { 
var nodos:Array = this.firstChild.childNodes; 
for(var i:Number = 0; i < nodos.length; i++){ 
_root["boton" + i].numero = i; 
 _root["boton" + i].onPress = function():Void{ 
 _root.carrito.gotoAndStop(2);
_root.pedido = nodos[this.numero].firstChild.nodeValue; 
_root.carrito.articulo_txt.text = pedido;
} 
}    
}; 
myXML.load("libros.xml");


el codigo sigue con el envio por php pero no interesa ahora....
si tengo el boton que attacho desde el inicio en el la escena el codigo funciona pero no funciona asi
espero me puedan ayudar de nuevo :D :D

Por ironeric23

Claber

407 de clabLevel



Genero:Femenino  

mozilla
Citar            
MensajeEscrito el 16 Oct 2008 07:12 pm
Estas haciendo el attach dentro del botçon mismo que supongo es un MC ... quizças quisiste hacer esto

Código ActionScript :

_root["boton_articulo"+a].onRelease=function(){ 
      boton = _root.attachMovie("boton", "boton"+this.numero, 2); 
      boton._x=200; 
      boton._y=300; 
      boton.numero = this.numero; 
      trace(boton.numero); 
  } 


Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 16 Oct 2008 07:19 pm
ui tenes razon
gracias
igual sigo sin entender como ahcer que funcione
puede ser que se deba a que no esta en el mismo for la parte del release del boton?

Por ironeric23

Claber

407 de clabLevel



Genero:Femenino  

mozilla
Citar            
MensajeEscrito el 16 Oct 2008 07:20 pm
Que es lo que no funciona?

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 16 Oct 2008 07:24 pm
el boton que llamo no realiza la funcion que le pido
el problema se debe a que las flash ignora las acciones al principio de la pelicula porque no hay boton y despues al attachar el boton el boton se queda sin acciones(algo asi me dijo en un post el chininet)
por eso pregunto donde tengo que pner las acciones al boton(las acciones son la segunda parte del codigo)
mille grzie jorge :)

Por ironeric23

Claber

407 de clabLevel



Genero:Femenino  

mozilla
Citar            
MensajeEscrito el 16 Oct 2008 07:27 pm
¿Que acción tiene el botón? Supongo que es un MovieClip, y que tiene un this.onPress en su línea de tiempo ...

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 16 Oct 2008 07:29 pm
nono
es un boton que esta en la biblioteca
boton no mc.
todo el codigo esta en el _root en el primer frame y es eso que te puse arriba mas un envio por laodvars a php.
la accion del boton es esta

Código ActionScript :

myXML.onLoad = function(exito:Boolean):Void {  
var nodos:Array = this.firstChild.childNodes;  
for(var i:Number = 0; i < nodos.length; i++){  
_root["boton" + i].numero = i;  
 _root["boton" + i].onPress = function():Void{  
 _root.carrito.gotoAndStop(2); 
_root.pedido = nodos[this.numero].firstChild.nodeValue;  
_root.carrito.articulo_txt.text = pedido; 
}  
}     
}; 

esta justo depues de llamar el boton pero en otr for
es un error hacerlo asi?

Por ironeric23

Claber

407 de clabLevel



Genero:Femenino  

mozilla
Citar            
MensajeEscrito el 16 Oct 2008 07:42 pm
si no se entiende mucho cuelgo un ejemplo

Por ironeric23

Claber

407 de clabLevel



Genero:Femenino  

mozilla
Citar            
MensajeEscrito el 16 Oct 2008 07:50 pm
Pues nunca funcionarça. Tiene que ser un MC y tener la funcion dentro de su timeline o lo tienes que meter en el loop, algo asi:

Código ActionScript :

_root["boton_articulo"+a].onRelease=function(){  
      boton = _root.attachMovie("boton", "boton"+this.numero, 2);  
      boton._x=200;  
      boton._y=300;  
      boton.numero = this.numero;  
      boton.onPress = function(){  
           _root.carrito.gotoAndStop(2);  
           _root.pedido = _root.nodos[this.numero].firstChild.nodeValue;   
           _root.carrito.articulo_txt.text = pedido;  
       } 
  }  


No es muy feliz usar root todo el tiempo, pero bueno ... prueba

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 16 Oct 2008 08:13 pm
hola jorge
intente las dos formas que me comentaste
de hecho la segunda ya la habia hecho pero no sabia donde colocar esta linea

Código ActionScript :

myXML.onLoad = function(exito:Boolean):Void { 


y lo primero que me dijsite..de poner la accion en un el boton pero siendo este un mc lo intente pero no resulto :S
le puse la accion(cambiando las rutas claro) y no quiere funcionar

Por ironeric23

Claber

407 de clabLevel



Genero:Femenino  

mozilla
Citar            
MensajeEscrito el 16 Oct 2008 08:19 pm
El último code que te puse tiene que ver con la acción del botón, si la data del XML no ha sido cargada no va a funcionar. Agrega un trace a ver si el onPress funciona

Código ActionScript :

boton.onPress = function(){   
  trace("Boton presionado")
}


Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 16 Oct 2008 08:31 pm
si
poniendo el release dentro del realse de otro boton(el que llama al que se llama boton) funciona
poniendolo afuera no
como hago :S

Por ironeric23

Claber

407 de clabLevel



Genero:Femenino  

mozilla
Citar            
MensajeEscrito el 16 Oct 2008 08:36 pm
Dado que el attach se hace fuera del scope del boton (en _root) el onPress debería funcionar

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 16 Oct 2008 08:47 pm
funciona si la accion la pongo aca

Código ActionScript :

.....
boton._x=200;  
      boton._y=300;  
      boton.numero = this.numero;  
      boton.onPress=function(){
        trace("botonpresionado");
     }

pero si la accion la pongo fuera del primer on release
osea asi exactamente

Código ActionScript :

for(var a:Number=0; a<11;a++){
   _root["boton_articulo"+a].numero=a
   _root["boton_articulo"+a].onRelease=function(){
      boton = _root.attachMovie("boton", "boton"+this.numero, 2);
      boton._x=200;  
      boton._y=300;  
      boton.numero = this.numero;  

   }
}
_root. boton.onPress=function(){
        trace("botonpresionado");
     }


entonces debo usar la primera opcion que es la correcta pero mi problema es que adentro del onPress del boton tengo que ponerle esto:

Código ActionScript :

myXML.onLoad = function(exito:Boolean):Void { 
var nodos:Array = this.firstChild.childNodes; 
for(var i:Number = 0; i < nodos.length; i++){ 
_root["boton" + i].numero = i; 
 _root["boton" + i].onPress = function():Void{ 
 _root.carrito.gotoAndStop(2);
_root.pedido = nodos[this.numero].firstChild.nodeValue; 
_root.carrito.articulo_txt.text = pedido;
} 
}    
};

bueno no exactamente ..un poco cambiado ya que por ejemplo la accion on press es esta..por eso
donde pongo esta linea

Código ActionScript :

myXML.onLoad = function(exito:Boolean):Void { 

? :D

Por ironeric23

Claber

407 de clabLevel



Genero:Femenino  

mozilla
Citar            
MensajeEscrito el 16 Oct 2008 08:49 pm
medio confusa mi explicacion :S

Por ironeric23

Claber

407 de clabLevel



Genero:Femenino  

mozilla
Citar            
MensajeEscrito el 16 Oct 2008 08:50 pm
El onPress tiene que estar dentro del loop, exactamente donde te lo puse

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 16 Oct 2008 09:00 pm
sisi por eso
esa parte la entendi
lo que no se es que poner en el press y que no
por ahora esta asi

Código ActionScript :

for(var a:Number=0; a<11;a++){
   _root["boton_articulo"+a].numero=a
   _root["boton_articulo"+a].onRelease=function(){
      boton = _root.attachMovie("boton", "boton"+this.numero, 2);
      boton._x=200;  
      boton._y=300;  
      boton.numero = this.numero;  
      myXML.onLoad = function(exito:Boolean):Void {
        var nodos:Array = this.firstChild.childNodes;
        _root["boton" + i].numero = i; 
 _root["boton" + i].onPress = function():Void{ 
 _root.carrito.gotoAndStop(2);
_root.pedido = nodos[this.numero].firstChild.nodeValue; 
_root.carrito.articulo_txt.text = pedido;
} 
}    
};   
}

y no me hace las funciones que tiene el boton :S

osea la idea es que el onpress del boton se tiene que hacer cuando cargue la funcion (creo que es una funcion) myXML
pero ahora el onPress tengo que ponerlo dentro del otro loop asi que no se como cambiarlo...
que es lo que esta mal? :S

Por ironeric23

Claber

407 de clabLevel



Genero:Femenino  

mozilla
Citar            
MensajeEscrito el 16 Oct 2008 09:06 pm
¿Un XML.onLoad dentro de un loop ...?

NPI

Tómate un café y déjalo hasta mañana.

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 19 Oct 2008 03:39 am
por fin lo termine
el boceto lo tengo unos dias colgado aca
al final lo hice mas compra directa todavia
en vez de xml que siempre me trae problemas use un archivo de texto...
con un codigo de la web de sargento
saludos

Por ironeric23

Claber

407 de clabLevel



Genero:Femenino  

mozilla
Citar            
MensajeEscrito el 19 Oct 2008 03:43 am
si alguien necesita el codigo lo paso
aunque es larguito como para pasarlo por aca

Por ironeric23

Claber

407 de clabLevel



Genero:Femenino  

mozilla

 

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