bene, procedo ancora.
ora mi si pone un altro problema, do i valori di coordinata x e y ( peraltro al contrario in quanto vengono contati dall'angolo in alto a sinistra del panel ) e creo la linea, tutto bene.
ah, ho fatto della linea un oggetto, anche se non sono sicuro di aver fatto tutto a dovere, ecco la classe:
Codice PHP:
package prova
{
import flash.display.Sprite;
import mx.core.UIComponent;
public class linea
{
public function disegna(x:Number,y:Number):void
{
var linea:Sprite = new Sprite();
linea.graphics.lineStyle(2, 0x000000, 100);
linea.graphics.moveTo(1,360);
linea.graphics.lineTo(x,y);
var c:UIComponent = new UIComponent();
c.addChild(linea);
pannello.addChild(c);
}
}
}
per creare la linea istanzio un oggetto linea(). Per eliminarla avevo pensato ad un delete, ma succede una cosa strana. una volta eliminata la linea se ne vado a fare un altra, vengono visualizzate due linee: la precedente e la attuale.
questo il codice:
Codice PHP:
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="horizontal" horizontalAlign="center">
<mx:Script>
<![CDATA[
import prova.linea;
function crealinea():void
{
var nuova:linea = new linea();
nuova.disegna(valorex.value, valorey.value);
}
function distruggilinea():void
{
delete nuova;
}
]]>
</mx:Script>
<mx:VBox width="10%" height="100%">
<mx:Label text="Coordinata x:"/>
<mx:NumericStepper id="valorex" width="100%" maximum="300"/>
<mx:Label text="Coordinata y:"/>
<mx:NumericStepper id="valorey" width="100%" maximum="300"/>
<mx:HBox width="100%">
<mx:Button id="crea" label="Disegna" width="50%" click="crealinea();"/>
<mx:Button id="elimina" width="50%" label="Elimina" click="distruggilinea();"/>
</mx:HBox>
</mx:VBox>
<mx:VBox width="80%" height="100%">
<mx:Panel id="pannello" title="Disegna retta" height="400" width="500" verticalScrollPolicy="off" horizontalAlign="left"/>
</mx:VBox>
</mx:Application>