Comportamientos separados

Tengo un problema con dos sprites:
El sprite A tiene asignado la propiedad de cambiar la forma del cursor cuando el mismo esté posado por encima de él.
El sprite B no tiene ningún script asignado, pero está en una parte encima del sprite A. El problema es que el sprite B adopta el comportamiento del A en el área donde cubre al sprite que tiene por debajo, es decir, el sprite A.
¿Cómo puedo hacer para que los sprites no se vean afectados unos con otros por sus correspondientes comportamientos?
Gracias,
Alexander

1 Respuesta

Respuesta
Fácil:
Este es un ejemplo: el sprite B que no tiene ningún script asignado, pero está en una parte encima del sprite A es el sprite 2 y el sprite A el es sprite 1
--Esto es para el sprite A
On mouseenter me
if rollover(2) then
nothing
else
put "Aqui Alexander debe introducir aqui el codigo asociado"
end if
end
No sirvió. Tengo asignado al sprite A el comportamiento que cambia la forma del cursor en lupa, que saqué de la librería de comportamientos de director. Este comportamiento es el que se repite en el sprite B que aparece cuando aprieto un botón de tal forma que queda encima en parte del sprite A. El problema que al pasar el cursor sobre el sprite B, asume el comportamiento del sprite A. El cursor en la zona donde coinciden cambia a lupa. Solamente en esa área, no en el resto del sprite B.
Gracias,
Alexander
Bien tu problema lo entiendo y a mi me funciona lo que ocurre es que lo que te he puesto no es un script sino un behaviour. Para convertir los scrips en behaviours tienes que pulsar en botón i de color azul de la ventana de script y cambiar la opción de movie a behaviour. Ahora tienes que vincular el behaviour al sprite que necesites arrastrándolo desde la ventana de cast.
Pero claro por lo que veo sabes muy poco de lingo, y vas a necesitar más ayuda. En este ejemplo lo que te hace es lo siguiente:
On mouseup me
if rollover(2) then
nothing
else
put "Aqui Alexander debe introducir aqui el codigo asociado"
end if
end
-Al entrar en el sobre en sprite A si pulsas el ratón te sale una ventana de alerta con el siguiente mensaje:
"Aquí Alexander debe introducir el código asociado"
-Este mensaje solo funciona si se esta sobre A, pero no aparece si se esta sobre la parte de B que esta encima de A (o sea lo que tu quieres).
Si no has conseguido llegar hasta aquí todavía puedes seguir con la misma pregunta.
Si quieres el behavior personalizado para tu caso puedes iniciar otra pregunta (cambio el cursor a lupa, accioon..) explicándome claramente lo que quieres que tenga ese behaviour.
Estimado experto,
Disculpa la tardanza de mi respuesta. Probando con el código que me enviaste he visto que funciona perfectamente, pero solo para comportamientos sencillos como:
on mouseup me
if rollover(2) then
nothing
else
go to X
end if
El problema es que el comportamiento que quiero anular en el sprite A es el cursor change (zoom in), que viene en la librería de comportamientos predeterminados de Director.
¿Cómo anular dicho comportamiento cuando B esté sobre A?
Muchas gracias,
Alexander
On mouseenter me
if rollover(2) then
nothing
else
cursor (302) --cursor de aumentar zoom
end if
end
on mouseleave me
if rollover(2) then
nothing
else
cursor (0) --cursor flecha
end if
end
Es esto lo que preguntas, no entiendo muy bien lo que me has preguntado. No entiendo eso que dices de que solo te funciona en comportamientos sencillos.
Me refería a que no podía aplicar tu código al behavior de la librería de Director cursor change (zoom in), porque no sabia donde colocar la sentencia que me enviaste.
El problema es que el cambio de cursor a lupa de que viene con Director (librería de comportamientos) es muy complejo y no sabia donde insertar if rollover, nothing, else... Revísalo para que veas.
Saludos,
Alexander
Por eso te decía que me explicaras como era todo el funcionamiento de tu botón para que te lo programe yo todo, sin tener que usar el behaviour de director.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas