Comunidad de diseño web y desarrollo en internet online

RollOver debajo de un cuadro de texto dinamico

Citar            
MensajeEscrito el 25 Ene 2011 03:25 pm
:|
Hola de nuvo,
Tengo el siguiente problema y es que necesito detectar un onrollOver que esta debajo de un cuadro de texto dinamico. He provado con onMouseMove pero no para de trazarme el texto en el cuadro de texto, tambien he provado de eliminarlo pero luego no me apararece una vez salgo y vuelvo a entrar.
El texto tendria que aparecer al poner el raton encima del cuadro de texto sin tocar lo azul, fijaros que tiene que ser posible escrivir en el cuadro de texto.
El codigo es el siguiente:

Código ActionScript :

b = "";
bola.onRollOver = function(){
     b = "Correcto si no has tocado la bola"}


Os dejo un ejemplo visual y el .fla


Muchas gracias por vuestro tiempo. :P

Por alphasky

32 de clabLevel



 

msie8
Citar            
MensajeEscrito el 25 Ene 2011 04:23 pm
el swf que el otro no carga.

Por alphasky

32 de clabLevel



 

msie8
Citar            
MensajeEscrito el 26 Ene 2011 04:16 am
intenta quitar la propiedad de seleccionable del texto. asi debiera respetarte el rollOver...

en caso que no desees hacerlo busca información sobre hitTest y hitTest con mouse.

Salu2

Por roder

46 de clabLevel



Genero:Masculino  

chrome
Citar            
MensajeEscrito el 26 Ene 2011 05:26 am

roder escribió:

intenta quitar la propiedad de seleccionable del texto. asi debiera respetarte el rollOver...

en caso que no desees hacerlo busca información sobre hitTest y hitTest con mouse.

Salu2


Nada que hacer, ya probé con el hit test y sigue =. El problema es que el cuadro de texto ha de ser seleccionable para poder escrivir en el.
He probado con:

Código ActionScript :

b = "";
bola.onRollOver = function(){
     if(bola.hitTest(_root.bola))
     b = "Correcto si no has tocado la bola"}

Sigue sin detectarlo cuando estas encima del cuadro de texto
También probé el hitTest con el mouseMove y luego el problema es que no para de trazar el texto

Por alphasky

32 de clabLevel



 

msie8
Citar            
MensajeEscrito el 26 Ene 2011 05:40 am
debes dejar de tratar a bola como un boton, y usarlo como un Mc ... quiza debas crearlo de nuevo como movieclip ...
un truco facil que se me ocurre es crear un movieclip que no se vea (para esto usa alpha no la propiedad de visibilidad) que siga al mouse del porte del area que quieras que sea detectado en la colision idealmente 20px por 20 px para este ejemplo lo llamare clip1
lo haces seguir tu mouse poniendo directo en el Mc el siguiente codigo.

Código ActionScript :

onClipEvent (mouseMove) {
   this._x = _root._xmouse;
   this._y = _root._ymouse;
   updateAfterEvent();
}


luego creas un enterframe que te detecte la colision esto lo pones en la linea de tiempo

Código ActionScript :

_root.bola.onEnterFrame = function() {
   if (_root.bola.hitTest(clip1._x, clip1._y, true)) {
////// aca ira tu accion que quieras que se cumpla... es decir cambiar el texto
_root.b = "Correcto si no has tocado la bola";
}else{
////otra accion o bien te ahorras el else
}


asi debiera funcionar.
salu2

Por roder

46 de clabLevel



Genero:Masculino  

chrome
Citar            
MensajeEscrito el 26 Ene 2011 05:43 am
Fe de erratas me falto cerrar el onEnterFrame

Código ActionScript :

_root.bola.onEnterFrame = function() {
   if (_root.bola.hitTest(clip1._x, clip1._y, true)) {
////// aca ira tu accion que quieras que se cumpla... es decir cambiar el texto
_root.b = "Correcto si no has tocado la bola";
}else{
////otra accion o bien te ahorras el else
}
}/// <--- esta llave se me olvido poner

asi si debiera funcionar.
salu2

Por roder

46 de clabLevel



Genero:Masculino  

chrome
Citar            
MensajeEscrito el 26 Ene 2011 07:33 am
Tengo el mismo problema que tenia al hacer un bola.onMouseMove. El texto no para de trazarse, asi que no se deja borrar estando encima suyo, y si pongo un delete this.onEnterFrame el problema que surje es que luego al salir y entrar de la bola ya no traza el texto. Alguna solucion? :?

Por alphasky

32 de clabLevel



 

msie8
Citar            
MensajeEscrito el 26 Ene 2011 04:00 pm
asigna una variable para validar
comienzas con variable = 0;
si esto se cumpe ( en este caso la colision) valor de variable = 1;

es decir si el valor esta en cero el onEnterFrame comprobara si hay hitTest...
y si el valor de la variable es == 1 , el onEnterFrame dejara manipular el textfield.
seria un if dentro de un if

... o bien haz un delete onEnterFrame...

Estudia sobre el uso de listeners tambien puede solucionar tu problema.


salu2

Por roder

46 de clabLevel



Genero:Masculino  

chrome
Citar            
MensajeEscrito el 27 Ene 2011 01:16 am
:cool: Por fin, al cabo de unas horas dandome cabezados... he encontrado la solución. Gracias Roder por la ayuda, el tema esta es que es un poco complicado de hacer ya que se tiene que hacer una mascara debajo de la bola. Supongo que no habrá una forma mas rapida y no tan complicada de hacerlo no?
Todo esto ha sido para aprender ha reproducir un sonido cuando te posicionas encima de un cuadro de texto conjuntamente con el boton. Gracias a esto podré acabar la parte del formulario en el cual se enciende un foco y reproduce un sonido, en catalán de esta web proximamente en esta web
Por otro lado, hay alguna forma de hacer desaparecer el raton cuando sales de la pelicula y que no se quede ahi en una esquina?
Y para cambiar el raton a la hora de posicionarte encima del cuadro de texto?



Código ActionScript :

b1 = "";
variable = "0";
_root.bola.onEnterFrame = function(){
   if(variable == "0"){
      if(_root.bola.hitTest(RATON._x, RATON._y, true)){
         _root.b1 = "Gracias Roder :) Codigo terminado.";
         variable = "1";
      }
   }
}
_root.bola2.onEnterFrame = function(){
   if(variable == "1"){
      if(_root.bola2.hitTest(RATON._x, RATON._y, true)){
         variable = "0";
      }
   }
}
/// RATON
onClipEvent (mouseMove){
   this._x = _root._xmouse;
   this._y = _root._ymouse;
   updateAfterEvent();
   Mouse.hide();
}


^^ Gracias de nuevo!

Por alphasky

32 de clabLevel



 

msie8

 

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