Vorrei fare un swf che, dati 2 punti su un piano, mi traccia una linea passante per questi punti. Mi interessava fare non proprio una linea retta, ma anche un pochetto curvata. E' fattibile o chiedo un po' troppo?
Vorrei fare un swf che, dati 2 punti su un piano, mi traccia una linea passante per questi punti. Mi interessava fare non proprio una linea retta, ma anche un pochetto curvata. E' fattibile o chiedo un po' troppo?
ma deve fare solo la retta? ovvero appena apri il file appaiono i due punti e a poco a poco si crea la retta?
cmq se è come ho capito io..bastano 3 livelli..uno con i due punti, l'altro con la linea e l'altro con la maschera della linea...così fai allungare la maschera da quando non prende la linea fino a prenderla tutta......
altrimenti ti crei un rettandolo con altezza uguale a 1 e fai aumentare la lunghezza da un punto all'altro...
se è qello che ho detto prima che intendi fare...sta sera ti pubblico un esempio e lo vedi...perchè non so se così hai capito
Io devo anche dei pulsanti a questo swf...tramite questi pulsanti vengono messi i punti e tracciata la retta...il problema non è tracciare i punti, ma la retta...
ma i punti vengono messi dall'utente o sono già in posti definiti da te?
il problema sta la: dall'utente
ihihih...ci rinuncio posso dirlo..?
non sono molto esperto e credo che qui ci vadano di mezzo le actionscript...come delle variabili di posizione da dare all'oggetto che dovrà unire i punti...quindi non so dirti il codice...ma credo che il funzionamento sia questo...fare in modo che l'oggetto che deve unire i punti prenda i dati dell'utente come propri di inizio e fine...![]()
Ci sn riuscito![]()
![]()
Tutto sommato è una cavolata...Ho fatto 2 moveclip: punto e retta.
ho fatto 2 mc punto chiamandole rispettivamente p1 e p2.
Poi ho fatto questo codice:
xa = getProperty(_root.p1,_x) + 3.25;
ya = getProperty(_root.p1,_y)+ 3.25;
xb = getProperty(_root.p2,_x);
yb = getProperty(_root.p2,_y);
distx = (xa - xb) * (xa - xb);
disty = (ya - yb) * (ya - yb);
distx = Math.sqrt(distx) + 3.25;
disty = Math.sqrt(disty) + 3.25;
setProperty(this.retta,_x,xa);
setProperty(this.retta,_y,ya);
setProperty(this.retta,_width,distx);
setProperty(this.retta,_height,disty);
le righe 1-2-3-4 sono di facile comprensione: prendono le coordinate dei punti, aggiungento 3.25 che è il centro di ogni punto.
le righe 6-7-8-9-10 è una formula matematica (che studiai l'anno scorso) che permette di determinare la distanza di un punto all'altro sia sull'asse delle X che sull'asse delle Y. Poi le righe 12-13 posizionano la retta sul primo punto; le righe 14 e 15 estendono la retta fino a toccare il punto 2. E chi l'avrebbe detto che una formula di matematica mi avrebbe permesso di fare ciò? Grazie ugualmente joseph
eh!!! Geniaccio!!!! anche io ho studiato quella formula l'anno scorso...è che proprio non mi entrano in testa le action script...ma così la retta si disegna poco a poco?