Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicità e servizi in linea con il tuo account. Leggi l'informativa sui cookies.
Username: Password: oppure
Pascal - Pacal-graph
Forum - Pascal - Pacal-graph

Avatar
dario cavarrett (Normal User)
Newbie


Messaggi: 10
Iscritto: 05/02/2017

Segnala al moderatore
Postato alle 16:32
Domenica, 05/02/2017
Salve  a tutti, volevo sapere se esiste un comando ( o una funzione ) per poter ruotare una figura in pascal (unit graph) evitando così d doverlo fare manualmente ogni volta ( mi servirebbe per un giochetto che sto programmando). Grazie a chi risponderà


Dario Cavarretta
PM Quote
Avatar
Poggi Marco (Member)
Guru


Messaggi: 950
Iscritto: 05/01/2010

Segnala al moderatore
Postato alle 20:18
Domenica, 05/02/2017
Ciao!

Per risolvere il problema esistono molte soluzioni valide. Ad esempio ridisegna la figura con lo stesso colore dello schermo.


Nulla va più veloce della luce, quindi rilassati.
PM Quote
Avatar
dario cavarrett (Normal User)
Newbie


Messaggi: 10
Iscritto: 05/02/2017

Segnala al moderatore
Postato alle 12:38
Lunedì, 06/02/2017
Ci avevo pensato anch' io ma volevo infatti chiedere se esistessero modi piu semplici e meno dispendiosi per fare ciò


Dario Cavarretta
PM Quote
Avatar
Poggi Marco (Member)
Guru


Messaggi: 950
Iscritto: 05/01/2010

Segnala al moderatore
Postato alle 14:15
Lunedì, 06/02/2017
Esistono metodi alternativi, ad esempio memorizzare un'area dello schermo, e ridisegnarla altrove.
Esempio:
Codice sorgente - presumibilmente Delphi

  1. program copia_figura;
  2.  
  3. {Sample code for the GetImage procedure.}
  4.   uses Graph;
  5.  var
  6.    Gd, Gm: Integer;
  7.    P: Pointer; {Puntatore in cui memorizzare la figura}
  8.    Size: Word;
  9.  begin
  10.    Gd := Detect;
  11.    InitGraph(Gd, Gm, '');
  12.    if GraphResult <> grOk then
  13.      Halt(1);
  14.    Bar(0, 0, GetMaxX, GetMaxY);
  15.    circle(20, 30, 5);
  16.    Size := ImageSize(10, 20, 30, 40); {Calcolo di quanta memoria serve per memorizzare l' immagine }
  17.    GetMem(P, Size);   {Alloca un blocco di memoria nel puntatore }
  18.    GetImage(10, 20, 30, 40, P^); {copia della figura}
  19.    Readln;
  20.    ClearDevice; {Cancella lo schermo}
  21.    PutImage(100, 100, P^, NormalPut); { Riproduco l'immagine }
  22.    Readln;
  23.    CloseGraph;
  24.  end.




Nulla va più veloce della luce, quindi rilassati.
PM Quote
Avatar
dario cavarrett (Normal User)
Newbie


Messaggi: 10
Iscritto: 05/02/2017

Segnala al moderatore
Postato alle 15:50
Lunedì, 06/02/2017
Grazie!


Dario Cavarretta
PM Quote