supongamos que tengo una clase Patinador con este código (me he comido muchas cosas por limpiar código, si queréis los códigos completos lo decís y los subo)
Código AS3:
Ver originalpackage clases {
public class Patinador extends MovieClip {
var zona;
var per;
var moviendo=0;
var valor;
public function Patinador(ancho:int,resto:int):void {
this.base.addEventListener(MouseEvent.MOUSE_DOWN, pulsa);
this.btn.addEventListener(MouseEvent.MOUSE_DOWN, coje);
this.btn.addEventListener(MouseEvent.MOUSE_UP, suelta);
this.addEventListener(Event.ENTER_FRAME,refresca);
}
function pulsa(e:Event):void{
this.moviendo=1;
this.btn.x=mouseX-5;
this.btn.startDrag(false,new Rectangle(0, 0, this.base.width,0));
}
function coje(e:Event):void{
this.moviendo=1;
this.btn.startDrag(false,new Rectangle(0, 0, this.base.width,0));
stage.addEventListener(MouseEvent.MOUSE_UP,suelta);
}
function suelta(e:Event):void{
this.btn.stopDrag();
this.moviendo=2;
}
function refresca(e:Event):void {
this.per=this.btn.x*100/(this.base.width);
}
}
}
y en el main tengo la siguiente función que se ejecuta a cda frame
Código as3:
Ver originalfunction refresca(event:Event) {
if(progreso.moviendo==0){
var percposicion=posicion*100/duracion;
progreso.btn.x=percposicion*progreso.base.width/100;
}else if(progreso.moviendo==2){
var rearranque=progreso.per*sonido.length/100;
pista.stop();
pista=sonido.play(rearranque);
progreso.moviendo=0;
}
}
bueno tambien tengo esta clase instanciada 2 veces, una como volumen y otra como progreso, el caso es que si toco el volumen no pasa nada pero una vez toco el progreso comienza a fallar.
y da igual que toque pero se modifican las variables de los 2 objetos
es como si tocase las variables de los 2 objetos, no se si estoy cometiendo una blasfemia contra la programación orientada a objetos y no me doy cuenta