No puedes ver el swf?? Yo si que lo puedo ver. Alguien más no lo ve?? Ya he dado con una posible solución a mi problema, que puede que no sea la solución justa a lo que planteaba, pero que me puede servir. Tengo que hacer unos cambios. Una vez lo pruebe y lo tenga, lo publicaré.
Bueno, he solucionado mi problema, aunque no así el problema que planteaba, tal vez lo planteé mal. Con esta solución que mostraré, no podría apuntar a distintos polígonos dibujados dentro de un Sprite, pero bueno, lo que he hecho es cambiar mi clase para que al construirme un objeto HoyoT, yo pueda indicar las coordenadas de ese HoyoT. Luego, el círculo que dibujo dentro, tiene por coordenadas (0,0). Bueno, os muestro el resultado de la prueba. El flash:
El nuevo código:
Código :
import fl.transitions.Tween;
import fl.transitions.easing.*;
import clases.HoyoT;
import flash.display.MovieClip;
/*HoyoT es una clase que me he creado que hereda de Sprite.
Los 3 primero argumentos poco importan para mi pregunta. Los
3 últimos son coordenada x, coordenada y, radio en px*/
var hoyoPrueba1:HoyoT= new HoyoT(0,4,true,100,100,40);
var hoyoPrueba2:HoyoT= new HoyoT(0,4,true,200,100,40);
var hoyoPrueba3:HoyoT= new HoyoT(0,4,true,300,100,40);
var apunta:HoyoT= new HoyoT(0,4,true,400,120,25);
mirilla.visible=false;//mirilla es MovieClip dibujado en el escenario
apunta.buttonMode=true;
apunta.addEventListener(MouseEvent.MOUSE_OVER, apuntar1);
apunta.addEventListener(MouseEvent.MOUSE_OUT, apuntar2);
apunta.addEventListener(MouseEvent.MOUSE_DOWN, apuntar3);
function apuntar1(event:MouseEvent):void{
mirilla.visible=true;
mirilla.visible=true;
var movx:Tween = new Tween(mirilla, "x", Elastic.easeInOut, mirilla.x,hoyoPrueba1.x, 2, true);
var movy:Tween = new Tween(mirilla, "y", Elastic.easeInOut, mirilla.y, hoyoPrueba1.y, 2, true);
}
function apuntar2(event:MouseEvent):void{//Apuna a un lugar aleatorio
mirilla.visible=true;
var movx:Tween = new Tween(mirilla, "x", Elastic.easeInOut, mirilla.x,hoyoPrueba2.x, 2, true);
var movy:Tween = new Tween(mirilla, "y", Elastic.easeInOut, mirilla.y,hoyoPrueba2.y, 2, true);
}
function apuntar3(event:MouseEvent):void{/*Apunta mal, a (0,0), coordenadas del Sprite contenedor
en el que he dibujado el círculo*/
mirilla.visible=true;
var movx:Tween = new Tween(mirilla, "x", Elastic.easeInOut, mirilla.x,hoyoPrueba3.x, 2, true);
var movy:Tween = new Tween(mirilla, "y", Elastic.easeInOut, mirilla.y, hoyoPrueba3.y, 2, true);
}
addChild(hoyoPrueba1);
addChild(hoyoPrueba2);
addChild(hoyoPrueba3);
addChild(apunta);
addChild(mirilla);
La clase HoyoT:
Código :
package clases{
import flash.display.Sprite;
public class HoyoT extends Sprite{
var pos:int;
var num:int;
//var estado:Boolean;
var corX:int;
var corY:int;
var turno:Boolean;
function HoyoT(pos:int,num:int,turno:Boolean,corX:int,corY:int,radio:int){
this.pos=pos;//irrelevante
this.num=num;//irrelevante
//this.estado=estado;
this.turno=turno;//irrelevante
this.graphics.beginFill(0xFFFFFF); /*Podría pasarse el color como parámetro*/
this.graphics.drawCircle(0, 0, radio);/*Antes corX y corY eran los ceros que aquí vemos*/
this.buttonMode = true;
this.width=radio*2;//ancho del MC
this.height=this.width;//alto del MC
this.x=corX;//coordenada X del MC
this.y=corY;//coordenada Y del MC
/*En realidad, no es esto lo que yo preguntaba, no obstante, me sirve, así puededo apuntar a las coordenadas del MC y apunto bien al HoyoT que deseo*/
}
Bueno, dejo explicada la solución que he dado por si puede esto servir a alguien. Creo que me he pasado con la anchura del swf. Tendré que aprender a postear. Si molesta mucho, avisadme y lo cambio.