Pagina 2 di 2 primaprima 1 2
Visualizzazione dei risultati da 11 a 16 su 16
  1. #11
    Utente di HTML.it
    Registrato dal
    May 2008
    Messaggi
    1,683
    cavolo! è vero... e come potrei fare allora per inserire un nuovo punto a metà linea per esempio?

    edit: forse ho capito... centra il moveto

  2. #12
    Utente di HTML.it
    Registrato dal
    May 2008
    Messaggi
    1,683
    ho modificato lo script perchè vorrei che la linea non possa tornare indietro nell'asse x, ma aggiungesse nuovi vertici nel mezzo...
    quindi io inserisco tutti i punti nell'array, lo ordino, cancello tutte le linee e ridiscegno stando attento sta volta indicare nel moveto la posiozione di arrat[i-1] questa volta, senò me le attacca sempre all'ultimo vertica creato... ma da problemi e non capisco perchè! finchè si creano vertici che vanno in progressione sull'asse x va tutto bene, se si prova a tornare indietro ci son disastri

    EDIT: debuggando ho visto che l'ordinamento lo fa bene

  3. #13
    Utente di HTML.it
    Registrato dal
    May 2008
    Messaggi
    1,683
    mi potete dare un occhio a questo frammento di codice?
    codice:
            ctx.clearRect(0,0,300,300);
            for(j=0;j<=i;j++)
    	{
    		if(j==0)
    		{
    			ctx.moveTo(0,300);
    		}
    		else
    		{
    			ctx.moveTo(arx[j-1],ary[j-1]);
    		}
    		ctx.lineTo(arx[j],ary[j]);
    		ctx.stroke();
    	}
    che è quello della stampa che potete trovare anche qua ho messo il ctx.stroke(); nel for per vedere bene che succedeva ad ogni ciclo.
    la variabile i tiene conti del numero di punti correttamente (dal debug) come anche gli array arx e ary vengono ordinati correttamente...

    io se inserisco tre punti vedo che la stampa al punto ctx.stroke(); stampa 3 linee di colpo, e dal debug ho visto che ha fatto un solo moveTo e un solo lineTo praticamente appaion come due linee solo che sulla prima ce ne son due una sopra all'altra, ed era vuoto prima, grazie al ctx.clearRect(0,0,300,300); è come se tenesse memoria della linea e la riproponesse con l'aggiunta del lineTo

    che può essere?

  4. #14
    Utente di HTML.it
    Registrato dal
    May 2008
    Messaggi
    1,683
    ma è possibile che ctx.moveTo(0,300); stampi una linea senza moveTo, dal debug pare di si, come se tenesse memoria della linea, io vorrei cancellarla proprio, non avere più traccia della linea e crearne una nuova

  5. #15
    Utente di HTML.it
    Registrato dal
    May 2008
    Messaggi
    1,683
    perchè ho fatto anche un atro esperimento, ho provato a stampare una retta con moveTo e successivamente con lineTo, poi ho scritto ctx.clearRect(0,0,300,300); e successivamente un altro moveTo e lineTo e ho stampato tutto con stroke, quindi, siccome la prima linea è stata cancellata dal clearRect lo stroke avrebbe dovuto mostrare solo la seconda linea, ma invece le ha mostrate entrambe

    perchè cancella la retta, però rimane memorizzata da qualche parte

  6. #16
    Utente di HTML.it
    Registrato dal
    May 2008
    Messaggi
    1,683
    ho risolto! vi spiego come ho fatto!
    ho scritto:
    codice:
    ctx.clearRect(0,0,300,300);
    ctx.beginPath();
    //codice...
    ctx.closePath();
    serviva mettere
    ctx.beginPath(); e ctx.closePath();

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.