Foros Programación Cliente
AS2. Botón dentro de clip
9 9 Respuestas Jueves 5 de febrero, 2009
Hola a todos,
Tengo un problema de AS2 que no se como solucionar. tengo un movieClip, que al pasar el mouse sobre el gira sobre si mismo mostrado la cara opuesta y en está cara opuesta hay un menú con diferentes botones. El problema que tengo es que para hacer que el movieClip gire al pasar por encima de él he de aplicarle una acción (onRollOver), y esto hace que anule a los bonotes que hay dentro.
He probado con hitTest peor no he conseguido que funcione. Alguien sabe como conseguir esto?
Gracias.
Xavi
Tengo un problema de AS2 que no se como solucionar. tengo un movieClip, que al pasar el mouse sobre el gira sobre si mismo mostrado la cara opuesta y en está cara opuesta hay un menú con diferentes botones. El problema que tengo es que para hacer que el movieClip gire al pasar por encima de él he de aplicarle una acción (onRollOver), y esto hace que anule a los bonotes que hay dentro.
He probado con hitTest peor no he conseguido que funcione. Alguien sabe como conseguir esto?
Gracias.
Xavi
-
janedoe
Registrado desde 27/10/08 / Número de posts: 10
prueba a con esto...
on (rollOver)
{
this.gotoAndPlay("s1");
}
on (releaseOutside, rollOut)
{
this.gotoAndPlay("s2");
}
en el "s1" y "s2", son nombres de instancias, se lo pones a un keyframe en blanco
saludos, espero que te ayude. -
xavixaf
Registrado desde 28/10/03 / Número de posts: 102
Gracias Janedoe,
El código que me has enviado es que ya he utilizado y no me funciona, el problema es que tengo un boton dentor de un movieClip, Al movieClip principal le aplico un código como el que me has enviado, pero eso hace que el boton de dentro quede desabilitado.
Gracias y un saludo.
Xavi -
Odrakir
Registrado desde 07/07/04 / Número de posts: 1030
Eso es algo muy común, que afortunadamente en AS3 no pasa.
Si con el hitTest no lo solucionas, lo que podrías hacer es que el rollOver del contenedor, en lugar de aplicárselo al contenedor, se lo aplicas a un clip que esté dentro del mismo y ocupe toda su superficie. Es decir, un clip que será hermano de los otros botones, así no los anularía.
Saludos. -
xavixaf
Registrado desde 28/10/03 / Número de posts: 102
Gracias Odrakir,
He probado poniendo el boton transparente dentro del clip principal y debajo de los demás botones, pero en cuanto me pongo encima de unos de los botones de encima, actua como si hubiese hecho un rollOut y falla de nuevo.
No me podía imaginar cuando pensé en esto que iba a ser tan complicado...
Gracias.
Xavi -
ilm
Registrado desde 22/10/08 / Número de posts: 38
Quizá puedas dividir el clip en capas, una con los botones y otra con el resto, y ese "resto" es lo que programas para que responda al rollover y al rollout, y cuando ha girado lo pones en _visible=false para que deje de responder al rollover y al rollout. La programación desde ese subclip se referiría al conjunto de él más los botones para que giren, haciendo referencia con parent. No sé si me he conseguido explicar o lo he liado más_ _ _ _ _ _ _ _ _ _ _
Diseño y desarrollo multimedia -
Odrakir
Registrado desde 07/07/04 / Número de posts: 1030
Perdona, tienes razón, hace tanto que no me encuentro con algo así que se me había olvidado (para que luego digan que el AS3 es más dificil :P)
Qué tal andas de inglés? http://www.senocular.com/flash/tutorials/buttoncapturing/ -
Presbyopia
Registrado desde 07/12/05 / Número de posts: 97
Odrakir
Perdona, tienes razón, hace tanto que no me encuentro con algo así que se me había olvidado (para que luego digan que el AS3 es más dificil :P)
Qué tal andas de inglés? http://www.senocular.com/flash/tutorials/buttoncapturing/
Odrakir, tu anterior imagen molaba mas broda! -
Ventd'Aval
Registrado desde 28/05/04 / Número de posts: 787
lo otro que se solia hacer con as2, es que el rollover se auto-borraba, y luego, para detectar el rollOut, se creaba un enterFrame que iba revisando el hitTest, algo asi:function resetBoton() {
boton._alpha=50;
boton.onRollOver = function() {
delete this.onRollOver;
this._alpha=100;
this.onEnterFrame = function() {
if (!this.hitTest(_xmouse, _ymouse, true)) {
delete this.onEnterFrame;
resetBoton();
}
};
};
}
Saludos... -
xavixaf
Registrado desde 28/10/03 / Número de posts: 102
Gracias Presbyopia,
Revisando el link que me has enviado he conseguido que funcione cuando aprieto o suelto el mouse, con el siguiente códido utilizando onMouseDown o onMouseOut, pero no consigo hacerlo que funcione solo al pasar por encima o salirme de encima del clip. Con que propiedad se podría hacer???:menu01.onMouseDown = function(){
if (this.hitTest(_root._xmouse, _root._ymouse, true)) {
trace ("funciona");
menu01.flipNav.flipNext();
}
}
###
Gracias Ventd'aval,
He probado de aplicar el cogido que me has enviado pero no he conseguido que me funcione, como debería aplicarlo exactametne??
Gracias.
Xavi
Áreas Domestika
- Diseño (gráfico, web, industrial, producto)
- Programación (cliente, servidor, accesibilidad)
- Ilustración (autores, inspiración, técnicas)
- Fotografía (técnica, equipo, autores)
- Motion Graphics (showreels, software, estudios)
- Publicidad (campañas, anuncios, ideas)
- Informática (software, hardware, trucos)
- 3D (técnicas, iluminación, modelado)
- Experiencia de Usuario (usabilidad, AI, HCI)
- Cine, vídeo y televisión (críticas, producción)
- Música y Audio (sonidos, loops, discos)
- Espacios (arquitectura, interiorismo)