Que tal MnauDER!
No entiendo del todo si lo que estas preguntando es como definir el "hitTest" sobre una circunferencia... Es medio confuso tu post…. Pero de ser así, lo que debes hacer es lo siguiente:
Al MovieClip, el Circulo en cuestión, pongámosle, para este ejemplo, como nombre de instancia "mcCirculo" Obviamente, el problema que tienes es que quizá, el círculo sea una imagen de mapa de bits, por lo cual no será redonda y el "hitarea" (la zona que tomará como detección del objeto) te quedara cuadrada, y no redonda. O sea, al colisionar con los bordes del círculo que no son parte de él, te va a ejecutar la acción que desees hacer con el "hitTest".
Para esto la solución es simple:
Dentro del MovieClip del círculo, dibuja con cualquier herramienta vectorial de flash la superficie que deseas que sea tomado como el "detector de colisión" (el hitArea). Por ejemplo, lo puedes hacer con el “oval tool” (no se como es el nombre de la herramienta en flash en español). A ese círculo, o sea cual sea la forma que dibujaste, conviértelo en MovieClip, y ponle de nombre de instancia, por ejemplo, "mcHitArea". (Recuerda que este MC tiene que estar dentro del otro MC, al cual le pusimos como nombre de instancia ""mcCirculo" y recuerda también que estamos hablando de nombres de “instancias” y no de los nombres de los MovieClips). Si no quieres que se visualice el MC que has dibujado para definir la zona de colisión, bajale el alpha a 0.
Luego, en el root del archivo, o en donde sea que tengas el MC, le agregas un layer, y le pones la siguiente acción a ese fotograma:
mcCirculo.hitArea = mcCirculo.mcHitArea;
y listo! Ahora solo te tomara como superficie de colisión el MovieClip que has creado dentro del otro MovieClip! De esta forma, puedes hacer muchas cosas, como por ejemplo, que el punto de colisión sea solo la cabeza del personaje de tu juego, y no todo el cuerpo.
Un beso, Vicky!
|
Por Vicky_25
10 de clabLevel
Envíale un mensaje privado Email
|