AS2. Botón dentro de clip
6 seguidores
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
xaviroyo
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
ventdaval
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...
porelamordedios
Odrakir
Odrakir, tu anterior imagen molaba mas broda!
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/
ilovemedia
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
xaviroyo
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
odrakir
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.
xaviroyo
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
janedoe
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.