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

Vincular varios botones con url´s diferentes

Estas en el tema de Vincular varios botones con url´s diferentes en el foro de Flash y Actionscript en Foros del Web. Buenas, necesito ayuda, tengo una web en flash donde hay 10 botones y quiero que cada uno de ellos vaya a una url distinta. Para ...
  #1 (permalink)  
Antiguo 20/04/2012, 06:05
 
Fecha de Ingreso: abril-2012
Ubicación: CIUDAD REAL
Mensajes: 33
Antigüedad: 12 años
Puntos: 0
Vincular varios botones con url´s diferentes

Buenas, necesito ayuda, tengo una web en flash donde hay 10 botones y quiero que cada uno de ellos vaya a una url distinta.
Para un solo url ya lo he probado y me funciona pero si ese mismo código lo pongo en otro me dice que función duplicada
me he vuelto loco probando códigos que he visto en este y otros foros y no lo consigo,
a ver podeís echarme una mano, muchas gracias de antemano
  #2 (permalink)  
Antiguo 20/04/2012, 06:57
 
Fecha de Ingreso: marzo-2012
Mensajes: 24
Antigüedad: 12 años, 1 mes
Puntos: 7
Respuesta: Vincular varios botones con url´s diferentes

Hola. El codigo es el siguiente:
- tengo 2 botones diferentes (btn1 y btn2)
import flash.events.MouseEvent;

btn1.addEventListener(MouseEvent.CLICK, clicbtn1);
btn2.addEventListener(MouseEvent.CLICK, clicbtn2);
function clicbtn1(event:MouseEvent):void
{
navigateToURL(new URLRequest("http://www.youtube.com"));
}
function clicbtn2(event:MouseEvent):void
{
navigateToURL(new URLRequest("http://www.hotmail.com"));
}
  #3 (permalink)  
Antiguo 20/04/2012, 10:44
Avatar de ocesitaro  
Fecha de Ingreso: diciembre-2011
Ubicación: Carabayllo
Mensajes: 274
Antigüedad: 12 años, 4 meses
Puntos: 36
Respuesta: Vincular varios botones con url´s diferentes

Cita:
Iniciado por carlosavendao Ver Mensaje
Hola. El codigo es el siguiente:
- tengo 2 botones diferentes (btn1 y btn2)
import flash.events.MouseEvent;

btn1.addEventListener(MouseEvent.CLICK, clicbtn1);
btn2.addEventListener(MouseEvent.CLICK, clicbtn2);
function clicbtn1(event:MouseEvent):void
{
navigateToURL(new URLRequest("http://www.youtube.com"));
}
function clicbtn2(event:MouseEvent):void
{
navigateToURL(new URLRequest("http://www.hotmail.com"));
}
tu respuesta es buena, pero no es conveniente crear tantas funciones, creo qeu mejor seria uusar un callback

http://www.forosdelweb.com/f16/envia...teners-970356/

link1_btn.addEventListener(MouseEvent.CLICK,functi on(event:MouseEvent){informacion(event,"http://www.youtube.com");});
link2_btn.addEventListener(MouseEvent.CLICK,functi on(event:MouseEvent){informacion(event,"http://www.yahoo.com");});
link3_btn.addEventListener(MouseEvent.CLICK,functi on(event:MouseEvent){informacion(event,"http://www.google.com.pe");});


function informacion(event:MouseEvent,parametro:String):voi d
{navigateToURL(new URLRequest(parametro));}


--------------------------------------------------

o mejor aun

import Callback;

var botones:Array=new Array([boton1_btn,"http://www.youtube.com"],[boton2_btn,"http://www.google.com"]);

function informacion(event:MouseEvent,parametro:String)
{navigateToURL(new URLRequest(parametro));}

for (var i=0;i<botones.length;i++)
{
botones[i][0].addEventListener(MouseEvent.CLICK,Callback.create (informacion,botones[i][1]))
}
  #4 (permalink)  
Antiguo 26/04/2012, 09:47
 
Fecha de Ingreso: abril-2012
Ubicación: CIUDAD REAL
Mensajes: 33
Antigüedad: 12 años
Puntos: 0
Respuesta: Vincular varios botones con url´s diferentes

Buenas, he probado con el código que me comentábais y me salen unos errores. Os pongo el código y a continuación los errores

import flash.net.URLRequest;
import flash.events.MouseEvent;
import flash.display.MovieClip;

//Creamos un array con los pares boton-URL
var botonesUrls:Array = new Array(
['botoninicio', 'http://www.cvpatasarriba.es/'],
['botonequipo', 'http://www.cvpatasarriba.es/quienessomos.htm'],
['botonservicios', 'http://www.cvpatasarriba.es/servicios.htm'],
['botongaleria', 'http://www.cvpatasarriba.es/galeria.htm'],
['botonarticulos', 'http://www.cvpatasarriba.es/articulos.htm'],
['botontablon', 'http://www.cvpatasarriba.es/tablon.htm'],
['botonlocalizacion', 'http://www.cvpatasarriba.es/contacto.htm'],
);

//Mediante un bucle creamos las escuchas
for (var i:int = 3; i < botonesUrls.length; i++) {
//seleccionamos los objetos del stage mediante su nombre
var botongaleria:MovieClip = getChildByName(botonesUrls[i][3]) as MovieClip;
//Activamos en cada boton el modo boton para que aparezca el cursor pointer
botongaleria.buttonMode = true;
//Añadimos CLICK a cada boton y le decimos que ejecute obtenerUrl
botongaleria.addEventListener(MouseEvent.CLICK, obtenerUrl);
}


function obtenerUrl (e:MouseEvent) {
//Creamos la cadena url vacía
var url:String;
//copiamos el array botonesUrls a un array interno para tener acceso desde el bucle
//Estoy seguro de que esta no es la manera más correcta de hacerlo, pero creo que no conozco otra.
var array:Array = botonesUrls;
//Con un nuevo bucle comparamos el nombre del boton con los nombres en nuestro array
for (var i:int = 3; i < array.length; i++) {
//Si coincide
if (e.target.name == array[i][3]) {
//guardamos la url del array en la variable url
url = array[i][4];
//Y rompemos el bucle, ya que no nos interesa que continue
break;
}
}
//Y obtenemos la URL
navigateToURL(new URLRequest('http://www.cvpatasarriba.es/galeria.htm'));
}

El código lo he ido poniendo seleccionando el primer fotograma y en as 3.0 y como os decía me sale una serie de errorres:

1084: Error de sintaxis: se esperaba identifier antes de rightparen.
1084: Error de sintaxis: se esperaba rightparen antes de for.
1086: Error de sintaxis: se esperaba un punto y coma antes de i.

Además tengo otro problema yo tengo puesto en una de las capas en el último fotograma (es un fotograma clave) el código stop(); para que se cargara la web/película una sóla vez pero después de insertar el código a los botones y de ponerles el nombre de instancia la película no se para y se reproduce continuamente.

Ya estoy loco de darle vueltas, Podéis ayudarme?
  #5 (permalink)  
Antiguo 26/04/2012, 20:35
Avatar de ocesitaro  
Fecha de Ingreso: diciembre-2011
Ubicación: Carabayllo
Mensajes: 274
Antigüedad: 12 años, 4 meses
Puntos: 36
Respuesta: Vincular varios botones con url´s diferentes

import flash.net.URLRequest;
import flash.events.MouseEvent;
import flash.display.MovieClip;

//Creamos un array con los pares boton-URL
var botonesUrls:Array = new Array(
[botoninicio, 'http://www.cvpatasarriba.es/'],
[botonequipo, 'http://www.cvpatasarriba.es/quienessomos.htm'],
[botonservicios, 'http://www.cvpatasarriba.es/servicios.htm'],
[botongaleria, 'http://www.cvpatasarriba.es/galeria.htm'],
[botonarticulos, 'http://www.cvpatasarriba.es/articulos.htm'],
[botontablon, 'http://www.cvpatasarriba.es/tablon.htm'],
[botonlocalizacion, 'http://www.cvpatasarriba.es/contacto.htm']
);

//Mediante un bucle creamos las escuchas
for (var i:int =0; i < botonesUrls.length; i++) {
// i es la posicion de cada nodo y 0 es la posicion de cada subnodo(en este caso el objeto botoninicio,botonservicios,etc.) notese que los arreglos siempre empiezan de 0.
botonesUrls[i][0].addEventListener(MouseEvent.CLICK, obtenerUrl);
botonesUrls[i][0].buttonMode = true;
}


function obtenerUrl(e:MouseEvent) {
var url:String;
for (var i:int =0; i < botonesUrls.length; i++) {
// i es la posicion de cada nodo y1 es la posicion de cada subnodo(en este caso el string para nuestra url.) notese que los arreglos siempre empiezan de 0.
if(e.target==botonesUrls[i][0]){
url=botonesUrls[i][1]
}
}

navigateToURL(new URLRequest(url));
}

OBSERVACIONES:
los arreglos pueden almacenar todo tipo de variables, también objetos

su estructura array
unidimensional var botonesUrls:Array = new Array(objeto,'string',55,otroarray);
multidimensional var botonesUrls:Array = new Array([objeto,'string',55,null],[objeto1,'string',55,otroarray]);

notese que para cerrar el ultimo nodo, ya no va " , ".

Última edición por ocesitaro; 26/04/2012 a las 21:07
  #6 (permalink)  
Antiguo 27/04/2012, 01:02
 
Fecha de Ingreso: abril-2012
Ubicación: CIUDAD REAL
Mensajes: 33
Antigüedad: 12 años
Puntos: 0
Respuesta: Vincular varios botones con url´s diferentes

muchas gracias pero tengo unas dudas sobre el código que me pones:

- para el codigo por ejemplo de botonlocalizacion que es el ultimo 0 sería un 6 pero en i que tendría que poner entonces?

- la estructura array que me pones tengo que ponerla al final del código o donde?
  #7 (permalink)  
Antiguo 27/04/2012, 01:30
 
Fecha de Ingreso: abril-2012
Ubicación: CIUDAD REAL
Mensajes: 33
Antigüedad: 12 años
Puntos: 0
Respuesta: Vincular varios botones con url´s diferentes

He conseguido lo que quería con otro código y además me ha arreglado ya lo del bucle.

Dejo el código para el que le pueda servir:

import flash.events.MouseEvent;

function irainicio(event:MouseEvent):void
{
navigateToURL(new URLRequest("http://www.cvpatasarriba.es/"));
}
function iraequipo(event:MouseEvent):void
{
navigateToURL(new URLRequest("http://www.cvpatasarriba.es/quienessomos.htm"));
}
function iraservicios(event:MouseEvent):void
{
navigateToURL(new URLRequest("http://www.cvpatasarriba.es/servicios.htm"));
}
function iragaleria(event:MouseEvent):void
{
navigateToURL(new URLRequest("http://www.cvpatasarriba.es/galeria.htm"));
}
function iraarticulos(event:MouseEvent):void
{
navigateToURL(new URLRequest("http://www.cvpatasarriba.es/articulos.htm"));
}
function iratablon(event:MouseEvent):void
{
navigateToURL(new URLRequest("http://www.cvpatasarriba.es/tablon.htm"));
}
function iralocalizacion(event:MouseEvent):void
{
navigateToURL(new URLRequest("http://www.cvpatasarriba.es/contacto.htm"));
}

botonInicio.addEventListener(MouseEvent.CLICK,irai nicio);
botonEquipo.addEventListener(MouseEvent.CLICK,irae quipo);
botonServicios.addEventListener(MouseEvent.CLICK,i raservicios);
botonGaleria.addEventListener(MouseEvent.CLICK,ira galeria);
botonArticulos.addEventListener(MouseEvent.CLICK,i raarticulos);
botonTablon.addEventListener(MouseEvent.CLICK,irat ablon);
botonLocalizacion.addEventListener(MouseEvent.CLIC K,iralocalizacion);
  #8 (permalink)  
Antiguo 27/04/2012, 08:19
Avatar de ocesitaro  
Fecha de Ingreso: diciembre-2011
Ubicación: Carabayllo
Mensajes: 274
Antigüedad: 12 años, 4 meses
Puntos: 36
Respuesta: Vincular varios botones con url´s diferentes

Cita:
Iniciado por freddycam Ver Mensaje
muchas gracias pero tengo unas dudas sobre el código que me pones:

- para el codigo por ejemplo de botonlocalizacion que es el ultimo 0 sería un 6 pero en i que tendría que poner entonces?

- la estructura array que me pones tengo que ponerla al final del código o donde?
como los arreglos empiezande 0 seria el numero 5

Etiquetas: as3, botones, vinculos
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 05:25.