Estoy escribiendo código para dibujar con AS3 un diagrama de Fases y creo recordar que había alguna forma para simplificar la escritura del código.
Me explico. Si tengo que repetir algo muchas veces, por ejemplo
dFase.Graphics.lineTo(--,--);
dFase.Graphics.lineTo(--,--);
dFase.Graphics.lineTo(--,--);
dFase.Graphics.lineTo(--,--);
dFase.Graphics.lineTo(--,--);
dFase.Graphics.lineTo(--,--);
dFase.Graphics.lineTo(--,--);
dFase.Graphics.lineTo(--,--);
...
podía hacer algo como
-----{
.(--,--);
.(--,--);
.(--,--);
.(--,--);
.(--,--);
.(--,--);
}
Siendo sustituido "dFase.Graphics.lineTo" por el punto o algo similar.
el código siguiente dibuja un diagrama de fases de solubilidad parcial y como se puede apreciar, sería de mucha ayuda lo que os comento.
¿Tiene alguien idea de esto?.
Gracias de cualquier forma.
Joaquín
Código ActionScript :
var dFase:Sprite = new Sprite();
//cuadrícula, Líneas verticales medias (gris)
dFase.graphics.lineStyle(0.25, 0xeeeeee);
dFase.graphics.moveTo(5,0);
for (var ib:uint=0;ib<10;ib++){
dFase.graphics.lineTo(ib*10+5,120);
dFase.graphics.moveTo((ib+1)*10+5,0);
}
//Cuadricula, Líneas horizontale medias
dFase.graphics.moveTo(0,5);
for (var jb:uint=0;jb<12;jb++){
dFase.graphics.lineTo(100,jb*10+5);
dFase.graphics.moveTo(0,(jb+1)*10+5);
}
//cuadrícula, Líneas verticales (gris)
dFase.graphics.lineStyle(0.25, 0x7d7d7d);
dFase.graphics.moveTo(10,0);
for (var i:uint=1;i<10;i++){
dFase.graphics.lineTo(i*10,120);
dFase.graphics.moveTo((i+1)*10,0);
}
//Cuadricula, Líneas horizontale
dFase.graphics.moveTo(0,10);
for (var j:uint=1;j<12;j++){
dFase.graphics.lineTo(100,j*10);
dFase.graphics.moveTo(0,(j+1)*10);
}
//Línea de Solidus (verde)
dFase.graphics.lineStyle(1, 0x00ff00);
dFase.graphics.moveTo(0,0);
dFase.graphics.curveTo(5,50,10,60);
dFase.graphics.curveTo(35,60,70,60);
dFase.graphics.curveTo(100,35,100,20);
//Línea de Solvus (azul)
dFase.graphics.lineStyle(1, 0x0000ff);
dFase.graphics.moveTo(10,60);
dFase.graphics.curveTo(6,62,5,120);
dFase.graphics.moveTo(70,60);
dFase.graphics.curveTo(90,70,100,90);
//Recuadro (gris)
dFase.graphics.lineStyle(1, 0x7d7d7d);
dFase.graphics.drawRect(0,0,100,120);
//Línea de Liquidus (rojo)
dFase.graphics.lineStyle(1, 0xff0000);
dFase.graphics.moveTo(0,0);
dFase.graphics.curveTo(50,20,50,60);
dFase.graphics.moveTo(100,20);
dFase.graphics.curveTo(55,20,50,60);
//Remaches. Línea de Solidus (verde)
dFase.graphics.lineStyle(1, 0x00ff00);
dFase.graphics.moveTo(10,60);
dFase.graphics.lineTo(70,60);
//Línea de EUTÉTICA (Amarilla)
dFase.graphics.lineStyle(1, 0xfdfd00);
dFase.graphics.moveTo(50,60);
dFase.graphics.lineTo(50,120);
addChild(dFase);
