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

S.O.S. No me aparece la "mano" al pasar el mouse sobre el enlace

Estas en el tema de S.O.S. No me aparece la "mano" al pasar el mouse sobre el enlace en el foro de Flash y Actionscript en Foros del Web. Hola a todos !!. A ver si algún sabio puede ayudarme ( estoy desesperado !!). He hecho un "parallax" con 3 imágenes en Flash con ...
  #1 (permalink)  
Antiguo 28/05/2010, 13:38
 
Fecha de Ingreso: mayo-2010
Ubicación: Barcelona
Mensajes: 5
Antigüedad: 13 años, 10 meses
Puntos: 0
S.O.S. No me aparece la "mano" al pasar el mouse sobre el enlace

Hola a todos !!. A ver si algún sabio puede ayudarme ( estoy desesperado !!). He hecho un "parallax" con 3 imágenes en Flash con AS 3.0. - Ha quedado genial. Pero necesitaba que fuera "clickable" y he puesto lo siguiente :

stage.addEventListener(MouseEvent.CLICK, stageClick);

function stageClick(evt:MouseEvent):void{
var url:String = "colecciones.html";
var request:URLRequest = new URLRequest(url);
navigateToURL(request, '_self');

Funciona de maravilla, es decir, haces click y va a la página correspondiente PERO..... no se ve la "mano" que indica que allí se puede clickar. Es un serio inconveniente porque al no aparecer la "manita" nadie sospecha que están justamente sobre el enlace.
Por favoooooor.. help !!. Ayudaaa !!.
Gracias de antemano a todos por vuestra generosidad
  #2 (permalink)  
Antiguo 29/05/2010, 08:10
Avatar de buhomorado  
Fecha de Ingreso: enero-2005
Mensajes: 324
Antigüedad: 19 años, 3 meses
Puntos: 1
Respuesta: S.O.S. No me aparece la "mano" al pasar el mouse sobre el enlace

Haz un cuadrado en el Escenario. conviertelo a MovieClip, dandole el nombre de box.

Frame 1, donde esta box pon este codigo:

box.width = stage.stageWidth;
box.height = stage.stageHeight;

box.x = (stage.stageWidth / 2)
box.y = (stage.stageHeight / 2)

box.buttonMode = true;
box.useHandCursor = true;

var Siquesi:String = "El Hilo Negro";
var url:String = "colecciones.html";

box.buttonMode = true;
box.useHandCursor = true;

box.addEventListener (MouseEvent.CLICK, siono);

function siono (e:MouseEvent): void{
trace (Siquesi);
var request:URLRequest = new URLRequest(url);
navigateToURL(request, '_self');

}


Espero que sirva
  #3 (permalink)  
Antiguo 29/05/2010, 11:26
 
Fecha de Ingreso: mayo-2010
Ubicación: Barcelona
Mensajes: 5
Antigüedad: 13 años, 10 meses
Puntos: 0
Respuesta: S.O.S. No me aparece la "mano" al pasar el mouse sobre el enlace

Amigo Buhomorado,
muchísimas gracias por tu interés y ayuda.
He probado lo que me decías y no ha acabado de funcionar.
Quizás es que no he explicado que se trata de un flash con carga de imágenes vía xml y eso ( no lo sé) determine el comportamiento del box. Porque a primera vista tu idea parece perfecta. He probado con un botón imvisible y tampoco funciona. Por alguna razón el enlace funciona pero no hay manera de que aparezca la dichosa "manita".

Aún así te agradezco infinitamente que hayas intentado ayudarme.
Por si puede ser útil, inserto el AS 3.0 completo que tengo en el flash :

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


import flash.net.URLRequest;
import flash.external.ExternalInterface;
import flash.filters.BlurFilter;


import flash.display.Stage;
stage.scaleMode = StageScaleMode.NO_SCALE;

import caurina.transitions.Tweener;//this is the third party tweening class, the caurina folder must be in the same directory as the swf for publishing

//activates the plugin to tween for color


var fast_speed:Number = .25;
var medium_speed:Number = .125;
var slow_speed:Number = .0625;

var xmlPath:String = "support/xml/content.xml";

var imagesToLoad:Number;
var imagesLoaded:Number = 0;

stage.addEventListener(MouseEvent.CLICK, stageClick);

function stageClick(evt:MouseEvent):void{
var url:String = "colecciones.html";
var request:URLRequest = new URLRequest(url);
navigateToURL(request, '_self');

}

//-------------------------------------
//WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW

// -- XML --

//WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
//-------------------------------------

var loadContentXML:URLLoader = new URLLoader();
loadContentXML.addEventListener(Event.COMPLETE, contentLoaded);

var contentXML:XML;

var contentXMLList:XMLList;

var paramXMLList:XMLList;

function contentLoaded(e:Event):void
{
contentXML = new XML(e.target.data);

contentXMLList = contentXML.parallax_slide;

paramXMLList = contentXML.global_parameters;

//add the background color
var rectangle:Shape = new Shape; // initializing the variable named rectangle
rectangle.graphics.beginFill(paramXMLList.attribut e("stage_background")); // choosing the colour for the fill, here it is red
rectangle.graphics.drawRect(0, 0, paramXMLList.attribute("stage_width"), paramXMLList.attribute("stage_height")); // (x spacing, y spacing, width, height)
rectangle.graphics.endFill(); // not always needed but I like to put it in to end the fill
addChild(rectangle); // adds the rectangle to the stage
//add mask

//add the preloader
var loadbar:loadbar_mc = new loadbar_mc();
loadbar.name = "loadbar_mc";
loadbar.x = paramXMLList.attribute("stage_width")/2;
loadbar.y = paramXMLList.attribute("stage_height")/2;
addChild(loadbar);

//add the holder
var parallaxHolder:mcParallaxHolder = new mcParallaxHolder();
parallaxHolder.name = "parallaxHolder_mc";
parallaxHolder.x = paramXMLList.attribute("stage_width")/2;
parallaxHolder.y = paramXMLList.attribute("stage_height")/2;
parallaxHolder.alpha = 0;

addChild(parallaxHolder);

var holderClip:Object = getChildByName("parallaxHolder_mc");

var xCorrection:Number = (paramXMLList.attribute("stage_width")/2) + 100;
var yCorrection:Number = (paramXMLList.attribute("stage_height")/2) + 100;

var blur:BlurFilter;
var blurAmount:Number;


imagesToLoad = contentXMLList.length();

//generates slide planes
for(var cnt:uint = 0; cnt < contentXMLList.length(); cnt++)
{

//creates instance and name
var planeInstance:mcParallaxPlaneHolder = new mcParallaxPlaneHolder();
planeInstance.name = "plane"+cnt;

planeInstance.imagePath = "support/images/" + contentXMLList[cnt].attribute("image");
planeInstance.x = -(parallaxHolder.x) -100;
planeInstance.y = -(parallaxHolder.y) - 100;

//sets blur varuiable
blurAmount = Number(contentXMLList[cnt].attribute("blur"));
//creates new blur filter
blur = new BlurFilter(blurAmount, blurAmount, 1);
//applies blur filter
planeInstance.filters = [blur];

//adds child to the holder clip
holderClip.addChild(planeInstance);

//adds the event listener to the holder clip
parallaxHolder.addEventListener(MouseEvent.MOUSE_M OVE, parallax);
}



//creates the function for the MOUSE_MOVE Event
function parallax(evt:MouseEvent):void
{

var mouseMovementClip:Object = getChildByName("parallaxHolder_mc");

var xMoveFront:Number = -(mouseMovementClip.mouseX);
var yMoveFront:Number = -(mouseMovementClip.mouseY);

//variable for "for" loop
var planesInClip:Number = mouseMovementClip.numChildren;

//sets variable for the abount wach object moves
var clipSpeed:Number = 0;
var currentClip:Object;


for(var pic:uint = 0; pic < planesInClip ; pic++) {

//increments variable so the later clips move more
clipSpeed += .0625;

currentClip = mouseMovementClip.getChildByName("plane"+pic);

Tweener.addTween(currentClip, {x:(xMoveFront * clipSpeed)-xCorrection, time:1});
}
}
}

loadContentXML.load(new URLRequest(xmlPath));

--------------------------------------------------------------------
  #4 (permalink)  
Antiguo 29/05/2010, 17:04
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 14 años, 7 meses
Puntos: 214
Respuesta: S.O.S. No me aparece la "mano" al pasar el mouse sobre el enlace

Hola
Bueno, pues con esto generalmente funciona

Ej:
Código as:
Ver original
  1. var mcParallaxHolder;
  2.  mcParallaxHolder.buttonMode = true;
  3.  mcParallaxHolder.useHandCursor = true;

Habría que ver si algo más esta dando conflicto,
pero has esta prueba en un fla nuevo a ver si te funciona

saludos
  #5 (permalink)  
Antiguo 29/05/2010, 17:52
 
Fecha de Ingreso: mayo-2010
Ubicación: Barcelona
Mensajes: 5
Antigüedad: 13 años, 10 meses
Puntos: 0
Respuesta: S.O.S. No me aparece la "mano" al pasar el mouse sobre el enlace

Hola mortiprogramador !!
Muchas gracias por tu respuesta. Estoy intentando hacer lo que me dices, pero tengo un escasísimo nivel del Flash... si pudieras precisar en qué parte del AS pongo lo que me dices te lo agradecería infinitamente.

Gracias de antemamno por tu ayuda
  #6 (permalink)  
Antiguo 29/05/2010, 18:43
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 14 años, 7 meses
Puntos: 214
Respuesta: S.O.S. No me aparece la "mano" al pasar el mouse sobre el enlace

Hola
Bueno, pues haz lo siguiente:

1. Nuevo flash en as3
2. Creas lo que quieras que sea el movieclip, y
lo conviertes a simbolo
3. Cuando ya lo tienes creado, se debe visualizar en la librería
4. Luego le das un nombre de instancia (en las propiedades del movieclip)
5. Este nombre es el que luego usaremos para la variable (en mi caso lo nombrare como mcParallaxHolder)
6. Ubicar este código en las acciones del escenario
Código as:
Ver original
  1. var mcParallaxHolder;
  2. mcParallaxHolder.buttonMode = true;
  3. mcParallaxHolder.useHandCursor = true;
7. Compilas este fla, y ya con esto debería verse la mano sobre el movieclip

Saludos
  #7 (permalink)  
Antiguo 29/05/2010, 19:04
 
Fecha de Ingreso: mayo-2010
Ubicación: Barcelona
Mensajes: 5
Antigüedad: 13 años, 10 meses
Puntos: 0
Respuesta: S.O.S. No me aparece la "mano" al pasar el mouse sobre el enlace

Gracias de nuevo Mortiprogramador !!
Supongo que lo que sucede es justamente lo que tú dijiste en el post anterior : debe haber algún conflicto.
Al tratarse de un flash que carga imágenes vía XML, quizás por eso me esté generando conflictos con cualquier cosa que intento.
De hecho, me ha fallado hasta lo de crear un sencillo botón invisible, una cosa de lo más recurrida.

No obstante, de veras que os agradezco el interés que os habéis tomado.
Un saludo cordial
  #8 (permalink)  
Antiguo 29/05/2010, 20:19
 
Fecha de Ingreso: mayo-2010
Ubicación: Barcelona
Mensajes: 5
Antigüedad: 13 años, 10 meses
Puntos: 0
De acuerdo Respuesta: S.O.S. No me aparece la "mano" al pasar el mouse sobre el enlace

¡¡¡¡¡¡¡¡¡ SOLUCIONADO !!!!!!!!!!!!!!!! Muchas gracias por vuestra colaboración. De un modo u otro y gracias a vuestras sugerencias, he ido comprendiendo por dónde podían ir los tiros y finalmente he conseguido que funcione. No me preguntéis cómo... jajajaja... Creo que he entrado en el mc que enlaza con las imágenes que se gestionan vía xml y allí he ubicado un botón invisible.... y zassssss.... milagrosamente funciona el enlace y en mouseover.... aparece la "mano con su índice extendido".
Gracias a todos.... por fin puedo irme a dormir... jejeje
Un saludo muy cordial para todos, especialmente para BUHOMORADO y MORTIPROGRAMADOR.

Etiquetas: 3.0, flash, acciones
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 04:49.